1 # 1 "../common/zones_args.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "../common/zones_args.c"
5 /*
6  * CDDL HEADER START
7  *
8  * The contents of this file are subject to the terms of the
9  * Common Development and Distribution License (the "License").
10  * You may not use this file except in compliance with the License.
11  *
12  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13  * or http://www.opensolaris.org/os/licensing.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  *
17  * When distributing Covered Code, include this CDDL HEADER in each
18  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19  * If applicable, add the following below this CDDL HEADER, with the
20  * fields enclosed by brackets "[]" replaced with your own identifying
21  * information: Portions Copyright [yyyy] [name of copyright owner]
22  *
23  * CDDL HEADER END
24  */
25 /*
26  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
27  * Use is subject to license terms.
28  */
29 
30 
31 
32 /*
33  * Module:	zones_args.c
34  * Group:	libinstzones
35  * Description:	Private functions used by zones library functions to manipulate
36  *		argument lists
37  *
38  * Public Methods:
39  *
40  * _z_add_arg - add new argument to argument array for use in exec() calls
41  * _z_free_args - free all storage contained in an argument array previously
42  * _z_get_argc - return (int) argc count from argument array
43  * _z_get_argv - return (char **)argv pointer from argument array
44  * _z_new_args - create a new argument array for use in exec() calls
45  */
46 
47 /*
48  * System includes
49  */
50 
51 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
52 /*
53  * CDDL HEADER START
54  *
55  * The contents of this file are subject to the terms of the
56  * Common Development and Distribution License (the "License").
57  * You may not use this file except in compliance with the License.
58  *
59  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60  * or http://www.opensolaris.org/os/licensing.
61  * See the License for the specific language governing permissions
62  * and limitations under the License.
63  *
64  * When distributing Covered Code, include this CDDL HEADER in each
65  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
66  * If applicable, add the following below this CDDL HEADER, with the
67  * fields enclosed by brackets "[]" replaced with your own identifying
68  * information: Portions Copyright [yyyy] [name of copyright owner]
69  *
70  * CDDL HEADER END
71  */
72 
73 /*
74  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
75  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
76  */
77 
78 /*	Copyright (c) 1988 AT&T	*/
79 /*	  All Rights Reserved  	*/
80 
81 /*
82  * User-visible pieces of the ANSI C standard I/O package.
83  */
84 
85 
86 
87 
88 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
89 /*
90  * CDDL HEADER START
91  *
92  * The contents of this file are subject to the terms of the
93  * Common Development and Distribution License (the "License").
94  * You may not use this file except in compliance with the License.
95  *
96  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97  * or http://www.opensolaris.org/os/licensing.
98  * See the License for the specific language governing permissions
99  * and limitations under the License.
100  *
101  * When distributing Covered Code, include this CDDL HEADER in each
102  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
103  * If applicable, add the following below this CDDL HEADER, with the
104  * fields enclosed by brackets "[]" replaced with your own identifying
105  * information: Portions Copyright [yyyy] [name of copyright owner]
106  *
107  * CDDL HEADER END
108  */
109 
110 /*
111  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
112  * Copyright 2016 Joyent, Inc.
113  *
114  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
115  * Use is subject to license terms.
116  */
117 
118 
119 
120 
121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1
122 /*
123  * CDDL HEADER START
124  *
125  * The contents of this file are subject to the terms of the
126  * Common Development and Distribution License, Version 1.0 only
127  * (the "License").  You may not use this file except in compliance
128  * with the License.
129  *
130  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
131  * or http://www.opensolaris.org/os/licensing.
132  * See the License for the specific language governing permissions
133  * and limitations under the License.
134  *
135  * When distributing Covered Code, include this CDDL HEADER in each
136  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
137  * If applicable, add the following below this CDDL HEADER, with the
138  * fields enclosed by brackets "[]" replaced with your own identifying
139  * information: Portions Copyright [yyyy] [name of copyright owner]
140  *
141  * CDDL HEADER END
142  */
143 /*
144  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
145  * Use is subject to license terms.
146  */
147 /*
148  * Copyright 2015 EveryCity Ltd. All rights reserved.
149  */
150 
151 
152 
153 
154 /*
155  * This file contains definitions designed to enable different compilers
156  * to be used harmoniously on Solaris systems.
157  */
158 
159 
160 
161 
162 
163 /*
164  * Allow for version tests for compiler bugs and features.
165  */
166 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
167 /*
168  * analogous to lint's PRINTFLIKEn
169  */
170 
171 
172 
173 
174 
175 /*
176  * Handle the kernel printf routines that can take '%b' too
177  */
178 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
179 /*
180  * This one's pretty obvious -- the function never returns
181  */
182 
183 
184 /*
185  * The function is 'extern inline' and expects GNU C89 behaviour, not C99
186  * behaviour.
187  *
188  * Should only be used on 'extern inline' definitions for GCC.
189  */
190 
191 
192 
193 
194 
195 
196 /*
197  * The function has control flow such that it may return multiple times (in
198  * the manner of setjmp or vfork)
199  */
200 
201 
202 
203 
204 
205 
206 /*
207  * This is an appropriate label for functions that do not
208  * modify their arguments, e.g. strlen()
209  */
210 
211 
212 /*
213  * This is a stronger form of __pure__. Can be used for functions
214  * that do not modify their arguments and don't depend on global
215  * memory.
216  */
217 
218 
219 
220 
221 /*
222  * This attribute, attached to a variable, means that the variable is meant to
223  * be possibly unused. GCC will not produce a warning for this variable.
224  */
225 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
226 /*
227  * Shorthand versions for readability
228  */
229 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
230 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
231 /*
232  * CDDL HEADER START
233  *
234  * The contents of this file are subject to the terms of the
235  * Common Development and Distribution License (the "License").
236  * You may not use this file except in compliance with the License.
237  *
238  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
239  * or http://www.opensolaris.org/os/licensing.
240  * See the License for the specific language governing permissions
241  * and limitations under the License.
242  *
243  *
244  * When distributing Covered Code, include this CDDL HEADER in each
245  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
246  * If applicable, add the following below this CDDL HEADER, with the
247  * fields enclosed by brackets "[]" replaced with your own identifying
248  * information: Portions Copyright [yyyy] [name of copyright owner]
249  *
250  * CDDL HEADER END
251  */
252 
253 /*
254  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
255  * Use is subject to license terms.
256  * Copyright 2016 Joyent, Inc.
257  */
258 
259 
260 
261 
262 /*
263  * This header file serves to group a set of well known defines and to
264  * set these for each instruction set architecture.  These defines may
265  * be divided into two groups;  characteristics of the processor and
266  * implementation choices for Solaris on a processor.
267  *
268  * Processor Characteristics:
269  *
270  * _LITTLE_ENDIAN / _BIG_ENDIAN:
271  *	The natural byte order of the processor.  A pointer to an int points
272  *	to the least/most significant byte of that int.
273  *
274  * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
275  *	The processor specific direction of stack growth.  A push onto the
276  *	stack increases/decreases the stack pointer, so it stores data at
277  *	successively higher/lower addresses.  (Stackless machines ignored
278  *	without regrets).
279  *
280  * _LONG_LONG_HTOL / _LONG_LONG_LTOH:
281  *	A pointer to a long long points to the most/least significant long
282  *	within that long long.
283  *
284  * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
285  *	The C compiler assigns bit fields from the high/low to the low/high end
286  *	of an int (most to least significant vs. least to most significant).
287  *
288  * _IEEE_754:
289  *	The processor (or supported implementations of the processor)
290  *	supports the ieee-754 floating point standard.  No other floating
291  *	point standards are supported (or significant).  Any other supported
292  *	floating point formats are expected to be cased on the ISA processor
293  *	symbol.
294  *
295  * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
296  *	The C Compiler implements objects of type `char' as `unsigned' or
297  *	`signed' respectively.  This is really an implementation choice of
298  *	the compiler writer, but it is specified in the ABI and tends to
299  *	be uniform across compilers for an instruction set architecture.
300  *	Hence, it has the properties of a processor characteristic.
301  *
302  * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
303  * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
304  * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
305  *	The ABI defines alignment requirements of each of the primitive
306  *	object types.  Some, if not all, may be hardware requirements as
307  * 	well.  The values are expressed in "byte-alignment" units.
308  *
309  * _MAX_ALIGNMENT:
310  *	The most stringent alignment requirement as specified by the ABI.
311  *	Equal to the maximum of all the above _XXX_ALIGNMENT values.
312  *
313  * _MAX_ALIGNMENT_TYPE:
314  * 	The name of the C type that has the value descried in _MAX_ALIGNMENT.
315  *
316  * _ALIGNMENT_REQUIRED:
317  *	True or false (1 or 0) whether or not the hardware requires the ABI
318  *	alignment.
319  *
320  * _LONG_LONG_ALIGNMENT_32
321  *	The 32-bit ABI supported by a 64-bit kernel may have different
322  *	alignment requirements for primitive object types.  The value of this
323  *	identifier is expressed in "byte-alignment" units.
324  *
325  * _HAVE_CPUID_INSN
326  *	This indicates that the architecture supports the 'cpuid'
327  *	instruction as defined by Intel.  (Intel allows other vendors
328  *	to extend the instruction for their own purposes.)
329  *
330  *
331  * Implementation Choices:
332  *
333  * _ILP32 / _LP64:
334  *	This specifies the compiler data type implementation as specified in
335  *	the relevant ABI.  The choice between these is strongly influenced
336  *	by the underlying hardware, but is not absolutely tied to it.
337  *	Currently only two data type models are supported:
338  *
339  *	_ILP32:
340  *		Int/Long/Pointer are 32 bits.  This is the historical UNIX
341  *		and Solaris implementation.  Due to its historical standing,
342  *		this is the default case.
343  *
344  *	_LP64:
345  *		Long/Pointer are 64 bits, Int is 32 bits.  This is the chosen
346  *		implementation for 64-bit ABIs such as SPARC V9.
347  *
348  *	_I32LPx:
349  *		A compilation environment where 'int' is 32-bit, and
350  *		longs and pointers are simply the same size.
351  *
352  *	In all cases, Char is 8 bits and Short is 16 bits.
353  *
354  * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
355  *	This specifies the form of the disk VTOC (or label):
356  *
357  *	_SUNOS_VTOC_8:
358  *		This is a VTOC form which is upwardly compatible with the
359  *		SunOS 4.x disk label and allows 8 partitions per disk.
360  *
361  *	_SUNOS_VTOC_16:
362  *		In this format the incore vtoc image matches the ondisk
363  *		version.  It allows 16 slices per disk, and is not
364  *		compatible with the SunOS 4.x disk label.
365  *
366  *	Note that these are not the only two VTOC forms possible and
367  *	additional forms may be added.  One possible form would be the
368  *	SVr4 VTOC form.  The symbol for that is reserved now, although
369  *	it is not implemented.
370  *
371  *	_SVR4_VTOC_16:
372  *		This VTOC form is compatible with the System V Release 4
373  *		VTOC (as implemented on the SVr4 Intel and 3b ports) with
374  *		16 partitions per disk.
375  *
376  *
377  * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
378  *	This describes the type of addresses used by system DMA:
379  *
380  *	_DMA_USES_PHYSADDR:
381  *		This type of DMA, used in the x86 implementation,
382  *		requires physical addresses for DMA buffers.  The 24-bit
383  *		addresses used by some legacy boards is the source of the
384  *		"low-memory" (<16MB) requirement for some devices using DMA.
385  *
386  *	_DMA_USES_VIRTADDR:
387  *		This method of DMA allows the use of virtual addresses for
388  *		DMA transfers.
389  *
390  * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
391  *      This indicates the presence/absence of an fdisk table.
392  *
393  *      _FIRMWARE_NEEDS_FDISK
394  *              The fdisk table is required by system firmware.  If present,
395  *              it allows a disk to be subdivided into multiple fdisk
396  *              partitions, each of which is equivalent to a separate,
397  *              virtual disk.  This enables the co-existence of multiple
398  *              operating systems on a shared hard disk.
399  *
400  *      _NO_FDISK_PRESENT
401  *              If the fdisk table is absent, it is assumed that the entire
402  *              media is allocated for a single operating system.
403  *
404  * _HAVE_TEM_FIRMWARE
405  *	Defined if this architecture has the (fallback) option of
406  *	using prom_* calls for doing I/O if a suitable kernel driver
407  *	is not available to do it.
408  *
409  * _DONT_USE_1275_GENERIC_NAMES
410  *		Controls whether or not device tree node names should
411  *		comply with the IEEE 1275 "Generic Names" Recommended
412  *		Practice. With _DONT_USE_GENERIC_NAMES, device-specific
413  *		names identifying the particular device will be used.
414  *
415  * __i386_COMPAT
416  *	This indicates whether the i386 ABI is supported as a *non-native*
417  *	mode for the platform.  When this symbol is defined:
418  *	-	32-bit xstat-style system calls are enabled
419  *	-	32-bit xmknod-style system calls are enabled
420  *	-	32-bit system calls use i386 sizes -and- alignments
421  *
422  *	Note that this is NOT defined for the i386 native environment!
423  *
424  * __x86
425  *	This is ONLY a synonym for defined(__i386) || defined(__amd64)
426  *	which is useful only insofar as these two architectures share
427  *	common attributes.  Analogous to __sparc.
428  *
429  * _PSM_MODULES
430  *	This indicates whether or not the implementation uses PSM
431  *	modules for processor support, reading /etc/mach from inside
432  *	the kernel to extract a list.
433  *
434  * _RTC_CONFIG
435  *	This indicates whether or not the implementation uses /etc/rtc_config
436  *	to configure the real-time clock in the kernel.
437  *
438  * _UNIX_KRTLD
439  *	This indicates that the implementation uses a dynamically
440  *	linked unix + krtld to form the core kernel image at boot
441  *	time, or (in the absence of this symbol) a prelinked kernel image.
442  *
443  * _OBP
444  *	This indicates the firmware interface is OBP.
445  *
446  * _SOFT_HOSTID
447  *	This indicates that the implementation obtains the hostid
448  *	from the file /etc/hostid, rather than from hardware.
449  */
450 
451 
452 
453 
454 
455 /*
456  * The following set of definitions characterize Solaris on AMD's
457  * 64-bit systems.
458  */
459 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
460 /*
461  * Define the appropriate "processor characteristics"
462  */
463 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
464 /*
465  * Different alignment constraints for the i386 ABI in compatibility mode
466  */
467 
468 
469 /*
470  * Define the appropriate "implementation choices".
471  */
472 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
473 /*
474  * The feature test macro __i386 is generic for all processors implementing
475  * the Intel 386 instruction set or a superset of it.  Specifically, this
476  * includes all members of the 386, 486, and Pentium family of processors.
477  */
478 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
479 
480 
481 
482 
483 
484 /*
485  * Values of _POSIX_C_SOURCE
486  *
487  *		undefined   not a POSIX compilation
488  *		1	    POSIX.1-1990 compilation
489  *		2	    POSIX.2-1992 compilation
490  *		199309L	    POSIX.1b-1993 compilation (Real Time)
491  *		199506L	    POSIX.1c-1995 compilation (POSIX Threads)
492  *		200112L	    POSIX.1-2001 compilation (Austin Group Revision)
493  *		200809L     POSIX.1-2008 compilation
494  */
495 
496 
497 
498 
499 /*
500  * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
501  * and _STDC_C99 are Sun implementation specific macros created in order to
502  * compress common standards specified feature test macros for easier reading.
503  * These macros should not be used by the application developer as
504  * unexpected results may occur. Instead, the user should reference
505  * standards(5) for correct usage of the standards feature test macros.
506  *
507  * __XOPEN_OR_POSIX     Used in cases where a symbol is defined by both
508  *                      X/Open or POSIX or in the negative, when neither
509  *                      X/Open or POSIX defines a symbol.
510  *
511  * _STRICT_STDC         __STDC__ is specified by the C Standards and defined
512  *                      by the compiler. For Sun compilers the value of
513  *                      __STDC__ is either 1, 0, or not defined based on the
514  *                      compilation mode (see cc(1)). When the value of
515  *                      __STDC__ is 1 and in the absence of any other feature
516  *                      test macros, the namespace available to the application
517  *                      is limited to only those symbols defined by the C
518  *                      Standard. _STRICT_STDC provides a more readable means
519  *                      of identifying symbols defined by the standard, or in
520  *                      the negative, symbols that are extensions to the C
521  *                      Standard. See additional comments for GNU C differences.
522  *
523  * _STDC_C99            __STDC_VERSION__ is specified by the C standards and
524  *                      defined by the compiler and indicates the version of
525  *                      the C standard. A value of 199901L indicates a
526  *                      compiler that complies with ISO/IEC 9899:1999, other-
527  *                      wise known as the C99 standard.
528  *
529  * _STDC_C11		Like _STDC_C99 except that the value of __STDC_VERSION__
530  *                      is 201112L indicating a compiler that compiles with
531  *                      ISO/IEXC 9899:2011, otherwise known as the C11 standard.
532  *
533  * _STRICT_SYMBOLS	Used in cases where symbol visibility is restricted
534  *                      by the standards, and the user has not explicitly
535  *                      relaxed the strictness via __EXTENSIONS__.
536  */
537 
538 
539 
540 
541 
542 /*
543  * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
544  * 99899:2011 specify the following predefined macro name:
545  *
546  * __STDC__	The integer constant 1, intended to indicate a conforming
547  *		implementation.
548  *
549  * Furthermore, a strictly conforming program shall use only those features
550  * of the language and library specified in these standards. A conforming
551  * implementation shall accept any strictly conforming program.
552  *
553  * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
554  * strictly conforming environments and __STDC__ to 0 for environments that
555  * use ANSI C semantics but allow extensions to the C standard. For non-ANSI
556  * C semantics, Sun's C compiler does not define __STDC__.
557  *
558  * The GNU C project interpretation is that __STDC__ should always be defined
559  * to 1 for compilation modes that accept ANSI C syntax regardless of whether
560  * or not extensions to the C standard are used. Violations of conforming
561  * behavior are conditionally flagged as warnings via the use of the
562  * -pedantic option. In addition to defining __STDC__ to 1, the GNU C
563  * compiler also defines __STRICT_ANSI__ as a means of specifying strictly
564  * conforming environments using the -ansi or -std=<standard> options.
565  *
566  * In the absence of any other compiler options, Sun and GNU set the value
567  * of __STDC__ as follows when using the following options:
568  *
569  *				Value of __STDC__  __STRICT_ANSI__
570  *
571  * cc -Xa (default)			0	      undefined
572  * cc -Xt (transitional)		0             undefined
573  * cc -Xc (strictly conforming)		1	      undefined
574  * cc -Xs (K&R C)		    undefined	      undefined
575  *
576  * gcc (default)			1	      undefined
577  * gcc -ansi, -std={c89, c99,...)  	1              defined
578  * gcc -traditional (K&R)	    undefined	      undefined
579  *
580  * The default compilation modes for Sun C compilers versus GNU C compilers
581  * results in a differing value for __STDC__ which results in a more
582  * restricted namespace when using Sun compilers. To allow both GNU and Sun
583  * interpretations to peacefully co-exist, we use the following Sun
584  * implementation _STRICT_STDC_ macro:
585  */
586 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
587 /*
588  * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
589  */
590 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
591 /*
592  * Use strict symbol visibility.
593  */
594 
595 
596 
597 
598 
599 /*
600  * Large file interfaces:
601  *
602  *	_LARGEFILE_SOURCE
603  *		1		large file-related additions to POSIX
604  *				interfaces requested (fseeko, etc.)
605  *	_LARGEFILE64_SOURCE
606  *		1		transitional large-file-related interfaces
607  *				requested (seek64, stat64, etc.)
608  *
609  * The corresponding announcement macros are respectively:
610  *	_LFS_LARGEFILE
611  *	_LFS64_LARGEFILE
612  * (These are set in <unistd.h>.)
613  *
614  * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
615  * well.
616  *
617  * The large file interfaces are made visible regardless of the initial values
618  * of the feature test macros under certain circumstances:
619  *    -	If no explicit standards-conforming environment is requested (neither
620  *	of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
621  *	__STDC__ does not imply standards conformance).
622  *    -	Extended system interfaces are explicitly requested (__EXTENSIONS__
623  * 	is defined).
624  *    -	Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
625  *	defined).  (Note that this dependency is an artifact of the current
626  *	kernel implementation and may change in future releases.)
627  */
628 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
629 /*
630  * Large file compilation environment control:
631  *
632  * The setting of _FILE_OFFSET_BITS controls the size of various file-related
633  * types and governs the mapping between file-related source function symbol
634  * names and the corresponding binary entry points.
635  *
636  * In the 32-bit environment, the default value is 32; if not set, set it to
637  * the default here, to simplify tests in other headers.
638  *
639  * In the 64-bit compilation environment, the only value allowed is 64.
640  */
641 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
642 /*
643  * Use of _XOPEN_SOURCE
644  *
645  * The following X/Open specifications are supported:
646  *
647  * X/Open Portability Guide, Issue 3 (XPG3)
648  * X/Open CAE Specification, Issue 4 (XPG4)
649  * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
650  * X/Open CAE Specification, Issue 5 (XPG5)
651  * Open Group Technical Standard, Issue 6 (XPG6), also referred to as
652  *    IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
653  * Open Group Technical Standard, Issue 7 (XPG7), also referred to as
654  *    IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
655  *
656  * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
657  * XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
658  *     Version 2 (SUSv2)
659  * XPG6 is the result of a merge of the X/Open and POSIX specifications
660  *     and as such is also referred to as IEEE Std. 1003.1-2001 in
661  *     addition to UNIX 03 and SUSv3.
662  * XPG7 is also referred to as UNIX 08 and SUSv4.
663  *
664  * When writing a conforming X/Open application, as per the specification
665  * requirements, the appropriate feature test macros must be defined at
666  * compile time. These are as follows. For more info, see standards(5).
667  *
668  * Feature Test Macro				     Specification
669  * ------------------------------------------------  -------------
670  * _XOPEN_SOURCE                                         XPG3
671  * _XOPEN_SOURCE && _XOPEN_VERSION = 4                   XPG4
672  * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1           XPG4v2
673  * _XOPEN_SOURCE = 500                                   XPG5
674  * _XOPEN_SOURCE = 600  (or POSIX_C_SOURCE=200112L)      XPG6
675  * _XOPEN_SOURCE = 700  (or POSIX_C_SOURCE=200809L)      XPG7
676  *
677  * In order to simplify the guards within the headers, the following
678  * implementation private test macros have been created. Applications
679  * must NOT use these private test macros as unexpected results will
680  * occur.
681  *
682  * Note that in general, the use of these private macros is cumulative.
683  * For example, the use of _XPG3 with no other restrictions on the X/Open
684  * namespace will make the symbols visible for XPG3 through XPG6
685  * compilation environments. The use of _XPG4_2 with no other X/Open
686  * namespace restrictions indicates that the symbols were introduced in
687  * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
688  * environments, but not for XPG3 or XPG4 compilation environments.
689  *
690  * _XPG3    X/Open Portability Guide, Issue 3 (XPG3)
691  * _XPG4    X/Open CAE Specification, Issue 4 (XPG4)
692  * _XPG4_2  X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
693  * _XPG5    X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
694  * _XPG6    Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
695  * _XPG7    Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
696  */
697 
698 /* X/Open Portability Guide, Issue 3 */
699 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
700 /*
701  * _XOPEN_VERSION is defined by the X/Open specifications and is not
702  * normally defined by the application, except in the case of an XPG4
703  * application.  On the implementation side, _XOPEN_VERSION defined with
704  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
705  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
706  * _XOPEN_VERSION  defined with a value of 500 indicates an XPG5 (UNIX 98)
707  * application and with a value of 600 indicates an XPG6 (UNIX 03)
708  * application and with a value of 700 indicates an XPG7 (UNIX 08).
709  * The appropriate version is determined by the use of the
710  * feature test macros described earlier.  The value of _XOPEN_VERSION
711  * defaults to 3 otherwise indicating support for XPG3 applications.
712  */
713 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
714 /*
715  * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
716  * conforming environments.  ISO 9899:1999 says it does.
717  *
718  * The presence of _LONGLONG_TYPE says "long long exists" which is therefore
719  * defined in all but strictly conforming environments that disallow it.
720  */
721 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
722 /*
723  * The following macro defines a value for the ISO C99 restrict
724  * keyword so that _RESTRICT_KYWD resolves to "restrict" if
725  * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
726  * if any other compiler is used. This allows for the use of single
727  * prototype declarations regardless of compiler version.
728  */
729 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
730 /*
731  * The following macro defines a value for the ISO C11 _Noreturn
732  * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
733  * an ISO C11 compiler is used and "" (null string) if any other
734  * compiler is used. This allows for the use of single prototype
735  * declarations regardless of compiler version.
736  */
737 
738 
739 
740 
741 
742 
743 
744 /*
745  * The following macro indicates header support for the ANSI C++
746  * standard.  The ISO/IEC designation for this is ISO/IEC FDIS 14882.
747  */
748 
749 
750 /*
751  * The following macro indicates header support for the C99 standard,
752  * ISO/IEC 9899:1999, Programming Languages - C.
753  */
754 
755 
756 /*
757  * The following macro indicates header support for the C99 standard,
758  * ISO/IEC 9899:2011, Programming Languages - C.
759  */
760 
761 
762 /*
763  * The following macro indicates header support for DTrace. The value is an
764  * integer that corresponds to the major version number for DTrace.
765  */
766 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
767 
768 
769 
770 
771 
772 /*
773  * Do all of our 'redefine_extname' processing before
774  * declarations of the associated functions are seen.
775  * This is necessary to keep gcc happy.
776  */
777 
778 
779 /* large file compilation environment setup */
780 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
781 /* In the LP64 compilation environment, all APIs are already large file */
782 
783 
784 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
785 #pragma redefine_extname fopen64 fopen
786 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
787 
788 
789 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
790 #pragma redefine_extname freopen64 freopen
791 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
792 
793 
794 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
795 #pragma redefine_extname tmpfile64 tmpfile
796 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
797 
798 
799 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
800 #pragma redefine_extname fgetpos64 fgetpos
801 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
802 
803 
804 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
805 #pragma redefine_extname fsetpos64 fsetpos
806 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
807 
808 
809 
810 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
811 #pragma redefine_extname fseeko64 fseeko
812 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
813 
814 
815 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
816 #pragma redefine_extname ftello64 ftello
817 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
818 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
819 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1
820 /*
821  * CDDL HEADER START
822  *
823  * The contents of this file are subject to the terms of the
824  * Common Development and Distribution License, Version 1.0 only
825  * (the "License").  You may not use this file except in compliance
826  * with the License.
827  *
828  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
829  * or http://www.opensolaris.org/os/licensing.
830  * See the License for the specific language governing permissions
831  * and limitations under the License.
832  *
833  * When distributing Covered Code, include this CDDL HEADER in each
834  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
835  * If applicable, add the following below this CDDL HEADER, with the
836  * fields enclosed by brackets "[]" replaced with your own identifying
837  * information: Portions Copyright [yyyy] [name of copyright owner]
838  *
839  * CDDL HEADER END
840  */
841 /*
842  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
843  * Copyright 2014 PALO, Richard.
844  *
845  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
846  * Use is subject to license terms.
847  */
848 
849 /*	Copyright (c) 1988 AT&T	*/
850 /*	  All Rights Reserved  	*/
851 
852 /*
853  * An application should not include this header directly.  Instead it
854  * should be included only through the inclusion of other Sun headers.
855  *
856  * The contents of this header is limited to identifiers specified in the
857  * C Standard.  Any new identifiers specified in future amendments to the
858  * C Standard must be placed in this header.  If these new identifiers
859  * are required to also be in the C++ Standard "std" namespace, then for
860  * anything other than macro definitions, corresponding "using" directives
861  * must also be added to <stdio.h>.
862  */
863 
864 /*
865  * User-visible pieces of the ANSI C standard I/O package.
866  */
867 
868 
869 
870 
871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
872 /*
873  * CDDL HEADER START
874  *
875  * The contents of this file are subject to the terms of the
876  * Common Development and Distribution License (the "License").
877  * You may not use this file except in compliance with the License.
878  *
879  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
880  * or http://www.opensolaris.org/os/licensing.
881  * See the License for the specific language governing permissions
882  * and limitations under the License.
883  *
884  * When distributing Covered Code, include this CDDL HEADER in each
885  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
886  * If applicable, add the following below this CDDL HEADER, with the
887  * fields enclosed by brackets "[]" replaced with your own identifying
888  * information: Portions Copyright [yyyy] [name of copyright owner]
889  *
890  * CDDL HEADER END
891  */
892 
893 /*
894  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
895  * Copyright 2016 Joyent, Inc.
896  *
897  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
898  * Use is subject to license terms.
899  */
900 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
901 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
902 /*
903  * This file and its contents are supplied under the terms of the
904  * Common Development and Distribution License ("CDDL"), version 1.0.
905  * You may only use this file in accordance with the terms of version
906  * 1.0 of the CDDL.
907  *
908  * A full copy of the text of the CDDL should have accompanied this
909  * source.  A copy of the CDDL is also available via the Internet at
910  * http://www.illumos.org/license/CDDL.
911  */
912 
913 /*
914  * Copyright 2014-2016 PALO, Richard.
915  */
916 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
917 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
918 /*
919  * CDDL HEADER START
920  *
921  * The contents of this file are subject to the terms of the
922  * Common Development and Distribution License, Version 1.0 only
923  * (the "License").  You may not use this file except in compliance
924  * with the License.
925  *
926  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
927  * or http://www.opensolaris.org/os/licensing.
928  * See the License for the specific language governing permissions
929  * and limitations under the License.
930  *
931  * When distributing Covered Code, include this CDDL HEADER in each
932  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
933  * If applicable, add the following below this CDDL HEADER, with the
934  * fields enclosed by brackets "[]" replaced with your own identifying
935  * information: Portions Copyright [yyyy] [name of copyright owner]
936  *
937  * CDDL HEADER END
938  */
939 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
940 /*	  All Rights Reserved	*/
941 
942 
943 /*
944  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
945  *
946  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
947  * Use is subject to license terms.
948  */
949 
950 
951 
952 
953 /*
954  * An application should not include this header directly.  Instead it
955  * should be included only through the inclusion of other Sun headers.
956  *
957  * The purpose of this header is to provide the type definitions for
958  * the va_list argument used by a number of printf and printf like
959  * functions. The headers that define these various function prototypes
960  * #include this header directly. These include but are not necessarily
961  * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and
962  * <syslog.h>. The type definitions included in this header are for
963  * the benefit of consumers of va_list.
964  *
965  * Any application that accepts variable argument lists must as documented,
966  * include either <varargs.h> or the preferred <stdarg.h>. Doing so will
967  * pull in the appropriate compiler protocols defined in <sys/va_impl.h>
968  * which is in turn is included by <varargs.h> and <stdarg.h>. See comments
969  * in <sys/va_impl.h> for more detailed information regarding implementation
970  * and compiler specific protocols.
971  */
972 
973 /*
974  * The common definitions exported by this header or compilers using
975  * this header are:
976  *
977  * the identifier __builtin_va_alist for the variable list pseudo parameter
978  * the type __va_alist_type for the variable list pseudo parameter
979  * the type __va_list defining the type of the variable list iterator
980  *
981  * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros
982  * (__GNUC__) and processor macros (e.g. __amd64) are intended to be
983  * defined by the compilation system, not the user of the system.
984  */
985 
986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
987 /*
988  * CDDL HEADER START
989  *
990  * The contents of this file are subject to the terms of the
991  * Common Development and Distribution License (the "License").
992  * You may not use this file except in compliance with the License.
993  *
994  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
995  * or http://www.opensolaris.org/os/licensing.
996  * See the License for the specific language governing permissions
997  * and limitations under the License.
998  *
999  *
1000  * When distributing Covered Code, include this CDDL HEADER in each
1001  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1002  * If applicable, add the following below this CDDL HEADER, with the
1003  * fields enclosed by brackets "[]" replaced with your own identifying
1004  * information: Portions Copyright [yyyy] [name of copyright owner]
1005  *
1006  * CDDL HEADER END
1007  */
1008 
1009 /*
1010  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1011  * Use is subject to license terms.
1012  * Copyright 2016 Joyent, Inc.
1013  */
1014 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2
1015 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h"
1016 typedef __builtin_va_list __gnuc_va_list;
1017 /*
1018  * XX64 This seems unnecessary .. but is needed because vcmn_err is
1019  *	defined with __va_list instead of plain old va_list.
1020  *	Perhaps that should be fixed!
1021  */
1022 typedef __builtin_va_list __va_list;
1023 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1024 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1
1025 /*
1026  * CDDL HEADER START
1027  *
1028  * The contents of this file are subject to the terms of the
1029  * Common Development and Distribution License, Version 1.0 only
1030  * (the "License").  You may not use this file except in compliance
1031  * with the License.
1032  *
1033  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1034  * or http://www.opensolaris.org/os/licensing.
1035  * See the License for the specific language governing permissions
1036  * and limitations under the License.
1037  *
1038  * When distributing Covered Code, include this CDDL HEADER in each
1039  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1040  * If applicable, add the following below this CDDL HEADER, with the
1041  * fields enclosed by brackets "[]" replaced with your own identifying
1042  * information: Portions Copyright [yyyy] [name of copyright owner]
1043  *
1044  * CDDL HEADER END
1045  */
1046 /*
1047  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1048  * Use is subject to license terms.
1049  */
1050 
1051 
1052 
1053 
1054 #pragma ident "%Z%%M%	%I%	%E% SMI"
1055 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h"
1056 typedef struct __FILE __FILE;
1057 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1
1059 /*
1060  * CDDL HEADER START
1061  *
1062  * The contents of this file are subject to the terms of the
1063  * Common Development and Distribution License (the "License").
1064  * You may not use this file except in compliance with the License.
1065  *
1066  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1067  * or http://www.opensolaris.org/os/licensing.
1068  * See the License for the specific language governing permissions
1069  * and limitations under the License.
1070  *
1071  * When distributing Covered Code, include this CDDL HEADER in each
1072  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1073  * If applicable, add the following below this CDDL HEADER, with the
1074  * fields enclosed by brackets "[]" replaced with your own identifying
1075  * information: Portions Copyright [yyyy] [name of copyright owner]
1076  *
1077  * CDDL HEADER END
1078  */
1079 
1080 /*
1081  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1082  * Use is subject to license terms.
1083  */
1084 
1085 
1086 
1087 
1088 #pragma ident "%Z%%M%	%I%	%E% SMI"
1089 
1090 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1091 /*
1092  * CDDL HEADER START
1093  *
1094  * The contents of this file are subject to the terms of the
1095  * Common Development and Distribution License (the "License").
1096  * You may not use this file except in compliance with the License.
1097  *
1098  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1099  * or http://www.opensolaris.org/os/licensing.
1100  * See the License for the specific language governing permissions
1101  * and limitations under the License.
1102  *
1103  *
1104  * When distributing Covered Code, include this CDDL HEADER in each
1105  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1106  * If applicable, add the following below this CDDL HEADER, with the
1107  * fields enclosed by brackets "[]" replaced with your own identifying
1108  * information: Portions Copyright [yyyy] [name of copyright owner]
1109  *
1110  * CDDL HEADER END
1111  */
1112 
1113 /*
1114  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1115  * Use is subject to license terms.
1116  * Copyright 2016 Joyent, Inc.
1117  */
1118 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2
1119 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h"
1120 struct __FILE {
1121  long __pad[16];
1122 };
1123 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1124 
1125 /*
1126  * If feature test macros are set that enable interfaces that use types
1127  * defined in <sys/types.h>, get those types by doing the include.
1128  *
1129  * Note that in asking for the interfaces associated with this feature test
1130  * macro one also asks for definitions of the POSIX types.
1131  */
1132 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1133 typedef __FILE FILE;
1134 
1135 
1136 
1137 
1138 
1139 typedef unsigned long size_t; /* size of something in bytes */
1140 
1141 
1142 
1143 
1144 
1145 
1146 typedef long fpos_t;
1147 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1148 /*
1149  * The value of _NFILE is defined in the Processor Specific ABI.  The value
1150  * is chosen for historical reasons rather than for truly processor related
1151  * attribute.  Note that the SPARC Processor Specific ABI uses the common
1152  * UNIX historical value of 20 so it is allowed to fall through.
1153  */
1154 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1155 extern __FILE __iob[20];
1156 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1157 extern int remove(const char *);
1158 extern int rename(const char *, const char *);
1159 extern FILE *tmpfile(void);
1160 extern char *tmpnam(char *);
1161 extern int fclose(FILE *);
1162 extern int fflush(FILE *);
1163 extern FILE *fopen(const char *, const char *);
1164 extern FILE *freopen(const char *,
1165    const char *, FILE *);
1166 extern void setbuf(FILE *, char *);
1167 extern int setvbuf(FILE *, char *, int,
1168    size_t);
1169 /* PRINTFLIKE2 */
1170 extern int fprintf(FILE *, const char *, ...);
1171 /* SCANFLIKE2 */
1172 extern int fscanf(FILE *, const char *, ...);
1173 /* PRINTFLIKE1 */
1174 extern int printf(const char *, ...);
1175 /* SCANFLIKE1 */
1176 extern int scanf(const char *, ...);
1177 /* PRINTFLIKE2 */
1178 extern int sprintf(char *, const char *, ...);
1179 /* SCANFLIKE2 */
1180 extern int sscanf(const char *,
1181    const char *, ...);
1182 extern int vfprintf(FILE *, const char *,
1183    __va_list);
1184 extern int vprintf(const char *, __va_list);
1185 extern int vsprintf(char *, const char *,
1186    __va_list);
1187 extern int fgetc(FILE *);
1188 extern char *fgets(char *, int, FILE *);
1189 extern int fputc(int, FILE *);
1190 extern int fputs(const char *, FILE *);
1191 
1192 
1193 extern int getc(FILE *);
1194 extern int putc(int, FILE *);
1195 
1196 
1197 
1198 extern int getchar(void);
1199 extern int putchar(int);
1200 
1201 
1202 /*
1203  * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11
1204  * environment has been requested, we remove it.
1205  */
1206 
1207 extern char *gets(char *);
1208 
1209 extern int puts(const char *);
1210 extern int ungetc(int, FILE *);
1211 extern size_t fread(void *, size_t, size_t,
1212  FILE *);
1213 extern size_t fwrite(const void *, size_t, size_t,
1214  FILE *);
1215 
1216 extern int fgetpos(FILE *, fpos_t *);
1217 extern int fsetpos(FILE *, const fpos_t *);
1218 
1219 extern int fseek(FILE *, long, int);
1220 extern long ftell(FILE *);
1221 extern void rewind(FILE *);
1222 
1223 
1224 extern void clearerr(FILE *);
1225 extern int feof(FILE *);
1226 extern int ferror(FILE *);
1227 
1228 extern void perror(const char *);
1229 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1230 
1231 /*
1232  * If feature test macros are set that enable interfaces that use types
1233  * defined in <sys/types.h>, get those types by doing the include.
1234  *
1235  * Note that in asking for the interfaces associated with this feature test
1236  * macro one also asks for definitions of the POSIX types.
1237  */
1238 
1239 /*
1240  * Allow global visibility for symbols defined in
1241  * C++ "std" namespace in <iso/stdio_iso.h>.
1242  */
1243 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1244 /*
1245  * This header needs to be included here because it relies on the global
1246  * visibility of FILE and size_t in the C++ environment.
1247  */
1248 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1
1249 /*
1250  * CDDL HEADER START
1251  *
1252  * The contents of this file are subject to the terms of the
1253  * Common Development and Distribution License, Version 1.0 only
1254  * (the "License").  You may not use this file except in compliance
1255  * with the License.
1256  *
1257  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1258  * or http://www.opensolaris.org/os/licensing.
1259  * See the License for the specific language governing permissions
1260  * and limitations under the License.
1261  *
1262  * When distributing Covered Code, include this CDDL HEADER in each
1263  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1264  * If applicable, add the following below this CDDL HEADER, with the
1265  * fields enclosed by brackets "[]" replaced with your own identifying
1266  * information: Portions Copyright [yyyy] [name of copyright owner]
1267  *
1268  * CDDL HEADER END
1269  */
1270 /*
1271  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1272  *
1273  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1274  * Use is subject to license terms.
1275  */
1276 
1277 /*
1278  * An application should not include this header directly.  Instead it
1279  * should be included only through the inclusion of other Sun headers.
1280  *
1281  * The contents of this header is limited to identifiers specified in
1282  * the C99 standard and in conflict with the C++ implementation of the
1283  * standard header.  The C++ standard may adopt the C99 standard at
1284  * which point it is expected that the symbols included here will
1285  * become part of the C++ std namespace.
1286  */
1287 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1288 /*
1289  * The following have been added as a result of the ISO/IEC 9899:1999
1290  * standard. For a strictly conforming C application, visibility is
1291  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1292  * For non-strictly conforming C applications, there are no restrictions
1293  * on the C namespace.
1294  */
1295 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1296 extern int vfscanf(FILE *, const char *, __va_list);
1297 extern int vscanf(const char *, __va_list);
1298 extern int vsscanf(const char *, const char *,
1299   __va_list);
1300 
1301 
1302 
1303 
1304 extern int snprintf(char *, size_t, const char *,
1305  ...);
1306 extern int vsnprintf(char *, size_t, const char *,
1307  __va_list);
1308 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1309 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1310 typedef long off_t;
1311 
1312 
1313 
1314 
1315 
1316 typedef off_t off64_t;
1317 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1318 typedef fpos_t fpos64_t;
1319 
1320 
1321 
1322 
1323 
1324 /*
1325  * XPG4 requires that va_list be defined in <stdio.h> "as described in
1326  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
1327  * not be polluted with this name.
1328  */
1329 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1330 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1331 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1332 extern unsigned char _sibuf[], _sobuf[];
1333 
1334 
1335 /* large file compilation environment setup */
1336 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1337 /* In the LP64 compilation environment, all APIs are already large file */
1338 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1339 typedef long ssize_t; /* size of something in bytes or -1 */
1340 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1341 extern char *tmpnam_r(char *);
1342 
1343 
1344 
1345 
1346 extern int fcloseall(void);
1347 extern void setbuffer(FILE *, char *, size_t);
1348 extern int setlinebuf(FILE *);
1349 /* PRINTFLIKE2 */
1350 extern int asprintf(char **, const char *, ...);
1351 /* PRINTFLIKE2 */
1352 extern int vasprintf(char **, const char *, __va_list);
1353 
1354 
1355 
1356 
1357  /* || defined(_XPG7) */
1358 extern ssize_t getdelim(char **, size_t *,
1359  int, FILE *);
1360 extern ssize_t getline(char **, size_t *,
1361  FILE *);
1362 
1363 
1364 /*
1365  * The following are known to POSIX and XOPEN, but not to ANSI-C.
1366  */
1367 
1368 
1369 
1370 extern FILE *fdopen(int, const char *);
1371 extern char *ctermid(char *);
1372 extern int fileno(FILE *);
1373 
1374 
1375 
1376 /*
1377  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
1378  */
1379 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1380 /*
1381  * The following are known to XOPEN, but not to ANSI-C or POSIX.
1382  */
1383 
1384 
1385 extern FILE *popen(const char *, const char *);
1386 extern char *tempnam(const char *, const char *);
1387 extern int pclose(FILE *);
1388 
1389 extern int getsubopt(char **, char *const *, char **);
1390 
1391 
1392 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1393 
1394 extern char *cuserid(char *);
1395 extern int getopt(int, char *const *, const char *);
1396 extern char *optarg;
1397 extern int optind, opterr, optopt;
1398 extern int getw(FILE *);
1399 extern int putw(int, FILE *);
1400 
1401 
1402 
1403 
1404 /*
1405  * The following are defined as part of the Large File Summit interfaces.
1406  */
1407 
1408 extern int fseeko(FILE *, off_t, int);
1409 extern off_t ftello(FILE *);
1410 
1411 
1412 /*
1413  * The following are defined as part of the transitional Large File Summit
1414  * interfaces.
1415  */
1416 
1417 
1418 extern FILE *fopen64(const char *, const char *);
1419 extern FILE *freopen64(const char *, const char *, FILE *);
1420 extern FILE *tmpfile64(void);
1421 extern int fgetpos64(FILE *, fpos64_t *);
1422 extern int fsetpos64(FILE *, const fpos64_t *);
1423 extern int fseeko64(FILE *, off64_t, int);
1424 extern off64_t ftello64(FILE *);
1425 
1426 
1427 /*
1428  * XPG7 symbols
1429  */
1430 
1431 extern FILE *fmemopen(void *, size_t,
1432       const char *);
1433 extern FILE *open_memstream(char **, size_t *);
1434 # 48 "../common/zones_args.c" 2
1435 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
1436 /*
1437  * CDDL HEADER START
1438  *
1439  * The contents of this file are subject to the terms of the
1440  * Common Development and Distribution License (the "License").
1441  * You may not use this file except in compliance with the License.
1442  *
1443  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1444  * or http://www.opensolaris.org/os/licensing.
1445  * See the License for the specific language governing permissions
1446  * and limitations under the License.
1447  *
1448  * When distributing Covered Code, include this CDDL HEADER in each
1449  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1450  * If applicable, add the following below this CDDL HEADER, with the
1451  * fields enclosed by brackets "[]" replaced with your own identifying
1452  * information: Portions Copyright [yyyy] [name of copyright owner]
1453  *
1454  * CDDL HEADER END
1455  */
1456 
1457 /*
1458  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1459  * Copyright (c) 2013 Gary Mills
1460  *
1461  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
1462  */
1463 
1464 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
1465 
1466 /*	Copyright (c) 1988 AT&T	*/
1467 /*	  All Rights Reserved  	*/
1468 
1469 
1470 
1471 
1472 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1
1473 /*
1474  * CDDL HEADER START
1475  *
1476  * The contents of this file are subject to the terms of the
1477  * Common Development and Distribution License, Version 1.0 only
1478  * (the "License").  You may not use this file except in compliance
1479  * with the License.
1480  *
1481  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1482  * or http://www.opensolaris.org/os/licensing.
1483  * See the License for the specific language governing permissions
1484  * and limitations under the License.
1485  *
1486  * When distributing Covered Code, include this CDDL HEADER in each
1487  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1488  * If applicable, add the following below this CDDL HEADER, with the
1489  * fields enclosed by brackets "[]" replaced with your own identifying
1490  * information: Portions Copyright [yyyy] [name of copyright owner]
1491  *
1492  * CDDL HEADER END
1493  */
1494 /*
1495  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1496  * Copyright 2014 PALO, Richard.
1497  *
1498  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
1499  * Use is subject to license terms.
1500  */
1501 
1502 /*	Copyright (c) 1988 AT&T	*/
1503 /*	  All Rights Reserved  	*/
1504 
1505 
1506 /*
1507  * An application should not include this header directly.  Instead it
1508  * should be included only through the inclusion of other Sun headers.
1509  *
1510  * The contents of this header is limited to identifiers specified in the
1511  * C Standard.  Any new identifiers specified in future amendments to the
1512  * C Standard must be placed in this header.  If these new identifiers
1513  * are required to also be in the C++ Standard "std" namespace, then for
1514  * anything other than macro definitions, corresponding "using" directives
1515  * must also be added to <locale.h>.
1516  */
1517 
1518 
1519 
1520 
1521 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1522 /*
1523  * CDDL HEADER START
1524  *
1525  * The contents of this file are subject to the terms of the
1526  * Common Development and Distribution License (the "License").
1527  * You may not use this file except in compliance with the License.
1528  *
1529  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1530  * or http://www.opensolaris.org/os/licensing.
1531  * See the License for the specific language governing permissions
1532  * and limitations under the License.
1533  *
1534  * When distributing Covered Code, include this CDDL HEADER in each
1535  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1536  * If applicable, add the following below this CDDL HEADER, with the
1537  * fields enclosed by brackets "[]" replaced with your own identifying
1538  * information: Portions Copyright [yyyy] [name of copyright owner]
1539  *
1540  * CDDL HEADER END
1541  */
1542 
1543 /*
1544  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1545  * Copyright 2016 Joyent, Inc.
1546  *
1547  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1548  * Use is subject to license terms.
1549  */
1550 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1551 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
1552 /*
1553  * This file and its contents are supplied under the terms of the
1554  * Common Development and Distribution License ("CDDL"), version 1.0.
1555  * You may only use this file in accordance with the terms of version
1556  * 1.0 of the CDDL.
1557  *
1558  * A full copy of the text of the CDDL should have accompanied this
1559  * source.  A copy of the CDDL is also available via the Internet at
1560  * http://www.illumos.org/license/CDDL.
1561  */
1562 
1563 /*
1564  * Copyright 2014-2016 PALO, Richard.
1565  */
1566 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
1567 
1568 
1569 
1570 
1571 
1572 unsigned char __mb_cur_max(void);
1573 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1574 typedef struct {
1575  int quot;
1576  int rem;
1577 } div_t;
1578 
1579 typedef struct {
1580  long quot;
1581  long rem;
1582 } ldiv_t;
1583 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1584 /*
1585  * wchar_t is a built-in type in standard C++ and as such is not
1586  * defined here when using standard C++. However, the GNU compiler
1587  * fixincludes utility nonetheless creates its own version of this
1588  * header for use by gcc and g++. In that version it adds a redundant
1589  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
1590  * header we need to include the following magic comment:
1591  *
1592  * we must use the C++ compiler's type
1593  *
1594  * The above comment should not be removed or changed until GNU
1595  * gcc/fixinc/inclhack.def is updated to bypass this header.
1596  */
1597 
1598 
1599 
1600 
1601 typedef int wchar_t;
1602 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
1603 extern void abort(void) __attribute__((__noreturn__));
1604 extern int abs(int);
1605 extern int atexit(void (*)(void));
1606 extern double atof(const char *);
1607 extern int atoi(const char *);
1608 extern long int atol(const char *);
1609 extern void *bsearch(const void *, const void *, size_t, size_t,
1610  int (*)(const void *, const void *));
1611 
1612 
1613 
1614 
1615 
1616 
1617 extern void *calloc(size_t, size_t);
1618 extern div_t div(int, int);
1619 extern void exit(int)
1620  __attribute__((__noreturn__));
1621 extern void free(void *);
1622 extern char *getenv(const char *);
1623 extern long int labs(long);
1624 extern ldiv_t ldiv(long, long);
1625 extern void *malloc(size_t);
1626 extern int mblen(const char *, size_t);
1627 extern size_t mbstowcs(wchar_t *, const char *,
1628  size_t);
1629 extern int mbtowc(wchar_t *, const char *, size_t);
1630 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
1631 
1632 
1633 
1634 
1635 
1636 extern int rand(void);
1637 extern void *realloc(void *, size_t);
1638 extern void srand(unsigned int);
1639 extern double strtod(const char *, char **);
1640 extern long int strtol(const char *, char **, int);
1641 extern unsigned long int strtoul(const char *,
1642  char **, int);
1643 extern int system(const char *);
1644 extern int wctomb(char *, wchar_t);
1645 extern size_t wcstombs(char *, const wchar_t *,
1646  size_t);
1647 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1648 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1
1649 /*
1650  * CDDL HEADER START
1651  *
1652  * The contents of this file are subject to the terms of the
1653  * Common Development and Distribution License, Version 1.0 only
1654  * (the "License").  You may not use this file except in compliance
1655  * with the License.
1656  *
1657  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1658  * or http://www.opensolaris.org/os/licensing.
1659  * See the License for the specific language governing permissions
1660  * and limitations under the License.
1661  *
1662  * When distributing Covered Code, include this CDDL HEADER in each
1663  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1664  * If applicable, add the following below this CDDL HEADER, with the
1665  * fields enclosed by brackets "[]" replaced with your own identifying
1666  * information: Portions Copyright [yyyy] [name of copyright owner]
1667  *
1668  * CDDL HEADER END
1669  */
1670 /*
1671  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1672  *
1673  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1674  * Use is subject to license terms.
1675  */
1676 
1677 /*
1678  * An application should not include this header directly.  Instead it
1679  * should be included only through the inclusion of other Sun headers.
1680  *
1681  * The contents of this header is limited to identifiers specified in
1682  * the C99 standard and in conflict with the C++ implementation of the
1683  * standard header.  The C++ standard may adopt the C99 standard at
1684  * which point it is expected that the symbols included here will
1685  * become part of the C++ std namespace.
1686  */
1687 
1688 
1689 
1690 
1691 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1692 /*
1693  * CDDL HEADER START
1694  *
1695  * The contents of this file are subject to the terms of the
1696  * Common Development and Distribution License (the "License").
1697  * You may not use this file except in compliance with the License.
1698  *
1699  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1700  * or http://www.opensolaris.org/os/licensing.
1701  * See the License for the specific language governing permissions
1702  * and limitations under the License.
1703  *
1704  * When distributing Covered Code, include this CDDL HEADER in each
1705  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1706  * If applicable, add the following below this CDDL HEADER, with the
1707  * fields enclosed by brackets "[]" replaced with your own identifying
1708  * information: Portions Copyright [yyyy] [name of copyright owner]
1709  *
1710  * CDDL HEADER END
1711  */
1712 
1713 /*
1714  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1715  * Copyright 2016 Joyent, Inc.
1716  *
1717  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1718  * Use is subject to license terms.
1719  */
1720 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2
1721 
1722 
1723 
1724 
1725 
1726 /*
1727  * The following have been added as a result of the ISO/IEC 9899:1999
1728  * standard. For a strictly conforming C application, visibility is
1729  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1730  * For non-strictly conforming C applications, there are no restrictions
1731  * on the C namespace.
1732  */
1733 
1734 
1735 typedef struct {
1736  long long quot;
1737  long long rem;
1738 } lldiv_t;
1739 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h"
1740 extern void _Exit(int);
1741 extern float strtof(const char *, char **);
1742 extern long double strtold(const char *, char **);
1743 
1744 
1745 extern long long atoll(const char *);
1746 extern long long llabs(long long);
1747 extern lldiv_t lldiv(long long, long long);
1748 extern long long strtoll(const char *, char **,
1749  int);
1750 extern unsigned long long strtoull(const char *,
1751  char **, int);
1752 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1753 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1
1754 /*
1755  * This file and its contents are supplied under the terms of the
1756  * Common Development and Distribution License ("CDDL"), version 1.0.
1757  * You may only use this file in accordance with the terms of version
1758  * 1.0 of the CDDL.
1759  *
1760  * A full copy of the text of the CDDL should have accompanied this
1761  * source.  A copy of the CDDL is also available via the Internet at
1762  * http://www.illumos.org/license/CDDL.
1763  */
1764 
1765 /*
1766  * Copyright 2016 Joyent, Inc.
1767  */
1768 
1769 /*
1770  * An application should not include this header directly.  Instead it
1771  * should be included only through the inclusion of other illumos headers.
1772  *
1773  * The contents of this header is limited to identifiers specified in
1774  * the C11 standard and in conflict with the C++ implementation of the
1775  * standard header.  The C++ standard may adopt the C11 standard at
1776  * which point it is expected that the symbols included here will
1777  * become part of the C++ std namespace.
1778  */
1779 
1780 
1781 
1782 
1783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1784 /*
1785  * CDDL HEADER START
1786  *
1787  * The contents of this file are subject to the terms of the
1788  * Common Development and Distribution License (the "License").
1789  * You may not use this file except in compliance with the License.
1790  *
1791  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1792  * or http://www.opensolaris.org/os/licensing.
1793  * See the License for the specific language governing permissions
1794  * and limitations under the License.
1795  *
1796  * When distributing Covered Code, include this CDDL HEADER in each
1797  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1798  * If applicable, add the following below this CDDL HEADER, with the
1799  * fields enclosed by brackets "[]" replaced with your own identifying
1800  * information: Portions Copyright [yyyy] [name of copyright owner]
1801  *
1802  * CDDL HEADER END
1803  */
1804 
1805 /*
1806  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1807  * Copyright 2016 Joyent, Inc.
1808  *
1809  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1810  * Use is subject to license terms.
1811  */
1812 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2
1813 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1814 /*
1815  * The following have been added as a result of the ISO/IEC 9899:2011
1816  * standard. For a strictly conforming C application, visibility is
1817  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1818  * For non-strictly conforming C applications, there are no restrictions
1819  * on the C namespace.
1820  */
1821 
1822 /*
1823  * Work around fix-includes and other bad actors with using multiple headers.
1824  */
1825 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1826 extern void *aligned_alloc(size_t, size_t);
1827 extern int at_quick_exit(void (*)(void));
1828 extern void quick_exit(int);
1829 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1830 
1831 
1832 
1833 
1834 
1835 /*
1836  * Allow global visibility for symbols defined in
1837  * C++ "std" namespace in <iso/stdlib_iso.h>.
1838  */
1839 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1840 /*
1841  * Allow global visibility for symbols defined in
1842  * C++ "std" namespace in <iso/stdlib_c11.h>.
1843  */
1844 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1845 typedef unsigned int uid_t; /* UID type		*/
1846 
1847 
1848 /* large file compilation environment setup */
1849 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1850 /* In the LP64 compilation environment, all APIs are already large file */
1851 
1852 
1853 
1854 
1855 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1856 #pragma redefine_extname mkstemp64 mkstemp
1857 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1858 
1859 
1860 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1861 #pragma redefine_extname mkstemps64 mkstemps
1862 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1863 
1864 
1865 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1866 #pragma redefine_extname mkostemp64 mkostemp
1867 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1868 
1869 
1870 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1871 #pragma redefine_extname mkostemps64 mkostemps
1872 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1873 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1874 extern int rand_r(unsigned int *);
1875 
1876 
1877 extern void _exithandle(void);
1878 
1879 
1880 
1881 
1882 extern double drand48(void);
1883 extern double erand48(unsigned short *);
1884 extern long jrand48(unsigned short *);
1885 extern void lcong48(unsigned short *);
1886 extern long lrand48(void);
1887 extern long mrand48(void);
1888 extern long nrand48(unsigned short *);
1889 extern unsigned short *seed48(unsigned short *);
1890 extern void srand48(long);
1891 extern int putenv(char *);
1892 extern void setkey(const char *);
1893 
1894 
1895 /*
1896  * swab() has historically been in <stdlib.h> as delivered from AT&T
1897  * and continues to be visible in the default compilation environment.
1898  * As of Issue 4 of the X/Open Portability Guides, swab() was declared
1899  * in <unistd.h>. As a result, with respect to X/Open namespace the
1900  * swab() declaration in this header is only visible for the XPG3
1901  * environment.
1902  */
1903 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1904 extern void swab(const char *, char *, ssize_t);
1905 
1906 
1907 
1908 
1909 
1910 extern int mkstemp(char *);
1911 
1912 extern int mkstemps(char *, int);
1913 
1914 
1915 
1916 
1917 
1918 extern int mkstemp64(char *);
1919 
1920 extern int mkstemps64(char *, int);
1921 
1922 
1923 
1924 
1925 extern char *mkdtemp(char *);
1926 
1927 
1928 
1929 extern int mkostemp(char *, int);
1930 extern int mkostemps(char *, int, int);
1931 
1932 
1933 extern int mkostemp64(char *, int);
1934 extern int mkostemps64(char *, int, int);
1935 
1936 
1937 
1938 
1939 
1940 
1941 extern long a64l(const char *);
1942 extern char *ecvt(double, int, int *, int *);
1943 extern char *fcvt(double, int, int *, int *);
1944 extern char *gcvt(double, int, char *);
1945 extern int getsubopt(char **, char *const *, char **);
1946 extern int grantpt(int);
1947 extern char *initstate(unsigned, char *, size_t);
1948 extern char *l64a(long);
1949 extern char *mktemp(char *);
1950 extern char *ptsname(int);
1951 extern long random(void);
1952 extern char *realpath(const char *, char *);
1953 extern char *setstate(const char *);
1954 extern void srandom(unsigned);
1955 extern int unlockpt(int);
1956 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1957 
1958 extern int ttyslot(void);
1959 extern void *valloc(size_t);
1960 
1961 
1962 
1963 
1964 
1965 
1966 extern int posix_memalign(void **, size_t, size_t);
1967 extern int posix_openpt(int);
1968 extern int setenv(const char *, const char *, int);
1969 extern int unsetenv(const char *);
1970 
1971 
1972 
1973 
1974 extern char *canonicalize_file_name(const char *);
1975 extern int clearenv(void);
1976 extern void closefrom(int);
1977 extern int daemon(int, int);
1978 extern int dup2(int, int);
1979 extern int dup3(int, int, int);
1980 extern int fdwalk(int (*)(void *, int), void *);
1981 extern char *qecvt(long double, int, int *, int *);
1982 extern char *qfcvt(long double, int, int *, int *);
1983 extern char *qgcvt(long double, int, char *);
1984 extern char *getcwd(char *, size_t);
1985 extern const char *getexecname(void);
1986 
1987 
1988 
1989 
1990 
1991 
1992 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1993 #pragma redefine_extname getlogin getloginx
1994 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1995 
1996 
1997 
1998 
1999 
2000 
2001 extern char *getlogin(void);
2002 
2003 
2004 extern int getopt(int, char *const *, const char *);
2005 extern char *optarg;
2006 extern int optind, opterr, optopt;
2007 extern char *getpass(const char *);
2008 extern char *getpassphrase(const char *);
2009 extern int getpw(uid_t, char *);
2010 extern int isatty(int);
2011 extern void *memalign(size_t, size_t);
2012 extern char *ttyname(int);
2013 extern char *mkdtemp(char *);
2014 extern const char *getprogname(void);
2015 extern void setprogname(const char *);
2016 
2017 
2018 extern char *lltostr(long long, char *);
2019 extern char *ulltostr(unsigned long long, char *);
2020 
2021 
2022 
2023 
2024 /* OpenBSD compatibility functions */
2025 
2026 
2027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
2028 /*
2029  * CDDL HEADER START
2030  *
2031  * The contents of this file are subject to the terms of the
2032  * Common Development and Distribution License, Version 1.0 only
2033  * (the "License").  You may not use this file except in compliance
2034  * with the License.
2035  *
2036  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2037  * or http://www.opensolaris.org/os/licensing.
2038  * See the License for the specific language governing permissions
2039  * and limitations under the License.
2040  *
2041  * When distributing Covered Code, include this CDDL HEADER in each
2042  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2043  * If applicable, add the following below this CDDL HEADER, with the
2044  * fields enclosed by brackets "[]" replaced with your own identifying
2045  * information: Portions Copyright [yyyy] [name of copyright owner]
2046  *
2047  * CDDL HEADER END
2048  */
2049 /*
2050  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2051  *
2052  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2053  * Use is subject to license terms.
2054  */
2055 
2056 
2057 
2058 
2059 /*
2060  * This file, <inttypes.h>, is specified by the ISO C standard,
2061  * standard, ISO/IEC 9899:1999 Programming language - C and is
2062  * also defined by SUSv3.
2063  *
2064  * ISO	  International Organization for Standardization.
2065  * SUSv3  Single Unix Specification, Version 3
2066  */
2067 
2068 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2069 /*
2070  * CDDL HEADER START
2071  *
2072  * The contents of this file are subject to the terms of the
2073  * Common Development and Distribution License (the "License").
2074  * You may not use this file except in compliance with the License.
2075  *
2076  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2077  * or http://www.opensolaris.org/os/licensing.
2078  * See the License for the specific language governing permissions
2079  * and limitations under the License.
2080  *
2081  * When distributing Covered Code, include this CDDL HEADER in each
2082  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2083  * If applicable, add the following below this CDDL HEADER, with the
2084  * fields enclosed by brackets "[]" replaced with your own identifying
2085  * information: Portions Copyright [yyyy] [name of copyright owner]
2086  *
2087  * CDDL HEADER END
2088  */
2089 
2090 /*
2091  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2092  * Copyright 2016 Joyent, Inc.
2093  *
2094  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2095  * Use is subject to license terms.
2096  */
2097 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1
2099 /*
2100  * CDDL HEADER START
2101  *
2102  * The contents of this file are subject to the terms of the
2103  * Common Development and Distribution License, Version 1.0 only
2104  * (the "License").  You may not use this file except in compliance
2105  * with the License.
2106  *
2107  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2108  * or http://www.opensolaris.org/os/licensing.
2109  * See the License for the specific language governing permissions
2110  * and limitations under the License.
2111  *
2112  * When distributing Covered Code, include this CDDL HEADER in each
2113  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2114  * If applicable, add the following below this CDDL HEADER, with the
2115  * fields enclosed by brackets "[]" replaced with your own identifying
2116  * information: Portions Copyright [yyyy] [name of copyright owner]
2117  *
2118  * CDDL HEADER END
2119  */
2120 /*
2121  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2122  * Use is subject to license terms.
2123  */
2124 
2125 
2126 
2127 
2128 #pragma ident "%Z%%M%	%I%	%E% SMI"
2129 
2130 /*
2131  * This header, <sys/inttypes.h>, contains (through nested inclusion) the
2132  * vast majority of the facilities specified for <inttypes.h> as defined
2133  * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2134  *
2135  * Kernel/Driver developers are encouraged to include this file to access
2136  * the fixed size types, limits and utility macros. Application developers
2137  * should use the standard defined header <inttypes.h>.
2138  */
2139 
2140 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2141 /*
2142  * CDDL HEADER START
2143  *
2144  * The contents of this file are subject to the terms of the
2145  * Common Development and Distribution License (the "License").
2146  * You may not use this file except in compliance with the License.
2147  *
2148  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2149  * or http://www.opensolaris.org/os/licensing.
2150  * See the License for the specific language governing permissions
2151  * and limitations under the License.
2152  *
2153  * When distributing Covered Code, include this CDDL HEADER in each
2154  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2155  * If applicable, add the following below this CDDL HEADER, with the
2156  * fields enclosed by brackets "[]" replaced with your own identifying
2157  * information: Portions Copyright [yyyy] [name of copyright owner]
2158  *
2159  * CDDL HEADER END
2160  */
2161 
2162 /*
2163  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2164  * Copyright 2016 Joyent, Inc.
2165  *
2166  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2167  * Use is subject to license terms.
2168  */
2169 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2171 /*
2172  * CDDL HEADER START
2173  *
2174  * The contents of this file are subject to the terms of the
2175  * Common Development and Distribution License, Version 1.0 only
2176  * (the "License").  You may not use this file except in compliance
2177  * with the License.
2178  *
2179  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2180  * or http://www.opensolaris.org/os/licensing.
2181  * See the License for the specific language governing permissions
2182  * and limitations under the License.
2183  *
2184  * When distributing Covered Code, include this CDDL HEADER in each
2185  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2186  * If applicable, add the following below this CDDL HEADER, with the
2187  * fields enclosed by brackets "[]" replaced with your own identifying
2188  * information: Portions Copyright [yyyy] [name of copyright owner]
2189  *
2190  * CDDL HEADER END
2191  */
2192 /*
2193  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2194  *
2195  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2196  * Use is subject to license terms.
2197  */
2198 
2199 
2200 
2201 
2202 /*
2203  * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
2204  * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
2205  * Programming language - C.
2206  *
2207  * Programs/Modules should not directly include this file.  Access to the
2208  * types defined in this file should be through the inclusion of one of the
2209  * following files:
2210  *
2211  *	<sys/types.h>		Provides only the "_t" types defined in this
2212  *				file which is a subset of the contents of
2213  *				<inttypes.h>.  (This can be appropriate for
2214  *				all programs/modules except those claiming
2215  *				ANSI-C conformance.)
2216  *
2217  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2218  *				components of <inttypes.h>.
2219  *
2220  *	<inttypes.h>		For use by applications.
2221  *
2222  * See these files for more details.
2223  */
2224 
2225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2226 /*
2227  * CDDL HEADER START
2228  *
2229  * The contents of this file are subject to the terms of the
2230  * Common Development and Distribution License (the "License").
2231  * You may not use this file except in compliance with the License.
2232  *
2233  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2234  * or http://www.opensolaris.org/os/licensing.
2235  * See the License for the specific language governing permissions
2236  * and limitations under the License.
2237  *
2238  * When distributing Covered Code, include this CDDL HEADER in each
2239  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2240  * If applicable, add the following below this CDDL HEADER, with the
2241  * fields enclosed by brackets "[]" replaced with your own identifying
2242  * information: Portions Copyright [yyyy] [name of copyright owner]
2243  *
2244  * CDDL HEADER END
2245  */
2246 
2247 /*
2248  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2249  * Copyright 2016 Joyent, Inc.
2250  *
2251  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2252  * Use is subject to license terms.
2253  */
2254 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2
2255 
2256 
2257 
2258 
2259 
2260 /*
2261  * Basic / Extended integer types
2262  *
2263  * The following defines the basic fixed-size integer types.
2264  *
2265  * Implementations are free to typedef them to Standard C integer types or
2266  * extensions that they support. If an implementation does not support one
2267  * of the particular integer data types below, then it should not define the
2268  * typedefs and macros corresponding to that data type.  Note that int8_t
2269  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
2270  * as an unsigned entity because there is no way to define an eight bit
2271  * signed integral.
2272  */
2273 
2274 typedef char int8_t;
2275 
2276 
2277 
2278 typedef short int16_t;
2279 typedef int int32_t;
2280 
2281 
2282 typedef long int64_t;
2283 
2284 
2285 
2286 
2287 
2288 
2289 
2290 typedef unsigned char uint8_t;
2291 typedef unsigned short uint16_t;
2292 typedef unsigned int uint32_t;
2293 
2294 typedef unsigned long uint64_t;
2295 
2296 
2297 
2298 
2299 
2300 
2301 /*
2302  * intmax_t and uintmax_t are to be the longest (in number of bits) signed
2303  * and unsigned integer types supported by the implementation.
2304  */
2305 
2306 typedef int64_t intmax_t;
2307 typedef uint64_t uintmax_t;
2308 
2309 
2310 
2311 
2312 
2313 /*
2314  * intptr_t and uintptr_t are signed and unsigned integer types large enough
2315  * to hold any data pointer; that is, data pointers can be assigned into or
2316  * from these integer types without losing precision.
2317  */
2318 
2319 typedef long intptr_t;
2320 typedef unsigned long uintptr_t;
2321 
2322 
2323 
2324 
2325 
2326 /*
2327  * The following define the fastest integer types that can hold the
2328  * specified number of bits.
2329  */
2330 
2331 typedef char int_fast8_t;
2332 
2333 
2334 
2335 typedef int int_fast16_t;
2336 typedef int int_fast32_t;
2337 
2338 typedef long int_fast64_t;
2339 
2340 
2341 
2342 
2343 
2344 
2345 typedef unsigned char uint_fast8_t;
2346 typedef unsigned int uint_fast16_t;
2347 typedef unsigned int uint_fast32_t;
2348 
2349 typedef unsigned long uint_fast64_t;
2350 
2351 
2352 
2353 
2354 
2355 
2356 /*
2357  * The following define the smallest integer types that can hold the
2358  * specified number of bits.
2359  */
2360 
2361 typedef char int_least8_t;
2362 
2363 
2364 
2365 typedef short int_least16_t;
2366 typedef int int_least32_t;
2367 
2368 typedef long int_least64_t;
2369 
2370 
2371 
2372 
2373 
2374 
2375 /*
2376  * If these are changed, please update char16_t and char32_t in head/uchar.h.
2377  */
2378 typedef unsigned char uint_least8_t;
2379 typedef unsigned short uint_least16_t;
2380 typedef unsigned int uint_least32_t;
2381 
2382 typedef unsigned long uint_least64_t;
2383 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2384 
2385 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2386 /*
2387  * CDDL HEADER START
2388  *
2389  * The contents of this file are subject to the terms of the
2390  * Common Development and Distribution License, Version 1.0 only
2391  * (the "License").  You may not use this file except in compliance
2392  * with the License.
2393  *
2394  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2395  * or http://www.opensolaris.org/os/licensing.
2396  * See the License for the specific language governing permissions
2397  * and limitations under the License.
2398  *
2399  * When distributing Covered Code, include this CDDL HEADER in each
2400  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2401  * If applicable, add the following below this CDDL HEADER, with the
2402  * fields enclosed by brackets "[]" replaced with your own identifying
2403  * information: Portions Copyright [yyyy] [name of copyright owner]
2404  *
2405  * CDDL HEADER END
2406  */
2407 /*
2408  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2409  *
2410  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2411  * Use is subject to license terms.
2412  */
2413 
2414 
2415 
2416 
2417 /*
2418  * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation
2419  * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999
2420  * Programming language - C.
2421  *
2422  * Programs/Modules should not directly include this file.  Access to the
2423  * types defined in this file should be through the inclusion of one of the
2424  * following files:
2425  *
2426  *	<limits.h>		This nested inclusion is disabled for strictly
2427  *				ANSI-C conforming compilations.  The *_MIN
2428  *				definitions are not visible to POSIX or XPG
2429  *				conforming applications (due to what may be
2430  *				a bug in the specification - this is under
2431  *				investigation)
2432  *
2433  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2434  *				components of <inttypes.h>.
2435  *
2436  *	<inttypes.h>		For use by applications.
2437  *
2438  * See these files for more details.
2439  */
2440 
2441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2442 /*
2443  * CDDL HEADER START
2444  *
2445  * The contents of this file are subject to the terms of the
2446  * Common Development and Distribution License (the "License").
2447  * You may not use this file except in compliance with the License.
2448  *
2449  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2450  * or http://www.opensolaris.org/os/licensing.
2451  * See the License for the specific language governing permissions
2452  * and limitations under the License.
2453  *
2454  * When distributing Covered Code, include this CDDL HEADER in each
2455  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2456  * If applicable, add the following below this CDDL HEADER, with the
2457  * fields enclosed by brackets "[]" replaced with your own identifying
2458  * information: Portions Copyright [yyyy] [name of copyright owner]
2459  *
2460  * CDDL HEADER END
2461  */
2462 
2463 /*
2464  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2465  * Copyright 2016 Joyent, Inc.
2466  *
2467  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2468  * Use is subject to license terms.
2469  */
2470 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2
2471 
2472 
2473 
2474 
2475 
2476 /*
2477  * Limits
2478  *
2479  * The following define the limits for the types defined in <sys/int_types.h>.
2480  *
2481  * INTMAX_MIN (minimum value of the largest supported signed integer type),
2482  * INTMAX_MAX (maximum value of the largest supported signed integer type),
2483  * and UINTMAX_MAX (maximum value of the largest supported unsigned integer
2484  * type) can be set to implementation defined limits.
2485  *
2486  * NOTE : A programmer can test to see whether an implementation supports
2487  * a particular size of integer by testing if the macro that gives the
2488  * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
2489  * tests false, the implementation does not support unsigned 64 bit integers.
2490  *
2491  * The type of these macros is intentionally unspecified.
2492  *
2493  * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs
2494  * where the ABI specifies "char" as unsigned when the translation mode is
2495  * not ANSI-C.
2496  */
2497 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2498 /*
2499  * The following 2 macros are provided for testing whether the types
2500  * intptr_t and uintptr_t (integers large enough to hold a void *) are
2501  * defined in this header. They are needed in case the architecture can't
2502  * represent a pointer in any standard integral type.
2503  */
2504 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2505 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */
2506 
2507 
2508 
2509 
2510 
2511 
2512 /*
2513  * Maximum value of a "size_t".  SIZE_MAX was previously defined
2514  * in <limits.h>, however, the standards specify it be defined
2515  * in <stdint.h>. The <stdint.h> headers includes this header as
2516  * does <limits.h>. The value of SIZE_MAX should not deviate
2517  * from the value of ULONG_MAX defined <sys/types.h>.
2518  */
2519 
2520 
2521 
2522 
2523 
2524 
2525 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */
2526 
2527 
2528 
2529 
2530 /*
2531  * Maximum limit of wchar_t. The WCHAR_* macros are also
2532  * defined in <iso/wchar_iso.h>, but inclusion of that header
2533  * will break ISO/IEC C namespace.
2534  */
2535 
2536 
2537 
2538 
2539 /* Maximum limit of wint_t */
2540 
2541 
2542 
2543 
2544 /*
2545  * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that
2546  * when including <limits.h> that the suffix _MAX is reserved but not the
2547  * suffix _MIN.  However, until that issue is resolved....
2548  */
2549 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
2550 /* Minimum value of a pointer-holding signed integer type */
2551 
2552 
2553 
2554 
2555 
2556 
2557 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */
2558 
2559 
2560 
2561 
2562 
2563 
2564 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */
2565 
2566 
2567 
2568 
2569 /*
2570  * Minimum limit of wchar_t. The WCHAR_* macros are also
2571  * defined in <iso/wchar_iso.h>, but inclusion of that header
2572  * will break ISO/IEC C namespace.
2573  */
2574 
2575 
2576 
2577 
2578 /* Minimum limit of wint_t */
2579 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2580 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2581 /*
2582  * CDDL HEADER START
2583  *
2584  * The contents of this file are subject to the terms of the
2585  * Common Development and Distribution License, Version 1.0 only
2586  * (the "License").  You may not use this file except in compliance
2587  * with the License.
2588  *
2589  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2590  * or http://www.opensolaris.org/os/licensing.
2591  * See the License for the specific language governing permissions
2592  * and limitations under the License.
2593  *
2594  * When distributing Covered Code, include this CDDL HEADER in each
2595  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2596  * If applicable, add the following below this CDDL HEADER, with the
2597  * fields enclosed by brackets "[]" replaced with your own identifying
2598  * information: Portions Copyright [yyyy] [name of copyright owner]
2599  *
2600  * CDDL HEADER END
2601  */
2602 /*
2603  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2604  *
2605  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2606  * Use is subject to license terms.
2607  */
2608 
2609 
2610 
2611 
2612 /*
2613  * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation
2614  * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working
2615  * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990
2616  * Programming language - C.
2617  *
2618  * Programs/Modules should not directly include this file.  Access to the
2619  * types defined in this file should be through the inclusion of one of the
2620  * following files:
2621  *
2622  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2623  *				components of <inttypes.h>.
2624  *
2625  *	<inttypes.h>		For use by applications.
2626  *
2627  * See these files for more details.
2628  *
2629  * Use at your own risk.  This file will track the evolution of the revision
2630  * of the current ISO C standard.  As of February 1996, the committee is
2631  * squarely behind the fixed sized types.
2632  */
2633 
2634 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2635 /*
2636  * CDDL HEADER START
2637  *
2638  * The contents of this file are subject to the terms of the
2639  * Common Development and Distribution License (the "License").
2640  * You may not use this file except in compliance with the License.
2641  *
2642  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2643  * or http://www.opensolaris.org/os/licensing.
2644  * See the License for the specific language governing permissions
2645  * and limitations under the License.
2646  *
2647  * When distributing Covered Code, include this CDDL HEADER in each
2648  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2649  * If applicable, add the following below this CDDL HEADER, with the
2650  * fields enclosed by brackets "[]" replaced with your own identifying
2651  * information: Portions Copyright [yyyy] [name of copyright owner]
2652  *
2653  * CDDL HEADER END
2654  */
2655 
2656 /*
2657  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2658  * Copyright 2016 Joyent, Inc.
2659  *
2660  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2661  * Use is subject to license terms.
2662  */
2663 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2
2664 
2665 
2666 
2667 
2668 
2669 /*
2670  * Constants
2671  *
2672  * The following macros create constants of the types defined in
2673  * <sys/int_types.h>. The intent is that:
2674  *	Constants defined using these macros have a specific size and
2675  *	signedness. The suffix used for int64_t and uint64_t (ll and ull)
2676  *	are for examples only. Implementations are permitted to use other
2677  *	suffixes.
2678  *
2679  * The "CSTYLED" comments are flags to an internal code style analysis tool
2680  * telling it to silently accept the line which follows.  This internal
2681  * standard requires a space between arguments, but the historical,
2682  * non-ANSI-C ``method'' of concatenation can't tolerate those spaces.
2683  */
2684 /* CSTYLED */
2685 
2686 
2687 
2688 
2689 
2690 
2691 /* CSTYLED */
2692 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2693 /* CSTYLED */
2694 
2695 /* CSTYLED */
2696 
2697 /* CSTYLED */
2698 
2699 
2700 /* CSTYLED */
2701 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
2702 /* CSTYLED */
2703 
2704 /* CSTYLED */
2705 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2706 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1
2707 /*
2708  * CDDL HEADER START
2709  *
2710  * The contents of this file are subject to the terms of the
2711  * Common Development and Distribution License, Version 1.0 only
2712  * (the "License").  You may not use this file except in compliance
2713  * with the License.
2714  *
2715  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2716  * or http://www.opensolaris.org/os/licensing.
2717  * See the License for the specific language governing permissions
2718  * and limitations under the License.
2719  *
2720  * When distributing Covered Code, include this CDDL HEADER in each
2721  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2722  * If applicable, add the following below this CDDL HEADER, with the
2723  * fields enclosed by brackets "[]" replaced with your own identifying
2724  * information: Portions Copyright [yyyy] [name of copyright owner]
2725  *
2726  * CDDL HEADER END
2727  */
2728 /*
2729  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2730  *
2731  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2732  * Use is subject to license terms.
2733  */
2734 
2735 
2736 
2737 
2738 /*
2739  * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
2740  * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
2741  * Programming language - C.
2742  *
2743  * ISO  International Organization for Standardization.
2744  *
2745  * Programs/Modules should not directly include this file.  Access to the
2746  * types defined in this file should be through the inclusion of one of the
2747  * following files:
2748  *
2749  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2750  *				components of <inttypes.h>.
2751  *
2752  *	<inttypes.h>		For use by applications.
2753  *
2754  * See these files for more details.
2755  */
2756 
2757 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2758 /*
2759  * CDDL HEADER START
2760  *
2761  * The contents of this file are subject to the terms of the
2762  * Common Development and Distribution License (the "License").
2763  * You may not use this file except in compliance with the License.
2764  *
2765  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2766  * or http://www.opensolaris.org/os/licensing.
2767  * See the License for the specific language governing permissions
2768  * and limitations under the License.
2769  *
2770  * When distributing Covered Code, include this CDDL HEADER in each
2771  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2772  * If applicable, add the following below this CDDL HEADER, with the
2773  * fields enclosed by brackets "[]" replaced with your own identifying
2774  * information: Portions Copyright [yyyy] [name of copyright owner]
2775  *
2776  * CDDL HEADER END
2777  */
2778 
2779 /*
2780  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2781  * Copyright 2016 Joyent, Inc.
2782  *
2783  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2784  * Use is subject to license terms.
2785  */
2786 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2
2787 
2788 
2789 
2790 
2791 
2792 /*
2793  * Formatted I/O
2794  *
2795  * The following macros can be used even when an implementation has not
2796  * extended the printf/scanf family of functions.
2797  *
2798  * The form of the names of the macros is either "PRI" for printf specifiers
2799  * or "SCN" for scanf specifiers, followed by the conversion specifier letter
2800  * followed by the datatype size. For example, PRId32 is the macro for
2801  * the printf d conversion specifier with the flags for 32 bit datatype.
2802  *
2803  * An example using one of these macros:
2804  *
2805  *	uint64_t u;
2806  *	printf("u = %016" PRIx64 "\n", u);
2807  *
2808  * For the purpose of example, the definitions of the printf/scanf macros
2809  * below have the values appropriate for a machine with 8 bit shorts, 16
2810  * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
2811  * mode, and 64 bit long longs.
2812  */
2813 
2814 /*
2815  * fprintf macros for signed integers
2816  */
2817 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2818 /*
2819  * fprintf macros for unsigned integers
2820  */
2821 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2822 /*
2823  * fprintf macros for pointers
2824  */
2825 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2826 /*
2827  * fscanf macros for signed integers
2828  */
2829 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2830 /*
2831  * fscanf macros for unsigned integers
2832  */
2833 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2834 /*
2835  * The following macros define I/O formats for intmax_t and uintmax_t.
2836  */
2837 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2838 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2839 
2840 
2841 
2842 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1
2843 /*
2844  * CDDL HEADER START
2845  *
2846  * The contents of this file are subject to the terms of the
2847  * Common Development and Distribution License, Version 1.0 only
2848  * (the "License").  You may not use this file except in compliance
2849  * with the License.
2850  *
2851  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2852  * or http://www.opensolaris.org/os/licensing.
2853  * See the License for the specific language governing permissions
2854  * and limitations under the License.
2855  *
2856  * When distributing Covered Code, include this CDDL HEADER in each
2857  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2858  * If applicable, add the following below this CDDL HEADER, with the
2859  * fields enclosed by brackets "[]" replaced with your own identifying
2860  * information: Portions Copyright [yyyy] [name of copyright owner]
2861  *
2862  * CDDL HEADER END
2863  */
2864 /*
2865  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2866  * Use is subject to license terms.
2867  */
2868 
2869 
2870 
2871 
2872 #pragma ident "%Z%%M%	%I%	%E% SMI"
2873 
2874 /*
2875  * This header is included by <stdint.h> which was introduced by
2876  * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2877  * The header is a subset of the <inttypes.h> header.
2878  */
2879 
2880 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2881 /*
2882  * CDDL HEADER START
2883  *
2884  * The contents of this file are subject to the terms of the
2885  * Common Development and Distribution License, Version 1.0 only
2886  * (the "License").  You may not use this file except in compliance
2887  * with the License.
2888  *
2889  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2890  * or http://www.opensolaris.org/os/licensing.
2891  * See the License for the specific language governing permissions
2892  * and limitations under the License.
2893  *
2894  * When distributing Covered Code, include this CDDL HEADER in each
2895  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2896  * If applicable, add the following below this CDDL HEADER, with the
2897  * fields enclosed by brackets "[]" replaced with your own identifying
2898  * information: Portions Copyright [yyyy] [name of copyright owner]
2899  *
2900  * CDDL HEADER END
2901  */
2902 /*
2903  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2904  *
2905  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2906  * Use is subject to license terms.
2907  */
2908 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2909 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2910 /*
2911  * CDDL HEADER START
2912  *
2913  * The contents of this file are subject to the terms of the
2914  * Common Development and Distribution License, Version 1.0 only
2915  * (the "License").  You may not use this file except in compliance
2916  * with the License.
2917  *
2918  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2919  * or http://www.opensolaris.org/os/licensing.
2920  * See the License for the specific language governing permissions
2921  * and limitations under the License.
2922  *
2923  * When distributing Covered Code, include this CDDL HEADER in each
2924  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2925  * If applicable, add the following below this CDDL HEADER, with the
2926  * fields enclosed by brackets "[]" replaced with your own identifying
2927  * information: Portions Copyright [yyyy] [name of copyright owner]
2928  *
2929  * CDDL HEADER END
2930  */
2931 /*
2932  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2933  *
2934  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2935  * Use is subject to license terms.
2936  */
2937 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2938 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2939 /*
2940  * CDDL HEADER START
2941  *
2942  * The contents of this file are subject to the terms of the
2943  * Common Development and Distribution License, Version 1.0 only
2944  * (the "License").  You may not use this file except in compliance
2945  * with the License.
2946  *
2947  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2948  * or http://www.opensolaris.org/os/licensing.
2949  * See the License for the specific language governing permissions
2950  * and limitations under the License.
2951  *
2952  * When distributing Covered Code, include this CDDL HEADER in each
2953  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2954  * If applicable, add the following below this CDDL HEADER, with the
2955  * fields enclosed by brackets "[]" replaced with your own identifying
2956  * information: Portions Copyright [yyyy] [name of copyright owner]
2957  *
2958  * CDDL HEADER END
2959  */
2960 /*
2961  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2962  *
2963  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2964  * Use is subject to license terms.
2965  */
2966 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2967 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2968 
2969 
2970 
2971 
2972 
2973 
2974 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */
2975 
2976 /*
2977  * wchar_t is a built-in type in standard C++ and as such is not
2978  * defined here when using standard C++. However, the GNU compiler
2979  * fixincludes utility nonetheless creates its own version of this
2980  * header for use by gcc and g++. In that version it adds a redundant
2981  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
2982  * header we need to include the following magic comment:
2983  *
2984  * we must use the C++ compiler's type
2985  *
2986  * The above comment should not be removed or changed until GNU
2987  * gcc/fixinc/inclhack.def is updated to bypass this header.
2988  */
2989 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
2990 typedef struct {
2991  intmax_t quot;
2992  intmax_t rem;
2993 } imaxdiv_t;
2994 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
2995 extern intmax_t imaxabs(intmax_t);
2996 extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
2997 extern intmax_t strtoimax(const char *, char **,
2998  int);
2999 extern uintmax_t strtoumax(const char *, char **,
3000  int);
3001 extern intmax_t wcstoimax(const wchar_t *,
3002  wchar_t **, int);
3003 extern uintmax_t wcstoumax(const wchar_t *,
3004  wchar_t **, int);
3005 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
3006 extern uint32_t arc4random(void);
3007 extern void arc4random_buf(void *, size_t);
3008 extern uint32_t arc4random_uniform(uint32_t);
3009 extern void freezero(void *, size_t);
3010 extern void *recallocarray(void *, size_t, size_t, size_t);
3011 # 49 "../common/zones_args.c" 2
3012 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1
3013 /*
3014  * CDDL HEADER START
3015  *
3016  * The contents of this file are subject to the terms of the
3017  * Common Development and Distribution License (the "License").
3018  * You may not use this file except in compliance with the License.
3019  *
3020  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3021  * or http://www.opensolaris.org/os/licensing.
3022  * See the License for the specific language governing permissions
3023  * and limitations under the License.
3024  *
3025  * When distributing Covered Code, include this CDDL HEADER in each
3026  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3027  * If applicable, add the following below this CDDL HEADER, with the
3028  * fields enclosed by brackets "[]" replaced with your own identifying
3029  * information: Portions Copyright [yyyy] [name of copyright owner]
3030  *
3031  * CDDL HEADER END
3032  */
3033 
3034 /*
3035  * Copyright 2014 PALO, Richard.
3036  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3037  * Copyright (c) 2013 Gary Mills
3038  *
3039  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
3040  */
3041 
3042 /*	Copyright (c) 1988 AT&T	*/
3043 /*	  All Rights Reserved  	*/
3044 
3045 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
3046 
3047 
3048 
3049 
3050 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3051 /*
3052  * CDDL HEADER START
3053  *
3054  * The contents of this file are subject to the terms of the
3055  * Common Development and Distribution License (the "License").
3056  * You may not use this file except in compliance with the License.
3057  *
3058  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3059  * or http://www.opensolaris.org/os/licensing.
3060  * See the License for the specific language governing permissions
3061  * and limitations under the License.
3062  *
3063  * When distributing Covered Code, include this CDDL HEADER in each
3064  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3065  * If applicable, add the following below this CDDL HEADER, with the
3066  * fields enclosed by brackets "[]" replaced with your own identifying
3067  * information: Portions Copyright [yyyy] [name of copyright owner]
3068  *
3069  * CDDL HEADER END
3070  */
3071 
3072 /*
3073  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3074  * Copyright 2016 Joyent, Inc.
3075  *
3076  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3077  * Use is subject to license terms.
3078  */
3079 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3080 
3081 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
3082 /*
3083  * This file and its contents are supplied under the terms of the
3084  * Common Development and Distribution License ("CDDL"), version 1.0.
3085  * You may only use this file in accordance with the terms of version
3086  * 1.0 of the CDDL.
3087  *
3088  * A full copy of the text of the CDDL should have accompanied this
3089  * source.  A copy of the CDDL is also available via the Internet at
3090  * http://www.illumos.org/license/CDDL.
3091  */
3092 
3093 /*
3094  * Copyright 2014-2016 PALO, Richard.
3095  */
3096 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
3097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3098 /*
3099  * CDDL HEADER START
3100  *
3101  * The contents of this file are subject to the terms of the
3102  * Common Development and Distribution License (the "License").
3103  * You may not use this file except in compliance with the License.
3104  *
3105  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3106  * or http://www.opensolaris.org/os/licensing.
3107  * See the License for the specific language governing permissions
3108  * and limitations under the License.
3109  *
3110  * When distributing Covered Code, include this CDDL HEADER in each
3111  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3112  * If applicable, add the following below this CDDL HEADER, with the
3113  * fields enclosed by brackets "[]" replaced with your own identifying
3114  * information: Portions Copyright [yyyy] [name of copyright owner]
3115  *
3116  * CDDL HEADER END
3117  */
3118 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3119 /*	  All Rights Reserved  	*/
3120 
3121 
3122 /*
3123  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3124  * Use is subject to license terms.
3125  *
3126  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3127  * Copyright 2016 Joyent, Inc.
3128  */
3129 
3130 
3131 
3132 
3133 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3134 /*
3135  * CDDL HEADER START
3136  *
3137  * The contents of this file are subject to the terms of the
3138  * Common Development and Distribution License (the "License").
3139  * You may not use this file except in compliance with the License.
3140  *
3141  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3142  * or http://www.opensolaris.org/os/licensing.
3143  * See the License for the specific language governing permissions
3144  * and limitations under the License.
3145  *
3146  * When distributing Covered Code, include this CDDL HEADER in each
3147  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3148  * If applicable, add the following below this CDDL HEADER, with the
3149  * fields enclosed by brackets "[]" replaced with your own identifying
3150  * information: Portions Copyright [yyyy] [name of copyright owner]
3151  *
3152  * CDDL HEADER END
3153  */
3154 
3155 /*
3156  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3157  * Copyright 2016 Joyent, Inc.
3158  *
3159  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3160  * Use is subject to license terms.
3161  */
3162 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
3164 /*
3165  * CDDL HEADER START
3166  *
3167  * The contents of this file are subject to the terms of the
3168  * Common Development and Distribution License (the "License").
3169  * You may not use this file except in compliance with the License.
3170  *
3171  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3172  * or http://www.opensolaris.org/os/licensing.
3173  * See the License for the specific language governing permissions
3174  * and limitations under the License.
3175  *
3176  *
3177  * When distributing Covered Code, include this CDDL HEADER in each
3178  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3179  * If applicable, add the following below this CDDL HEADER, with the
3180  * fields enclosed by brackets "[]" replaced with your own identifying
3181  * information: Portions Copyright [yyyy] [name of copyright owner]
3182  *
3183  * CDDL HEADER END
3184  */
3185 
3186 /*
3187  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3188  * Use is subject to license terms.
3189  * Copyright 2016 Joyent, Inc.
3190  */
3191 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3192 
3193 /*
3194  * Machine dependent definitions moved to <sys/machtypes.h>.
3195  */
3196 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1
3197 /*
3198  * CDDL HEADER START
3199  *
3200  * The contents of this file are subject to the terms of the
3201  * Common Development and Distribution License, Version 1.0 only
3202  * (the "License").  You may not use this file except in compliance
3203  * with the License.
3204  *
3205  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3206  * or http://www.opensolaris.org/os/licensing.
3207  * See the License for the specific language governing permissions
3208  * and limitations under the License.
3209  *
3210  * When distributing Covered Code, include this CDDL HEADER in each
3211  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3212  * If applicable, add the following below this CDDL HEADER, with the
3213  * fields enclosed by brackets "[]" replaced with your own identifying
3214  * information: Portions Copyright [yyyy] [name of copyright owner]
3215  *
3216  * CDDL HEADER END
3217  */
3218 /*
3219  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3220  * Use is subject to license terms.
3221  */
3222 
3223 
3224 
3225 
3226 #pragma ident "%Z%%M%	%I%	%E% SMI"
3227 
3228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3229 /*
3230  * CDDL HEADER START
3231  *
3232  * The contents of this file are subject to the terms of the
3233  * Common Development and Distribution License (the "License").
3234  * You may not use this file except in compliance with the License.
3235  *
3236  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3237  * or http://www.opensolaris.org/os/licensing.
3238  * See the License for the specific language governing permissions
3239  * and limitations under the License.
3240  *
3241  * When distributing Covered Code, include this CDDL HEADER in each
3242  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3243  * If applicable, add the following below this CDDL HEADER, with the
3244  * fields enclosed by brackets "[]" replaced with your own identifying
3245  * information: Portions Copyright [yyyy] [name of copyright owner]
3246  *
3247  * CDDL HEADER END
3248  */
3249 
3250 /*
3251  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3252  * Copyright 2016 Joyent, Inc.
3253  *
3254  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3255  * Use is subject to license terms.
3256  */
3257 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3258 
3259 
3260 
3261 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1
3262 /*
3263  * CDDL HEADER START
3264  *
3265  * The contents of this file are subject to the terms of the
3266  * Common Development and Distribution License (the "License").
3267  * You may not use this file except in compliance with the License.
3268  *
3269  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3270  * or http://www.opensolaris.org/os/licensing.
3271  * See the License for the specific language governing permissions
3272  * and limitations under the License.
3273  *
3274  * When distributing Covered Code, include this CDDL HEADER in each
3275  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3276  * If applicable, add the following below this CDDL HEADER, with the
3277  * fields enclosed by brackets "[]" replaced with your own identifying
3278  * information: Portions Copyright [yyyy] [name of copyright owner]
3279  *
3280  * CDDL HEADER END
3281  */
3282 /*
3283  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3284  * Use is subject to license terms.
3285  */
3286 
3287 
3288 
3289 
3290 #pragma ident "%Z%%M%	%I%	%E% SMI"
3291 
3292 
3293 
3294 
3295 
3296 /*
3297  * Machine dependent types:
3298  *
3299  *	intel ia32 Version
3300  */
3301 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h"
3302 typedef struct _label_t { long val[8]; } label_t;
3303 
3304 
3305 
3306 typedef unsigned char lock_t; /* lock work for busy wait */
3307 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
3308 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3309 
3310 /*
3311  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
3312  * committee's working draft for the revision of the current ISO C standard,
3313  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
3314  * required by any standard but constitute a useful, general purpose set
3315  * of type definitions which is namespace clean with respect to all standards.
3316  */
3317 
3318 
3319 
3320 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
3321 /*
3322  * CDDL HEADER START
3323  *
3324  * The contents of this file are subject to the terms of the
3325  * Common Development and Distribution License, Version 1.0 only
3326  * (the "License").  You may not use this file except in compliance
3327  * with the License.
3328  *
3329  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3330  * or http://www.opensolaris.org/os/licensing.
3331  * See the License for the specific language governing permissions
3332  * and limitations under the License.
3333  *
3334  * When distributing Covered Code, include this CDDL HEADER in each
3335  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3336  * If applicable, add the following below this CDDL HEADER, with the
3337  * fields enclosed by brackets "[]" replaced with your own identifying
3338  * information: Portions Copyright [yyyy] [name of copyright owner]
3339  *
3340  * CDDL HEADER END
3341  */
3342 /*
3343  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3344  *
3345  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3346  * Use is subject to license terms.
3347  */
3348 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3349 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3350 /*
3351  * Strictly conforming ANSI C environments prior to the 1999
3352  * revision of the C Standard (ISO/IEC 9899:1999) do not have
3353  * the long long data type.
3354  */
3355 
3356 typedef long long longlong_t;
3357 typedef unsigned long long u_longlong_t;
3358 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3359 /*
3360  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
3361  * to use them instead of int32_t and uint32_t because DEC had
3362  * shipped 64-bit wide.
3363  */
3364 
3365 typedef int32_t t_scalar_t;
3366 typedef uint32_t t_uscalar_t;
3367 
3368 
3369 
3370 
3371 
3372 /*
3373  * POSIX Extensions
3374  */
3375 typedef unsigned char uchar_t;
3376 typedef unsigned short ushort_t;
3377 typedef unsigned int uint_t;
3378 typedef unsigned long ulong_t;
3379 
3380 typedef char *caddr_t; /* ?<core address> type */
3381 typedef long daddr_t; /* <disk address> type */
3382 typedef short cnt_t; /* ?<count> type */
3383 
3384 
3385 
3386 
3387 typedef long ptrdiff_t; /* pointer difference */
3388 
3389 
3390 
3391 
3392 
3393 /*
3394  * VM-related types
3395  */
3396 typedef ulong_t pfn_t; /* page frame number */
3397 typedef ulong_t pgcnt_t; /* number of pages */
3398 typedef long spgcnt_t; /* signed number of pages */
3399 
3400 typedef uchar_t use_t; /* use count for swap.  */
3401 typedef short sysid_t;
3402 typedef short index_t;
3403 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */
3404 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */
3405 
3406 /*
3407  * The size of off_t and related types depends on the setting of
3408  * _FILE_OFFSET_BITS.  (Note that other system headers define other types
3409  * related to those defined here.)
3410  *
3411  * If _LARGEFILE64_SOURCE is defined, variants of these types that are
3412  * explicitly 64 bits wide become available.
3413  */
3414 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3415 typedef ulong_t ino_t; /* expanded inode type	*/
3416 typedef long blkcnt_t; /* count of file blocks */
3417 typedef ulong_t fsblkcnt_t; /* count of file system blocks */
3418 typedef ulong_t fsfilcnt_t; /* count of files */
3419 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3420 typedef ino_t ino64_t; /* expanded inode type */
3421 typedef blkcnt_t blkcnt64_t; /* count of file blocks */
3422 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */
3423 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */
3424 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3425 typedef int blksize_t; /* used for block sizes */
3426 
3427 
3428 
3429 
3430 
3431 
3432 
3433 typedef enum { B_FALSE, B_TRUE } boolean_t;
3434 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3435 /*
3436  * The {u,}pad64_t types can be used in structures such that those structures
3437  * may be accessed by code produced by compilation environments which don't
3438  * support a 64 bit integral datatype.  The intention is not to allow
3439  * use of these fields in such environments, but to maintain the alignment
3440  * and offsets of the structure.
3441  *
3442  * Similar comments for {u,}pad128_t.
3443  *
3444  * Note that these types do NOT generate any stronger alignment constraints
3445  * than those available in the underlying ABI.  See <sys/isa_defs.h>
3446  */
3447 
3448 typedef int64_t pad64_t;
3449 typedef uint64_t upad64_t;
3450 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3451 typedef union {
3452  long double _q;
3453  int32_t _l[4];
3454 } pad128_t;
3455 
3456 typedef union {
3457  long double _q;
3458  uint32_t _l[4];
3459 } upad128_t;
3460 
3461 typedef longlong_t offset_t;
3462 typedef u_longlong_t u_offset_t;
3463 typedef u_longlong_t len_t;
3464 typedef u_longlong_t diskaddr_t;
3465 
3466 
3467 
3468 
3469 /*
3470  * Definitions remaining from previous partial support for 64-bit file
3471  * offsets.  This partial support for devices greater than 2gb requires
3472  * compiler support for long long.
3473  */
3474 
3475 typedef union {
3476  offset_t _f; /* Full 64 bit offset value */
3477  struct {
3478   int32_t _l; /* lower 32 bits of offset value */
3479   int32_t _u; /* upper 32 bits of offset value */
3480  } _p;
3481 } lloff_t;
3482 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3483 typedef union {
3484  longlong_t _f; /* Full 64 bit disk address value */
3485  struct {
3486   int32_t _l; /* lower 32 bits of disk address value */
3487   int32_t _u; /* upper 32 bits of disk address value */
3488  } _p;
3489 } lldaddr_t;
3490 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3491 typedef uint_t k_fltset_t; /* kernel fault set type */
3492 
3493 /*
3494  * The following type is for various kinds of identifiers.  The
3495  * actual type must be the same for all since some system calls
3496  * (such as sigsend) take arguments that may be any of these
3497  * types.  The enumeration type idtype_t defined in sys/procset.h
3498  * is used to indicate what type of id is being specified --
3499  * a process id, process group id, session id, scheduling class id,
3500  * user id, group id, project id, task id or zone id.
3501  */
3502 
3503 typedef int id_t;
3504 
3505 
3506 
3507 
3508 typedef id_t lgrp_id_t; /* lgroup ID */
3509 
3510 /*
3511  * Type useconds_t is an unsigned integral type capable of storing
3512  * values at least in the range of zero to 1,000,000.
3513  */
3514 typedef uint_t useconds_t; /* Time, in microseconds */
3515 
3516 
3517 
3518 typedef long suseconds_t; /* signed # of microseconds */
3519 
3520 
3521 /*
3522  * Typedefs for dev_t components.
3523  */
3524 
3525 typedef uint_t major_t; /* major part of device number */
3526 typedef uint_t minor_t; /* minor part of device number */
3527 
3528 
3529 
3530 
3531 
3532 /*
3533  * The data type of a thread priority.
3534  */
3535 typedef short pri_t;
3536 
3537 /*
3538  * The data type for a CPU flags field.  (Can be extended to larger unsigned
3539  * types, if needed, limited by ability to update atomically.)
3540  */
3541 typedef ushort_t cpu_flag_t;
3542 
3543 /*
3544  * For compatibility reasons the following typedefs (prefixed o_)
3545  * can't grow regardless of the EFT definition. Although,
3546  * applications should not explicitly use these typedefs
3547  * they may be included via a system header definition.
3548  * WARNING: These typedefs may be removed in a future
3549  * release.
3550  *		ex. the definitions in s5inode.h (now obsoleted)
3551  *			remained small to preserve compatibility
3552  *			in the S5 file system type.
3553  */
3554 typedef ushort_t o_mode_t; /* old file attribute type */
3555 typedef short o_dev_t; /* old device type	*/
3556 typedef ushort_t o_uid_t; /* old UID type		*/
3557 typedef o_uid_t o_gid_t; /* old GID type		*/
3558 typedef short o_nlink_t; /* old file link type	*/
3559 typedef short o_pid_t; /* old process id type	*/
3560 typedef ushort_t o_ino_t; /* old inode type	*/
3561 
3562 
3563 /*
3564  * POSIX and XOPEN Declarations
3565  */
3566 typedef int key_t; /* IPC key type		*/
3567 
3568 typedef uint_t mode_t; /* file attribute type	*/
3569 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3570 typedef uid_t gid_t; /* GID type		*/
3571 
3572 typedef uint32_t datalink_id_t;
3573 typedef uint32_t vrid_t;
3574 
3575 typedef id_t taskid_t;
3576 typedef id_t projid_t;
3577 typedef id_t poolid_t;
3578 typedef id_t zoneid_t;
3579 typedef id_t ctid_t;
3580 
3581 /*
3582  * POSIX definitions are same as defined in thread.h and synch.h.
3583  * Any changes made to here should be reflected in corresponding
3584  * files as described in comments.
3585  */
3586 typedef uint_t pthread_t; /* = thread_t in thread.h */
3587 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */
3588 
3589 /* "Magic numbers" tagging synchronization object types */
3590 
3591 
3592 
3593 
3594 
3595 typedef struct _pthread_mutex { /* = mutex_t in synch.h */
3596  struct {
3597   uint16_t __pthread_mutex_flag1;
3598   uint8_t __pthread_mutex_flag2;
3599   uint8_t __pthread_mutex_ceiling;
3600   uint16_t __pthread_mutex_type;
3601   uint16_t __pthread_mutex_magic;
3602  } __pthread_mutex_flags;
3603  union {
3604   struct {
3605    uint8_t __pthread_mutex_pad[8];
3606   } __pthread_mutex_lock64;
3607   struct {
3608    uint32_t __pthread_ownerpid;
3609    uint32_t __pthread_lockword;
3610   } __pthread_mutex_lock32;
3611   upad64_t __pthread_mutex_owner64;
3612  } __pthread_mutex_lock;
3613  upad64_t __pthread_mutex_data;
3614 } pthread_mutex_t;
3615 
3616 typedef struct _pthread_cond { /* = cond_t in synch.h */
3617  struct {
3618   uint8_t __pthread_cond_flag[4];
3619   uint16_t __pthread_cond_type;
3620   uint16_t __pthread_cond_magic;
3621  } __pthread_cond_flags;
3622  upad64_t __pthread_cond_data;
3623 } pthread_cond_t;
3624 
3625 /*
3626  * UNIX 98 Extension
3627  */
3628 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */
3629  int32_t __pthread_rwlock_readers;
3630  uint16_t __pthread_rwlock_type;
3631  uint16_t __pthread_rwlock_magic;
3632  pthread_mutex_t __pthread_rwlock_mutex;
3633  pthread_cond_t __pthread_rwlock_readercv;
3634  pthread_cond_t __pthread_rwlock_writercv;
3635 } pthread_rwlock_t;
3636 
3637 /*
3638  * SUSV3
3639  */
3640 typedef struct {
3641  uint32_t __pthread_barrier_count;
3642  uint32_t __pthread_barrier_current;
3643  upad64_t __pthread_barrier_cycle;
3644  upad64_t __pthread_barrier_reserved;
3645  pthread_mutex_t __pthread_barrier_lock;
3646  pthread_cond_t __pthread_barrier_cond;
3647 } pthread_barrier_t;
3648 
3649 typedef pthread_mutex_t pthread_spinlock_t;
3650 
3651 /*
3652  * attributes for threads, dynamically allocated by library
3653  */
3654 typedef struct _pthread_attr {
3655  void *__pthread_attrp;
3656 } pthread_attr_t;
3657 
3658 /*
3659  * attributes for mutex, dynamically allocated by library
3660  */
3661 typedef struct _pthread_mutexattr {
3662  void *__pthread_mutexattrp;
3663 } pthread_mutexattr_t;
3664 
3665 /*
3666  * attributes for cond, dynamically allocated by library
3667  */
3668 typedef struct _pthread_condattr {
3669  void *__pthread_condattrp;
3670 } pthread_condattr_t;
3671 
3672 /*
3673  * pthread_once
3674  */
3675 typedef struct _once {
3676  upad64_t __pthread_once_pad[4];
3677 } pthread_once_t;
3678 
3679 /*
3680  * UNIX 98 Extensions
3681  * attributes for rwlock, dynamically allocated by library
3682  */
3683 typedef struct _pthread_rwlockattr {
3684  void *__pthread_rwlockattrp;
3685 } pthread_rwlockattr_t;
3686 
3687 /*
3688  * SUSV3
3689  * attributes for pthread_barrier_t, dynamically allocated by library
3690  */
3691 typedef struct {
3692  void *__pthread_barrierattrp;
3693 } pthread_barrierattr_t;
3694 
3695 typedef ulong_t dev_t; /* expanded device type */
3696 
3697 
3698 typedef uint_t nlink_t; /* file link type	*/
3699 typedef int pid_t; /* process id type	*/
3700 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3701 typedef long time_t; /* time of day in seconds */
3702 
3703 
3704 
3705 
3706 typedef long clock_t; /* relative time in a specified resolution */
3707 
3708 
3709 
3710 
3711 typedef int clockid_t; /* clock identifier type */
3712 
3713 
3714 
3715 
3716 typedef int timer_t; /* timer identifier type */
3717 
3718 
3719 
3720 
3721 /* BEGIN CSTYLED */
3722 typedef unsigned char unchar;
3723 typedef unsigned short ushort;
3724 typedef unsigned int uint;
3725 typedef unsigned long ulong;
3726 /* END CSTYLED */
3727 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3728 /*
3729  * The following is the value of type id_t to use to indicate the
3730  * caller's current id.  See procset.h for the type idtype_t
3731  * which defines which kind of id is being specified.
3732  */
3733 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3734 /*
3735  * The following value of type pfn_t is used to indicate
3736  * invalid page frame number.
3737  */
3738 
3739 
3740 
3741 /* BEGIN CSTYLED */
3742 typedef unsigned char u_char;
3743 typedef unsigned short u_short;
3744 typedef unsigned int u_int;
3745 typedef unsigned long u_long;
3746 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */
3747 typedef quad_t quad; /* used by UFS */
3748 /* END CSTYLED */
3749 
3750 /*
3751  * Nested include for BSD/sockets source compatibility.
3752  * (The select macros used to be defined here).
3753  */
3754 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
3755 /*
3756  * CDDL HEADER START
3757  *
3758  * The contents of this file are subject to the terms of the
3759  * Common Development and Distribution License (the "License").
3760  * You may not use this file except in compliance with the License.
3761  *
3762  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3763  * or http://www.opensolaris.org/os/licensing.
3764  * See the License for the specific language governing permissions
3765  * and limitations under the License.
3766  *
3767  * When distributing Covered Code, include this CDDL HEADER in each
3768  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3769  * If applicable, add the following below this CDDL HEADER, with the
3770  * fields enclosed by brackets "[]" replaced with your own identifying
3771  * information: Portions Copyright [yyyy] [name of copyright owner]
3772  *
3773  * CDDL HEADER END
3774  */
3775 
3776 /*
3777  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3778  *
3779  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3780  *
3781  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3782  * Use is subject to license terms.
3783  */
3784 
3785 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3786 /*	  All Rights Reserved	*/
3787 
3788 /*
3789  * University Copyright- Copyright (c) 1982, 1986, 1988
3790  * The Regents of the University of California
3791  * All Rights Reserved
3792  *
3793  * University Acknowledgment- Portions of this document are derived from
3794  * software developed by the University of California, Berkeley, and its
3795  * contributors.
3796  */
3797 
3798 
3799 
3800 
3801 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3802 /*
3803  * CDDL HEADER START
3804  *
3805  * The contents of this file are subject to the terms of the
3806  * Common Development and Distribution License (the "License").
3807  * You may not use this file except in compliance with the License.
3808  *
3809  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3810  * or http://www.opensolaris.org/os/licensing.
3811  * See the License for the specific language governing permissions
3812  * and limitations under the License.
3813  *
3814  * When distributing Covered Code, include this CDDL HEADER in each
3815  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3816  * If applicable, add the following below this CDDL HEADER, with the
3817  * fields enclosed by brackets "[]" replaced with your own identifying
3818  * information: Portions Copyright [yyyy] [name of copyright owner]
3819  *
3820  * CDDL HEADER END
3821  */
3822 
3823 /*
3824  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3825  * Copyright 2016 Joyent, Inc.
3826  *
3827  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3828  * Use is subject to license terms.
3829  */
3830 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3831 
3832 
3833 
3834 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
3835 /*
3836  * CDDL HEADER START
3837  *
3838  * The contents of this file are subject to the terms of the
3839  * Common Development and Distribution License, Version 1.0 only
3840  * (the "License").  You may not use this file except in compliance
3841  * with the License.
3842  *
3843  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3844  * or http://www.opensolaris.org/os/licensing.
3845  * See the License for the specific language governing permissions
3846  * and limitations under the License.
3847  *
3848  * When distributing Covered Code, include this CDDL HEADER in each
3849  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3850  * If applicable, add the following below this CDDL HEADER, with the
3851  * fields enclosed by brackets "[]" replaced with your own identifying
3852  * information: Portions Copyright [yyyy] [name of copyright owner]
3853  *
3854  * CDDL HEADER END
3855  */
3856 /*
3857  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3858  * Use is subject to license terms.
3859  */
3860 
3861 /*
3862  * Implementation-private.  This header should not be included
3863  * directly by an application.  The application should instead
3864  * include <time.h> which includes this header conditionally
3865  * depending on which feature test macros are defined. By default,
3866  * this header is included by <time.h>.  X/Open and POSIX
3867  * standards requirements result in this header being included
3868  * by <time.h> only under a restricted set of conditions.
3869  */
3870 
3871 
3872 
3873 
3874 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3875 /*
3876  * CDDL HEADER START
3877  *
3878  * The contents of this file are subject to the terms of the
3879  * Common Development and Distribution License (the "License").
3880  * You may not use this file except in compliance with the License.
3881  *
3882  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3883  * or http://www.opensolaris.org/os/licensing.
3884  * See the License for the specific language governing permissions
3885  * and limitations under the License.
3886  *
3887  * When distributing Covered Code, include this CDDL HEADER in each
3888  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3889  * If applicable, add the following below this CDDL HEADER, with the
3890  * fields enclosed by brackets "[]" replaced with your own identifying
3891  * information: Portions Copyright [yyyy] [name of copyright owner]
3892  *
3893  * CDDL HEADER END
3894  */
3895 
3896 /*
3897  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3898  * Copyright 2016 Joyent, Inc.
3899  *
3900  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3901  * Use is subject to license terms.
3902  */
3903 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2
3904 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3905 /*
3906  * Time expressed in seconds and nanoseconds
3907  */
3908 
3909 typedef struct timespec { /* definition per POSIX.4 */
3910  time_t tv_sec; /* seconds */
3911  long tv_nsec; /* and nanoseconds */
3912 } timespec_t;
3913 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3914 typedef struct timespec timestruc_t; /* definition per SVr4 */
3915 
3916 /*
3917  * The following has been left in for backward compatibility. Portable
3918  * applications should not use the structure name timestruc.
3919  */
3920 
3921 
3922 
3923 
3924 
3925 /*
3926  * Timer specification
3927  */
3928 typedef struct itimerspec { /* definition per POSIX.4 */
3929  struct timespec it_interval; /* timer period */
3930  struct timespec it_value; /* timer expiration */
3931 } itimerspec_t;
3932 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3933 
3934 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
3935 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3936 /*	  All Rights Reserved  	*/
3937 
3938 
3939 /*
3940  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
3941  * All rights reserved.  The Berkeley software License Agreement
3942  * specifies the terms and conditions for redistribution.
3943  */
3944 
3945 /*
3946  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3947  *
3948  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3949  * Use is subject to license terms.
3950  *
3951  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3952  */
3953 
3954 /*
3955  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
3956  */
3957 
3958 
3959 
3960 
3961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3962 /*
3963  * CDDL HEADER START
3964  *
3965  * The contents of this file are subject to the terms of the
3966  * Common Development and Distribution License (the "License").
3967  * You may not use this file except in compliance with the License.
3968  *
3969  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3970  * or http://www.opensolaris.org/os/licensing.
3971  * See the License for the specific language governing permissions
3972  * and limitations under the License.
3973  *
3974  * When distributing Covered Code, include this CDDL HEADER in each
3975  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3976  * If applicable, add the following below this CDDL HEADER, with the
3977  * fields enclosed by brackets "[]" replaced with your own identifying
3978  * information: Portions Copyright [yyyy] [name of copyright owner]
3979  *
3980  * CDDL HEADER END
3981  */
3982 
3983 /*
3984  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3985  * Copyright 2016 Joyent, Inc.
3986  *
3987  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3988  * Use is subject to license terms.
3989  */
3990 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3991 
3992 /*
3993  * Structure returned by gettimeofday(2) system call,
3994  * and used in other calls.
3995  */
3996 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3997 struct timeval {
3998  time_t tv_sec; /* seconds */
3999  suseconds_t tv_usec; /* and microseconds */
4000 };
4001 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4002 struct timezone {
4003  int tz_minuteswest; /* minutes west of Greenwich */
4004  int tz_dsttime; /* type of dst correction */
4005 };
4006 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4007 /*
4008  * Needed for longlong_t type.  Placement of this due to <sys/types.h>
4009  * including <sys/select.h> which relies on the presense of the itimerval
4010  * structure.
4011  */
4012 
4013 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4014 /*
4015  * CDDL HEADER START
4016  *
4017  * The contents of this file are subject to the terms of the
4018  * Common Development and Distribution License (the "License").
4019  * You may not use this file except in compliance with the License.
4020  *
4021  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4022  * or http://www.opensolaris.org/os/licensing.
4023  * See the License for the specific language governing permissions
4024  * and limitations under the License.
4025  *
4026  * When distributing Covered Code, include this CDDL HEADER in each
4027  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4028  * If applicable, add the following below this CDDL HEADER, with the
4029  * fields enclosed by brackets "[]" replaced with your own identifying
4030  * information: Portions Copyright [yyyy] [name of copyright owner]
4031  *
4032  * CDDL HEADER END
4033  */
4034 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4035 /*	  All Rights Reserved  	*/
4036 
4037 
4038 /*
4039  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4040  * Use is subject to license terms.
4041  *
4042  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4043  * Copyright 2016 Joyent, Inc.
4044  */
4045 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4046 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4047 /*
4048  * Operations on timevals.
4049  */
4050 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4051 /*
4052  * Names of the interval timers, and structure
4053  * defining a timer setting.
4054  */
4055 
4056 
4057 
4058     /* time and when system is running on */
4059     /* behalf of the process. */
4060 
4061     /* time profiling of multithreaded */
4062     /* programs. */
4063 
4064 
4065 struct itimerval {
4066  struct timeval it_interval; /* timer interval */
4067  struct timeval it_value; /* current value */
4068 };
4069 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4070 /*
4071  *	Definitions for commonly used resolutions.
4072  */
4073 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4074 /*
4075  * Time expressed as a 64-bit nanosecond counter.
4076  */
4077 typedef longlong_t hrtime_t;
4078 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4079 int adjtime(struct timeval *, struct timeval *);
4080 
4081 
4082 
4083 
4084 int futimesat(int, const char *, const struct timeval *);
4085 
4086 
4087 
4088 
4089 
4090 int getitimer(int, struct itimerval *);
4091 int utimes(const char *, const struct timeval *);
4092 
4093 
4094 
4095 
4096 int setitimer(int, struct itimerval *,
4097  struct itimerval *);
4098 
4099 
4100 
4101 
4102 /*
4103  * gettimeofday() and settimeofday() were included in SVr4 due to their
4104  * common use in BSD based applications.  They were to be included exactly
4105  * as in BSD, with two parameters.  However, AT&T/USL noted that the second
4106  * parameter was unused and deleted it, thereby making a routine included
4107  * for compatibility, incompatible.
4108  *
4109  * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two
4110  * parameters.
4111  *
4112  * This has caused general disagreement in the application community as to
4113  * the syntax of these routines.  Solaris defaults to the XSH4.2 definition.
4114  * The flag _SVID_GETTOD may be used to force the SVID version.
4115  */
4116 
4117 
4118 
4119 
4120 
4121 int settimeofday(struct timeval *, void *);
4122 
4123 hrtime_t gethrtime(void);
4124 hrtime_t gethrvtime(void);
4125 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
4126 int gettimeofday(struct timeval *, void *);
4127 
4128 
4129 
4130 
4131 /*
4132  * The inclusion of <time.h> is historical and was added for
4133  * backward compatibility in delta 1.2 when a number of definitions
4134  * were moved out of <sys/time.h>.  More recently, the timespec and
4135  * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
4136  * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
4137  * which is now included by <time.h>.  This change was due to POSIX
4138  * 1003.1b-1993 and X/Open UNIX 98 requirements.  For non-POSIX and
4139  * non-X/Open applications, including this header will still make
4140  * visible these definitions.
4141  */
4142 
4143 
4144 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
4145 /*
4146  * CDDL HEADER START
4147  *
4148  * The contents of this file are subject to the terms of the
4149  * Common Development and Distribution License (the "License").
4150  * You may not use this file except in compliance with the License.
4151  *
4152  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4153  * or http://www.opensolaris.org/os/licensing.
4154  * See the License for the specific language governing permissions
4155  * and limitations under the License.
4156  *
4157  * When distributing Covered Code, include this CDDL HEADER in each
4158  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4159  * If applicable, add the following below this CDDL HEADER, with the
4160  * fields enclosed by brackets "[]" replaced with your own identifying
4161  * information: Portions Copyright [yyyy] [name of copyright owner]
4162  *
4163  * CDDL HEADER END
4164  */
4165 /*	Copyright (c) 1988 AT&T	*/
4166 /*	  All Rights Reserved  	*/
4167 
4168 
4169 /*
4170  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4171  *
4172  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
4173  * Use is subject to license terms.
4174  */
4175 /*
4176  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
4177  * Copyright 2016 Joyent, Inc.
4178  */
4179 
4180 
4181 
4182 
4183 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4184 /*
4185  * CDDL HEADER START
4186  *
4187  * The contents of this file are subject to the terms of the
4188  * Common Development and Distribution License (the "License").
4189  * You may not use this file except in compliance with the License.
4190  *
4191  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4192  * or http://www.opensolaris.org/os/licensing.
4193  * See the License for the specific language governing permissions
4194  * and limitations under the License.
4195  *
4196  * When distributing Covered Code, include this CDDL HEADER in each
4197  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4198  * If applicable, add the following below this CDDL HEADER, with the
4199  * fields enclosed by brackets "[]" replaced with your own identifying
4200  * information: Portions Copyright [yyyy] [name of copyright owner]
4201  *
4202  * CDDL HEADER END
4203  */
4204 
4205 /*
4206  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4207  * Copyright 2016 Joyent, Inc.
4208  *
4209  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4210  * Use is subject to license terms.
4211  */
4212 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1
4214 /*
4215  * CDDL HEADER START
4216  *
4217  * The contents of this file are subject to the terms of the
4218  * Common Development and Distribution License, Version 1.0 only
4219  * (the "License").  You may not use this file except in compliance
4220  * with the License.
4221  *
4222  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4223  * or http://www.opensolaris.org/os/licensing.
4224  * See the License for the specific language governing permissions
4225  * and limitations under the License.
4226  *
4227  * When distributing Covered Code, include this CDDL HEADER in each
4228  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4229  * If applicable, add the following below this CDDL HEADER, with the
4230  * fields enclosed by brackets "[]" replaced with your own identifying
4231  * information: Portions Copyright [yyyy] [name of copyright owner]
4232  *
4233  * CDDL HEADER END
4234  */
4235 /*	Copyright (c) 1988 AT&T	*/
4236 /*	  All Rights Reserved  	*/
4237 
4238 /*
4239  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4240  * Copyright 2014 PALO, Richard.
4241  *
4242  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
4243  * Use is subject to license terms.
4244  */
4245 
4246 /*
4247  * An application should not include this header directly.  Instead it
4248  * should be included only through the inclusion of other Sun headers.
4249  *
4250  * The contents of this header is limited to identifiers specified in the
4251  * C Standard.  Any new identifiers specified in future amendments to the
4252  * C Standard must be placed in this header.  If these new identifiers
4253  * are required to also be in the C++ Standard "std" namespace, then for
4254  * anything other than macro definitions, corresponding "using" directives
4255  * must also be added to <time.h.h>.
4256  */
4257 
4258 
4259 
4260 
4261 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4262 /*
4263  * CDDL HEADER START
4264  *
4265  * The contents of this file are subject to the terms of the
4266  * Common Development and Distribution License (the "License").
4267  * You may not use this file except in compliance with the License.
4268  *
4269  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4270  * or http://www.opensolaris.org/os/licensing.
4271  * See the License for the specific language governing permissions
4272  * and limitations under the License.
4273  *
4274  * When distributing Covered Code, include this CDDL HEADER in each
4275  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4276  * If applicable, add the following below this CDDL HEADER, with the
4277  * fields enclosed by brackets "[]" replaced with your own identifying
4278  * information: Portions Copyright [yyyy] [name of copyright owner]
4279  *
4280  * CDDL HEADER END
4281  */
4282 
4283 /*
4284  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4285  * Copyright 2016 Joyent, Inc.
4286  *
4287  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4288  * Use is subject to license terms.
4289  */
4290 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4291 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
4292 /*
4293  * This file and its contents are supplied under the terms of the
4294  * Common Development and Distribution License ("CDDL"), version 1.0.
4295  * You may only use this file in accordance with the terms of version
4296  * 1.0 of the CDDL.
4297  *
4298  * A full copy of the text of the CDDL should have accompanied this
4299  * source.  A copy of the CDDL is also available via the Internet at
4300  * http://www.illumos.org/license/CDDL.
4301  */
4302 
4303 /*
4304  * Copyright 2014-2016 PALO, Richard.
4305  */
4306 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
4307 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h"
4308 struct tm { /* see ctime(3) */
4309  int tm_sec;
4310  int tm_min;
4311  int tm_hour;
4312  int tm_mday;
4313  int tm_mon;
4314  int tm_year;
4315  int tm_wday;
4316  int tm_yday;
4317  int tm_isdst;
4318 };
4319 
4320 
4321 extern char *asctime(const struct tm *);
4322 extern clock_t clock(void);
4323 extern char *ctime(const time_t *);
4324 extern double difftime(time_t, time_t);
4325 extern struct tm *gmtime(const time_t *);
4326 extern struct tm *localtime(const time_t *);
4327 extern time_t mktime(struct tm *);
4328 extern time_t time(time_t *);
4329 extern size_t strftime(char *, size_t, const char *,
4330  const struct tm *);
4331 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4332 /*
4333  * C11 requires sys/time_impl.h for the definition of the struct timespec.
4334  */
4335 
4336 
4337 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4338 /*
4339  * CDDL HEADER START
4340  *
4341  * The contents of this file are subject to the terms of the
4342  * Common Development and Distribution License (the "License").
4343  * You may not use this file except in compliance with the License.
4344  *
4345  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4346  * or http://www.opensolaris.org/os/licensing.
4347  * See the License for the specific language governing permissions
4348  * and limitations under the License.
4349  *
4350  * When distributing Covered Code, include this CDDL HEADER in each
4351  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4352  * If applicable, add the following below this CDDL HEADER, with the
4353  * fields enclosed by brackets "[]" replaced with your own identifying
4354  * information: Portions Copyright [yyyy] [name of copyright owner]
4355  *
4356  * CDDL HEADER END
4357  */
4358 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4359 /*	  All Rights Reserved  	*/
4360 
4361 
4362 /*
4363  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4364  * Use is subject to license terms.
4365  *
4366  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4367  * Copyright 2016 Joyent, Inc.
4368  */
4369 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4370 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
4371 /*
4372  * CDDL HEADER START
4373  *
4374  * The contents of this file are subject to the terms of the
4375  * Common Development and Distribution License, Version 1.0 only
4376  * (the "License").  You may not use this file except in compliance
4377  * with the License.
4378  *
4379  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4380  * or http://www.opensolaris.org/os/licensing.
4381  * See the License for the specific language governing permissions
4382  * and limitations under the License.
4383  *
4384  * When distributing Covered Code, include this CDDL HEADER in each
4385  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4386  * If applicable, add the following below this CDDL HEADER, with the
4387  * fields enclosed by brackets "[]" replaced with your own identifying
4388  * information: Portions Copyright [yyyy] [name of copyright owner]
4389  *
4390  * CDDL HEADER END
4391  */
4392 /*
4393  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
4394  * Use is subject to license terms.
4395  */
4396 
4397 /*
4398  * Implementation-private.  This header should not be included
4399  * directly by an application.  The application should instead
4400  * include <time.h> which includes this header conditionally
4401  * depending on which feature test macros are defined. By default,
4402  * this header is included by <time.h>.  X/Open and POSIX
4403  * standards requirements result in this header being included
4404  * by <time.h> only under a restricted set of conditions.
4405  */
4406 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
4407 
4408 
4409 /*
4410  * Allow global visibility for symbols defined in
4411  * C++ "std" namespace in <iso/time_iso.h>.
4412  */
4413 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4414 extern struct tm *gmtime_r(const time_t *,
4415    struct tm *);
4416 extern struct tm *localtime_r(const time_t *,
4417    struct tm *);
4418 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4419 extern char *strptime(const char *, const char *,
4420   struct tm *);
4421 
4422 
4423 
4424 
4425 
4426 /*
4427  * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
4428  * definition of the sigevent structure.  Both require the inclusion
4429  * of <signal.h> and <time.h> when using the timer_create() function.
4430  * However, X/Open also specifies that the sigevent structure be defined
4431  * in <time.h> as described in the header <signal.h>.  This prevents
4432  * compiler warnings for applications that only include <time.h> and not
4433  * also <signal.h>.  The sigval union and the sigevent structure is
4434  * therefore defined both here and in <sys/siginfo.h> which gets included
4435  * via inclusion of <signal.h>.
4436  */
4437 
4438 
4439 union sigval {
4440  int sival_int; /* integer value */
4441  void *sival_ptr; /* pointer value */
4442 };
4443 
4444 
4445 
4446 
4447 struct sigevent {
4448  int sigev_notify; /* notification mode */
4449  int sigev_signo; /* signal number */
4450  union sigval sigev_value; /* signal value */
4451  void (*sigev_notify_function)(union sigval);
4452  pthread_attr_t *sigev_notify_attributes;
4453  int __sigev_pad2;
4454 };
4455 
4456 
4457 extern int clock_getres(clockid_t, struct timespec *);
4458 extern int clock_gettime(clockid_t, struct timespec *);
4459 extern int clock_settime(clockid_t, const struct timespec *);
4460 extern int timer_create(clockid_t, struct sigevent *,
4461   timer_t *);
4462 extern int timer_delete(timer_t);
4463 extern int timer_getoverrun(timer_t);
4464 extern int timer_gettime(timer_t, struct itimerspec *);
4465 extern int timer_settime(timer_t, int, const struct itimerspec *,
4466   struct itimerspec *);
4467 
4468 extern int nanosleep(const struct timespec *, struct timespec *);
4469 extern int clock_nanosleep(clockid_t, int,
4470  const struct timespec *, struct timespec *);
4471 
4472 
4473 
4474 
4475 
4476 
4477 extern void tzset(void);
4478 extern char *tzname[2];
4479 
4480 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */
4481 
4482 
4483 extern long _sysconf(int); /* System Private interface to sysconf() */
4484 
4485     /* 3 is _SC_CLK_TCK */
4486 
4487 
4488 
4489 
4490 
4491 extern long timezone;
4492 extern int daylight;
4493 
4494 
4495 
4496 
4497 
4498 
4499 extern time_t timegm(struct tm *);
4500 extern int cftime(char *, char *, const time_t *);
4501 extern int ascftime(char *, const char *, const struct tm *);
4502 extern long altzone;
4503 
4504 
4505 
4506 
4507 extern struct tm *getdate(const char *);
4508 
4509 
4510 
4511 
4512 
4513 extern int getdate_err;
4514 
4515 
4516 
4517 /*
4518  * ctime_r() & asctime_r() prototypes are defined here.
4519  */
4520 
4521 /*
4522  * Previous releases of Solaris, starting at 2.3, provided definitions of
4523  * various functions as specified in POSIX.1c, Draft 6.  For some of these
4524  * functions, the final POSIX 1003.1c standard had a different number of
4525  * arguments and return values.
4526  *
4527  * The following segment of this header provides support for the standard
4528  * interfaces while supporting applications written under earlier
4529  * releases.  The application defines appropriate values of the feature
4530  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
4531  * whether it was written to expect the Draft 6 or standard versions of
4532  * these interfaces, before including this header.  This header then
4533  * provides a mapping from the source version of the interface to an
4534  * appropriate binary interface.  Such mappings permit an application
4535  * to be built from libraries and objects which have mixed expectations
4536  * of the definitions of these functions.
4537  *
4538  * For applications using the Draft 6 definitions, the binary symbol is the
4539  * same as the source symbol, and no explicit mapping is needed.  For the
4540  * standard interface, the function func() is mapped to the binary symbol
4541  * _posix_func().  The preferred mechanism for the remapping is a compiler
4542  * #pragma.  If the compiler does not provide such a #pragma, the header file
4543  * defines a static function func() which calls the _posix_func() version;
4544  * this has to be done instead of #define since POSIX specifies that an
4545  * application can #undef the symbol and still be bound to the correct
4546  * implementation.  Unfortunately, the statics confuse lint so we fallback to
4547  * #define in that case.
4548  *
4549  * NOTE: Support for the Draft 6 definitions is provided for compatibility
4550  * only.  New applications/libraries should use the standard definitions.
4551  */
4552 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4553 extern char *asctime_r(const struct tm *, char *, int);
4554 extern char *ctime_r(const time_t *, char *, int);
4555 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
4556 typedef struct _locale *locale_t;
4557 
4558 
4559 extern size_t strftime_l(char *, size_t,
4560  const char *, const struct tm *, locale_t);
4561 
4562 
4563 
4564 
4565 
4566 /*
4567  * Note, the C11 standard requires that all the various base values that are
4568  * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one.
4569  */
4570 
4571 
4572 extern int timespec_get(struct timespec *, int);
4573 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4574 
4575 
4576 /*
4577  * The inclusion of <sys/select.h> is needed for the FD_CLR,
4578  * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
4579  * select() prototype defined in the XOpen specifications
4580  * beginning with XSH4v2.  Placement required after definition
4581  * for itimerval.
4582  */
4583 
4584 
4585 
4586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
4587 /*
4588  * CDDL HEADER START
4589  *
4590  * The contents of this file are subject to the terms of the
4591  * Common Development and Distribution License (the "License").
4592  * You may not use this file except in compliance with the License.
4593  *
4594  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4595  * or http://www.opensolaris.org/os/licensing.
4596  * See the License for the specific language governing permissions
4597  * and limitations under the License.
4598  *
4599  * When distributing Covered Code, include this CDDL HEADER in each
4600  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4601  * If applicable, add the following below this CDDL HEADER, with the
4602  * fields enclosed by brackets "[]" replaced with your own identifying
4603  * information: Portions Copyright [yyyy] [name of copyright owner]
4604  *
4605  * CDDL HEADER END
4606  */
4607 
4608 /*
4609  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4610  *
4611  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4612  *
4613  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
4614  * Use is subject to license terms.
4615  */
4616 
4617 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4618 /*	  All Rights Reserved	*/
4619 
4620 /*
4621  * University Copyright- Copyright (c) 1982, 1986, 1988
4622  * The Regents of the University of California
4623  * All Rights Reserved
4624  *
4625  * University Acknowledgment- Portions of this document are derived from
4626  * software developed by the University of California, Berkeley, and its
4627  * contributors.
4628  */
4629 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
4630 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
4631 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4632 /*
4633  * The sigset_t type is defined in <sys/signal.h> and duplicated
4634  * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
4635  * now allows the visibility of signal.h in this header, however
4636  * an order of inclusion problem occurs as a result of inclusion
4637  * of <sys/select.h> in <signal.h> under certain conditions.
4638  * Rather than include <sys/signal.h> here, we've duplicated
4639  * the sigset_t type instead. This type is required for the XPG6
4640  * introduced pselect() function also declared in this header.
4641  */
4642 
4643 
4644 typedef struct { /* signal set type */
4645  unsigned int __sigbits[4];
4646 } sigset_t;
4647 
4648 
4649 
4650 
4651 /*
4652  * Select uses bit masks of file descriptors in longs.
4653  * These macros manipulate such bit fields.
4654  * FD_SETSIZE may be defined by the user, but the default here
4655  * should be >= NOFILE (param.h).
4656  */
4657 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4658 typedef long fd_mask;
4659 
4660 typedef long fds_mask;
4661 
4662 /*
4663  *  The value of _NBBY needs to be consistant with the value
4664  *  of NBBY in <sys/param.h>.
4665  */
4666 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4667 typedef struct fd_set {
4668 
4669 
4670 
4671  long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
4672 } fd_set;
4673 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
4674 extern int select(int, fd_set *, fd_set *,
4675  fd_set *, struct timeval *);
4676 
4677 
4678 extern int pselect(int, fd_set *, fd_set *,
4679  fd_set *, const struct timespec *,
4680  const sigset_t *);
4681 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
4682 
4683 
4684 
4685 /*
4686  * _VOID was defined to be either void or char but this is not
4687  * required because previous SunOS compilers have accepted the void
4688  * type. However, because many system header and source files use the
4689  * void keyword, the volatile keyword, and ANSI C function prototypes,
4690  * non-ANSI compilers cannot compile the system anyway. The _VOID macro
4691  * should therefore not be used and remains for source compatibility
4692  * only.
4693  */
4694 /* CSTYLED */
4695 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4696 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
4697 /*
4698  * CDDL HEADER START
4699  *
4700  * The contents of this file are subject to the terms of the
4701  * Common Development and Distribution License (the "License").
4702  * You may not use this file except in compliance with the License.
4703  *
4704  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4705  * or http://www.opensolaris.org/os/licensing.
4706  * See the License for the specific language governing permissions
4707  * and limitations under the License.
4708  *
4709  * When distributing Covered Code, include this CDDL HEADER in each
4710  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4711  * If applicable, add the following below this CDDL HEADER, with the
4712  * fields enclosed by brackets "[]" replaced with your own identifying
4713  * information: Portions Copyright [yyyy] [name of copyright owner]
4714  *
4715  * CDDL HEADER END
4716  */
4717 
4718 /*
4719  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
4720  *	  All Rights Reserved
4721  *
4722  */
4723 
4724 /*
4725  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4726  * Use is subject to license terms.
4727  */
4728 
4729 /*
4730  * WARNING: This is an implementation-specific header,
4731  * its contents are not guaranteed. Applications
4732  * should include <unistd.h> and not this header.
4733  */
4734 
4735 
4736 
4737 
4738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4739 /*
4740  * CDDL HEADER START
4741  *
4742  * The contents of this file are subject to the terms of the
4743  * Common Development and Distribution License (the "License").
4744  * You may not use this file except in compliance with the License.
4745  *
4746  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4747  * or http://www.opensolaris.org/os/licensing.
4748  * See the License for the specific language governing permissions
4749  * and limitations under the License.
4750  *
4751  * When distributing Covered Code, include this CDDL HEADER in each
4752  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4753  * If applicable, add the following below this CDDL HEADER, with the
4754  * fields enclosed by brackets "[]" replaced with your own identifying
4755  * information: Portions Copyright [yyyy] [name of copyright owner]
4756  *
4757  * CDDL HEADER END
4758  */
4759 
4760 /*
4761  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4762  * Copyright 2016 Joyent, Inc.
4763  *
4764  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4765  * Use is subject to license terms.
4766  */
4767 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2
4768 
4769 
4770 
4771 
4772 
4773 /* command names for confstr */
4774 
4775 
4776 
4777 /*
4778  * command names for large file configuration information
4779  */
4780 /* large file compilation environment configuration */
4781 
4782 
4783 
4784 
4785 /* transitional large file interface configuration */
4786 
4787 
4788 
4789 
4790 
4791 /* UNIX 98 */
4792 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4793 /* UNIX 03 */
4794 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4795 /* command names for POSIX sysconf */
4796 
4797 /* POSIX.1 names */
4798 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4799 /* SVR4 names */
4800 
4801 
4802 
4803 
4804 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
4805 
4806 
4807 
4808 
4809 /* POSIX.4 names */
4810 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4811 /* XPG4 names */
4812 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4813 /* additional XSH4/XCU4 command names for sysconf */
4814 
4815 
4816 
4817 /* additional XPG4v2 (UNIX 95) command names */
4818 
4819 
4820 
4821 
4822 
4823 /* defined for XTI (XNS Issue 5) */
4824 
4825 
4826 
4827 
4828 
4829 
4830 
4831 /*
4832  * Hardware specific items
4833  * Note that not all items are supported on all architectures
4834  */
4835 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4836 /*
4837  * POSIX.1c (pthreads) names. These values are defined above
4838  * the sub-500 range. See psarc case 1995/257.
4839  */
4840 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4841 /* UNIX 98 */
4842 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4843 /* UNIX 03 */
4844 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4845 /* command names for POSIX pathconf */
4846 
4847 /* POSIX.1 names */
4848 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4849 /* POSIX.4 names */
4850 
4851 
4852 
4853 /* UNIX 03 names */
4854 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4855 /* UNIX 08 names */
4856 
4857 
4858 /*
4859  * Large File Summit names
4860  *
4861  * This value matches the MIPS ABI choice, but leaves a large gap in the
4862  * value space.
4863  */
4864 
4865 
4866 /*
4867  * Extended attributes
4868  */
4869 
4870 
4871 
4872 /*
4873  * If you add a _PC define above 101, you must change _PC_LAST (and truss).
4874  */
4875 
4876 
4877 /*
4878  * Case sensitivity values (related to _PC_CASE_BEHAVIOR)
4879  */
4880 
4881 
4882 
4883 /*
4884  * The value of 0 is returned when
4885  * ACL's are not supported
4886  */
4887 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4888 /*
4889  * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
4890  * should not rely on this value, it has been aligned with the current
4891  * standard to avoid confusion if used.
4892  */
4893 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4894 /* UNIX 03 names */
4895 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4896 
4897 
4898 
4899 
4900 
4901 /* Symbolic constants for the "access" routine: */
4902 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4903 /* Symbolic constants for the "lseek" routine: */
4904 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4905 /* Path names: */
4906 
4907 
4908 
4909 
4910 /*
4911  * compile-time symbolic constants,
4912  * Support does not mean the feature is enabled.
4913  * Use pathconf/sysconf to obtain actual configuration value.
4914  */
4915 
4916 /* Values unchanged in UNIX 03 */
4917 
4918 
4919 
4920 
4921 
4922 /*
4923  * POSIX.1b compile-time symbolic constants.
4924  */
4925 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4926 /*
4927  * POSIX.1c compile-time symbolic constants.
4928  */
4929 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4930 /* New in UNIX 03 */
4931 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4932 /*
4933  * Support for the POSIX.1 mutex protocol attribute. For realtime applications
4934  * which need mutexes to support priority inheritance/ceiling.
4935  */
4936 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4937 /*
4938  * Large File Summit-related announcement macros.  The system supports both
4939  * the additional and transitional Large File Summit interfaces.  (The final
4940  * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.)
4941  */
4942 
4943 
4944 
4945 
4946 
4947 /* large file compilation environment setup */
4948 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4949 /* In the LP64 compilation environment, the APIs are already large file */
4950 
4951 
4952 
4953 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4954 #pragma redefine_extname ftruncate64 ftruncate
4955 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4956 
4957 
4958 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4959 #pragma redefine_extname lseek64 lseek
4960 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4961 
4962 
4963 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4964 #pragma redefine_extname pread64 pread
4965 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4966 
4967 
4968 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4969 #pragma redefine_extname pwrite64 pwrite
4970 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4971 
4972 
4973 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4974 #pragma redefine_extname truncate64 truncate
4975 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4976 
4977 
4978 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4979 #pragma redefine_extname lockf64 lockf
4980 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4981 
4982 
4983 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4984 #pragma redefine_extname tell64 tell
4985 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4986 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4987 extern int access(const char *, int);
4988 
4989 extern int acct(const char *);
4990 
4991 extern unsigned alarm(unsigned);
4992 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4993 
4994 
4995 extern int brk(void *);
4996 
4997 extern int chdir(const char *);
4998 extern int chown(const char *, uid_t, gid_t);
4999 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5000 
5001 
5002 extern int chroot(const char *);
5003 
5004 extern int close(int);
5005 
5006 
5007 
5008 
5009 
5010 
5011 extern char *ctermid(char *);
5012 
5013 
5014 extern char *ctermid_r(char *);
5015 
5016 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5017 
5018 extern char *cuserid(char *);
5019 
5020 extern int dup(int);
5021 extern int dup2(int, int);
5022 extern int dup3(int, int, int);
5023 
5024 
5025 
5026 
5027 extern void endusershell(void);
5028 
5029 extern int execl(const char *, const char *, ...);
5030 extern int execle(const char *, const char *, ...);
5031 extern int execlp(const char *, const char *, ...);
5032 extern int execv(const char *, char *const *);
5033 extern int execve(const char *, char *const *, char *const *);
5034 extern int execvp(const char *, char *const *);
5035 extern void _exit(int)
5036  __attribute__((__noreturn__));
5037 /*
5038  * The following fattach prototype is duplicated in <stropts.h>. The
5039  * duplication is necessitated by XPG4.2 which requires the prototype
5040  * be defined in <stropts.h>.
5041  */
5042 
5043 extern int fattach(int, const char *);
5044 
5045 
5046 extern int fchdir(int);
5047 extern int fchown(int, uid_t, gid_t);
5048 
5049 
5050 extern int fchroot(int);
5051 
5052 
5053 
5054 extern int fdatasync(int);
5055 
5056 /*
5057  * The following fdetach prototype is duplicated in <stropts.h>. The
5058  * duplication is necessitated by XPG4.2 which requires the prototype
5059  * be defined in <stropts.h>.
5060  */
5061 
5062 extern int fdetach(const char *);
5063 
5064 extern pid_t fork(void);
5065 
5066 extern pid_t fork1(void);
5067 extern pid_t forkall(void);
5068 
5069 extern long fpathconf(int, int);
5070 
5071 
5072 extern int fsync(int);
5073 
5074 
5075 
5076 
5077 extern int ftruncate(int, off_t);
5078 
5079 extern char *getcwd(char *, size_t);
5080 
5081 
5082 extern int getdtablesize(void);
5083 
5084 extern gid_t getegid(void);
5085 extern uid_t geteuid(void);
5086 extern gid_t getgid(void);
5087 extern int getgroups(int, gid_t *);
5088 
5089 extern long gethostid(void);
5090 
5091 
5092 
5093 
5094 extern int gethostname(char *, int);
5095 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5096 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
5097 
5098 extern int getpagesize(void);
5099 
5100 extern pid_t getpgid(pid_t);
5101 
5102 extern pid_t getpid(void);
5103 extern pid_t getppid(void);
5104 extern pid_t getpgrp(void);
5105 
5106 
5107 char *gettxt(const char *, const char *);
5108 
5109 
5110 extern pid_t getsid(pid_t);
5111 
5112 extern uid_t getuid(void);
5113 
5114 extern char *getusershell(void);
5115 
5116 /*
5117  * The following ioctl prototype is duplicated in <stropts.h>. The
5118  * duplication is necessitated by XPG4.2 which requires the prototype
5119  * be defined in <stropts.h>.
5120  */
5121 
5122 extern int ioctl(int, int, ...);
5123 extern int isaexec(const char *, char *const *, char *const *);
5124 extern int issetugid(void);
5125 
5126 extern int isatty(int);
5127 
5128 extern int lchown(const char *, uid_t, gid_t);
5129 
5130 extern int link(const char *, const char *);
5131 
5132 extern offset_t llseek(int, offset_t, int);
5133 
5134 
5135 
5136 
5137 extern int lockf(int, int, off_t);
5138 
5139 extern off_t lseek(int, off_t, int);
5140 
5141 
5142 extern int nice(int);
5143 
5144 
5145 extern int mincore(caddr_t, size_t, char *);
5146 
5147 extern long pathconf(const char *, int);
5148 extern int pause(void);
5149 extern int pipe(int *);
5150 extern int pipe2(int *, int);
5151 
5152 
5153 
5154 extern ssize_t pread(int, void *, size_t, off_t);
5155 
5156 
5157 extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
5158 
5159 /*
5160  * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The
5161  * declarations are identical. A change to either one may also require
5162  * appropriate namespace updates in order to avoid redeclaration
5163  * warnings in the case where both prototypes are exposed via inclusion
5164  * of both <pthread.h> and <unistd.h>.
5165  */
5166 
5167 
5168 
5169 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
5170 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5171 extern ssize_t pwrite(int, const void *, size_t, off_t);
5172 
5173 
5174 /* per RFC 3542; This is also defined in netdb.h */
5175 extern int rcmd_af(char **, unsigned short, const char *, const char *,
5176  const char *, int *, int);
5177 
5178 extern ssize_t read(int, void *, size_t);
5179 
5180 
5181 extern ssize_t readlink(const char *, char *,
5182  size_t);
5183 
5184 
5185 
5186 
5187 
5188 
5189 extern int rename(const char *, const char *);
5190 
5191 
5192 
5193 
5194 
5195 
5196 
5197 extern int resolvepath(const char *, char *, size_t);
5198 /* per RFC 3542; This is also defined in netdb.h */
5199 extern int rexec_af(char **, unsigned short, const char *, const char *,
5200  const char *, int *, int);
5201 
5202 extern int rmdir(const char *);
5203 
5204 /* per RFC 3542; This is also defined in netdb.h */
5205 extern int rresvport_af(int *, int);
5206 
5207 
5208 
5209 
5210 extern void *sbrk(intptr_t);
5211 
5212 
5213 extern int setegid(gid_t);
5214 extern int seteuid(uid_t);
5215 
5216 extern int setgid(gid_t);
5217 
5218 extern int setgroups(int, const gid_t *);
5219 extern int sethostname(char *, int);
5220 
5221 extern int setpgid(pid_t, pid_t);
5222 
5223 extern pid_t setpgrp(void);
5224 extern int setregid(gid_t, gid_t);
5225 extern int setreuid(uid_t, uid_t);
5226 
5227 extern pid_t setsid(void);
5228 extern int setuid(uid_t);
5229 
5230 extern void setusershell(void);
5231 
5232 extern unsigned sleep(unsigned);
5233 
5234 extern int stime(const time_t *);
5235 
5236 
5237 
5238 
5239 
5240 
5241 extern int symlink(const char *, const char *);
5242 extern void sync(void);
5243 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5244 extern long sysconf(int);
5245 extern pid_t tcgetpgrp(int);
5246 extern int tcsetpgrp(int, pid_t);
5247 
5248 
5249 
5250 extern off_t tell(int);
5251 
5252 
5253 
5254 
5255 extern int truncate(const char *, off_t);
5256 
5257 extern char *ttyname(int);
5258 
5259 extern useconds_t ualarm(useconds_t, useconds_t);
5260 
5261 extern int unlink(const char *);
5262 
5263 extern char *getwd(char *);
5264 extern int usleep(useconds_t);
5265 extern pid_t vfork(void) __attribute__((__returns_twice__));
5266 #pragma unknown_control_flow(vfork)
5267 
5268 
5269 extern void vhangup(void);
5270 
5271 extern ssize_t write(int, const void *, size_t);
5272 
5273 extern void yield(void);
5274 
5275 
5276 
5277 
5278  /* || defined(_XPG7) */
5279 extern int faccessat(int, const char *, int, int);
5280 extern int fchownat(int, const char *, uid_t, gid_t, int);
5281 extern int linkat(int, const char *, int, const char *, int);
5282 extern ssize_t readlinkat(int, const char *,
5283  char *, size_t);
5284 extern int renameat(int, const char *, int, const char *);
5285 extern int symlinkat(const char *, int, const char *);
5286 extern int unlinkat(int, const char *, int);
5287 
5288 
5289 extern int get_nprocs(void);
5290 extern int get_nprocs_conf(void);
5291 
5292 
5293 /* transitional large file interface versions */
5294 
5295 
5296 extern int ftruncate64(int, off64_t);
5297 extern off64_t lseek64(int, off64_t, int);
5298 extern ssize_t pread64(int, void *, size_t, off64_t);
5299 extern ssize_t pwrite64(int, const void *, size_t, off64_t);
5300 extern off64_t tell64(int);
5301 extern int truncate64(const char *, off64_t);
5302 extern int lockf64(int, int, off64_t);
5303 
5304 
5305 /*
5306  * getlogin_r() & ttyname_r() prototypes are defined here.
5307  */
5308 
5309 /*
5310  * Previous releases of Solaris, starting at 2.3, provided definitions of
5311  * various functions as specified in POSIX.1c, Draft 6.  For some of these
5312  * functions, the final POSIX 1003.1c standard had a different number of
5313  * arguments and return values.
5314  *
5315  * The following segment of this header provides support for the standard
5316  * interfaces while supporting applications written under earlier
5317  * releases.  The application defines appropriate values of the feature
5318  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
5319  * whether it was written to expect the Draft 6 or standard versions of
5320  * these interfaces, before including this header.  This header then
5321  * provides a mapping from the source version of the interface to an
5322  * appropriate binary interface.  Such mappings permit an application
5323  * to be built from libraries and objects which have mixed expectations
5324  * of the definitions of these functions.
5325  *
5326  * For applications using the Draft 6 definitions, the binary symbol is the
5327  * same as the source symbol, and no explicit mapping is needed.  For the
5328  * standard interface, the function func() is mapped to the binary symbol
5329  * _posix_func().  The preferred mechanism for the remapping is a compiler
5330  * #pragma.  If the compiler does not provide such a #pragma, the header file
5331  * defines a static function func() which calls the _posix_func() version;
5332  * this has to be done instead of #define since POSIX specifies that an
5333  * application can #undef the symbol and still be bound to the correct
5334  * implementation.  Unfortunately, the statics confuse lint so we fallback to
5335  * #define in that case.
5336  *
5337  * NOTE: Support for the Draft 6 definitions is provided for compatibility
5338  * only.  New applications/libraries should use the standard definitions.
5339  */
5340 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5341 
5342 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5343 #pragma redefine_extname getlogin_r getloginx_r
5344 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
5345 
5346 
5347 
5348 
5349 
5350 
5351 extern char *getlogin_r(char *, int);
5352 
5353 extern char *ttyname_r(int, char *, int);
5354 
5355 
5356 
5357 
5358 
5359 
5360 extern int getentropy(void *, size_t);
5361 # 50 "../common/zones_args.c" 2
5362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1
5363 /*
5364  * CDDL HEADER START
5365  *
5366  * The contents of this file are subject to the terms of the
5367  * Common Development and Distribution License (the "License").
5368  * You may not use this file except in compliance with the License.
5369  *
5370  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5371  * or http://www.opensolaris.org/os/licensing.
5372  * See the License for the specific language governing permissions
5373  * and limitations under the License.
5374  *
5375  * When distributing Covered Code, include this CDDL HEADER in each
5376  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5377  * If applicable, add the following below this CDDL HEADER, with the
5378  * fields enclosed by brackets "[]" replaced with your own identifying
5379  * information: Portions Copyright [yyyy] [name of copyright owner]
5380  *
5381  * CDDL HEADER END
5382  */
5383 
5384 /*
5385  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5386  *
5387  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5388  * Use is subject to license terms.
5389  */
5390 
5391 /*	Copyright (c) 1988 AT&T	*/
5392 /*	  All Rights Reserved  	*/
5393 
5394 
5395 
5396 
5397 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5398 /*
5399  * CDDL HEADER START
5400  *
5401  * The contents of this file are subject to the terms of the
5402  * Common Development and Distribution License (the "License").
5403  * You may not use this file except in compliance with the License.
5404  *
5405  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5406  * or http://www.opensolaris.org/os/licensing.
5407  * See the License for the specific language governing permissions
5408  * and limitations under the License.
5409  *
5410  * When distributing Covered Code, include this CDDL HEADER in each
5411  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5412  * If applicable, add the following below this CDDL HEADER, with the
5413  * fields enclosed by brackets "[]" replaced with your own identifying
5414  * information: Portions Copyright [yyyy] [name of copyright owner]
5415  *
5416  * CDDL HEADER END
5417  */
5418 
5419 /*
5420  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5421  * Copyright 2016 Joyent, Inc.
5422  *
5423  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5424  * Use is subject to license terms.
5425  */
5426 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5427 
5428 
5429 
5430 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5431 /*
5432  * CDDL HEADER START
5433  *
5434  * The contents of this file are subject to the terms of the
5435  * Common Development and Distribution License (the "License").
5436  * You may not use this file except in compliance with the License.
5437  *
5438  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5439  * or http://www.opensolaris.org/os/licensing.
5440  * See the License for the specific language governing permissions
5441  * and limitations under the License.
5442  *
5443  * When distributing Covered Code, include this CDDL HEADER in each
5444  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5445  * If applicable, add the following below this CDDL HEADER, with the
5446  * fields enclosed by brackets "[]" replaced with your own identifying
5447  * information: Portions Copyright [yyyy] [name of copyright owner]
5448  *
5449  * CDDL HEADER END
5450  */
5451 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5452 /*	  All Rights Reserved  	*/
5453 
5454 
5455 /*
5456  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5457  * Use is subject to license terms.
5458  *
5459  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5460  * Copyright 2016 Joyent, Inc.
5461  */
5462 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5463 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1
5464 /*
5465  * CDDL HEADER START
5466  *
5467  * The contents of this file are subject to the terms of the
5468  * Common Development and Distribution License (the "License").
5469  * You may not use this file except in compliance with the License.
5470  *
5471  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5472  * or http://www.opensolaris.org/os/licensing.
5473  * See the License for the specific language governing permissions
5474  * and limitations under the License.
5475  *
5476  * When distributing Covered Code, include this CDDL HEADER in each
5477  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5478  * If applicable, add the following below this CDDL HEADER, with the
5479  * fields enclosed by brackets "[]" replaced with your own identifying
5480  * information: Portions Copyright [yyyy] [name of copyright owner]
5481  *
5482  * CDDL HEADER END
5483  */
5484 
5485 /*
5486  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
5487  */
5488 
5489 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5490 /*	  All Rights Reserved  	*/
5491 
5492 /*
5493  * University Copyright- Copyright (c) 1982, 1986, 1988
5494  * The Regents of the University of California
5495  * All Rights Reserved
5496  *
5497  * University Acknowledgment- Portions of this document are derived from
5498  * software developed by the University of California, Berkeley, and its
5499  * contributors.
5500  */
5501 
5502 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
5503 /* Copyright 2015, Joyent, Inc. */
5504 
5505 
5506 
5507 
5508 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5509 /*
5510  * CDDL HEADER START
5511  *
5512  * The contents of this file are subject to the terms of the
5513  * Common Development and Distribution License (the "License").
5514  * You may not use this file except in compliance with the License.
5515  *
5516  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5517  * or http://www.opensolaris.org/os/licensing.
5518  * See the License for the specific language governing permissions
5519  * and limitations under the License.
5520  *
5521  * When distributing Covered Code, include this CDDL HEADER in each
5522  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5523  * If applicable, add the following below this CDDL HEADER, with the
5524  * fields enclosed by brackets "[]" replaced with your own identifying
5525  * information: Portions Copyright [yyyy] [name of copyright owner]
5526  *
5527  * CDDL HEADER END
5528  */
5529 
5530 /*
5531  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5532  * Copyright 2016 Joyent, Inc.
5533  *
5534  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5535  * Use is subject to license terms.
5536  */
5537 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
5538 
5539 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5540 /*
5541  * CDDL HEADER START
5542  *
5543  * The contents of this file are subject to the terms of the
5544  * Common Development and Distribution License (the "License").
5545  * You may not use this file except in compliance with the License.
5546  *
5547  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5548  * or http://www.opensolaris.org/os/licensing.
5549  * See the License for the specific language governing permissions
5550  * and limitations under the License.
5551  *
5552  * When distributing Covered Code, include this CDDL HEADER in each
5553  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5554  * If applicable, add the following below this CDDL HEADER, with the
5555  * fields enclosed by brackets "[]" replaced with your own identifying
5556  * information: Portions Copyright [yyyy] [name of copyright owner]
5557  *
5558  * CDDL HEADER END
5559  */
5560 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5561 /*	  All Rights Reserved  	*/
5562 
5563 
5564 /*
5565  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5566  * Use is subject to license terms.
5567  *
5568  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5569  * Copyright 2016 Joyent, Inc.
5570  */
5571 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2
5572 
5573 
5574 
5575 
5576 
5577 /*
5578  * Flag values accessible to open(2) and fcntl(2)
5579  * The first five can only be set (exclusively) by open(2).
5580  */
5581 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5582     /* defines read/write file integrity */
5583 
5584 
5585 
5586 
5587 
5588 
5589 /*
5590  * Flag values accessible only to open(2).
5591  */
5592 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5593 /*
5594  * fcntl(2) requests
5595  *
5596  * N.B.: values are not necessarily assigned sequentially below.
5597  */
5598 
5599 
5600 
5601 
5602 
5603 
5604 
5605 /*
5606  * Applications that read /dev/mem must be built like the kernel.  A
5607  * new symbol "_KMEMUSER" is defined for this purpose.
5608  */
5609 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5610      /* EINVAL is fildes matches arg1 */
5611 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5612 /*
5613  * Numbers 20-22 have been removed and should not be reused.
5614  */
5615 
5616 
5617 
5618 
5619 
5620     /* manager */
5621 
5622 /*
5623  * Commands that refer to flock structures.  The argument types differ between
5624  * the large and small file environments; therefore, the #defined values must
5625  * as well.
5626  * The NBMAND forms are private and should not be used.
5627  * The FLOCK forms are also private and should not be used.
5628  */
5629 
5630 
5631 /* "Native" application compilation environment */
5632 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5633 /*
5634  * File segment locking set data type - information passed to system by user.
5635  */
5636 
5637 /* regular version, for both small and large file compilation environment */
5638 typedef struct flock {
5639  short l_type;
5640  short l_whence;
5641  off_t l_start;
5642  off_t l_len; /* len == 0 means until end of file */
5643  int l_sysid;
5644  pid_t l_pid;
5645  long l_pad[4]; /* reserve area */
5646 } flock_t;
5647 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5648 /* transitional large file interface version */
5649 
5650 
5651 
5652 typedef struct flock64 {
5653  short l_type;
5654  short l_whence;
5655  off64_t l_start;
5656  off64_t l_len; /* len == 0 means until end of file */
5657  int l_sysid;
5658  pid_t l_pid;
5659  long l_pad[4]; /* reserve area */
5660 } flock64_t;
5661 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5662 /*
5663  * File segment locking types.
5664  */
5665 
5666 
5667 
5668 
5669 
5670 /*
5671  * POSIX constants
5672  */
5673 
5674 /* Mask for file access modes */
5675 
5676 
5677 
5678 /*
5679  * DIRECTIO
5680  */
5681 
5682 
5683 
5684 
5685 /*
5686  * File share reservation type
5687  */
5688 typedef struct fshare {
5689  short f_access;
5690  short f_deny;
5691  int f_id;
5692 } fshare_t;
5693 
5694 /*
5695  * f_access values
5696  */
5697 
5698 
5699 
5700 
5701 
5702 
5703 /*
5704  * f_deny values
5705  */
5706 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5707 /*
5708  * Special flags for functions such as openat(), fstatat()....
5709  */
5710 
5711 
5712  /* || defined(_XPG7) */
5713 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h"
5714 /* advice for posix_fadvise */
5715 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2
5716 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5717 /* large file compilation environment setup */
5718 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5719 
5720 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5721 #pragma redefine_extname open64 open
5722 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5723 
5724 
5725 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5726 #pragma redefine_extname creat64 creat
5727 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5728 
5729 
5730 
5731 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5732 #pragma redefine_extname posix_fadvise64 posix_fadvise
5733 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5734 
5735 
5736 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5737 #pragma redefine_extname posix_fallocate64 posix_fallocate
5738 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5739 
5740 
5741 
5742 
5743 
5744 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5745 #pragma redefine_extname openat64 openat
5746 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5747 
5748 
5749 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5750 #pragma redefine_extname attropen64 attropen
5751 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5752 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h"
5753 extern int fcntl(int, int, ...);
5754 extern int open(const char *, int, ...);
5755 extern int creat(const char *, mode_t);
5756 
5757 extern int posix_fadvise(int, off_t, off_t, int);
5758 extern int posix_fallocate(int, off_t, off_t);
5759 
5760 
5761 
5762 extern int openat(int, const char *, int, ...);
5763 extern int attropen(const char *, const char *, int, ...);
5764 
5765 
5766 extern int directio(int, int);
5767 
5768 
5769 /* transitional large file interface versions */
5770 
5771 
5772 extern int open64(const char *, int, ...);
5773 extern int creat64(const char *, mode_t);
5774 
5775 extern int posix_fadvise64(int, off64_t, off64_t, int);
5776 extern int posix_fallocate64(int, off64_t, off64_t);
5777 
5778 
5779 
5780 extern int openat64(int, const char *, int, ...);
5781 extern int attropen64(const char *, const char *, int, ...);
5782 # 51 "../common/zones_args.c" 2
5783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1
5784 /*
5785  * CDDL HEADER START
5786  *
5787  * The contents of this file are subject to the terms of the
5788  * Common Development and Distribution License, Version 1.0 only
5789  * (the "License").  You may not use this file except in compliance
5790  * with the License.
5791  *
5792  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5793  * or http://www.opensolaris.org/os/licensing.
5794  * See the License for the specific language governing permissions
5795  * and limitations under the License.
5796  *
5797  * When distributing Covered Code, include this CDDL HEADER in each
5798  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5799  * If applicable, add the following below this CDDL HEADER, with the
5800  * fields enclosed by brackets "[]" replaced with your own identifying
5801  * information: Portions Copyright [yyyy] [name of copyright owner]
5802  *
5803  * CDDL HEADER END
5804  */
5805 /*	Copyright (c) 1988 AT&T	*/
5806 /*	  All Rights Reserved  	*/
5807 
5808 
5809 /*
5810  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5811  *
5812  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
5813  * Use is subject to license terms.
5814  */
5815 
5816 
5817 
5818 
5819 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1
5820 /*
5821  * CDDL HEADER START
5822  *
5823  * The contents of this file are subject to the terms of the
5824  * Common Development and Distribution License, Version 1.0 only
5825  * (the "License").  You may not use this file except in compliance
5826  * with the License.
5827  *
5828  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5829  * or http://www.opensolaris.org/os/licensing.
5830  * See the License for the specific language governing permissions
5831  * and limitations under the License.
5832  *
5833  * When distributing Covered Code, include this CDDL HEADER in each
5834  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5835  * If applicable, add the following below this CDDL HEADER, with the
5836  * fields enclosed by brackets "[]" replaced with your own identifying
5837  * information: Portions Copyright [yyyy] [name of copyright owner]
5838  *
5839  * CDDL HEADER END
5840  */
5841 /*	Copyright (c) 1988 AT&T	*/
5842 /*	  All Rights Reserved  	*/
5843 
5844 /*
5845  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5846  *
5847  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
5848  * Use is subject to license terms.
5849  */
5850 
5851 /*
5852  * An application should not include this header directly.  Instead it
5853  * should be included only through the inclusion of other Sun headers.
5854  *
5855  * The contents of this header is limited to identifiers specified in the
5856  * C Standard.  Any new identifiers specified in future amendments to the
5857  * C Standard must be placed in this header.  If these new identifiers
5858  * are required to also be in the C++ Standard "std" namespace, then for
5859  * anything other than macro definitions, corresponding "using" directives
5860  * must also be added to <ctype.h>.
5861  */
5862 
5863 
5864 
5865 
5866 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5867 /*
5868  * CDDL HEADER START
5869  *
5870  * The contents of this file are subject to the terms of the
5871  * Common Development and Distribution License (the "License").
5872  * You may not use this file except in compliance with the License.
5873  *
5874  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5875  * or http://www.opensolaris.org/os/licensing.
5876  * See the License for the specific language governing permissions
5877  * and limitations under the License.
5878  *
5879  * When distributing Covered Code, include this CDDL HEADER in each
5880  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5881  * If applicable, add the following below this CDDL HEADER, with the
5882  * fields enclosed by brackets "[]" replaced with your own identifying
5883  * information: Portions Copyright [yyyy] [name of copyright owner]
5884  *
5885  * CDDL HEADER END
5886  */
5887 
5888 /*
5889  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5890  * Copyright 2016 Joyent, Inc.
5891  *
5892  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5893  * Use is subject to license terms.
5894  */
5895 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2
5896 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h"
5897 extern unsigned char __ctype[];
5898 extern unsigned int *__ctype_mask;
5899 extern int *__trans_upper;
5900 extern int *__trans_lower;
5901 
5902 
5903 
5904 
5905 
5906 /*
5907  * These used to be macros, which while more efficient, precludes operation
5908  * with thread specific locales.  The old macros will still work, but new
5909  * code compiles to use functions.  This is specifically permitted by the
5910  * various standards.  Only _tolower and _toupper were required to be
5911  * delivered in macro form.
5912  */
5913 extern int isalnum(int);
5914 extern int isalpha(int);
5915 extern int iscntrl(int);
5916 extern int isdigit(int);
5917 extern int isgraph(int);
5918 extern int islower(int);
5919 extern int isprint(int);
5920 extern int ispunct(int);
5921 extern int isspace(int);
5922 extern int isupper(int);
5923 extern int isxdigit(int);
5924 
5925 extern int isblank(int);
5926 
5927 
5928 extern int tolower(int);
5929 extern int toupper(int);
5930 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2
5931 
5932 /*
5933  * Allow global visibility for symbols defined in
5934  * C++ "std" namespace in <iso/ctype_iso.h>.
5935  */
5936 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h"
5937 extern int isascii(int);
5938 extern int toascii(int);
5939 extern int _tolower(int);
5940 extern int _toupper(int);
5941 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h"
5942 extern int isalnum_l(int, locale_t);
5943 extern int isalpha_l(int, locale_t);
5944 extern int isblank_l(int, locale_t);
5945 extern int iscntrl_l(int, locale_t);
5946 extern int isdigit_l(int, locale_t);
5947 extern int isgraph_l(int, locale_t);
5948 extern int islower_l(int, locale_t);
5949 extern int isprint_l(int, locale_t);
5950 extern int ispunct_l(int, locale_t);
5951 extern int isspace_l(int, locale_t);
5952 extern int isupper_l(int, locale_t);
5953 extern int isxdigit_l(int, locale_t);
5954 extern int tolower_l(int, locale_t);
5955 extern int toupper_l(int, locale_t);
5956 # 52 "../common/zones_args.c" 2
5957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5958 /*
5959  * CDDL HEADER START
5960  *
5961  * The contents of this file are subject to the terms of the
5962  * Common Development and Distribution License (the "License").
5963  * You may not use this file except in compliance with the License.
5964  *
5965  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5966  * or http://www.opensolaris.org/os/licensing.
5967  * See the License for the specific language governing permissions
5968  * and limitations under the License.
5969  *
5970  * When distributing Covered Code, include this CDDL HEADER in each
5971  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5972  * If applicable, add the following below this CDDL HEADER, with the
5973  * fields enclosed by brackets "[]" replaced with your own identifying
5974  * information: Portions Copyright [yyyy] [name of copyright owner]
5975  *
5976  * CDDL HEADER END
5977  */
5978 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5979 /*	  All Rights Reserved  	*/
5980 
5981 
5982 /*
5983  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5984  * Use is subject to license terms.
5985  *
5986  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5987  * Copyright 2016 Joyent, Inc.
5988  */
5989 # 53 "../common/zones_args.c" 2
5990 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
5991 /*
5992  * CDDL HEADER START
5993  *
5994  * The contents of this file are subject to the terms of the
5995  * Common Development and Distribution License (the "License").
5996  * You may not use this file except in compliance with the License.
5997  *
5998  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5999  * or http://www.opensolaris.org/os/licensing.
6000  * See the License for the specific language governing permissions
6001  * and limitations under the License.
6002  *
6003  * When distributing Covered Code, include this CDDL HEADER in each
6004  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6005  * If applicable, add the following below this CDDL HEADER, with the
6006  * fields enclosed by brackets "[]" replaced with your own identifying
6007  * information: Portions Copyright [yyyy] [name of copyright owner]
6008  *
6009  * CDDL HEADER END
6010  */
6011 
6012 /*
6013  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
6014  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
6015  */
6016 
6017 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
6018 /*	  All Rights Reserved  	*/
6019 
6020 /*
6021  * University Copyright- Copyright (c) 1982, 1986, 1988
6022  * The Regents of the University of California
6023  * All Rights Reserved
6024  *
6025  * University Acknowledgment- Portions of this document are derived from
6026  * software developed by the University of California, Berkeley, and its
6027  * contributors.
6028  */
6029 
6030 
6031 
6032 
6033 
6034 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6035 /*
6036  * CDDL HEADER START
6037  *
6038  * The contents of this file are subject to the terms of the
6039  * Common Development and Distribution License (the "License").
6040  * You may not use this file except in compliance with the License.
6041  *
6042  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6043  * or http://www.opensolaris.org/os/licensing.
6044  * See the License for the specific language governing permissions
6045  * and limitations under the License.
6046  *
6047  * When distributing Covered Code, include this CDDL HEADER in each
6048  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6049  * If applicable, add the following below this CDDL HEADER, with the
6050  * fields enclosed by brackets "[]" replaced with your own identifying
6051  * information: Portions Copyright [yyyy] [name of copyright owner]
6052  *
6053  * CDDL HEADER END
6054  */
6055 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6056 /*	  All Rights Reserved  	*/
6057 
6058 
6059 /*
6060  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6061  * Use is subject to license terms.
6062  *
6063  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6064  * Copyright 2016 Joyent, Inc.
6065  */
6066 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6067 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
6068 /*
6069  * CDDL HEADER START
6070  *
6071  * The contents of this file are subject to the terms of the
6072  * Common Development and Distribution License (the "License").
6073  * You may not use this file except in compliance with the License.
6074  *
6075  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6076  * or http://www.opensolaris.org/os/licensing.
6077  * See the License for the specific language governing permissions
6078  * and limitations under the License.
6079  *
6080  *
6081  * When distributing Covered Code, include this CDDL HEADER in each
6082  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6083  * If applicable, add the following below this CDDL HEADER, with the
6084  * fields enclosed by brackets "[]" replaced with your own identifying
6085  * information: Portions Copyright [yyyy] [name of copyright owner]
6086  *
6087  * CDDL HEADER END
6088  */
6089 
6090 /*
6091  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6092  * Use is subject to license terms.
6093  * Copyright 2016 Joyent, Inc.
6094  */
6095 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6096 
6097 
6098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6099 /*
6100  * This file and its contents are supplied under the terms of the
6101  * Common Development and Distribution License ("CDDL"), version 1.0.
6102  * You may only use this file in accordance with the terms of version
6103  * 1.0 of the CDDL.
6104  *
6105  * A full copy of the text of the CDDL should have accompanied this
6106  * source.  A copy of the CDDL is also available via the Internet at
6107  * http://www.illumos.org/license/CDDL.
6108  */
6109 
6110 /*
6111  * Copyright 2014-2016 PALO, Richard.
6112  */
6113 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6114 
6115 
6116 
6117 
6118 
6119 /*
6120  * Fundamental variables; don't change too often.
6121  */
6122 
6123 /*
6124  * _POSIX_VDISABLE has historically been defined in <sys/param.h> since
6125  * an early merge with AT&T source.  It has also historically been defined
6126  * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially
6127  * required the existence of _POSIX_VDISABLE in <sys/termios.h>.
6128  * Subsequent versions of the IEEE Standard as well as the X/Open
6129  * specifications required that _POSIX_VDISABLE be defined in <unistd.h>
6130  * while still allowing for it's existence in other headers.  With the
6131  * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>.
6132  */
6133 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6134     /* compatibility purposes only	*/
6135     /* and will be removed in a	*/
6136     /* later release		*/
6137 
6138 /*
6139  * These define the maximum and minimum allowable values of the
6140  * configurable parameter NGROUPS_MAX.
6141  */
6142 
6143 
6144 
6145 
6146 /*
6147  * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h.
6148  */
6149 
6150 
6151 /*
6152  * Default process priority.  Keep it in sync with limits.h.
6153  */
6154 
6155 
6156 /*
6157  * Fundamental constants of the implementation--cannot be changed easily.
6158  */
6159 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6160 /* REMOTE -- whether machine is primary, secondary, or regular */
6161 
6162 
6163 
6164 /*
6165  * MAXPATHLEN defines the longest permissible path length,
6166  * including the terminating null, after expanding symbolic links.
6167  * TYPICALMAXPATHLEN is used in a few places as an optimization
6168  * with a local buffer on the stack to avoid kmem_alloc().
6169  * MAXSYMLINKS defines the maximum number of symbolic links
6170  * that may be expanded in a path name. It should be set high
6171  * enough to allow all legitimate uses, but halt infinite loops
6172  * reasonably quickly.
6173  * MAXNAMELEN is the length (including the terminating null) of
6174  * the longest permissible file (component) name.
6175  */
6176 
6177 
6178 
6179 
6180 
6181 /*
6182  * MAXLINKNAMELEN defines the longest possible permitted datalink name,
6183  * including the terminating NUL.  Note that this must not be larger
6184  * than related networking constants such as LIFNAMSIZ.
6185  */
6186 
6187 
6188 
6189 
6190 
6191 
6192 /*
6193  * The following are defined to be the same as
6194  * defined in /usr/include/limits.h.  They are
6195  * needed for pipe and FIFO compatibility.
6196  */
6197 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6198 /* macros replacing interleaving functions */
6199 
6200 
6201 
6202 /*
6203  * File system parameters and macros.
6204  *
6205  * The file system is made out of blocks of at most MAXBSIZE units,
6206  * with smaller units (fragments) only in the last direct block.
6207  * MAXBSIZE primarily determines the size of buffers in the buffer
6208  * pool. It may be made larger without any effect on existing
6209  * file systems; however making it smaller make make some file
6210  * systems unmountable.
6211  *
6212  * Note that the blocked devices are assumed to have DEV_BSIZE
6213  * "sectors" and that fragments must be some multiple of this size.
6214  */
6215 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6216 /*	64 bit versions of btodb and dbtob */
6217 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6218 /*
6219  * Size of arg list passed in by user.
6220  */
6221 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6222 /*
6223  * Scale factor for scaled integers used to count
6224  * %cpu time and load averages.
6225  */
6226 
6227 
6228 
6229 /*
6230  * Delay units are in microseconds.
6231  *
6232  * XXX	These macros are not part of the DDI!
6233  */
6234 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6235 /*
6236  * The following is to free utilities from machine dependencies within
6237  * an architecture. Must be included after definition of DEV_BSIZE.
6238  */
6239 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
6240 /*
6241  * The following are assorted machine dependent values which can be
6242  * obtained in a machine independent manner through sysconf(2) or
6243  * sysinfo(2). In order to guarantee that these provide the expected
6244  * value at all times, the System Private interface (leading underscore)
6245  * is used.
6246  */
6247 
6248 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
6249 /*
6250  * CDDL HEADER START
6251  *
6252  * The contents of this file are subject to the terms of the
6253  * Common Development and Distribution License (the "License").
6254  * You may not use this file except in compliance with the License.
6255  *
6256  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6257  * or http://www.opensolaris.org/os/licensing.
6258  * See the License for the specific language governing permissions
6259  * and limitations under the License.
6260  *
6261  * When distributing Covered Code, include this CDDL HEADER in each
6262  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6263  * If applicable, add the following below this CDDL HEADER, with the
6264  * fields enclosed by brackets "[]" replaced with your own identifying
6265  * information: Portions Copyright [yyyy] [name of copyright owner]
6266  *
6267  * CDDL HEADER END
6268  */
6269 
6270 /*
6271  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
6272  *	  All Rights Reserved
6273  *
6274  */
6275 
6276 /*
6277  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6278  * Use is subject to license terms.
6279  */
6280 
6281 /*
6282  * WARNING: This is an implementation-specific header,
6283  * its contents are not guaranteed. Applications
6284  * should include <unistd.h> and not this header.
6285  */
6286 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
6287 
6288 
6289 
6290 
6291 
6292 
6293 extern long _sysconf(int); /* System Private interface to sysconf() */
6294 # 54 "../common/zones_args.c" 2
6295 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
6296 /*
6297  * CDDL HEADER START
6298  *
6299  * The contents of this file are subject to the terms of the
6300  * Common Development and Distribution License (the "License").
6301  * You may not use this file except in compliance with the License.
6302  *
6303  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6304  * or http://www.opensolaris.org/os/licensing.
6305  * See the License for the specific language governing permissions
6306  * and limitations under the License.
6307  *
6308  * When distributing Covered Code, include this CDDL HEADER in each
6309  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6310  * If applicable, add the following below this CDDL HEADER, with the
6311  * fields enclosed by brackets "[]" replaced with your own identifying
6312  * information: Portions Copyright [yyyy] [name of copyright owner]
6313  *
6314  * CDDL HEADER END
6315  */
6316 
6317 /*
6318  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6319  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6320  */
6321 
6322 /*	Copyright (c) 1988 AT&T	*/
6323 /*	  All Rights Reserved  	*/
6324 
6325 
6326 
6327 
6328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1
6329 /*
6330  * CDDL HEADER START
6331  *
6332  * The contents of this file are subject to the terms of the
6333  * Common Development and Distribution License, Version 1.0 only
6334  * (the "License").  You may not use this file except in compliance
6335  * with the License.
6336  *
6337  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6338  * or http://www.opensolaris.org/os/licensing.
6339  * See the License for the specific language governing permissions
6340  * and limitations under the License.
6341  *
6342  * When distributing Covered Code, include this CDDL HEADER in each
6343  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6344  * If applicable, add the following below this CDDL HEADER, with the
6345  * fields enclosed by brackets "[]" replaced with your own identifying
6346  * information: Portions Copyright [yyyy] [name of copyright owner]
6347  *
6348  * CDDL HEADER END
6349  */
6350 /*	Copyright (c) 1988 AT&T	*/
6351 /*	  All Rights Reserved  	*/
6352 
6353 
6354 /*
6355  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6356  * Copyright 2014 PALO, Richard.
6357  *
6358  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6359  * Use is subject to license terms.
6360  */
6361 
6362 /*
6363  * An application should not include this header directly.  Instead it
6364  * should be included only through the inclusion of other Sun headers.
6365  *
6366  * The contents of this header is limited to identifiers specified in the
6367  * C Standard.  Any new identifiers specified in future amendments to the
6368  * C Standard must be placed in this header.  If these new identifiers
6369  * are required to also be in the C++ Standard "std" namespace, then for
6370  * anything other than macro definitions, corresponding "using" directives
6371  * must also be added to <string.h>.
6372  */
6373 
6374 
6375 
6376 
6377 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6378 /*
6379  * CDDL HEADER START
6380  *
6381  * The contents of this file are subject to the terms of the
6382  * Common Development and Distribution License (the "License").
6383  * You may not use this file except in compliance with the License.
6384  *
6385  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6386  * or http://www.opensolaris.org/os/licensing.
6387  * See the License for the specific language governing permissions
6388  * and limitations under the License.
6389  *
6390  * When distributing Covered Code, include this CDDL HEADER in each
6391  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6392  * If applicable, add the following below this CDDL HEADER, with the
6393  * fields enclosed by brackets "[]" replaced with your own identifying
6394  * information: Portions Copyright [yyyy] [name of copyright owner]
6395  *
6396  * CDDL HEADER END
6397  */
6398 
6399 /*
6400  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6401  * Copyright 2016 Joyent, Inc.
6402  *
6403  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6404  * Use is subject to license terms.
6405  */
6406 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6407 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6408 /*
6409  * This file and its contents are supplied under the terms of the
6410  * Common Development and Distribution License ("CDDL"), version 1.0.
6411  * You may only use this file in accordance with the terms of version
6412  * 1.0 of the CDDL.
6413  *
6414  * A full copy of the text of the CDDL should have accompanied this
6415  * source.  A copy of the CDDL is also available via the Internet at
6416  * http://www.illumos.org/license/CDDL.
6417  */
6418 
6419 /*
6420  * Copyright 2014-2016 PALO, Richard.
6421  */
6422 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
6423 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6424 extern int memcmp(const void *, const void *, size_t);
6425 extern void *memcpy(void *, const void *, size_t);
6426 extern void *memmove(void *, const void *, size_t);
6427 extern void *memset(void *, int, size_t);
6428 extern char *strcat(char *, const char *);
6429 extern int strcmp(const char *, const char *);
6430 extern char *strcpy(char *, const char *);
6431 extern int strcoll(const char *, const char *);
6432 extern size_t strcspn(const char *, const char *);
6433 extern char *strerror(int);
6434 extern size_t strlen(const char *);
6435 extern char *strncat(char *, const char *, size_t);
6436 extern int strncmp(const char *, const char *, size_t);
6437 extern char *strncpy(char *, const char *, size_t);
6438 extern size_t strspn(const char *, const char *);
6439 extern char *strtok(char *, const char *);
6440 extern size_t strxfrm(char *, const char *, size_t);
6441 
6442 /*
6443  * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the
6444  * function signatures for the following functions be replaced by
6445  * two declarations, both of which have the same behavior.
6446  */
6447 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
6448 extern void *memchr(const void *, int, size_t);
6449 extern char *strchr(const char *, int);
6450 extern char *strpbrk(const char *, const char *);
6451 extern char *strrchr(const char *, int);
6452 extern char *strstr(const char *, const char *);
6453 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2
6454 
6455 /*
6456  * Allow global visibility for symbols defined in
6457  * C++ "std" namespace in <iso/string_iso.h>.
6458  */
6459 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h"
6460 extern int strerror_r(int, char *, size_t);
6461 
6462 
6463 
6464 
6465 
6466 extern char *strtok_r(char *, const char *,
6467  char **);
6468 
6469 
6470 
6471 
6472 extern void *memccpy(void *, const void *,
6473   int, size_t);
6474 
6475 
6476 
6477 
6478 extern char *stpcpy(char *, const char *);
6479 extern char *stpncpy(char *, const char *, size_t);
6480 extern char *strndup(const char *, size_t);
6481 extern size_t strnlen(const char *, size_t);
6482 extern char *strsignal(int);
6483 
6484 
6485 
6486 
6487 
6488 
6489 extern int strcoll_l(const char *, const char *, locale_t);
6490 extern size_t strxfrm_l(char *, const char *,
6491     size_t, locale_t);
6492 extern int strcasecmp_l(const char *, const char *, locale_t);
6493 extern int strncasecmp_l(const char *, const char *, size_t, locale_t);
6494 extern char *strerror_l(int, locale_t);
6495 
6496 
6497 
6498 
6499 
6500 /* Note that some of these are also declared in strings.h for XPG4_2+ */
6501 extern void explicit_bzero(void *, size_t);
6502 extern int uucopy(const void *, void *, size_t);
6503 extern int uucopystr(const void *, void *, size_t);
6504 extern int ffs(int);
6505 extern int ffsl(long);
6506 extern int ffsll(long long);
6507 extern int fls(int);
6508 extern int flsl(long);
6509 extern int flsll(long long);
6510 extern void *memmem(const void *, size_t, const void *, size_t);
6511 extern char *strcasestr(const char *, const char *);
6512 extern char *strnstr(const char *, const char *, size_t);
6513 extern size_t strlcpy(char *, const char *, size_t);
6514 extern size_t strlcat(char *, const char *, size_t);
6515 extern char *strsep(char **stringp, const char *delim);
6516 extern char *strchrnul(const char *, int);
6517 extern char *strcasestr_l(const char *, const char *, locale_t);
6518 extern int strcasecmp(const char *, const char *);
6519 extern int strncasecmp(const char *, const char *, size_t);
6520 
6521 
6522 
6523 
6524 
6525 extern char *strdup(const char *);
6526 
6527 
6528 
6529 
6530 
6531 
6532 /*
6533  * gcc provides this inlining facility but Studio C does not.
6534  * We should use it exclusively once Studio C also provides it.
6535  */
6536 extern void *__builtin_alloca(size_t);
6537 # 55 "../common/zones_args.c" 2
6538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1
6539 /*
6540  * CDDL HEADER START
6541  *
6542  * The contents of this file are subject to the terms of the
6543  * Common Development and Distribution License, Version 1.0 only
6544  * (the "License").  You may not use this file except in compliance
6545  * with the License.
6546  *
6547  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6548  * or http://www.opensolaris.org/os/licensing.
6549  * See the License for the specific language governing permissions
6550  * and limitations under the License.
6551  *
6552  * When distributing Covered Code, include this CDDL HEADER in each
6553  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6554  * If applicable, add the following below this CDDL HEADER, with the
6555  * fields enclosed by brackets "[]" replaced with your own identifying
6556  * information: Portions Copyright [yyyy] [name of copyright owner]
6557  *
6558  * CDDL HEADER END
6559  */
6560 /*
6561  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6562  *
6563  * Copyright (c) 1995, 1996, by Sun Microsystems, Inc.
6564  * All rights reserved.
6565  */
6566 
6567 
6568 
6569 
6570 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6571 /*
6572  * CDDL HEADER START
6573  *
6574  * The contents of this file are subject to the terms of the
6575  * Common Development and Distribution License (the "License").
6576  * You may not use this file except in compliance with the License.
6577  *
6578  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6579  * or http://www.opensolaris.org/os/licensing.
6580  * See the License for the specific language governing permissions
6581  * and limitations under the License.
6582  *
6583  * When distributing Covered Code, include this CDDL HEADER in each
6584  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6585  * If applicable, add the following below this CDDL HEADER, with the
6586  * fields enclosed by brackets "[]" replaced with your own identifying
6587  * information: Portions Copyright [yyyy] [name of copyright owner]
6588  *
6589  * CDDL HEADER END
6590  */
6591 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6592 /*	  All Rights Reserved  	*/
6593 
6594 
6595 /*
6596  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6597  * Use is subject to license terms.
6598  *
6599  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6600  * Copyright 2016 Joyent, Inc.
6601  */
6602 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6604 /*
6605  * CDDL HEADER START
6606  *
6607  * The contents of this file are subject to the terms of the
6608  * Common Development and Distribution License (the "License").
6609  * You may not use this file except in compliance with the License.
6610  *
6611  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6612  * or http://www.opensolaris.org/os/licensing.
6613  * See the License for the specific language governing permissions
6614  * and limitations under the License.
6615  *
6616  * When distributing Covered Code, include this CDDL HEADER in each
6617  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6618  * If applicable, add the following below this CDDL HEADER, with the
6619  * fields enclosed by brackets "[]" replaced with your own identifying
6620  * information: Portions Copyright [yyyy] [name of copyright owner]
6621  *
6622  * CDDL HEADER END
6623  */
6624 
6625 /*
6626  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6627  * Copyright 2016 Joyent, Inc.
6628  *
6629  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6630  * Use is subject to license terms.
6631  */
6632 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6633 
6634 
6635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
6636 /*
6637  * CDDL HEADER START
6638  *
6639  * The contents of this file are subject to the terms of the
6640  * Common Development and Distribution License (the "License").
6641  * You may not use this file except in compliance with the License.
6642  *
6643  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6644  * or http://www.opensolaris.org/os/licensing.
6645  * See the License for the specific language governing permissions
6646  * and limitations under the License.
6647  *
6648  * When distributing Covered Code, include this CDDL HEADER in each
6649  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6650  * If applicable, add the following below this CDDL HEADER, with the
6651  * fields enclosed by brackets "[]" replaced with your own identifying
6652  * information: Portions Copyright [yyyy] [name of copyright owner]
6653  *
6654  * CDDL HEADER END
6655  */
6656 
6657 /*
6658  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6659  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6660  */
6661 
6662 /*	Copyright (c) 1988 AT&T	*/
6663 /*	  All Rights Reserved  	*/
6664 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
6665 
6666 
6667 
6668 
6669 
6670 
6671 extern int bcmp(const void *, const void *, size_t);
6672 extern void bcopy(const void *, void *, size_t);
6673 extern void bzero(void *, size_t);
6674 
6675 extern char *index(const char *, int);
6676 extern char *rindex(const char *, int);
6677 
6678 /*
6679  * X/Open System Interfaces and Headers, Issue 4, Version 2, defines
6680  * both <string.h> and <strings.h>.  The namespace requirements
6681  * do not permit the visibility of anything other than what is
6682  * specifically defined for each of these headers.  As a result,
6683  * inclusion of <string.h> would result in declarations not allowed
6684  * in <strings.h>, and making the following prototypes visible for
6685  * anything other than X/Open UNIX Extension would result in
6686  * conflicts with what is now in <string.h>.
6687  */
6688 # 56 "../common/zones_args.c" 2
6689 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
6690 /*
6691  * CDDL HEADER START
6692  *
6693  * The contents of this file are subject to the terms of the
6694  * Common Development and Distribution License, Version 1.0 only
6695  * (the "License").  You may not use this file except in compliance
6696  * with the License.
6697  *
6698  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6699  * or http://www.opensolaris.org/os/licensing.
6700  * See the License for the specific language governing permissions
6701  * and limitations under the License.
6702  *
6703  * When distributing Covered Code, include this CDDL HEADER in each
6704  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6705  * If applicable, add the following below this CDDL HEADER, with the
6706  * fields enclosed by brackets "[]" replaced with your own identifying
6707  * information: Portions Copyright [yyyy] [name of copyright owner]
6708  *
6709  * CDDL HEADER END
6710  */
6711 /*	Copyright (c) 1988 AT&T	*/
6712 /*	  All Rights Reserved	*/
6713 
6714 /*
6715  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6716  *
6717  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6718  * Use is subject to license terms.
6719  */
6720 
6721 
6722 
6723 
6724 /*
6725  * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999
6726  * variable argument definitions.  For legacy support, it also defines
6727  * the pre-standard variable argument definitions.
6728  *
6729  * The varargs definitions within this header are defined in terms of
6730  * implementation definitions.  These implementation definitions reside
6731  * in <sys/va_list.h>.  This organization enables protected use of
6732  * the implementation by other standard headers without introducing
6733  * names into the users' namespace.
6734  */
6735 
6736 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1
6737 /*
6738  * CDDL HEADER START
6739  *
6740  * The contents of this file are subject to the terms of the
6741  * Common Development and Distribution License, Version 1.0 only
6742  * (the "License").  You may not use this file except in compliance
6743  * with the License.
6744  *
6745  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6746  * or http://www.opensolaris.org/os/licensing.
6747  * See the License for the specific language governing permissions
6748  * and limitations under the License.
6749  *
6750  * When distributing Covered Code, include this CDDL HEADER in each
6751  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6752  * If applicable, add the following below this CDDL HEADER, with the
6753  * fields enclosed by brackets "[]" replaced with your own identifying
6754  * information: Portions Copyright [yyyy] [name of copyright owner]
6755  *
6756  * CDDL HEADER END
6757  */
6758 /*	Copyright (c) 1988 AT&T	*/
6759 /*	  All Rights Reserved  	*/
6760 
6761 
6762 /*
6763  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6764  * Use is subject to license terms.
6765  */
6766 
6767 /*
6768  * An application should not include this header directly.  Instead it
6769  * should be included only through the inclusion of other Sun headers.
6770  *
6771  * The contents of this header is limited to identifiers specified in the
6772  * C Standard.  Any new identifiers specified in future amendments to the
6773  * C Standard must be placed in this header.  If these new identifiers
6774  * are required to also be in the C++ Standard "std" namespace, then for
6775  * anything other than macro definitions, corresponding "using" directives
6776  * must also be added to <stdarg.h>.
6777  */
6778 
6779 
6780 
6781 
6782 #pragma ident "%Z%%M%	%I%	%E% SMI"
6783 
6784 /*
6785  * This header defines the ISO C 1989 and ISO C++ 1998 variable
6786  * argument definitions.
6787  *
6788  * The varargs definitions within this header are defined in terms of
6789  * implementation definitions.  These implementation definitions reside
6790  * in <sys/va_impl.h>.  This organization enables protected use of
6791  * the implementation by other standard headers without introducing
6792  * names into the users' namespace.
6793  */
6794 
6795 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1
6796 /*
6797  * CDDL HEADER START
6798  *
6799  * The contents of this file are subject to the terms of the
6800  * Common Development and Distribution License, Version 1.0 only
6801  * (the "License").  You may not use this file except in compliance
6802  * with the License.
6803  *
6804  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6805  * or http://www.opensolaris.org/os/licensing.
6806  * See the License for the specific language governing permissions
6807  * and limitations under the License.
6808  *
6809  * When distributing Covered Code, include this CDDL HEADER in each
6810  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6811  * If applicable, add the following below this CDDL HEADER, with the
6812  * fields enclosed by brackets "[]" replaced with your own identifying
6813  * information: Portions Copyright [yyyy] [name of copyright owner]
6814  *
6815  * CDDL HEADER END
6816  */
6817 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6818 /*	  All Rights Reserved	*/
6819 
6820 
6821 /*
6822  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6823  *
6824  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6825  * Use is subject to license terms.
6826  */
6827 
6828 
6829 
6830 
6831 /*
6832  * An application should not include this header directly.  Instead it
6833  * should be included only through the inclusion of other Sun headers,
6834  * specifically <stdarg.h> and <varargs.h>.
6835  *
6836  * This header serves two purposes.
6837  *
6838  * First, it provides a common set of definitions that implementations
6839  * of the various standards for variable argument lists may use.  These
6840  * various standards are implemented in <varargs.h>, <stdarg.h>,
6841  * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>.
6842  *
6843  * Second, it provides varying implementations of the common definitions,
6844  * depending upon the compiler.
6845  */
6846 
6847 /*
6848  * The common definitions exported by this header or compilers using
6849  * this header are:
6850  *
6851  * the macro __va_start(list, name) starting the list iteration
6852  * the macro __va_arg(list, type) getting the current arg and iterating
6853  * the macro __va_copy(to, from) to bookmark the list iteration
6854  * the macro __va_end(list) to end the iteration
6855  *
6856  * In addition, the following are exported via inclusion of <sys/va_list.h>:
6857  *
6858  * the identifier __builtin_va_alist for the variable list pseudo parameter
6859  * the type __va_alist_type for the variable list pseudo parameter
6860  * the type __va_list defining the type of the variable list iterator
6861  */
6862 
6863 /*
6864  * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and
6865  * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor
6866  * macros (e.g. __sparc) to determine the protocol appropriate to the
6867  * current compilation.  It is intended that the compilation system
6868  * define the feature, processor, and compiler macros, not the user of
6869  * the system.
6870  */
6871 
6872 /*
6873  * Many compilation systems depend upon the use of special functions
6874  * built into the the compilation system to handle variable argument
6875  * lists.  These built-in symbols may include one or more of the
6876  * following:
6877  *
6878  *      __builtin_va_alist
6879  *      __builtin_va_start
6880  *      __builtin_va_arg_incr
6881  *      __builtin_stdarg_start
6882  *      __builtin_va_end
6883  *      __builtin_va_arg
6884  *      __builtin_va_copy
6885  */
6886 
6887 /*
6888  * The following are defined in <sys/va_list.h>:
6889  *
6890  *      __va_alist_type
6891  *      __va_void()
6892  *      __va_ptr_base
6893  *      ISA definitions via inclusion of <sys/isa_defs.h>
6894  *
6895  * Inclusion of this header also makes visible the symbols in <sys/va_list.h>.
6896  * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h>
6897  * via inclusion of <iso/stdarg_iso.h>.
6898  */
6899 
6900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
6901 /*
6902  * CDDL HEADER START
6903  *
6904  * The contents of this file are subject to the terms of the
6905  * Common Development and Distribution License, Version 1.0 only
6906  * (the "License").  You may not use this file except in compliance
6907  * with the License.
6908  *
6909  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6910  * or http://www.opensolaris.org/os/licensing.
6911  * See the License for the specific language governing permissions
6912  * and limitations under the License.
6913  *
6914  * When distributing Covered Code, include this CDDL HEADER in each
6915  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6916  * If applicable, add the following below this CDDL HEADER, with the
6917  * fields enclosed by brackets "[]" replaced with your own identifying
6918  * information: Portions Copyright [yyyy] [name of copyright owner]
6919  *
6920  * CDDL HEADER END
6921  */
6922 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6923 /*	  All Rights Reserved	*/
6924 
6925 
6926 /*
6927  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6928  *
6929  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6930  * Use is subject to license terms.
6931  */
6932 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2
6933 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2
6934 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h"
6935 typedef __va_list va_list;
6936 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
6937 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1
6938 /*
6939  * CDDL HEADER START
6940  *
6941  * The contents of this file are subject to the terms of the
6942  * Common Development and Distribution License, Version 1.0 only
6943  * (the "License").  You may not use this file except in compliance
6944  * with the License.
6945  *
6946  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6947  * or http://www.opensolaris.org/os/licensing.
6948  * See the License for the specific language governing permissions
6949  * and limitations under the License.
6950  *
6951  * When distributing Covered Code, include this CDDL HEADER in each
6952  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6953  * If applicable, add the following below this CDDL HEADER, with the
6954  * fields enclosed by brackets "[]" replaced with your own identifying
6955  * information: Portions Copyright [yyyy] [name of copyright owner]
6956  *
6957  * CDDL HEADER END
6958  */
6959 /*	Copyright (c) 1988 AT&T	*/
6960 /*	  All Rights Reserved	*/
6961 
6962 
6963 /*
6964  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6965  * Use is subject to license terms.
6966  */
6967 
6968 
6969 
6970 
6971 #pragma ident "%Z%%M%	%I%	%E% SMI"
6972 
6973 /*
6974  * An application should not include this header directly.  Instead it
6975  * should be included only through the inclusion of other Sun headers.
6976  *
6977  * This header defines the va_copy variable argument macro, which is
6978  * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++
6979  * 1998.  Because this macro is a long-standing Solaris extension, it
6980  * is also permitted in other contexts.
6981  *
6982  * The varargs definitions within this header are defined in terms of
6983  * implementation definitions.  These implementation definitions reside
6984  * in <sys/va_list.h>.  This organization enables protected use of
6985  * the implementation by other standard headers without introducing
6986  * names into the users' namespace.
6987  */
6988 
6989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6990 /*
6991  * CDDL HEADER START
6992  *
6993  * The contents of this file are subject to the terms of the
6994  * Common Development and Distribution License (the "License").
6995  * You may not use this file except in compliance with the License.
6996  *
6997  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6998  * or http://www.opensolaris.org/os/licensing.
6999  * See the License for the specific language governing permissions
7000  * and limitations under the License.
7001  *
7002  * When distributing Covered Code, include this CDDL HEADER in each
7003  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7004  * If applicable, add the following below this CDDL HEADER, with the
7005  * fields enclosed by brackets "[]" replaced with your own identifying
7006  * information: Portions Copyright [yyyy] [name of copyright owner]
7007  *
7008  * CDDL HEADER END
7009  */
7010 
7011 /*
7012  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7013  * Copyright 2016 Joyent, Inc.
7014  *
7015  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7016  * Use is subject to license terms.
7017  */
7018 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2
7019 
7020 
7021 
7022 
7023 
7024 /*
7025  * va_copy was initially a Solaris extension to provide a portable
7026  * way to perform a variable argument list ``bookmarking'' function.
7027  * It is now specified in the ISO/IEC 9899:1999 standard.
7028  */
7029 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2
7030 
7031 /*
7032  * Allow global visibility for symbols defined in
7033  * C++ "std" namespace in <iso/stdarg_iso.h>.
7034  */
7035 # 57 "../common/zones_args.c" 2
7036 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1
7037 /*
7038  * CDDL HEADER START
7039  *
7040  * The contents of this file are subject to the terms of the
7041  * Common Development and Distribution License (the "License").
7042  * You may not use this file except in compliance with the License.
7043  *
7044  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7045  * or http://www.opensolaris.org/os/licensing.
7046  * See the License for the specific language governing permissions
7047  * and limitations under the License.
7048  *
7049  * When distributing Covered Code, include this CDDL HEADER in each
7050  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7051  * If applicable, add the following below this CDDL HEADER, with the
7052  * fields enclosed by brackets "[]" replaced with your own identifying
7053  * information: Portions Copyright [yyyy] [name of copyright owner]
7054  *
7055  * CDDL HEADER END
7056  */
7057 
7058 /*
7059  * Copyright (c) 2013 Gary Mills
7060  *
7061  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7062  * Use is subject to license terms.
7063  */
7064 
7065 /*	Copyright (c) 1988 AT&T	*/
7066 /*	  All Rights Reserved  	*/
7067 
7068 
7069 
7070 
7071 
7072 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7073 /*
7074  * CDDL HEADER START
7075  *
7076  * The contents of this file are subject to the terms of the
7077  * Common Development and Distribution License (the "License").
7078  * You may not use this file except in compliance with the License.
7079  *
7080  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7081  * or http://www.opensolaris.org/os/licensing.
7082  * See the License for the specific language governing permissions
7083  * and limitations under the License.
7084  *
7085  * When distributing Covered Code, include this CDDL HEADER in each
7086  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7087  * If applicable, add the following below this CDDL HEADER, with the
7088  * fields enclosed by brackets "[]" replaced with your own identifying
7089  * information: Portions Copyright [yyyy] [name of copyright owner]
7090  *
7091  * CDDL HEADER END
7092  */
7093 
7094 /*
7095  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7096  * Copyright 2016 Joyent, Inc.
7097  *
7098  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7099  * Use is subject to license terms.
7100  */
7101 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
7103 /*
7104  * CDDL HEADER START
7105  *
7106  * The contents of this file are subject to the terms of the
7107  * Common Development and Distribution License (the "License").
7108  * You may not use this file except in compliance with the License.
7109  *
7110  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7111  * or http://www.opensolaris.org/os/licensing.
7112  * See the License for the specific language governing permissions
7113  * and limitations under the License.
7114  *
7115  *
7116  * When distributing Covered Code, include this CDDL HEADER in each
7117  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7118  * If applicable, add the following below this CDDL HEADER, with the
7119  * fields enclosed by brackets "[]" replaced with your own identifying
7120  * information: Portions Copyright [yyyy] [name of copyright owner]
7121  *
7122  * CDDL HEADER END
7123  */
7124 
7125 /*
7126  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7127  * Use is subject to license terms.
7128  * Copyright 2016 Joyent, Inc.
7129  */
7130 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7131 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1
7132 /*
7133  * CDDL HEADER START
7134  *
7135  * The contents of this file are subject to the terms of the
7136  * Common Development and Distribution License, Version 1.0 only
7137  * (the "License").  You may not use this file except in compliance
7138  * with the License.
7139  *
7140  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7141  * or http://www.opensolaris.org/os/licensing.
7142  * See the License for the specific language governing permissions
7143  * and limitations under the License.
7144  *
7145  * When distributing Covered Code, include this CDDL HEADER in each
7146  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7147  * If applicable, add the following below this CDDL HEADER, with the
7148  * fields enclosed by brackets "[]" replaced with your own identifying
7149  * information: Portions Copyright [yyyy] [name of copyright owner]
7150  *
7151  * CDDL HEADER END
7152  */
7153 /*
7154  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
7155  * Use is subject to license terms.
7156  */
7157 
7158 /*	Copyright (c) 1988 AT&T	*/
7159 /*	  All Rights Reserved  	*/
7160 
7161 
7162 /*
7163  * An application should not include this header directly.  Instead it
7164  * should be included only through the inclusion of other Sun headers.
7165  *
7166  * The contents of this header is limited to identifiers specified in the
7167  * C Standard.  Any new identifiers specified in future amendments to the
7168  * C Standard must be placed in this header.  If these new identifiers
7169  * are required to also be in the C++ Standard "std" namespace, then for
7170  * anything other than macro definitions, corresponding "using" directives
7171  * must also be added to <limits.h>.
7172  */
7173 
7174 
7175 
7176 
7177 #pragma ident "%Z%%M%	%I%	%E% SMI"
7178 
7179 
7180 
7181 
7182 
7183 /*
7184  * Sizes of integral types
7185  */
7186 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
7187      /* min value of a "long int" */
7188 
7189      /* max value of a "long int" */
7190 
7191      /* max value of "unsigned long int" */
7192 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h"
7193      /* min value of a long long */
7194 
7195      /* max value of a long long */
7196 
7197      /* max value of "unsigned long long */
7198 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7199 
7200 /*
7201  * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C
7202  * committee's working draft for the revision of the current ISO C standard,
7203  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
7204  * required by any standard but constitute a useful, general purpose set
7205  * of type definitions and limits which is namespace clean with respect to
7206  * all standards.
7207  */
7208 
7209 
7210 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
7211 /*
7212  * CDDL HEADER START
7213  *
7214  * The contents of this file are subject to the terms of the
7215  * Common Development and Distribution License, Version 1.0 only
7216  * (the "License").  You may not use this file except in compliance
7217  * with the License.
7218  *
7219  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7220  * or http://www.opensolaris.org/os/licensing.
7221  * See the License for the specific language governing permissions
7222  * and limitations under the License.
7223  *
7224  * When distributing Covered Code, include this CDDL HEADER in each
7225  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7226  * If applicable, add the following below this CDDL HEADER, with the
7227  * fields enclosed by brackets "[]" replaced with your own identifying
7228  * information: Portions Copyright [yyyy] [name of copyright owner]
7229  *
7230  * CDDL HEADER END
7231  */
7232 /*
7233  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7234  *
7235  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
7236  * Use is subject to license terms.
7237  */
7238 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2
7239 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7240 /*
7241  * ARG_MAX is calculated as follows:
7242  * NCARGS - space for other stuff on initial stack
7243  * like aux vectors, saved registers, etc..
7244  */
7245 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7246 /*
7247  * POSIX conformant definitions - An implementation may define
7248  * other symbols which reflect the actual implementation. Alternate
7249  * definitions may not be as restrictive as the POSIX definitions.
7250  */
7251 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7252 /* POSIX.1c conformant */
7253 
7254 
7255 
7256 
7257 
7258 /* UNIX 03 conformant */
7259 
7260 
7261 
7262 
7263 
7264 /*
7265  * POSIX.2 and XPG4-XSH4 conformant definitions
7266  */
7267 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7268 /* UNIX 03 conformant */
7269 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7270 /*
7271  * For dual definitions for PASS_MAX and sysconf.c
7272  */
7273 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7274     /* NLS printf() and scanf() */
7275 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7276 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */
7277 
7278 
7279 
7280        /* of a double */
7281 
7282 
7283        /* of a "float" */
7284 
7285 
7286 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */
7287 
7288 
7289        /* of a double */
7290 
7291        /* of a float */
7292 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7293 /*
7294  * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the
7295  * related text states:
7296  *
7297  * A definition of one of the values from Table 2-5 shall be omitted from the
7298  * <limits.h> on specific implementations where the corresponding value is
7299  * equal to or greater than the stated minimum, but where the value can vary
7300  * depending on the file to which it is applied. The actual value supported for
7301  * a specific pathname shall be provided by the pathconf() (5.7.1) function.
7302  *
7303  * This is clear that any machine supporting multiple file system types
7304  * and/or a network can not include this define, regardless of protection
7305  * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags.
7306  *
7307  * #define	NAME_MAX	14
7308  */
7309 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h"
7310     /* Increased for illumos */
7311 # 58 "../common/zones_args.c" 2
7312 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1
7313 /*
7314  * CDDL HEADER START
7315  *
7316  * The contents of this file are subject to the terms of the
7317  * Common Development and Distribution License, Version 1.0 only
7318  * (the "License").  You may not use this file except in compliance
7319  * with the License.
7320  *
7321  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7322  * or http://www.opensolaris.org/os/licensing.
7323  * See the License for the specific language governing permissions
7324  * and limitations under the License.
7325  *
7326  * When distributing Covered Code, include this CDDL HEADER in each
7327  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7328  * If applicable, add the following below this CDDL HEADER, with the
7329  * fields enclosed by brackets "[]" replaced with your own identifying
7330  * information: Portions Copyright [yyyy] [name of copyright owner]
7331  *
7332  * CDDL HEADER END
7333  */
7334 /*	Copyright (c) 1988 AT&T	*/
7335 /*	  All Rights Reserved  	*/
7336 
7337 
7338 /*
7339  * Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
7340  * Use is subject to license terms.
7341  */
7342 
7343 
7344 
7345 
7346 
7347 #pragma ident "%Z%%M%	%I%	%E% SMI"
7348 
7349 /*
7350  * Error codes
7351  */
7352 
7353 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1
7354 /*
7355  * CDDL HEADER START
7356  *
7357  * The contents of this file are subject to the terms of the
7358  * Common Development and Distribution License, Version 1.0 only
7359  * (the "License").  You may not use this file except in compliance
7360  * with the License.
7361  *
7362  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7363  * or http://www.opensolaris.org/os/licensing.
7364  * See the License for the specific language governing permissions
7365  * and limitations under the License.
7366  *
7367  * When distributing Covered Code, include this CDDL HEADER in each
7368  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7369  * If applicable, add the following below this CDDL HEADER, with the
7370  * fields enclosed by brackets "[]" replaced with your own identifying
7371  * information: Portions Copyright [yyyy] [name of copyright owner]
7372  *
7373  * CDDL HEADER END
7374  */
7375 /*
7376  * Copyright 2000 Sun Microsystems, Inc.  All rights reserved.
7377  * Use is subject to license terms.
7378  */
7379 
7380 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
7381 /*	  All Rights Reserved  	*/
7382 
7383 /*
7384  * University Copyright- Copyright (c) 1982, 1986, 1988
7385  * The Regents of the University of California
7386  * All Rights Reserved
7387  *
7388  * University Acknowledgment- Portions of this document are derived from
7389  * software developed by the University of California, Berkeley, and its
7390  * contributors.
7391  */
7392 
7393 
7394 
7395 
7396 #pragma ident "%Z%%M%	%I%	%E% SMI"
7397 
7398 
7399 
7400 
7401 
7402 /*
7403  * Error codes
7404  */
7405 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7406 /* Filesystem Quotas */
7407 
7408 
7409 /* Convergent Error Returns */
7410 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7411 /* Interprocess Robust Locks */
7412 
7413 
7414 
7415 /* stream problems */
7416 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7417 /* Interprocess Robust Locks */
7418 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7419 /* shared library problems */
7420 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7421 /* BSD Networking Software */
7422  /* argument errors */
7423 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7424     /* protocol family */
7425 
7426 
7427  /* operational errors */
7428 
7429 
7430 
7431     /* of reset */
7432 
7433 
7434 
7435 
7436 
7437 /* XENIX has 135 - 142 */
7438 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
7439 /* SUN Network File System */
7440 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2
7441 
7442 
7443 
7444 
7445 
7446 
7447 /*
7448  * The symbols _sys_errlist and _sys_nerr are not visible in the
7449  * LP64 libc.  Use strerror(3C) instead.
7450  */
7451 
7452 
7453 
7454 extern int *___errno();
7455 # 59 "../common/zones_args.c" 2
7456 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 1
7457 /*
7458  * CDDL HEADER START
7459  *
7460  * The contents of this file are subject to the terms of the
7461  * Common Development and Distribution License, Version 1.0 only
7462  * (the "License").  You may not use this file except in compliance
7463  * with the License.
7464  *
7465  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7466  * or http://www.opensolaris.org/os/licensing.
7467  * See the License for the specific language governing permissions
7468  * and limitations under the License.
7469  *
7470  * When distributing Covered Code, include this CDDL HEADER in each
7471  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7472  * If applicable, add the following below this CDDL HEADER, with the
7473  * fields enclosed by brackets "[]" replaced with your own identifying
7474  * information: Portions Copyright [yyyy] [name of copyright owner]
7475  *
7476  * CDDL HEADER END
7477  */
7478 /*	Copyright (c) 1988 AT&T	*/
7479 /*	  All Rights Reserved  	*/
7480 
7481 /*
7482  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7483  *
7484  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
7485  * Use is subject to license terms.
7486  */
7487 
7488 
7489 
7490 
7491 /*
7492  * Streams user options definitions.
7493  */
7494 
7495 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7496 /*
7497  * CDDL HEADER START
7498  *
7499  * The contents of this file are subject to the terms of the
7500  * Common Development and Distribution License (the "License").
7501  * You may not use this file except in compliance with the License.
7502  *
7503  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7504  * or http://www.opensolaris.org/os/licensing.
7505  * See the License for the specific language governing permissions
7506  * and limitations under the License.
7507  *
7508  * When distributing Covered Code, include this CDDL HEADER in each
7509  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7510  * If applicable, add the following below this CDDL HEADER, with the
7511  * fields enclosed by brackets "[]" replaced with your own identifying
7512  * information: Portions Copyright [yyyy] [name of copyright owner]
7513  *
7514  * CDDL HEADER END
7515  */
7516 
7517 /*
7518  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7519  * Copyright 2016 Joyent, Inc.
7520  *
7521  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7522  * Use is subject to license terms.
7523  */
7524 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2
7525 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 1
7526 /*
7527  * CDDL HEADER START
7528  *
7529  * The contents of this file are subject to the terms of the
7530  * Common Development and Distribution License (the "License").
7531  * You may not use this file except in compliance with the License.
7532  *
7533  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7534  * or http://www.opensolaris.org/os/licensing.
7535  * See the License for the specific language governing permissions
7536  * and limitations under the License.
7537  *
7538  * When distributing Covered Code, include this CDDL HEADER in each
7539  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7540  * If applicable, add the following below this CDDL HEADER, with the
7541  * fields enclosed by brackets "[]" replaced with your own identifying
7542  * information: Portions Copyright [yyyy] [name of copyright owner]
7543  *
7544  * CDDL HEADER END
7545  */
7546 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7547 /*	  All Rights Reserved  	*/
7548 
7549 
7550 /*
7551  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7552  * Use is subject to license terms.
7553  */
7554 
7555 
7556 
7557 
7558 #pragma ident "%Z%%M%	%I%	%E% SMI"
7559 
7560 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7561 /*
7562  * CDDL HEADER START
7563  *
7564  * The contents of this file are subject to the terms of the
7565  * Common Development and Distribution License (the "License").
7566  * You may not use this file except in compliance with the License.
7567  *
7568  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7569  * or http://www.opensolaris.org/os/licensing.
7570  * See the License for the specific language governing permissions
7571  * and limitations under the License.
7572  *
7573  * When distributing Covered Code, include this CDDL HEADER in each
7574  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7575  * If applicable, add the following below this CDDL HEADER, with the
7576  * fields enclosed by brackets "[]" replaced with your own identifying
7577  * information: Portions Copyright [yyyy] [name of copyright owner]
7578  *
7579  * CDDL HEADER END
7580  */
7581 
7582 /*
7583  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7584  * Copyright 2016 Joyent, Inc.
7585  *
7586  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7587  * Use is subject to license terms.
7588  */
7589 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
7590 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7591 /*
7592  * CDDL HEADER START
7593  *
7594  * The contents of this file are subject to the terms of the
7595  * Common Development and Distribution License (the "License").
7596  * You may not use this file except in compliance with the License.
7597  *
7598  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7599  * or http://www.opensolaris.org/os/licensing.
7600  * See the License for the specific language governing permissions
7601  * and limitations under the License.
7602  *
7603  * When distributing Covered Code, include this CDDL HEADER in each
7604  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7605  * If applicable, add the following below this CDDL HEADER, with the
7606  * fields enclosed by brackets "[]" replaced with your own identifying
7607  * information: Portions Copyright [yyyy] [name of copyright owner]
7608  *
7609  * CDDL HEADER END
7610  */
7611 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7612 /*	  All Rights Reserved  	*/
7613 
7614 
7615 /*
7616  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7617  * Use is subject to license terms.
7618  *
7619  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7620  * Copyright 2016 Joyent, Inc.
7621  */
7622 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
7623 /*
7624  * For FMNAMESZ define.
7625  */
7626 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 1
7627 /*
7628  * CDDL HEADER START
7629  *
7630  * The contents of this file are subject to the terms of the
7631  * Common Development and Distribution License (the "License").
7632  * You may not use this file except in compliance with the License.
7633  *
7634  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7635  * or http://www.opensolaris.org/os/licensing.
7636  * See the License for the specific language governing permissions
7637  * and limitations under the License.
7638  *
7639  * When distributing Covered Code, include this CDDL HEADER in each
7640  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7641  * If applicable, add the following below this CDDL HEADER, with the
7642  * fields enclosed by brackets "[]" replaced with your own identifying
7643  * information: Portions Copyright [yyyy] [name of copyright owner]
7644  *
7645  * CDDL HEADER END
7646  */
7647 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7648 /*	  All Rights Reserved  	*/
7649 
7650 /*
7651  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7652  * Use is subject to license terms.
7653  */
7654 
7655 
7656 
7657 
7658 
7659 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7660 /*
7661  * CDDL HEADER START
7662  *
7663  * The contents of this file are subject to the terms of the
7664  * Common Development and Distribution License (the "License").
7665  * You may not use this file except in compliance with the License.
7666  *
7667  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7668  * or http://www.opensolaris.org/os/licensing.
7669  * See the License for the specific language governing permissions
7670  * and limitations under the License.
7671  *
7672  * When distributing Covered Code, include this CDDL HEADER in each
7673  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7674  * If applicable, add the following below this CDDL HEADER, with the
7675  * fields enclosed by brackets "[]" replaced with your own identifying
7676  * information: Portions Copyright [yyyy] [name of copyright owner]
7677  *
7678  * CDDL HEADER END
7679  */
7680 
7681 /*
7682  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7683  * Copyright 2016 Joyent, Inc.
7684  *
7685  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7686  * Use is subject to license terms.
7687  */
7688 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2
7689 
7690 
7691 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
7692 /*
7693  * CDDL HEADER START
7694  *
7695  * The contents of this file are subject to the terms of the
7696  * Common Development and Distribution License, Version 1.0 only
7697  * (the "License").  You may not use this file except in compliance
7698  * with the License.
7699  *
7700  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7701  * or http://www.opensolaris.org/os/licensing.
7702  * See the License for the specific language governing permissions
7703  * and limitations under the License.
7704  *
7705  * When distributing Covered Code, include this CDDL HEADER in each
7706  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7707  * If applicable, add the following below this CDDL HEADER, with the
7708  * fields enclosed by brackets "[]" replaced with your own identifying
7709  * information: Portions Copyright [yyyy] [name of copyright owner]
7710  *
7711  * CDDL HEADER END
7712  */
7713 /*
7714  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
7715  * All rights reserved.
7716  */
7717 
7718 /*
7719  * t_lock.h:	Prototypes for disp_locks, plus include files
7720  *		that describe the interfaces to kernel synch.
7721  *		objects.
7722  */
7723 
7724 
7725 
7726 
7727 #pragma ident "%Z%%M%	%I%	%E% SMI"
7728 
7729 
7730 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1
7731 /*
7732  * CDDL HEADER START
7733  *
7734  * The contents of this file are subject to the terms of the
7735  * Common Development and Distribution License (the "License").
7736  * You may not use this file except in compliance with the License.
7737  *
7738  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7739  * or http://www.opensolaris.org/os/licensing.
7740  * See the License for the specific language governing permissions
7741  * and limitations under the License.
7742  *
7743  * When distributing Covered Code, include this CDDL HEADER in each
7744  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7745  * If applicable, add the following below this CDDL HEADER, with the
7746  * fields enclosed by brackets "[]" replaced with your own identifying
7747  * information: Portions Copyright [yyyy] [name of copyright owner]
7748  *
7749  * CDDL HEADER END
7750  */
7751 /*
7752  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
7753  * Use is subject to license terms.
7754  * Copyright 2016 Joyent, Inc.
7755  */
7756 
7757 
7758 
7759 
7760 #pragma ident "%Z%%M%	%I%	%E% SMI"
7761 
7762 
7763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7764 /*
7765  * CDDL HEADER START
7766  *
7767  * The contents of this file are subject to the terms of the
7768  * Common Development and Distribution License (the "License").
7769  * You may not use this file except in compliance with the License.
7770  *
7771  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7772  * or http://www.opensolaris.org/os/licensing.
7773  * See the License for the specific language governing permissions
7774  * and limitations under the License.
7775  *
7776  * When distributing Covered Code, include this CDDL HEADER in each
7777  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7778  * If applicable, add the following below this CDDL HEADER, with the
7779  * fields enclosed by brackets "[]" replaced with your own identifying
7780  * information: Portions Copyright [yyyy] [name of copyright owner]
7781  *
7782  * CDDL HEADER END
7783  */
7784 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7785 /*	  All Rights Reserved  	*/
7786 
7787 
7788 /*
7789  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7790  * Use is subject to license terms.
7791  *
7792  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7793  * Copyright 2016 Joyent, Inc.
7794  */
7795 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
7796 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
7797 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7798 /*	  All Rights Reserved  	*/
7799 
7800 
7801 /*
7802  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
7803  * All rights reserved.  The Berkeley software License Agreement
7804  * specifies the terms and conditions for redistribution.
7805  */
7806 
7807 /*
7808  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7809  *
7810  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7811  * Use is subject to license terms.
7812  *
7813  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7814  */
7815 
7816 /*
7817  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
7818  */
7819 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
7820 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
7821 typedef lock_t disp_lock_t; /* dispatcher lock type */
7822 
7823 /*
7824  * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or
7825  * an adaptive mutex, depending on what interrupt levels use it.
7826  */
7827 
7828 
7829 /*
7830  * Macro to control loops which spin on a lock and then check state
7831  * periodically.  Its passed an integer, and returns a boolean value
7832  * that if true indicates its a good time to get the scheduler lock and
7833  * check the state of the current owner of the lock.
7834  */
7835 
7836 
7837 /*
7838  * Externs for CLOCK_LOCK and clock resolution
7839  */
7840 extern volatile uint32_t hres_lock;
7841 extern hrtime_t hrtime_base;
7842 extern int clock_res;
7843 
7844 
7845 
7846 /*
7847  * The definitions of the symbolic interrupt levels:
7848  *
7849  *   CLOCK_LEVEL =>  The level at which one must be to block the clock.
7850  *
7851  *   LOCK_LEVEL  =>  The highest level at which one may block (and thus the
7852  *                   highest level at which one may acquire adaptive locks)
7853  *                   Also the highest level at which one may be preempted.
7854  *
7855  *   DISP_LEVEL  =>  The level at which one must be to perform dispatcher
7856  *                   operations.
7857  *
7858  * The constraints on the platform:
7859  *
7860  *  - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL
7861  *  - LOCK_LEVEL must be less than DISP_LEVEL
7862  *  - DISP_LEVEL should be as close to LOCK_LEVEL as possible
7863  *
7864  * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal;
7865  * changing this relationship is probably possible but not advised.
7866  *
7867  */
7868 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
7869 /*
7870  * The following mask is for the cpu_intr_actv bits corresponding to
7871  * high-level PILs. It should equal:
7872  * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1)
7873  */
7874 
7875 
7876 /*
7877  * The semaphore code depends on being able to represent a lock plus
7878  * owner in a single 32-bit word.  (Mutexes used to have a similar
7879  * dependency, but no longer.)  Thus the owner must contain at most
7880  * 24 significant bits.  At present only threads and semaphores
7881  * must be aware of this vile constraint.  Different ISAs may handle this
7882  * differently depending on their capabilities (e.g. compare-and-swap)
7883  * and limitations (e.g. constraints on alignment and/or KERNELBASE).
7884  */
7885 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
7886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
7887 /*
7888  * CDDL HEADER START
7889  *
7890  * The contents of this file are subject to the terms of the
7891  * Common Development and Distribution License (the "License").
7892  * You may not use this file except in compliance with the License.
7893  *
7894  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7895  * or http://www.opensolaris.org/os/licensing.
7896  * See the License for the specific language governing permissions
7897  * and limitations under the License.
7898  *
7899  * When distributing Covered Code, include this CDDL HEADER in each
7900  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7901  * If applicable, add the following below this CDDL HEADER, with the
7902  * fields enclosed by brackets "[]" replaced with your own identifying
7903  * information: Portions Copyright [yyyy] [name of copyright owner]
7904  *
7905  * CDDL HEADER END
7906  */
7907 
7908 /*
7909  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
7910  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
7911  */
7912 
7913 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
7914 /*	  All Rights Reserved  	*/
7915 
7916 /*
7917  * University Copyright- Copyright (c) 1982, 1986, 1988
7918  * The Regents of the University of California
7919  * All Rights Reserved
7920  *
7921  * University Acknowledgment- Portions of this document are derived from
7922  * software developed by the University of California, Berkeley, and its
7923  * contributors.
7924  */
7925 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
7926 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
7927 /*
7928  * CDDL HEADER START
7929  *
7930  * The contents of this file are subject to the terms of the
7931  * Common Development and Distribution License (the "License").
7932  * You may not use this file except in compliance with the License.
7933  *
7934  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7935  * or http://www.opensolaris.org/os/licensing.
7936  * See the License for the specific language governing permissions
7937  * and limitations under the License.
7938  *
7939  * When distributing Covered Code, include this CDDL HEADER in each
7940  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7941  * If applicable, add the following below this CDDL HEADER, with the
7942  * fields enclosed by brackets "[]" replaced with your own identifying
7943  * information: Portions Copyright [yyyy] [name of copyright owner]
7944  *
7945  * CDDL HEADER END
7946  */
7947 /*
7948  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
7949  */
7950 
7951 
7952 
7953 
7954 
7955 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7956 /*
7957  * CDDL HEADER START
7958  *
7959  * The contents of this file are subject to the terms of the
7960  * Common Development and Distribution License (the "License").
7961  * You may not use this file except in compliance with the License.
7962  *
7963  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7964  * or http://www.opensolaris.org/os/licensing.
7965  * See the License for the specific language governing permissions
7966  * and limitations under the License.
7967  *
7968  * When distributing Covered Code, include this CDDL HEADER in each
7969  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7970  * If applicable, add the following below this CDDL HEADER, with the
7971  * fields enclosed by brackets "[]" replaced with your own identifying
7972  * information: Portions Copyright [yyyy] [name of copyright owner]
7973  *
7974  * CDDL HEADER END
7975  */
7976 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7977 /*	  All Rights Reserved  	*/
7978 
7979 
7980 /*
7981  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7982  * Use is subject to license terms.
7983  *
7984  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7985  * Copyright 2016 Joyent, Inc.
7986  */
7987 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2
7988 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h"
7989 /*
7990  * Public interface to mutual exclusion locks.  See mutex(9F) for details.
7991  *
7992  * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used
7993  * in almost all of the kernel.  MUTEX_SPIN provides interrupt blocking
7994  * and must be used in interrupt handlers above LOCK_LEVEL.  The iblock
7995  * cookie argument to mutex_init() encodes the interrupt level to block.
7996  * The iblock cookie must be NULL for adaptive locks.
7997  *
7998  * MUTEX_DEFAULT is the type usually specified (except in drivers) to
7999  * mutex_init().  It is identical to MUTEX_ADAPTIVE.
8000  *
8001  * MUTEX_DRIVER is always used by drivers.  mutex_init() converts this to
8002  * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie.
8003  *
8004  * Mutex statistics can be gathered on the fly, without rebooting or
8005  * recompiling the kernel, via the lockstat driver (lockstat(7D)).
8006  */
8007 typedef enum {
8008  MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */
8009  MUTEX_SPIN = 1, /* block interrupts and spin */
8010  MUTEX_DRIVER = 4, /* driver (DDI) mutex */
8011  MUTEX_DEFAULT = 6 /* kernel default mutex */
8012 } kmutex_type_t;
8013 
8014 typedef struct mutex {
8015 
8016  void *_opaque[1];
8017 
8018 
8019 
8020 } kmutex_t;
8021 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
8022 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1
8023 /*
8024  * CDDL HEADER START
8025  *
8026  * The contents of this file are subject to the terms of the
8027  * Common Development and Distribution License (the "License").
8028  * You may not use this file except in compliance with the License.
8029  *
8030  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8031  * or http://www.opensolaris.org/os/licensing.
8032  * See the License for the specific language governing permissions
8033  * and limitations under the License.
8034  *
8035  * When distributing Covered Code, include this CDDL HEADER in each
8036  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8037  * If applicable, add the following below this CDDL HEADER, with the
8038  * fields enclosed by brackets "[]" replaced with your own identifying
8039  * information: Portions Copyright [yyyy] [name of copyright owner]
8040  *
8041  * CDDL HEADER END
8042  */
8043 /*
8044  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8045  * Use is subject to license terms.
8046  */
8047 
8048 /*
8049  * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
8050  */
8051 
8052 
8053 
8054 
8055 /*
8056  * Public interface to readers/writer locks.  See rwlock(9F) for details.
8057  */
8058 
8059 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8060 /*
8061  * CDDL HEADER START
8062  *
8063  * The contents of this file are subject to the terms of the
8064  * Common Development and Distribution License (the "License").
8065  * You may not use this file except in compliance with the License.
8066  *
8067  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8068  * or http://www.opensolaris.org/os/licensing.
8069  * See the License for the specific language governing permissions
8070  * and limitations under the License.
8071  *
8072  * When distributing Covered Code, include this CDDL HEADER in each
8073  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8074  * If applicable, add the following below this CDDL HEADER, with the
8075  * fields enclosed by brackets "[]" replaced with your own identifying
8076  * information: Portions Copyright [yyyy] [name of copyright owner]
8077  *
8078  * CDDL HEADER END
8079  */
8080 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8081 /*	  All Rights Reserved  	*/
8082 
8083 
8084 /*
8085  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8086  * Use is subject to license terms.
8087  *
8088  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8089  * Copyright 2016 Joyent, Inc.
8090  */
8091 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2
8092 
8093 
8094 
8095 
8096 
8097 
8098 
8099 typedef enum {
8100  RW_DRIVER = 2, /* driver (DDI) rwlock */
8101  RW_DEFAULT = 4 /* kernel default rwlock */
8102 } krw_type_t;
8103 
8104 typedef enum {
8105  RW_WRITER,
8106  RW_READER,
8107  RW_READER_STARVEWRITER
8108 } krw_t;
8109 
8110 typedef struct _krwlock {
8111  void *_opaque[1];
8112 } krwlock_t;
8113 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
8114 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1
8115 /*
8116  * CDDL HEADER START
8117  *
8118  * The contents of this file are subject to the terms of the
8119  * Common Development and Distribution License, Version 1.0 only
8120  * (the "License").  You may not use this file except in compliance
8121  * with the License.
8122  *
8123  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8124  * or http://www.opensolaris.org/os/licensing.
8125  * See the License for the specific language governing permissions
8126  * and limitations under the License.
8127  *
8128  * When distributing Covered Code, include this CDDL HEADER in each
8129  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8130  * If applicable, add the following below this CDDL HEADER, with the
8131  * fields enclosed by brackets "[]" replaced with your own identifying
8132  * information: Portions Copyright [yyyy] [name of copyright owner]
8133  *
8134  * CDDL HEADER END
8135  */
8136 /*
8137  * Copyright (c) 1993-1998 by Sun Microsystems, Inc.
8138  * All rights reserved.
8139  */
8140 
8141 
8142 
8143 
8144 #pragma ident "%Z%%M%	%I%	%E% SMI"
8145 
8146 /*
8147  * Public interface to semaphores.  See semaphore(9F) for details.
8148  */
8149 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h"
8150 typedef enum {
8151  SEMA_DEFAULT,
8152  SEMA_DRIVER
8153 } ksema_type_t;
8154 
8155 typedef struct _ksema {
8156  void * _opaque[2]; /* 2 words on 4 byte alignment */
8157 } ksema_t;
8158 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
8159 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1
8160 /*
8161  * CDDL HEADER START
8162  *
8163  * The contents of this file are subject to the terms of the
8164  * Common Development and Distribution License (the "License").
8165  * You may not use this file except in compliance with the License.
8166  *
8167  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8168  * or http://www.opensolaris.org/os/licensing.
8169  * See the License for the specific language governing permissions
8170  * and limitations under the License.
8171  *
8172  * When distributing Covered Code, include this CDDL HEADER in each
8173  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8174  * If applicable, add the following below this CDDL HEADER, with the
8175  * fields enclosed by brackets "[]" replaced with your own identifying
8176  * information: Portions Copyright [yyyy] [name of copyright owner]
8177  *
8178  * CDDL HEADER END
8179  */
8180 /*
8181  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8182  * Use is subject to license terms.
8183  */
8184 
8185 /*
8186  * Copyright (c) 2012 by Delphix. All rights reserved.
8187  */
8188 
8189 /*
8190  * condvar.h:
8191  *
8192  * definitions for thread synchronization primitives: condition variables
8193  * This is the public part of the interface to condition variables. The
8194  * private (implementation-specific) part is in <arch>/sys/condvar_impl.h.
8195  */
8196 
8197 
8198 
8199 
8200 
8201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8202 /*
8203  * CDDL HEADER START
8204  *
8205  * The contents of this file are subject to the terms of the
8206  * Common Development and Distribution License (the "License").
8207  * You may not use this file except in compliance with the License.
8208  *
8209  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8210  * or http://www.opensolaris.org/os/licensing.
8211  * See the License for the specific language governing permissions
8212  * and limitations under the License.
8213  *
8214  * When distributing Covered Code, include this CDDL HEADER in each
8215  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8216  * If applicable, add the following below this CDDL HEADER, with the
8217  * fields enclosed by brackets "[]" replaced with your own identifying
8218  * information: Portions Copyright [yyyy] [name of copyright owner]
8219  *
8220  * CDDL HEADER END
8221  */
8222 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8223 /*	  All Rights Reserved  	*/
8224 
8225 
8226 /*
8227  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8228  * Use is subject to license terms.
8229  *
8230  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8231  * Copyright 2016 Joyent, Inc.
8232  */
8233 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
8234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
8235 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8236 /*	  All Rights Reserved  	*/
8237 
8238 
8239 /*
8240  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
8241  * All rights reserved.  The Berkeley software License Agreement
8242  * specifies the terms and conditions for redistribution.
8243  */
8244 
8245 /*
8246  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8247  *
8248  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8249  * Use is subject to license terms.
8250  *
8251  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8252  */
8253 
8254 /*
8255  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
8256  */
8257 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
8258 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h"
8259 /*
8260  * Condtion variables.
8261  */
8262 
8263 typedef struct _kcondvar {
8264  ushort_t _opaque;
8265 } kcondvar_t;
8266 
8267 typedef enum {
8268  CV_DEFAULT,
8269  CV_DRIVER
8270 } kcv_type_t;
8271 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
8272 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h"
8273 /*
8274  * Mutual exclusion locks described in common/sys/mutex.h.
8275  *
8276  * Semaphores described in common/sys/semaphore.h.
8277  *
8278  * Readers/Writer locks described in common/sys/rwlock.h.
8279  *
8280  * Condition variables described in common/sys/condvar.h
8281  */
8282 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2
8283 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
8284 /*
8285  * Device flags.
8286  *
8287  * Bit 0 to bit 15 are reserved for kernel.
8288  * Bit 16 to bit 31 are reserved for different machines.
8289  */
8290 
8291 
8292 
8293 
8294 
8295 /*
8296  * MT-safety level (in DDI portion of flags).
8297  *
8298  * All drivers must be MT-safe, and must advertise this by specifying D_MP.
8299  *
8300  * The remainder of the flags apply only to STREAMS modules and drivers.
8301  *
8302  * A STREAMS driver or module can optionally select inner and outer perimeters.
8303  * The four mutually exclusive options that define the presence and scope
8304  * of the inner perimeter are:
8305  *	D_MTPERMOD - per module single threaded.
8306  *	D_MTQPAIR - per queue-pair single threaded.
8307  *	D_MTPERQ - per queue instance single threaded.
8308  *	(none of the above) - no inner perimeter restricting concurrency
8309  *
8310  * The presence	of the outer perimeter is declared with:
8311  *	D_MTOUTPERIM - a per-module outer perimeter. Can be combined with
8312  *		D_MTPERQ, D_MTQPAIR, and D_MP.
8313  *
8314  * The concurrency when entering the different STREAMS entry points can be
8315  * modified with:
8316  *	D_MTPUTSHARED - modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
8317  *		specifying that the put procedures should not be
8318  *		single-threaded at the inner perimeter.
8319  *	_D_MTOCSHARED - EXPERIMENTAL - will be removed in a future release.
8320  *		Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
8321  *		specifying that the open and close procedures should not be
8322  *		single-threaded at the inner perimeter.
8323  *	_D_MTCBSHARED - EXPERIMENTAL - will be removed in a future release.
8324  *		Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD
8325  *		specifying that the callback i.e qtimeout() procedures should
8326  *		not be single-threaded at the inner perimeter.
8327  *	_D_MTSVCSHARED - EXPERIMENTAL - will be removed in a future release.
8328  *		Modifier for D_MTPERMOD only. Specifies that the service
8329  *		procedure should not be single-threaded at the inner perimeter.
8330  *		However only a single instance of the service thread can run on
8331  *		any given queue.
8332  *	D_MTOCEXCL - modifier for D_MTOUTPERIM specifying that the open and
8333  *		close procedures should be single-threaded at the outer
8334  *		perimeter.
8335  */
8336 
8337 
8338 
8339 /* 0x100 - see below */
8340 /* 0x200 - see below */
8341 /* 0x400 - see below */
8342 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
8343 /* The inner perimeter scope bits */
8344 
8345 
8346 /* Inner perimeter modification bits */
8347 
8348 
8349 
8350 /* Outer perimeter modification bits */
8351 
8352 
8353 /* All the MT flags */
8354 # 212 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h"
8355     /* extended qinit structure */
8356 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2
8357 
8358 
8359 
8360 
8361 
8362 /*
8363  * Write options
8364  */
8365 
8366 
8367      /* putmsg if sd_werror is set */
8368 
8369 /*
8370  * Read options
8371  */
8372 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8373 /*
8374  * These next three read options are added for the sake of
8375  * user-level transparency.  RPROTDAT will cause the stream head
8376  * to treat the contents of M_PROTO and M_PCPROTO message blocks
8377  * as data.  RPROTDIS will prevent the stream head from failing
8378  * a read with EBADMSG if an M_PROTO or M_PCPROTO message is on
8379  * the front of the stream head read queue.  Rather, the protocol
8380  * blocks will be silently discarded and the data associated with
8381  * the message (in linked M_DATA blocks), if any, will be delivered
8382  * to the user.  RPROTNORM sets the default behavior, where read
8383  * will fail with EBADMSG if an M_PROTO or M_PCPROTO are at the
8384  * stream head.
8385  */
8386 
8387 
8388      /* read data portion */
8389 
8390 
8391 
8392 
8393 
8394 /*
8395  * The next read option is used so that a TPI aware module can tell the
8396  * stream head to not flush M_PCPROTO messages when processing a read side
8397  * flush. This will avoid problems where a flush removes a T_OK_ACK.
8398  */
8399 
8400 
8401 
8402 
8403 
8404 
8405 /*
8406  * Error options
8407  */
8408 
8409 /*
8410  * Error options to adjust the stream head error behavior with respect
8411  * to M_ERROR message for read and write side errors respectively.
8412  * The normal case is that the read/write side error is
8413  * persistent and these options allow the application or streams module/driver
8414  * to specify that errors are nonpersistent. In this case the error is cleared
8415  * after having been returned to read(), getmsg(), ioctl(), write(), putmsg(),
8416  * etc.
8417  */
8418 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8419 /*
8420  * Flush options
8421  */
8422 
8423 
8424 
8425 
8426 
8427      /* in next byte */
8428 /*
8429  * Copy options for M_SETOPS/SO_COPYOPT
8430  */
8431 
8432 
8433      /* pages instead of bcopy */
8434 
8435 
8436 
8437 
8438 /*
8439  * Events for which the SIGPOLL signal is to be sent.
8440  */
8441 # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8442      /* SIGURG instead of SIGPOLL */
8443 
8444 /*
8445  * Flags for getmsg() and putmsg() syscall arguments.
8446  * "RS" stands for recv/send.  The system calls were originally called
8447  * recv() and send(), but were renamed to avoid confusion with the BSD
8448  * calls of the same name.  A value of zero will cause getmsg() to return
8449  * the first message on the stream head read queue and putmsg() to send
8450  * a normal priority message.
8451  *
8452  * Flags for strmakemsg() arguments (should define strmakemsg() flags).
8453  * Used to determine the message type of the control part of a message,
8454  * if RS_HIPRI, M_PCPROTO, else M_PROTO.
8455  */
8456 
8457 
8458 
8459 
8460 /*
8461  * Flags for getpmsg() and putpmsg() syscall arguments.
8462  */
8463 
8464 /*
8465  * These are settable by the user and will be set on return
8466  * to indicate the priority of message received.
8467  */
8468 
8469 
8470 
8471 
8472 /*
8473  * This is a private flag passed by libc to kernel to
8474  * identify that it is a XPG4_2 application. No
8475  * applications need to know about this flag.
8476  */
8477 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8478 /*
8479  * Flags returned as value of getmsg() and getpmsg() syscall.
8480  */
8481 
8482 
8483 
8484 /*
8485  * Define to indicate that all multiplexors beneath a stream should
8486  * be unlinked.
8487  */
8488 
8489 
8490 /*
8491  * Flag definitions for the I_ATMARK ioctl.
8492  */
8493 
8494 
8495 
8496 /*
8497  *  Stream Ioctl defines
8498  */
8499 
8500 /* (STR|000) in use */
8501 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8502 /* (STR|016) in use */
8503 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8504 /*
8505  * IOCTLs (STR|050) - (STR|055) are available for use.
8506  */
8507 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8508 /*
8509  * User level ioctl format for ioctls that go downstream (I_STR)
8510  */
8511 struct strioctl {
8512  int ic_cmd; /* command */
8513  int ic_timout; /* timeout value */
8514  int ic_len; /* length of data */
8515  char *ic_dp; /* pointer to data */
8516 };
8517 # 308 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8518 /*
8519  * Value for timeouts (ioctl, select) that denotes infinity
8520  */
8521 
8522 
8523 
8524 
8525 
8526 
8527 /*
8528  * For _I_CMD: similar to strioctl, but with included buffer (to avoid copyin/
8529  * copyout from another address space).  NOTE: the size of this structure must
8530  * be less than libproc.h`MAXARGL for pr_ioctl() to handle it.
8531  */
8532 
8533 typedef struct strcmd {
8534  int sc_cmd; /* ioctl command */
8535  int sc_timeout; /* timeout value (in seconds) */
8536  int sc_len; /* length of data */
8537  int sc_pad;
8538  char sc_buf[2048]; /* data buffer */
8539 } strcmd_t;
8540 
8541 
8542 /*
8543  * Stream buffer structure for putmsg and getmsg system calls
8544  */
8545 struct strbuf {
8546  int maxlen; /* no. of bytes in buffer */
8547  int len; /* no. of bytes returned */
8548  caddr_t buf; /* pointer to data */
8549 };
8550 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8551 /*
8552  * Stream I_PEEK ioctl format
8553  */
8554 struct strpeek {
8555  struct strbuf ctlbuf;
8556  struct strbuf databuf;
8557  t_uscalar_t flags;
8558 };
8559 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8560 /*
8561  * Stream I_FDINSERT ioctl format
8562  */
8563 struct strfdinsert {
8564  struct strbuf ctlbuf;
8565  struct strbuf databuf;
8566  t_uscalar_t flags;
8567  int fildes;
8568  int offset;
8569 };
8570 # 392 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8571 /*
8572  * Receive file descriptor structure
8573  */
8574 # 426 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8575 struct strrecvfd {
8576  int fd;
8577  uid_t uid;
8578  gid_t gid;
8579 
8580 
8581 
8582  char fill[8];
8583 
8584 };
8585 
8586 
8587 /*
8588  * For I_LIST ioctl.
8589  */
8590 struct str_mlist {
8591  char l_name[8 +1];
8592 };
8593 
8594 struct str_list {
8595  int sl_nmods;
8596  struct str_mlist *sl_modlist;
8597 };
8598 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8599 /*
8600  * Private, for _I_INSERT/_I_REMOVE ioctl.
8601  */
8602 struct strmodconf {
8603  int pos; /* Position to be inserted/removed. */
8604  caddr_t mod_name; /* Name of module. */
8605 };
8606 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h"
8607 /*
8608  * For I_FLUSHBAND ioctl.  Describes the priority
8609  * band for which the operation applies.
8610  */
8611 struct bandinfo {
8612  unsigned char bi_pri;
8613  int bi_flag;
8614 };
8615 
8616 
8617 /*
8618  * The argument for I_ESETSIG and I_EGETSIG ioctls.
8619  */
8620 
8621 struct strsigset {
8622  pid_t ss_pid; /* pgrp if negative */
8623  int ss_events; /* S_ events */
8624 };
8625 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2
8626 
8627 
8628 
8629 
8630 
8631 extern int isastream(int);
8632 
8633 extern int getmsg(int, struct strbuf *,
8634   struct strbuf *, int *);
8635 extern int putmsg(int, const struct strbuf *, const struct strbuf *, int);
8636 
8637 extern int getpmsg(int, struct strbuf *,
8638   struct strbuf *, int *,
8639   int *);
8640 extern int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int);
8641 
8642 /*
8643  * These three routines are duplicated in unistd.h; duplication necessitated
8644  * by XPG4.2 compliance/namespace issues.
8645  */
8646 extern int ioctl(int, int, ...);
8647 extern int fattach(int, const char *);
8648 extern int fdetach(const char *);
8649 # 60 "../common/zones_args.c" 2
8650 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
8651 /*
8652  * CDDL HEADER START
8653  *
8654  * The contents of this file are subject to the terms of the
8655  * Common Development and Distribution License (the "License").
8656  * You may not use this file except in compliance with the License.
8657  *
8658  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8659  * or http://www.opensolaris.org/os/licensing.
8660  * See the License for the specific language governing permissions
8661  * and limitations under the License.
8662  *
8663  * When distributing Covered Code, include this CDDL HEADER in each
8664  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8665  * If applicable, add the following below this CDDL HEADER, with the
8666  * fields enclosed by brackets "[]" replaced with your own identifying
8667  * information: Portions Copyright [yyyy] [name of copyright owner]
8668  *
8669  * CDDL HEADER END
8670  */
8671 /*
8672  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8673  *
8674  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8675  * Use is subject to license terms.
8676  */
8677 
8678 
8679 
8680 
8681 
8682 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
8683 /*
8684  * CDDL HEADER START
8685  *
8686  * The contents of this file are subject to the terms of the
8687  * Common Development and Distribution License (the "License").
8688  * You may not use this file except in compliance with the License.
8689  *
8690  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8691  * or http://www.opensolaris.org/os/licensing.
8692  * See the License for the specific language governing permissions
8693  * and limitations under the License.
8694  *
8695  *
8696  * When distributing Covered Code, include this CDDL HEADER in each
8697  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8698  * If applicable, add the following below this CDDL HEADER, with the
8699  * fields enclosed by brackets "[]" replaced with your own identifying
8700  * information: Portions Copyright [yyyy] [name of copyright owner]
8701  *
8702  * CDDL HEADER END
8703  */
8704 
8705 /*
8706  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8707  * Use is subject to license terms.
8708  * Copyright 2016 Joyent, Inc.
8709  */
8710 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2
8711 
8712 
8713 
8714 
8715 
8716 /*
8717  * wchar_t is a built-in type in standard C++ and as such is not
8718  * defined here when using standard C++. However, the GNU compiler
8719  * fixincludes utility nonetheless creates its own version of this
8720  * header for use by gcc and g++. In that version it adds a redundant
8721  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
8722  * header we need to include the following magic comment:
8723  *
8724  * we must use the C++ compiler's type
8725  *
8726  * The above comment should not be removed or changed until GNU
8727  * gcc/fixinc/inclhack.def is updated to bypass this header.
8728  */
8729 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h"
8730 extern char *dcgettext(const char *, const char *, const int);
8731 extern char *dgettext(const char *, const char *);
8732 extern char *gettext(const char *);
8733 extern char *textdomain(const char *);
8734 extern char *bindtextdomain(const char *, const char *);
8735 
8736 /*
8737  * LI18NUX 2000 Globalization Specification Version 1.0
8738  * with Amendment 2
8739  */
8740 extern char *dcngettext(const char *, const char *,
8741  const char *, unsigned long int, int);
8742 extern char *dngettext(const char *, const char *,
8743  const char *, unsigned long int);
8744 extern char *ngettext(const char *, const char *, unsigned long int);
8745 extern char *bind_textdomain_codeset(const char *, const char *);
8746 
8747 /* Word handling functions --- requires dynamic linking */
8748 /* Warning: these are experimental and subject to change. */
8749 extern int wdinit(void);
8750 extern int wdchkind(wchar_t);
8751 extern int wdbindf(wchar_t, wchar_t, int);
8752 extern wchar_t *wddelim(wchar_t, wchar_t, int);
8753 extern wchar_t mcfiller(void);
8754 extern int mcwrap(void);
8755 # 61 "../common/zones_args.c" 2
8756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1
8757 /*
8758  * CDDL HEADER START
8759  *
8760  * The contents of this file are subject to the terms of the
8761  * Common Development and Distribution License, Version 1.0 only
8762  * (the "License").  You may not use this file except in compliance
8763  * with the License.
8764  *
8765  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8766  * or http://www.opensolaris.org/os/licensing.
8767  * See the License for the specific language governing permissions
8768  * and limitations under the License.
8769  *
8770  * When distributing Covered Code, include this CDDL HEADER in each
8771  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8772  * If applicable, add the following below this CDDL HEADER, with the
8773  * fields enclosed by brackets "[]" replaced with your own identifying
8774  * information: Portions Copyright [yyyy] [name of copyright owner]
8775  *
8776  * CDDL HEADER END
8777  */
8778 /*
8779  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
8780  * Use is subject to license terms.
8781  */
8782 
8783 /*
8784  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8785  *
8786  * Portions of this file developed by Garrett D'Amore are licensed
8787  * under the terms of the Common Development and Distribution License (CDDL)
8788  * version 1.0 only.  The use of subsequent versions of the License are
8789  * is specifically prohibited unless those terms are not in conflict with
8790  * version 1.0 of the License.  You can find this license on-line at
8791  * http://www.illumos.org/license/CDDL
8792  */
8793 
8794 
8795 
8796 
8797 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1
8798 /*
8799  * CDDL HEADER START
8800  *
8801  * The contents of this file are subject to the terms of the
8802  * Common Development and Distribution License, Version 1.0 only
8803  * (the "License").  You may not use this file except in compliance
8804  * with the License.
8805  *
8806  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8807  * or http://www.opensolaris.org/os/licensing.
8808  * See the License for the specific language governing permissions
8809  * and limitations under the License.
8810  *
8811  * When distributing Covered Code, include this CDDL HEADER in each
8812  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8813  * If applicable, add the following below this CDDL HEADER, with the
8814  * fields enclosed by brackets "[]" replaced with your own identifying
8815  * information: Portions Copyright [yyyy] [name of copyright owner]
8816  *
8817  * CDDL HEADER END
8818  */
8819 /*
8820  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8821  * Copyright 2014 PALO, Richard.
8822  *
8823  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
8824  * Use is subject to license terms.
8825  */
8826 
8827 /*	Copyright (c) 1988 AT&T	*/
8828 /*	  All Rights Reserved  	*/
8829 
8830 
8831 /*
8832  * An application should not include this header directly.  Instead it
8833  * should be included only through the inclusion of other Sun headers.
8834  *
8835  * The contents of this header is limited to identifiers specified in the
8836  * C Standard.  Any new identifiers specified in future amendments to the
8837  * C Standard must be placed in this header.  If these new identifiers
8838  * are required to also be in the C++ Standard "std" namespace, then for
8839  * anything other than macro definitions, corresponding "using" directives
8840  * must also be added to <locale.h>.
8841  */
8842 
8843 
8844 
8845 
8846 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8847 /*
8848  * CDDL HEADER START
8849  *
8850  * The contents of this file are subject to the terms of the
8851  * Common Development and Distribution License (the "License").
8852  * You may not use this file except in compliance with the License.
8853  *
8854  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8855  * or http://www.opensolaris.org/os/licensing.
8856  * See the License for the specific language governing permissions
8857  * and limitations under the License.
8858  *
8859  * When distributing Covered Code, include this CDDL HEADER in each
8860  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8861  * If applicable, add the following below this CDDL HEADER, with the
8862  * fields enclosed by brackets "[]" replaced with your own identifying
8863  * information: Portions Copyright [yyyy] [name of copyright owner]
8864  *
8865  * CDDL HEADER END
8866  */
8867 
8868 /*
8869  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8870  * Copyright 2016 Joyent, Inc.
8871  *
8872  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8873  * Use is subject to license terms.
8874  */
8875 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
8876 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
8877 /*
8878  * This file and its contents are supplied under the terms of the
8879  * Common Development and Distribution License ("CDDL"), version 1.0.
8880  * You may only use this file in accordance with the terms of version
8881  * 1.0 of the CDDL.
8882  *
8883  * A full copy of the text of the CDDL should have accompanied this
8884  * source.  A copy of the CDDL is also available via the Internet at
8885  * http://www.illumos.org/license/CDDL.
8886  */
8887 
8888 /*
8889  * Copyright 2014-2016 PALO, Richard.
8890  */
8891 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2
8892 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8893 struct lconv {
8894  char *decimal_point;
8895  char *thousands_sep;
8896  char *grouping;
8897  char *int_curr_symbol;
8898  char *currency_symbol;
8899  char *mon_decimal_point;
8900  char *mon_thousands_sep;
8901  char *mon_grouping;
8902  char *positive_sign;
8903  char *negative_sign;
8904  char int_frac_digits;
8905  char frac_digits;
8906  char p_cs_precedes;
8907  char p_sep_by_space;
8908  char n_cs_precedes;
8909  char n_sep_by_space;
8910  char p_sign_posn;
8911  char n_sign_posn;
8912 
8913 /*
8914  * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999
8915  * standard.  Namespace and binary compatibility dictate that visibility
8916  * of these new members be limited.  Visibility is limited to a strictly
8917  * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined.
8918  */
8919 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8920 };
8921 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h"
8922 extern char *setlocale(int, const char *);
8923 extern struct lconv *localeconv(void);
8924 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
8925 
8926 
8927 
8928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
8929 /*
8930  * CDDL HEADER START
8931  *
8932  * The contents of this file are subject to the terms of the
8933  * Common Development and Distribution License (the "License").
8934  * You may not use this file except in compliance with the License.
8935  *
8936  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8937  * or http://www.opensolaris.org/os/licensing.
8938  * See the License for the specific language governing permissions
8939  * and limitations under the License.
8940  *
8941  * When distributing Covered Code, include this CDDL HEADER in each
8942  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8943  * If applicable, add the following below this CDDL HEADER, with the
8944  * fields enclosed by brackets "[]" replaced with your own identifying
8945  * information: Portions Copyright [yyyy] [name of copyright owner]
8946  *
8947  * CDDL HEADER END
8948  */
8949 /*
8950  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8951  *
8952  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
8953  * Use is subject to license terms.
8954  */
8955 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2
8956 
8957 
8958 /*
8959  * Allow global visibility for symbols defined in
8960  * C++ "std" namespace in <iso/locale_iso.h>.
8961  */
8962 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
8963 /*
8964  * These were added in POSIX 2008 as part of the newlocale() specification.
8965  */
8966 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h"
8967 extern locale_t duplocale(locale_t);
8968 extern void freelocale(locale_t);
8969 extern locale_t newlocale(int, const char *, locale_t);
8970 extern locale_t uselocale(locale_t);
8971 
8972 
8973 extern locale_t __global_locale(void);
8974 # 62 "../common/zones_args.c" 2
8975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.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, Version 1.0 only
8981  * (the "License").  You may not use this file except in compliance
8982  * with the License.
8983  *
8984  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8985  * or http://www.opensolaris.org/os/licensing.
8986  * See the License for the specific language governing permissions
8987  * and limitations under the License.
8988  *
8989  * When distributing Covered Code, include this CDDL HEADER in each
8990  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8991  * If applicable, add the following below this CDDL HEADER, with the
8992  * fields enclosed by brackets "[]" replaced with your own identifying
8993  * information: Portions Copyright [yyyy] [name of copyright owner]
8994  *
8995  * CDDL HEADER END
8996  */
8997 /*	Copyright (c) 1988 AT&T	*/
8998 /*	  All Rights Reserved  	*/
8999 
9000 /*
9001  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9002  * Copyright 2016 Joyent, Inc.
9003  * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
9004  *
9005  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
9006  * Use is subject to license terms.
9007  */
9008 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
9009 extern void __assert(const char *, const char *, int);
9010 
9011 
9012 /*
9013  * In C11 the static_assert macro is always defined, unlike the assert macro.
9014  */
9015 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h"
9016 /*
9017  * Note that the ANSI C Standard requires all headers to be idempotent except
9018  * <assert.h> which is explicitly required not to be idempotent (section 4.1.2).
9019  * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do
9020  * not span this entire file.
9021  */
9022 # 63 "../common/zones_args.c" 2
9023 
9024 /*
9025  * local includes
9026  */
9027 
9028 # 1 "../common/instzones_lib.h" 1
9029 /*
9030  * CDDL HEADER START
9031  *
9032  * The contents of this file are subject to the terms of the
9033  * Common Development and Distribution License (the "License").
9034  * You may not use this file except in compliance with the License.
9035  *
9036  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9037  * or http://www.opensolaris.org/os/licensing.
9038  * See the License for the specific language governing permissions
9039  * and limitations under the License.
9040  *
9041  * When distributing Covered Code, include this CDDL HEADER in each
9042  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9043  * If applicable, add the following below this CDDL HEADER, with the
9044  * fields enclosed by brackets "[]" replaced with your own identifying
9045  * information: Portions Copyright [yyyy] [name of copyright owner]
9046  *
9047  * CDDL HEADER END
9048  */
9049 /*
9050  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
9051  */
9052 
9053 
9054 
9055 
9056 
9057 
9058 
9059 /*
9060  * Module:	instzones_lib.h
9061  * Group:	libinstzones
9062  * Description:	This module contains the libinstzones internal data structures,
9063  *		constants, and function prototypes. This include should not be
9064  *		needed by any external code (consumers of this library).
9065  */
9066 
9067 /*
9068  * required includes
9069  */
9070 
9071 /* System includes */
9072 
9073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1
9074 /*
9075  * CDDL HEADER START
9076  *
9077  * The contents of this file are subject to the terms of the
9078  * Common Development and Distribution License (the "License").
9079  * You may not use this file except in compliance with the License.
9080  *
9081  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9082  * or http://www.opensolaris.org/os/licensing.
9083  * See the License for the specific language governing permissions
9084  * and limitations under the License.
9085  *
9086  * When distributing Covered Code, include this CDDL HEADER in each
9087  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9088  * If applicable, add the following below this CDDL HEADER, with the
9089  * fields enclosed by brackets "[]" replaced with your own identifying
9090  * information: Portions Copyright [yyyy] [name of copyright owner]
9091  *
9092  * CDDL HEADER END
9093  */
9094 /*
9095  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9096  * Use is subject to license terms.
9097  */
9098 
9099 
9100 
9101 
9102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9103 /*
9104  * CDDL HEADER START
9105  *
9106  * The contents of this file are subject to the terms of the
9107  * Common Development and Distribution License (the "License").
9108  * You may not use this file except in compliance with the License.
9109  *
9110  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9111  * or http://www.opensolaris.org/os/licensing.
9112  * See the License for the specific language governing permissions
9113  * and limitations under the License.
9114  *
9115  * When distributing Covered Code, include this CDDL HEADER in each
9116  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9117  * If applicable, add the following below this CDDL HEADER, with the
9118  * fields enclosed by brackets "[]" replaced with your own identifying
9119  * information: Portions Copyright [yyyy] [name of copyright owner]
9120  *
9121  * CDDL HEADER END
9122  */
9123 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9124 /*	  All Rights Reserved  	*/
9125 
9126 
9127 /*
9128  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9129  * Use is subject to license terms.
9130  *
9131  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9132  * Copyright 2016 Joyent, Inc.
9133  */
9134 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
9135 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1
9136 /*
9137  * CDDL HEADER START
9138  *
9139  * The contents of this file are subject to the terms of the
9140  * Common Development and Distribution License (the "License").
9141  * You may not use this file except in compliance with the License.
9142  *
9143  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9144  * or http://www.opensolaris.org/os/licensing.
9145  * See the License for the specific language governing permissions
9146  * and limitations under the License.
9147  *
9148  * When distributing Covered Code, include this CDDL HEADER in each
9149  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9150  * If applicable, add the following below this CDDL HEADER, with the
9151  * fields enclosed by brackets "[]" replaced with your own identifying
9152  * information: Portions Copyright [yyyy] [name of copyright owner]
9153  *
9154  * CDDL HEADER END
9155  */
9156 /*
9157  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
9158  * Copyright 2013, Joyent, Inc. All rights reserved.
9159  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
9160  * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>.
9161  */
9162 
9163 
9164 
9165 
9166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9167 /*
9168  * CDDL HEADER START
9169  *
9170  * The contents of this file are subject to the terms of the
9171  * Common Development and Distribution License (the "License").
9172  * You may not use this file except in compliance with the License.
9173  *
9174  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9175  * or http://www.opensolaris.org/os/licensing.
9176  * See the License for the specific language governing permissions
9177  * and limitations under the License.
9178  *
9179  * When distributing Covered Code, include this CDDL HEADER in each
9180  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9181  * If applicable, add the following below this CDDL HEADER, with the
9182  * fields enclosed by brackets "[]" replaced with your own identifying
9183  * information: Portions Copyright [yyyy] [name of copyright owner]
9184  *
9185  * CDDL HEADER END
9186  */
9187 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9188 /*	  All Rights Reserved  	*/
9189 
9190 
9191 /*
9192  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9193  * Use is subject to license terms.
9194  *
9195  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9196  * Copyright 2016 Joyent, Inc.
9197  */
9198 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
9200 /*
9201  * CDDL HEADER START
9202  *
9203  * The contents of this file are subject to the terms of the
9204  * Common Development and Distribution License (the "License").
9205  * You may not use this file except in compliance with the License.
9206  *
9207  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9208  * or http://www.opensolaris.org/os/licensing.
9209  * See the License for the specific language governing permissions
9210  * and limitations under the License.
9211  *
9212  * When distributing Covered Code, include this CDDL HEADER in each
9213  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9214  * If applicable, add the following below this CDDL HEADER, with the
9215  * fields enclosed by brackets "[]" replaced with your own identifying
9216  * information: Portions Copyright [yyyy] [name of copyright owner]
9217  *
9218  * CDDL HEADER END
9219  */
9220 /*
9221  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
9222  */
9223 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9224 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
9225 /*
9226  * CDDL HEADER START
9227  *
9228  * The contents of this file are subject to the terms of the
9229  * Common Development and Distribution License (the "License").
9230  * You may not use this file except in compliance with the License.
9231  *
9232  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9233  * or http://www.opensolaris.org/os/licensing.
9234  * See the License for the specific language governing permissions
9235  * and limitations under the License.
9236  *
9237  * When distributing Covered Code, include this CDDL HEADER in each
9238  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9239  * If applicable, add the following below this CDDL HEADER, with the
9240  * fields enclosed by brackets "[]" replaced with your own identifying
9241  * information: Portions Copyright [yyyy] [name of copyright owner]
9242  *
9243  * CDDL HEADER END
9244  */
9245 
9246 /*
9247  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
9248  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
9249  */
9250 
9251 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9252 /*	  All Rights Reserved  	*/
9253 
9254 /*
9255  * University Copyright- Copyright (c) 1982, 1986, 1988
9256  * The Regents of the University of California
9257  * All Rights Reserved
9258  *
9259  * University Acknowledgment- Portions of this document are derived from
9260  * software developed by the University of California, Berkeley, and its
9261  * contributors.
9262  */
9263 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
9265 /*
9266  * CDDL HEADER START
9267  *
9268  * The contents of this file are subject to the terms of the
9269  * Common Development and Distribution License (the "License").
9270  * You may not use this file except in compliance with the License.
9271  *
9272  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9273  * or http://www.opensolaris.org/os/licensing.
9274  * See the License for the specific language governing permissions
9275  * and limitations under the License.
9276  *
9277  * When distributing Covered Code, include this CDDL HEADER in each
9278  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9279  * If applicable, add the following below this CDDL HEADER, with the
9280  * fields enclosed by brackets "[]" replaced with your own identifying
9281  * information: Portions Copyright [yyyy] [name of copyright owner]
9282  *
9283  * CDDL HEADER END
9284  */
9285 /*
9286  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
9287  */
9288 
9289 
9290 
9291 
9292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1
9293 /*
9294  * CDDL HEADER START
9295  *
9296  * The contents of this file are subject to the terms of the
9297  * Common Development and Distribution License (the "License").
9298  * You may not use this file except in compliance with the License.
9299  *
9300  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9301  * or http://www.opensolaris.org/os/licensing.
9302  * See the License for the specific language governing permissions
9303  * and limitations under the License.
9304  *
9305  * When distributing Covered Code, include this CDDL HEADER in each
9306  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9307  * If applicable, add the following below this CDDL HEADER, with the
9308  * fields enclosed by brackets "[]" replaced with your own identifying
9309  * information: Portions Copyright [yyyy] [name of copyright owner]
9310  *
9311  * CDDL HEADER END
9312  */
9313 
9314 /*
9315  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
9316  * Copyright (c) 2012 by Delphix. All rights reserved.
9317  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9318  */
9319 
9320 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
9321 /*	  All Rights Reserved	*/
9322 
9323 
9324 
9325 
9326 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9327 /*
9328  * CDDL HEADER START
9329  *
9330  * The contents of this file are subject to the terms of the
9331  * Common Development and Distribution License (the "License").
9332  * You may not use this file except in compliance with the License.
9333  *
9334  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9335  * or http://www.opensolaris.org/os/licensing.
9336  * See the License for the specific language governing permissions
9337  * and limitations under the License.
9338  *
9339  * When distributing Covered Code, include this CDDL HEADER in each
9340  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9341  * If applicable, add the following below this CDDL HEADER, with the
9342  * fields enclosed by brackets "[]" replaced with your own identifying
9343  * information: Portions Copyright [yyyy] [name of copyright owner]
9344  *
9345  * CDDL HEADER END
9346  */
9347 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9348 /*	  All Rights Reserved  	*/
9349 
9350 
9351 /*
9352  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9353  * Use is subject to license terms.
9354  *
9355  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9356  * Copyright 2016 Joyent, Inc.
9357  */
9358 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
9359 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1
9360 /*
9361  * CDDL HEADER START
9362  *
9363  * The contents of this file are subject to the terms of the
9364  * Common Development and Distribution License (the "License").
9365  * You may not use this file except in compliance with the License.
9366  *
9367  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9368  * or http://www.opensolaris.org/os/licensing.
9369  * See the License for the specific language governing permissions
9370  * and limitations under the License.
9371  *
9372  * When distributing Covered Code, include this CDDL HEADER in each
9373  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9374  * If applicable, add the following below this CDDL HEADER, with the
9375  * fields enclosed by brackets "[]" replaced with your own identifying
9376  * information: Portions Copyright [yyyy] [name of copyright owner]
9377  *
9378  * CDDL HEADER END
9379  */
9380 /*
9381  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
9382  * Copyright (c) 2012 by Delphix. All rights reserved.
9383  */
9384 
9385 
9386 
9387 
9388 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9389 /*
9390  * CDDL HEADER START
9391  *
9392  * The contents of this file are subject to the terms of the
9393  * Common Development and Distribution License (the "License").
9394  * You may not use this file except in compliance with the License.
9395  *
9396  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9397  * or http://www.opensolaris.org/os/licensing.
9398  * See the License for the specific language governing permissions
9399  * and limitations under the License.
9400  *
9401  * When distributing Covered Code, include this CDDL HEADER in each
9402  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9403  * If applicable, add the following below this CDDL HEADER, with the
9404  * fields enclosed by brackets "[]" replaced with your own identifying
9405  * information: Portions Copyright [yyyy] [name of copyright owner]
9406  *
9407  * CDDL HEADER END
9408  */
9409 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9410 /*	  All Rights Reserved  	*/
9411 
9412 
9413 /*
9414  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9415  * Use is subject to license terms.
9416  *
9417  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9418  * Copyright 2016 Joyent, Inc.
9419  */
9420 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2
9421 
9422 
9423 
9424 
9425 
9426 
9427 /*
9428  * Per-allocation flags
9429  */
9430 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
9431 /*
9432  * The following flags are restricted for use only within the kernel.
9433  * VM_MEMLOAD is for use by the HAT to avoid infinite recursion.
9434  * VM_NORELOC is used by the kernel when static VA->PA mappings are required.
9435  */
9436 
9437 
9438 /*
9439  * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags
9440  * and forgo reaping if the allocation or attempted import, fails.  This
9441  * flag is a segkmem-specific flag, and should not be used by anyone else.
9442  */
9443 
9444 
9445 /*
9446  * VM_ENDALLOC requests that large addresses be preferred in allocations.
9447  * Has no effect if VM_NEXTFIT is active.
9448  */
9449 
9450 
9451 
9452 
9453 /*
9454  * Arena creation flags
9455  */
9456 
9457 
9458 
9459 
9460 /*
9461  * internal use only;	the import function uses the vmem_ximport_t interface
9462  *			and may increase the request size if it so desires.
9463  *			VMC_XALIGN, for use with vmem_xcreate, specifies that
9464  *			the address returned by the import function will be
9465  *			aligned according to the alignment argument.
9466  */
9467 
9468 
9469 
9470 
9471 /*
9472  * Public segment types
9473  */
9474 
9475 
9476 
9477 /*
9478  * Implementation-private segment types
9479  */
9480 
9481 
9482 
9483 
9484 /*
9485  * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may
9486  * call back into the arena being walked, so vmem_walk() must drop the
9487  * arena lock before each callback.  The caveat is that since the arena
9488  * isn't locked, its state can change.  Therefore it is up to the callback
9489  * routine to handle cases where the segment isn't of the expected type.
9490  * For example, we use this to walk heap_arena when generating a crash dump;
9491  * see segkmem_dump() for sample usage.
9492  */
9493 
9494 
9495 typedef struct vmem vmem_t;
9496 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int);
9497 typedef void (vmem_free_t)(vmem_t *, void *, size_t);
9498 
9499 /*
9500  * Alternate import style; the requested size is passed in a pointer,
9501  * which can be increased by the import function if desired.
9502  */
9503 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int);
9504 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h"
9505 extern vmem_t *vmem_create(const char *, void *, size_t, size_t,
9506     vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int);
9507 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t,
9508     vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int);
9509 extern void vmem_destroy(vmem_t *);
9510 extern void *vmem_alloc(vmem_t *, size_t, int);
9511 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t,
9512     void *, void *, int);
9513 extern void vmem_free(vmem_t *, void *, size_t);
9514 extern void vmem_xfree(vmem_t *, void *, size_t);
9515 extern void *vmem_add(vmem_t *, void *, size_t, int);
9516 extern int vmem_contains(vmem_t *, void *, size_t);
9517 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *);
9518 extern size_t vmem_size(vmem_t *, int);
9519 extern void vmem_qcache_reap(vmem_t *vmp);
9520 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2
9521 
9522 
9523 
9524 
9525 
9526 /*
9527  * Kernel memory allocator: DDI interfaces.
9528  * See kmem_alloc(9F) for details.
9529  */
9530 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
9531 /*
9532  * Kernel memory allocator: private interfaces.
9533  * These interfaces are still evolving.
9534  * Do not use them in unbundled drivers.
9535  */
9536 
9537 /*
9538  * Flags for kmem_cache_create()
9539  */
9540 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h"
9541 struct kmem_cache; /* cache structure is opaque to kmem clients */
9542 
9543 typedef struct kmem_cache kmem_cache_t;
9544 
9545 /* Client response to kmem move callback */
9546 typedef enum kmem_cbrc {
9547  KMEM_CBRC_YES,
9548  KMEM_CBRC_NO,
9549  KMEM_CBRC_LATER,
9550  KMEM_CBRC_DONT_NEED,
9551  KMEM_CBRC_DONT_KNOW
9552 } kmem_cbrc_t;
9553 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
9554 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1
9555 /*
9556  * CDDL HEADER START
9557  *
9558  * The contents of this file are subject to the terms of the
9559  * Common Development and Distribution License (the "License").
9560  * You may not use this file except in compliance with the License.
9561  *
9562  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9563  * or http://www.opensolaris.org/os/licensing.
9564  * See the License for the specific language governing permissions
9565  * and limitations under the License.
9566  *
9567  * When distributing Covered Code, include this CDDL HEADER in each
9568  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9569  * If applicable, add the following below this CDDL HEADER, with the
9570  * fields enclosed by brackets "[]" replaced with your own identifying
9571  * information: Portions Copyright [yyyy] [name of copyright owner]
9572  *
9573  * CDDL HEADER END
9574  */
9575 /*
9576  * Copyright 2014 Garrrett D'Amore <garrett@damore.org>
9577  *
9578  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9579  * Use is subject to license terms.
9580  */
9581 
9582 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9583 /*	  All Rights Reserved  	*/
9584 
9585 /*
9586  * University Copyright- Copyright (c) 1982, 1986, 1988
9587  * The Regents of the University of California
9588  * All Rights Reserved
9589  *
9590  * University Acknowledgment- Portions of this document are derived from
9591  * software developed by the University of California, Berkeley, and its
9592  * contributors.
9593  */
9594 
9595 
9596 
9597 
9598 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9599 /*
9600  * CDDL HEADER START
9601  *
9602  * The contents of this file are subject to the terms of the
9603  * Common Development and Distribution License (the "License").
9604  * You may not use this file except in compliance with the License.
9605  *
9606  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9607  * or http://www.opensolaris.org/os/licensing.
9608  * See the License for the specific language governing permissions
9609  * and limitations under the License.
9610  *
9611  * When distributing Covered Code, include this CDDL HEADER in each
9612  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9613  * If applicable, add the following below this CDDL HEADER, with the
9614  * fields enclosed by brackets "[]" replaced with your own identifying
9615  * information: Portions Copyright [yyyy] [name of copyright owner]
9616  *
9617  * CDDL HEADER END
9618  */
9619 
9620 /*
9621  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9622  * Copyright 2016 Joyent, Inc.
9623  *
9624  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9625  * Use is subject to license terms.
9626  */
9627 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9628 
9629 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9630 /*
9631  * CDDL HEADER START
9632  *
9633  * The contents of this file are subject to the terms of the
9634  * Common Development and Distribution License (the "License").
9635  * You may not use this file except in compliance with the License.
9636  *
9637  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9638  * or http://www.opensolaris.org/os/licensing.
9639  * See the License for the specific language governing permissions
9640  * and limitations under the License.
9641  *
9642  * When distributing Covered Code, include this CDDL HEADER in each
9643  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9644  * If applicable, add the following below this CDDL HEADER, with the
9645  * fields enclosed by brackets "[]" replaced with your own identifying
9646  * information: Portions Copyright [yyyy] [name of copyright owner]
9647  *
9648  * CDDL HEADER END
9649  */
9650 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9651 /*	  All Rights Reserved  	*/
9652 
9653 
9654 /*
9655  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9656  * Use is subject to license terms.
9657  *
9658  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9659  * Copyright 2016 Joyent, Inc.
9660  */
9661 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9662 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
9663 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9664 /*	  All Rights Reserved  	*/
9665 
9666 
9667 /*
9668  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
9669  * All rights reserved.  The Berkeley software License Agreement
9670  * specifies the terms and conditions for redistribution.
9671  */
9672 
9673 /*
9674  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9675  *
9676  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9677  * Use is subject to license terms.
9678  *
9679  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9680  */
9681 
9682 /*
9683  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
9684  */
9685 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2
9686 
9687 
9688 
9689 
9690 
9691 /*
9692  * Process priority specifications
9693  */
9694 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9695 /*
9696  * Resource limits
9697  */
9698 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9699 typedef unsigned long rlim_t;
9700 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9701 struct rlimit {
9702  rlim_t rlim_cur; /* current limit */
9703  rlim_t rlim_max; /* maximum value for rlim_cur */
9704 };
9705 
9706 /* transitional large file interface versions */
9707 
9708 
9709 typedef u_longlong_t rlim64_t;
9710 
9711 
9712 
9713 
9714 
9715 struct rlimit64 {
9716  rlim64_t rlim_cur; /* current limit */
9717  rlim64_t rlim_max; /* maximum value for rlim_cur */
9718 };
9719 
9720 
9721 
9722 /*
9723  * Although the saved rlimits were initially introduced by the large file API,
9724  * they are now available for all resource limits on the 64-bit kernel and for
9725  * cpu time and file size limits on the 32-bit kernel.
9726  */
9727 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9728 struct rusage {
9729  struct timeval ru_utime; /* user time used */
9730  struct timeval ru_stime; /* system time used */
9731  long ru_maxrss; /* <unimp> */
9732  long ru_ixrss; /* <unimp> */
9733  long ru_idrss; /* <unimp> */
9734  long ru_isrss; /* <unimp> */
9735  long ru_minflt; /* any page faults not requiring I/O */
9736  long ru_majflt; /* any page faults requiring I/O */
9737  long ru_nswap; /* swaps */
9738  long ru_inblock; /* block input operations */
9739  long ru_oublock; /* block output operations */
9740  long ru_msgsnd; /* streams messsages sent */
9741  long ru_msgrcv; /* streams messages received */
9742  long ru_nsignals; /* signals received */
9743  long ru_nvcsw; /* voluntary context switches */
9744  long ru_nivcsw; /* involuntary " */
9745 };
9746 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9747 /*
9748  * In the LP64 compilation environment, map large file interfaces
9749  * back to native versions where possible.
9750  */
9751 
9752 
9753 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9754 #pragma redefine_extname setrlimit64 setrlimit
9755 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9756 
9757 
9758 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9759 #pragma redefine_extname getrlimit64 getrlimit
9760 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9761 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h"
9762 extern int setrlimit(int, const struct rlimit *);
9763 extern int getrlimit(int, struct rlimit *);
9764 
9765 /* transitional large file interfaces */
9766 
9767 
9768 extern int setrlimit64(int, const struct rlimit64 *);
9769 extern int getrlimit64(int, struct rlimit64 *);
9770 
9771 
9772 extern int getpriority(int, id_t);
9773 extern int setpriority(int, id_t, int);
9774 extern int getrusage(int, struct rusage *);
9775 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
9776 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9777 /*
9778  * CDDL HEADER START
9779  *
9780  * The contents of this file are subject to the terms of the
9781  * Common Development and Distribution License (the "License").
9782  * You may not use this file except in compliance with the License.
9783  *
9784  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9785  * or http://www.opensolaris.org/os/licensing.
9786  * See the License for the specific language governing permissions
9787  * and limitations under the License.
9788  *
9789  * When distributing Covered Code, include this CDDL HEADER in each
9790  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9791  * If applicable, add the following below this CDDL HEADER, with the
9792  * fields enclosed by brackets "[]" replaced with your own identifying
9793  * information: Portions Copyright [yyyy] [name of copyright owner]
9794  *
9795  * CDDL HEADER END
9796  */
9797 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9798 /*	  All Rights Reserved  	*/
9799 
9800 
9801 /*
9802  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9803  * Use is subject to license terms.
9804  *
9805  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9806  * Copyright 2016 Joyent, Inc.
9807  */
9808 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2
9809 
9810 
9811 
9812 
9813 
9814 /*
9815  * Available local actions and flags.
9816  */
9817 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
9818 /*
9819  * Available global actions and flags.
9820  */
9821 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
9822 /*
9823  * getrctl(2) flag values
9824  */
9825 
9826 
9827 
9828 
9829 /*
9830  * setrctl(2) flag values
9831  */
9832 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h"
9833 /*
9834  * rctl_priv_t: rctl privilege defined values
9835  *   A large amount of space has been deliberately left between these privileges
9836  *   to permit future enrichment of the control privilege value.
9837  */
9838 
9839 
9840 
9841 
9842 typedef u_longlong_t rctl_qty_t; /* resource control numerical values   */
9843 typedef int rctl_priv_t;
9844 
9845 typedef struct rctlblk rctlblk_t;
9846 
9847 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int);
9848 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int);
9849 
9850 typedef enum {
9851  RCENTITY_PROCESS,
9852  RCENTITY_TASK,
9853  RCENTITY_PROJECT,
9854  RCENTITY_ZONE
9855 } rctl_entity_t;
9856 
9857 
9858 
9859 
9860 typedef struct rctl_set rctl_set_t;
9861 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9862 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1
9863 /*
9864  * CDDL HEADER START
9865  *
9866  * The contents of this file are subject to the terms of the
9867  * Common Development and Distribution License (the "License").
9868  * You may not use this file except in compliance with the License.
9869  *
9870  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9871  * or http://www.opensolaris.org/os/licensing.
9872  * See the License for the specific language governing permissions
9873  * and limitations under the License.
9874  *
9875  * When distributing Covered Code, include this CDDL HEADER in each
9876  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9877  * If applicable, add the following below this CDDL HEADER, with the
9878  * fields enclosed by brackets "[]" replaced with your own identifying
9879  * information: Portions Copyright [yyyy] [name of copyright owner]
9880  *
9881  * CDDL HEADER END
9882  */
9883 /*
9884  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9885  * Use is subject to license terms.
9886  */
9887 
9888 
9889 
9890 
9891 #pragma ident "%Z%%M%	%I%	%E% SMI"
9892 
9893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
9894 /*
9895  * CDDL HEADER START
9896  *
9897  * The contents of this file are subject to the terms of the
9898  * Common Development and Distribution License (the "License").
9899  * You may not use this file except in compliance with the License.
9900  *
9901  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9902  * or http://www.opensolaris.org/os/licensing.
9903  * See the License for the specific language governing permissions
9904  * and limitations under the License.
9905  *
9906  * When distributing Covered Code, include this CDDL HEADER in each
9907  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9908  * If applicable, add the following below this CDDL HEADER, with the
9909  * fields enclosed by brackets "[]" replaced with your own identifying
9910  * information: Portions Copyright [yyyy] [name of copyright owner]
9911  *
9912  * CDDL HEADER END
9913  */
9914 /*
9915  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
9916  */
9917 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2
9918 
9919 
9920 
9921 
9922 
9923 typedef struct ipc_rqty { /* datum protected by:	*/
9924  rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock	*/
9925  rctl_qty_t ipcq_semmni; /* sem's ipcs_lock	*/
9926  rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock	*/
9927 } ipc_rqty_t;
9928 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
9929 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1
9930 /*
9931  * CDDL HEADER START
9932  *
9933  * The contents of this file are subject to the terms of the
9934  * Common Development and Distribution License (the "License").
9935  * You may not use this file except in compliance with the License.
9936  *
9937  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9938  * or http://www.opensolaris.org/os/licensing.
9939  * See the License for the specific language governing permissions
9940  * and limitations under the License.
9941  *
9942  * When distributing Covered Code, include this CDDL HEADER in each
9943  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9944  * If applicable, add the following below this CDDL HEADER, with the
9945  * fields enclosed by brackets "[]" replaced with your own identifying
9946  * information: Portions Copyright [yyyy] [name of copyright owner]
9947  *
9948  * CDDL HEADER END
9949  */
9950 /*
9951  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9952  *
9953  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9954  * Use is subject to license terms.
9955  */
9956 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
9957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
9958 /*
9959  * CDDL HEADER START
9960  *
9961  * The contents of this file are subject to the terms of the
9962  * Common Development and Distribution License (the "License").
9963  * You may not use this file except in compliance with the License.
9964  *
9965  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9966  * or http://www.opensolaris.org/os/licensing.
9967  * See the License for the specific language governing permissions
9968  * and limitations under the License.
9969  *
9970  * When distributing Covered Code, include this CDDL HEADER in each
9971  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9972  * If applicable, add the following below this CDDL HEADER, with the
9973  * fields enclosed by brackets "[]" replaced with your own identifying
9974  * information: Portions Copyright [yyyy] [name of copyright owner]
9975  *
9976  * CDDL HEADER END
9977  */
9978 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
9979 /*	  All Rights Reserved  	*/
9980 
9981 
9982 /*
9983  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9984  * Use is subject to license terms.
9985  *
9986  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
9987  * Copyright 2016 Joyent, Inc.
9988  */
9989 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
9990 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1
9991 /*
9992  * CDDL HEADER START
9993  *
9994  * The contents of this file are subject to the terms of the
9995  * Common Development and Distribution License (the "License").
9996  * You may not use this file except in compliance with the License.
9997  *
9998  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9999  * or http://www.opensolaris.org/os/licensing.
10000  * See the License for the specific language governing permissions
10001  * and limitations under the License.
10002  *
10003  * When distributing Covered Code, include this CDDL HEADER in each
10004  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10005  * If applicable, add the following below this CDDL HEADER, with the
10006  * fields enclosed by brackets "[]" replaced with your own identifying
10007  * information: Portions Copyright [yyyy] [name of copyright owner]
10008  *
10009  * CDDL HEADER END
10010  */
10011 /*
10012  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
10013  *	  All Rights Reserved
10014  *
10015  */
10016 
10017 /*
10018  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10019  *
10020  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
10021  * Use is subject to license terms.
10022  */
10023 
10024 
10025 
10026 
10027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10028 /*
10029  * CDDL HEADER START
10030  *
10031  * The contents of this file are subject to the terms of the
10032  * Common Development and Distribution License (the "License").
10033  * You may not use this file except in compliance with the License.
10034  *
10035  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10036  * or http://www.opensolaris.org/os/licensing.
10037  * See the License for the specific language governing permissions
10038  * and limitations under the License.
10039  *
10040  * When distributing Covered Code, include this CDDL HEADER in each
10041  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10042  * If applicable, add the following below this CDDL HEADER, with the
10043  * fields enclosed by brackets "[]" replaced with your own identifying
10044  * information: Portions Copyright [yyyy] [name of copyright owner]
10045  *
10046  * CDDL HEADER END
10047  */
10048 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10049 /*	  All Rights Reserved  	*/
10050 
10051 
10052 /*
10053  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10054  * Use is subject to license terms.
10055  *
10056  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10057  * Copyright 2016 Joyent, Inc.
10058  */
10059 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
10060 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
10061 /*
10062  * CDDL HEADER START
10063  *
10064  * The contents of this file are subject to the terms of the
10065  * Common Development and Distribution License, Version 1.0 only
10066  * (the "License").  You may not use this file except in compliance
10067  * with the License.
10068  *
10069  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10070  * or http://www.opensolaris.org/os/licensing.
10071  * See the License for the specific language governing permissions
10072  * and limitations under the License.
10073  *
10074  * When distributing Covered Code, include this CDDL HEADER in each
10075  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10076  * If applicable, add the following below this CDDL HEADER, with the
10077  * fields enclosed by brackets "[]" replaced with your own identifying
10078  * information: Portions Copyright [yyyy] [name of copyright owner]
10079  *
10080  * CDDL HEADER END
10081  */
10082 /*
10083  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10084  * Use is subject to license terms.
10085  */
10086 
10087 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10088 /*	  All Rights Reserved  	*/
10089 
10090 
10091 
10092 
10093 
10094 #pragma ident "%Z%%M%	%I%	%E% SMI"
10095 
10096 
10097 
10098 
10099 
10100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10101 /*
10102  * CDDL HEADER START
10103  *
10104  * The contents of this file are subject to the terms of the
10105  * Common Development and Distribution License (the "License").
10106  * You may not use this file except in compliance with the License.
10107  *
10108  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10109  * or http://www.opensolaris.org/os/licensing.
10110  * See the License for the specific language governing permissions
10111  * and limitations under the License.
10112  *
10113  * When distributing Covered Code, include this CDDL HEADER in each
10114  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10115  * If applicable, add the following below this CDDL HEADER, with the
10116  * fields enclosed by brackets "[]" replaced with your own identifying
10117  * information: Portions Copyright [yyyy] [name of copyright owner]
10118  *
10119  * CDDL HEADER END
10120  */
10121 
10122 /*
10123  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10124  * Copyright 2016 Joyent, Inc.
10125  *
10126  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10127  * Use is subject to license terms.
10128  */
10129 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
10130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10131 /*
10132  * CDDL HEADER START
10133  *
10134  * The contents of this file are subject to the terms of the
10135  * Common Development and Distribution License (the "License").
10136  * You may not use this file except in compliance with the License.
10137  *
10138  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10139  * or http://www.opensolaris.org/os/licensing.
10140  * See the License for the specific language governing permissions
10141  * and limitations under the License.
10142  *
10143  * When distributing Covered Code, include this CDDL HEADER in each
10144  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10145  * If applicable, add the following below this CDDL HEADER, with the
10146  * fields enclosed by brackets "[]" replaced with your own identifying
10147  * information: Portions Copyright [yyyy] [name of copyright owner]
10148  *
10149  * CDDL HEADER END
10150  */
10151 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10152 /*	  All Rights Reserved  	*/
10153 
10154 
10155 /*
10156  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10157  * Use is subject to license terms.
10158  *
10159  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10160  * Copyright 2016 Joyent, Inc.
10161  */
10162 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
10163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1
10164 /*
10165  * CDDL HEADER START
10166  *
10167  * The contents of this file are subject to the terms of the
10168  * Common Development and Distribution License (the "License").
10169  * You may not use this file except in compliance with the License.
10170  *
10171  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10172  * or http://www.opensolaris.org/os/licensing.
10173  * See the License for the specific language governing permissions
10174  * and limitations under the License.
10175  *
10176  * When distributing Covered Code, include this CDDL HEADER in each
10177  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10178  * If applicable, add the following below this CDDL HEADER, with the
10179  * fields enclosed by brackets "[]" replaced with your own identifying
10180  * information: Portions Copyright [yyyy] [name of copyright owner]
10181  *
10182  * CDDL HEADER END
10183  */
10184 
10185 /*
10186  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
10187  * Use is subject to license terms.
10188  */
10189 
10190 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10191 /*	  All Rights Reserved  	*/
10192 
10193 /*
10194  * University Copyright- Copyright (c) 1982, 1986, 1988
10195  * The Regents of the University of California
10196  * All Rights Reserved
10197  *
10198  * University Acknowledgment- Portions of this document are derived from
10199  * software developed by the University of California, Berkeley, and its
10200  * contributors.
10201  */
10202 
10203 
10204 
10205 
10206 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10207 /*
10208  * CDDL HEADER START
10209  *
10210  * The contents of this file are subject to the terms of the
10211  * Common Development and Distribution License (the "License").
10212  * You may not use this file except in compliance with the License.
10213  *
10214  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10215  * or http://www.opensolaris.org/os/licensing.
10216  * See the License for the specific language governing permissions
10217  * and limitations under the License.
10218  *
10219  * When distributing Covered Code, include this CDDL HEADER in each
10220  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10221  * If applicable, add the following below this CDDL HEADER, with the
10222  * fields enclosed by brackets "[]" replaced with your own identifying
10223  * information: Portions Copyright [yyyy] [name of copyright owner]
10224  *
10225  * CDDL HEADER END
10226  */
10227 
10228 /*
10229  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10230  * Copyright 2016 Joyent, Inc.
10231  *
10232  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10233  * Use is subject to license terms.
10234  */
10235 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
10236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.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 
10258 /*
10259  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
10260  * Use is subject to license terms.
10261  */
10262 
10263 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10264 /*	  All Rights Reserved  	*/
10265 
10266 /*
10267  * An application should not include this header directly.  Instead it
10268  * should be included only through the inclusion of other Sun headers.
10269  *
10270  * The contents of this header is limited to identifiers specified in the
10271  * C Standard.  Any new identifiers specified in future amendments to the
10272  * C Standard must be placed in this header.  If these new identifiers
10273  * are required to also be in the C++ Standard "std" namespace, then for
10274  * anything other than macro definitions, corresponding "using" directives
10275  * must also be added to <sys/signal.h.h>.
10276  */
10277 
10278 
10279 
10280 
10281 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
10282 /*
10283  * CDDL HEADER START
10284  *
10285  * The contents of this file are subject to the terms of the
10286  * Common Development and Distribution License (the "License").
10287  * You may not use this file except in compliance with the License.
10288  *
10289  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10290  * or http://www.opensolaris.org/os/licensing.
10291  * See the License for the specific language governing permissions
10292  * and limitations under the License.
10293  *
10294  * When distributing Covered Code, include this CDDL HEADER in each
10295  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10296  * If applicable, add the following below this CDDL HEADER, with the
10297  * fields enclosed by brackets "[]" replaced with your own identifying
10298  * information: Portions Copyright [yyyy] [name of copyright owner]
10299  *
10300  * CDDL HEADER END
10301  */
10302 
10303 /*
10304  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
10305  *	  All Rights Reserved
10306  *
10307  */
10308 
10309 /*
10310  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10311  * Use is subject to license terms.
10312  */
10313 
10314 /*
10315  * WARNING: This is an implementation-specific header,
10316  * its contents are not guaranteed. Applications
10317  * should include <unistd.h> and not this header.
10318  */
10319 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2
10320 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h"
10321 /* insert new signals here, and move _SIGRTM* appropriately */
10322 
10323 
10324 extern long _sysconf(int); /* System Private interface to sysconf() */
10325 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
10326 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10327 /*
10328  * We need <sys/siginfo.h> for the declaration of siginfo_t.
10329  */
10330 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1
10331 /*
10332  * CDDL HEADER START
10333  *
10334  * The contents of this file are subject to the terms of the
10335  * Common Development and Distribution License, Version 1.0 only
10336  * (the "License").  You may not use this file except in compliance
10337  * with the License.
10338  *
10339  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10340  * or http://www.opensolaris.org/os/licensing.
10341  * See the License for the specific language governing permissions
10342  * and limitations under the License.
10343  *
10344  * When distributing Covered Code, include this CDDL HEADER in each
10345  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10346  * If applicable, add the following below this CDDL HEADER, with the
10347  * fields enclosed by brackets "[]" replaced with your own identifying
10348  * information: Portions Copyright [yyyy] [name of copyright owner]
10349  *
10350  * CDDL HEADER END
10351  */
10352 /*
10353  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10354  * Use is subject to license terms.
10355  */
10356 
10357 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10358 /*	  All Rights Reserved  	*/
10359 
10360 
10361 
10362 
10363 #pragma ident "%Z%%M%	%I%	%E% SMI"
10364 
10365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10366 /*
10367  * CDDL HEADER START
10368  *
10369  * The contents of this file are subject to the terms of the
10370  * Common Development and Distribution License (the "License").
10371  * You may not use this file except in compliance with the License.
10372  *
10373  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10374  * or http://www.opensolaris.org/os/licensing.
10375  * See the License for the specific language governing permissions
10376  * and limitations under the License.
10377  *
10378  * When distributing Covered Code, include this CDDL HEADER in each
10379  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10380  * If applicable, add the following below this CDDL HEADER, with the
10381  * fields enclosed by brackets "[]" replaced with your own identifying
10382  * information: Portions Copyright [yyyy] [name of copyright owner]
10383  *
10384  * CDDL HEADER END
10385  */
10386 
10387 /*
10388  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10389  * Copyright 2016 Joyent, Inc.
10390  *
10391  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10392  * Use is subject to license terms.
10393  */
10394 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
10395 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10396 /*
10397  * CDDL HEADER START
10398  *
10399  * The contents of this file are subject to the terms of the
10400  * Common Development and Distribution License (the "License").
10401  * You may not use this file except in compliance with the License.
10402  *
10403  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10404  * or http://www.opensolaris.org/os/licensing.
10405  * See the License for the specific language governing permissions
10406  * and limitations under the License.
10407  *
10408  * When distributing Covered Code, include this CDDL HEADER in each
10409  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10410  * If applicable, add the following below this CDDL HEADER, with the
10411  * fields enclosed by brackets "[]" replaced with your own identifying
10412  * information: Portions Copyright [yyyy] [name of copyright owner]
10413  *
10414  * CDDL HEADER END
10415  */
10416 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10417 /*	  All Rights Reserved  	*/
10418 
10419 
10420 /*
10421  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10422  * Use is subject to license terms.
10423  *
10424  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10425  * Copyright 2016 Joyent, Inc.
10426  */
10427 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
10428 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10429 /*
10430  * The union sigval is also defined in <time.h> as per X/Open and
10431  * POSIX requirements.
10432  */
10433 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10434 /*
10435  * The sigevent structure is also defined in <time.h> as per X/Open and
10436  * POSIX requirements.
10437  */
10438 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10439 /* values of sigev_notify */
10440 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10441 /*
10442  * negative signal codes are reserved for future use for user generated
10443  * signals
10444  */
10445 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10446 /*
10447  * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and
10448  * SIGBUS) from <sys/machsig.h>
10449  */
10450 
10451 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1
10452 /*
10453  * CDDL HEADER START
10454  *
10455  * The contents of this file are subject to the terms of the
10456  * Common Development and Distribution License, Version 1.0 only
10457  * (the "License").  You may not use this file except in compliance
10458  * with the License.
10459  *
10460  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10461  * or http://www.opensolaris.org/os/licensing.
10462  * See the License for the specific language governing permissions
10463  * and limitations under the License.
10464  *
10465  * When distributing Covered Code, include this CDDL HEADER in each
10466  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10467  * If applicable, add the following below this CDDL HEADER, with the
10468  * fields enclosed by brackets "[]" replaced with your own identifying
10469  * information: Portions Copyright [yyyy] [name of copyright owner]
10470  *
10471  * CDDL HEADER END
10472  */
10473 /*
10474  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
10475  * Use is subject to license terms.
10476  */
10477 
10478 /*	Copyright (c) 1988 AT&T	*/
10479 /*	  All Rights Reserved  	*/
10480 
10481 
10482 
10483 
10484 
10485 #pragma ident "%Z%%M%	%I%	%E% SMI"
10486 
10487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10488 /*
10489  * CDDL HEADER START
10490  *
10491  * The contents of this file are subject to the terms of the
10492  * Common Development and Distribution License (the "License").
10493  * You may not use this file except in compliance with the License.
10494  *
10495  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10496  * or http://www.opensolaris.org/os/licensing.
10497  * See the License for the specific language governing permissions
10498  * and limitations under the License.
10499  *
10500  * When distributing Covered Code, include this CDDL HEADER in each
10501  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10502  * If applicable, add the following below this CDDL HEADER, with the
10503  * fields enclosed by brackets "[]" replaced with your own identifying
10504  * information: Portions Copyright [yyyy] [name of copyright owner]
10505  *
10506  * CDDL HEADER END
10507  */
10508 
10509 /*
10510  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10511  * Copyright 2016 Joyent, Inc.
10512  *
10513  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10514  * Use is subject to license terms.
10515  */
10516 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
10517 
10518 
10519 
10520 
10521 
10522 /*
10523  * machsig.h is the machine dependent portion of siginfo.h (and is
10524  * included by siginfo.h). A version of machsig.h should exist for
10525  * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS
10526  * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and
10527  * SIGPOLL are architecture independent and may be found in siginfo.h.
10528  */
10529 
10530 
10531 
10532 
10533 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1
10534 /*
10535  * CDDL HEADER START
10536  *
10537  * The contents of this file are subject to the terms of the
10538  * Common Development and Distribution License (the "License").
10539  * You may not use this file except in compliance with the License.
10540  *
10541  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10542  * or http://www.opensolaris.org/os/licensing.
10543  * See the License for the specific language governing permissions
10544  * and limitations under the License.
10545  *
10546  * When distributing Covered Code, include this CDDL HEADER in each
10547  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10548  * If applicable, add the following below this CDDL HEADER, with the
10549  * fields enclosed by brackets "[]" replaced with your own identifying
10550  * information: Portions Copyright [yyyy] [name of copyright owner]
10551  *
10552  * CDDL HEADER END
10553  */
10554 /*
10555  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
10556  * Use is subject to license terms.
10557  */
10558 
10559 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10560 /*	  All Rights Reserved  	*/
10561 
10562 /*
10563  * University Copyright- Copyright (c) 1982, 1986, 1988
10564  * The Regents of the University of California
10565  * All Rights Reserved
10566  *
10567  * University Acknowledgment- Portions of this document are derived from
10568  * software developed by the University of California, Berkeley, and its
10569  * contributors.
10570  */
10571 
10572 
10573 
10574 
10575 #pragma ident "%Z%%M%	%I%	%E% SMI"
10576 
10577 
10578 
10579 
10580 
10581 /*
10582  * This file describes the data type returned by vm routines
10583  * which handle faults.
10584  *
10585  * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value
10586  * returned by the underlying object mapped at the fault address.
10587  */
10588 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h"
10589 typedef int faultcode_t; /* type returned by vm fault routines */
10590 
10591 extern int fc_decode(faultcode_t);
10592 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2
10593 
10594 
10595 /*
10596  * SIGILL signal codes
10597  */
10598 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
10599 /*
10600  * SIGEMT signal codes
10601  */
10602 
10603 
10604 
10605 
10606 
10607 
10608 /*
10609  * SIGFPE signal codes
10610  */
10611 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h"
10612 /*
10613  * SIGSEGV signal codes
10614  */
10615 
10616 
10617 
10618 
10619 
10620 
10621 
10622 /*
10623  * SIGBUS signal codes
10624  */
10625 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
10626 
10627 /*
10628  * SIGTRAP signal codes
10629  */
10630 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10631 /*
10632  * SIGCLD signal codes
10633  */
10634 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10635 /*
10636  * SIGPOLL signal codes
10637  */
10638 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10639 /*
10640  * SIGPROF signal codes
10641  */
10642 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10643 /*
10644  * Inclusion of <sys/time_impl.h> is needed for the declaration of
10645  * timestruc_t.  However, since inclusion of <sys/time_impl.h> results
10646  * in X/Open and POSIX namespace pollution, the definition for
10647  * timestruct_t has been duplicated in a standards namespace safe header
10648  * <sys/time_std_impl.h>.  In <sys/time_std_impl.h>, the structure
10649  * name, tag, and member names, as well as the type itself, all have
10650  * leading underscores to protect namespace.
10651  */
10652 
10653 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
10654 /*
10655  * CDDL HEADER START
10656  *
10657  * The contents of this file are subject to the terms of the
10658  * Common Development and Distribution License, Version 1.0 only
10659  * (the "License").  You may not use this file except in compliance
10660  * with the License.
10661  *
10662  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10663  * or http://www.opensolaris.org/os/licensing.
10664  * See the License for the specific language governing permissions
10665  * and limitations under the License.
10666  *
10667  * When distributing Covered Code, include this CDDL HEADER in each
10668  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10669  * If applicable, add the following below this CDDL HEADER, with the
10670  * fields enclosed by brackets "[]" replaced with your own identifying
10671  * information: Portions Copyright [yyyy] [name of copyright owner]
10672  *
10673  * CDDL HEADER END
10674  */
10675 /*
10676  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
10677  * Use is subject to license terms.
10678  */
10679 
10680 /*
10681  * Implementation-private.  This header should not be included
10682  * directly by an application.  The application should instead
10683  * include <time.h> which includes this header conditionally
10684  * depending on which feature test macros are defined. By default,
10685  * this header is included by <time.h>.  X/Open and POSIX
10686  * standards requirements result in this header being included
10687  * by <time.h> only under a restricted set of conditions.
10688  */
10689 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
10690 
10691 
10692 
10693 
10694 /*
10695  * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc.
10696  * Placement here is due to a dependency in <sys/select.h> which is included
10697  * by <sys/types.h> for the sigevent structure.  Hence this inclusion must
10698  * follow that definition.
10699  */
10700 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
10701 /*
10702  * CDDL HEADER START
10703  *
10704  * The contents of this file are subject to the terms of the
10705  * Common Development and Distribution License (the "License").
10706  * You may not use this file except in compliance with the License.
10707  *
10708  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10709  * or http://www.opensolaris.org/os/licensing.
10710  * See the License for the specific language governing permissions
10711  * and limitations under the License.
10712  *
10713  * When distributing Covered Code, include this CDDL HEADER in each
10714  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10715  * If applicable, add the following below this CDDL HEADER, with the
10716  * fields enclosed by brackets "[]" replaced with your own identifying
10717  * information: Portions Copyright [yyyy] [name of copyright owner]
10718  *
10719  * CDDL HEADER END
10720  */
10721 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
10722 /*	  All Rights Reserved  	*/
10723 
10724 
10725 /*
10726  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
10727  * Use is subject to license terms.
10728  *
10729  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
10730  * Copyright 2016 Joyent, Inc.
10731  */
10732 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2
10733 
10734 
10735 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */
10736 
10737 
10738 
10739  int si_signo; /* signal from signal.h	*/
10740  int si_code; /* code from above	*/
10741  int si_errno; /* error from errno.h	*/
10742 
10743  int si_pad; /* _LP64 union starts on an 8-byte boundary */
10744 
10745  union {
10746 
10747   int __pad[((256 / sizeof (int)) - 4)]; /* for future growth	*/
10748 
10749   struct { /* kill(), SIGCLD, siqqueue() */
10750    pid_t __pid; /* process ID		*/
10751    union {
10752     struct {
10753      uid_t __uid;
10754 
10755 
10756      union sigval __value;
10757 
10758 
10759 
10760     } __kill;
10761     struct {
10762      clock_t __utime;
10763      int __status;
10764      clock_t __stime;
10765     } __cld;
10766    } __pdata;
10767    ctid_t __ctid; /* contract ID		*/
10768    zoneid_t __zoneid; /* zone ID		*/
10769   } __proc;
10770 
10771   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
10772    void *__addr; /* faulting address	*/
10773    int __trapno; /* illegal trap number	*/
10774    caddr_t __pc; /* instruction address	*/
10775   } __fault;
10776 
10777   struct { /* SIGPOLL, SIGXFSZ	*/
10778   /* fd not currently available for SIGPOLL */
10779    int __fd; /* file descriptor	*/
10780    long __band;
10781   } __file;
10782 
10783   struct { /* SIGPROF */
10784    caddr_t __faddr; /* last fault address	*/
10785 
10786    timestruc_t __tstamp; /* real time stamp	*/
10787 
10788 
10789 
10790    short __syscall; /* current syscall	*/
10791    char __nsysarg; /* number of arguments	*/
10792    char __fault; /* last fault type	*/
10793    long __sysarg[8]; /* syscall arguments	*/
10794    int __mstate[10]; /* see <sys/msacct.h>	*/
10795   } __prof;
10796 
10797   struct { /* SI_RCTL */
10798    int32_t __entity; /* type of entity exceeding */
10799   } __rctl;
10800  } __data;
10801 
10802 } siginfo_t;
10803 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h"
10804 /*
10805  * XXX -- internal version is identical to siginfo_t but without the padding.
10806  * This must be maintained in sync with it.
10807  */
10808 
10809 
10810 
10811 typedef struct k_siginfo {
10812  int si_signo; /* signal from signal.h	*/
10813  int si_code; /* code from above	*/
10814  int si_errno; /* error from errno.h	*/
10815 
10816  int si_pad; /* _LP64 union starts on an 8-byte boundary */
10817 
10818  union {
10819   struct { /* kill(), SIGCLD, siqqueue() */
10820    pid_t __pid; /* process ID		*/
10821    union {
10822     struct {
10823      uid_t __uid;
10824      union sigval __value;
10825     } __kill;
10826     struct {
10827      clock_t __utime;
10828      int __status;
10829      clock_t __stime;
10830     } __cld;
10831    } __pdata;
10832    ctid_t __ctid; /* contract ID		*/
10833    zoneid_t __zoneid; /* zone ID		*/
10834   } __proc;
10835 
10836   struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */
10837    void *__addr; /* faulting address	*/
10838    int __trapno; /* illegal trap number	*/
10839    caddr_t __pc; /* instruction address	*/
10840   } __fault;
10841 
10842   struct { /* SIGPOLL, SIGXFSZ	*/
10843   /* fd not currently available for SIGPOLL */
10844    int __fd; /* file descriptor	*/
10845    long __band;
10846   } __file;
10847 
10848   struct { /* SIGPROF */
10849    caddr_t __faddr; /* last fault address	*/
10850 
10851 
10852    timestruc_t __tstamp; /* real time stamp	*/
10853 
10854 
10855 
10856    short __syscall; /* current syscall	*/
10857    char __nsysarg; /* number of arguments	*/
10858    char __fault; /* last fault type	*/
10859    /* these are omitted to keep k_siginfo_t small	*/
10860    /* long	__sysarg[8]; */
10861    /* int	__mstate[10]; */
10862   } __prof;
10863 
10864   struct { /* SI_RCTL */
10865    int32_t __entity; /* type of entity exceeding */
10866   } __rctl;
10867 
10868  } __data;
10869 
10870 } k_siginfo_t;
10871 
10872 typedef struct sigqueue {
10873  struct sigqueue *sq_next;
10874  k_siginfo_t sq_info;
10875  void (*sq_func)(struct sigqueue *); /* destructor function */
10876  void *sq_backptr; /* pointer to the data structure */
10877      /* associated by sq_func()	*/
10878  int sq_external; /* comes from outside the contract */
10879 } sigqueue_t;
10880 
10881 /*  indication whether to queue the signal or not */
10882 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2
10883 
10884 
10885 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */
10886 
10887 
10888 
10889 
10890 
10891 
10892 
10893 typedef struct {
10894  unsigned int __sigbits[3];
10895 } k_sigset_t;
10896 
10897 /*
10898  * The signal handler routine can have either one or three arguments.
10899  * Existing C code has used either form so not specifing the arguments
10900  * neatly finesses the problem.  C++ doesn't accept this.  To C++
10901  * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would
10902  * specify this as "(*sa_handler)(void)").  One or the other form must be
10903  * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow
10904  * the SIG_* defines to work.  "(*sa_sigaction)(int, siginfo_t *, void *)"
10905  * can be used for the three argument form.
10906  */
10907 
10908 /*
10909  * Note: storage overlap by sa_handler and sa_sigaction
10910  */
10911 struct sigaction {
10912  int sa_flags;
10913  union {
10914 
10915 
10916 
10917   void (*_handler)();
10918 
10919 
10920 
10921 
10922   void (*_sigaction)(int, siginfo_t *, void *);
10923 
10924  } _funcptr;
10925  sigset_t sa_mask;
10926 
10927 
10928 
10929 };
10930 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10931 /* this is only valid for SIGCLD */
10932 
10933 
10934 
10935 
10936 
10937 
10938 
10939    /* non-conformant ANSI compilation	*/
10940 
10941 /* definitions for the sa_flags field */
10942 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10943 /* this is only valid for SIGCLD */
10944 
10945 
10946 
10947 /*
10948  * use of these symbols by applications is injurious
10949  *	to binary compatibility
10950  */
10951 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10952 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */
10953 
10954 
10955 
10956 typedef struct sigaltstack {
10957 
10958 
10959 
10960  void *ss_sp;
10961  size_t ss_size;
10962  int ss_flags;
10963 } stack_t;
10964 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10965 /* signotify id used only by libc for mq_notify()/aio_notify() */
10966 typedef struct signotify_id { /* signotify id struct		*/
10967  pid_t sn_pid; /* pid of proc to be notified	*/
10968  int sn_index; /* index in preallocated pool	*/
10969  int sn_pad; /* reserved			*/
10970 } signotify_id_t;
10971 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h"
10972 /* Command codes for sig_notify call */
10973 
10974 
10975 
10976 
10977 
10978 
10979 
10980 /* Added as per XPG4v2 */
10981 
10982 
10983 
10984 struct sigstack {
10985  void *ss_sp;
10986  int ss_onstack;
10987 };
10988 
10989 
10990 /*
10991  * For definition of ucontext_t; must follow struct definition
10992  * for  sigset_t
10993  */
10994 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2
10995 
10996 /*
10997  *	This file defines the data needed to specify a set of
10998  *	processes.  These types are used by the sigsend, sigsendset,
10999  *	priocntl, priocntlset, waitid, evexit, and evexitset system
11000  *	calls.
11001  */
11002 
11003 
11004 
11005 
11006 
11007 /*
11008  *	The following defines the values for an identifier type.  It
11009  *	specifies the interpretation of an id value.  An idtype and
11010  *	id together define a simple set of processes.
11011  */
11012 typedef enum
11013 
11014  idtype /* pollutes XPG4.2 namespace */
11015 
11016   {
11017  P_PID, /* A process identifier.		*/
11018  P_PPID, /* A parent process identifier.		*/
11019  P_PGID, /* A process group (job control group)	*/
11020    /* identifier.				*/
11021  P_SID, /* A session identifier.		*/
11022  P_CID, /* A scheduling class identifier.	*/
11023  P_UID, /* A user identifier.			*/
11024  P_GID, /* A group identifier.			*/
11025  P_ALL, /* All processes.			*/
11026  P_LWPID, /* An LWP identifier.			*/
11027  P_TASKID, /* A task identifier.			*/
11028  P_PROJID, /* A project identifier.		*/
11029  P_POOLID, /* A pool identifier.			*/
11030  P_ZONEID, /* A zone identifier.			*/
11031  P_CTID, /* A (process) contract identifier.	*/
11032  P_CPUID, /* CPU identifier.			*/
11033  P_PSETID /* Processor set identifier		*/
11034 } idtype_t;
11035 
11036 
11037 /*
11038  *	The following defines the operations which can be performed to
11039  *	combine two simple sets of processes to form another set of
11040  *	processes.
11041  */
11042 
11043 typedef enum idop {
11044  POP_DIFF, /* Set difference.  The processes which	*/
11045    /* are in the left operand set and not	*/
11046    /* in the right operand set.		*/
11047  POP_AND, /* Set disjunction.  The processes	*/
11048    /* which are in both the left and right	*/
11049    /* operand sets.			*/
11050  POP_OR, /* Set conjunction.  The processes	*/
11051    /* which are in either the left or the	*/
11052    /* right operand sets (or both).	*/
11053  POP_XOR /* Set exclusive or.  The processes 	*/
11054    /* which are in either the left or	*/
11055    /* right operand sets but not in both.	*/
11056 } idop_t;
11057 
11058 
11059 /*
11060  *	The following structure is used to define a set of processes.
11061  *	The set is defined in terms of two simple sets of processes
11062  *	and an operator which operates on these two operand sets.
11063  */
11064 typedef struct procset {
11065  idop_t p_op; /* The operator connection the	*/
11066     /* following two operands each	*/
11067     /* of which is a simple set of	*/
11068     /* processes.			*/
11069 
11070  idtype_t p_lidtype;
11071     /* The type of the left operand	*/
11072     /* simple set.			*/
11073  id_t p_lid; /* The id of the left operand.	*/
11074 
11075  idtype_t p_ridtype;
11076     /* The type of the right	*/
11077     /* operand simple set.		*/
11078  id_t p_rid; /* The id of the right operand.	*/
11079 } procset_t;
11080 
11081 /*
11082  *	The following macro can be used to initialize a procset_t
11083  *	structure.
11084  */
11085 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2
11086 
11087 
11088 
11089 
11090 
11091 /*
11092  * Definitions for p_online, processor_info & lgrp system calls.
11093  */
11094 
11095 /*
11096  * Type for an lgrpid
11097  */
11098 typedef uint16_t lgrpid_t;
11099 
11100 /*
11101  * Type for processor name (CPU number).
11102  */
11103 typedef int processorid_t;
11104 typedef int chipid_t;
11105 
11106 /*
11107  * Flags and return values for p_online(2), and pi_state for processor_info(2).
11108  * These flags are *not* for in-kernel examination of CPU states.
11109  * See <sys/cpuvar.h> for appropriate informational functions.
11110  */
11111 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h"
11112 /*
11113  * String names for processor states defined above.
11114  */
11115 
11116 
11117 
11118 
11119 
11120 
11121 
11122 /*
11123  * Structure filled in by processor_info(2). This structure
11124  * SHOULD NOT BE MODIFIED. Changes to the structure would
11125  * negate ABI compatibility.
11126  *
11127  * The string fields are guaranteed to contain a NULL.
11128  *
11129  * The pi_fputypes field contains a (possibly empty) comma-separated
11130  * list of floating point identifier strings.
11131  */
11132 
11133 
11134 
11135 typedef struct {
11136  int pi_state; /* processor state, see above */
11137  char pi_processor_type[16]; /* ASCII CPU type */
11138  char pi_fputypes[32]; /* ASCII FPU types */
11139  int pi_clock; /* CPU clock freq in MHz */
11140 } processor_info_t;
11141 
11142 /*
11143  * Binding values for processor_bind(2)
11144  */
11145 
11146 
11147 
11148 
11149 
11150 
11151 /*
11152  * User-level system call interface prototypes
11153  */
11154 
11155 
11156 extern int p_online(processorid_t processorid, int flag);
11157 extern int processor_info(processorid_t processorid,
11158       processor_info_t *infop);
11159 extern int processor_bind(idtype_t idtype, id_t id,
11160       processorid_t processorid, processorid_t *obind);
11161 extern processorid_t getcpuid(void);
11162 extern lgrpid_t gethomelgroup(void);
11163 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
11164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1
11165 /*
11166  * CDDL HEADER START
11167  *
11168  * The contents of this file are subject to the terms of the
11169  * Common Development and Distribution License, Version 1.0 only
11170  * (the "License").  You may not use this file except in compliance
11171  * with the License.
11172  *
11173  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11174  * or http://www.opensolaris.org/os/licensing.
11175  * See the License for the specific language governing permissions
11176  * and limitations under the License.
11177  *
11178  * When distributing Covered Code, include this CDDL HEADER in each
11179  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11180  * If applicable, add the following below this CDDL HEADER, with the
11181  * fields enclosed by brackets "[]" replaced with your own identifying
11182  * information: Portions Copyright [yyyy] [name of copyright owner]
11183  *
11184  * CDDL HEADER END
11185  */
11186 /*
11187  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
11188  * Use is subject to license terms.
11189  */
11190 
11191 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11192 /*	  All Rights Reserved  	*/
11193 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2
11194 
11195 typedef int psetid_t;
11196 
11197 /* special processor set id's */
11198 
11199 
11200 
11201 
11202 
11203 
11204 
11205 /* types of processor sets */
11206 
11207 
11208 
11209 
11210 
11211 extern int pset_create(psetid_t *);
11212 extern int pset_destroy(psetid_t);
11213 extern int pset_assign(psetid_t, processorid_t, psetid_t *);
11214 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *);
11215 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *);
11216 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *);
11217 extern int pset_getloadavg(psetid_t, double [], int);
11218 extern int pset_list(psetid_t *, uint_t *);
11219 extern int pset_setattr(psetid_t, uint_t);
11220 extern int pset_getattr(psetid_t, uint_t *);
11221 
11222 
11223 
11224 
11225 
11226 /* system call subcodes */
11227 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h"
11228 /* attribute bits */
11229 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11230 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
11231 /*
11232  * CDDL HEADER START
11233  *
11234  * The contents of this file are subject to the terms of the
11235  * Common Development and Distribution License (the "License").
11236  * You may not use this file except in compliance with the License.
11237  *
11238  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11239  * or http://www.opensolaris.org/os/licensing.
11240  * See the License for the specific language governing permissions
11241  * and limitations under the License.
11242  *
11243  * When distributing Covered Code, include this CDDL HEADER in each
11244  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11245  * If applicable, add the following below this CDDL HEADER, with the
11246  * fields enclosed by brackets "[]" replaced with your own identifying
11247  * information: Portions Copyright [yyyy] [name of copyright owner]
11248  *
11249  * CDDL HEADER END
11250  */
11251 /*
11252  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11253  * Use is subject to license terms.
11254  */
11255 
11256 
11257 
11258 
11259 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11260 /*
11261  * CDDL HEADER START
11262  *
11263  * The contents of this file are subject to the terms of the
11264  * Common Development and Distribution License (the "License").
11265  * You may not use this file except in compliance with the License.
11266  *
11267  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11268  * or http://www.opensolaris.org/os/licensing.
11269  * See the License for the specific language governing permissions
11270  * and limitations under the License.
11271  *
11272  * When distributing Covered Code, include this CDDL HEADER in each
11273  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11274  * If applicable, add the following below this CDDL HEADER, with the
11275  * fields enclosed by brackets "[]" replaced with your own identifying
11276  * information: Portions Copyright [yyyy] [name of copyright owner]
11277  *
11278  * CDDL HEADER END
11279  */
11280 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11281 /*	  All Rights Reserved  	*/
11282 
11283 
11284 /*
11285  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11286  * Use is subject to license terms.
11287  *
11288  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11289  * Copyright 2016 Joyent, Inc.
11290  */
11291 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2
11292 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h"
11293 /*
11294  * types of label comparison
11295  */
11296 
11297 
11298 
11299 /* Manifest human readable label names */
11300 
11301 
11302 
11303 /* Binary Label Structure Definitions */
11304 
11305 typedef struct _mac_label_impl m_label_t;
11306 
11307 typedef m_label_t blevel_t, /* compatibility */
11308    bslabel_t, /* Sensitivity Label */
11309    bclear_t; /* Clearance */
11310 
11311 typedef struct _tsol_binary_level_lrange { /* Level Range */
11312  m_label_t *lower_bound;
11313  m_label_t *upper_bound;
11314 } m_range_t;
11315 
11316 typedef m_range_t blrange_t;
11317 
11318 typedef struct tsol_mlp_s {
11319  uchar_t mlp_ipp;
11320  uint16_t mlp_port;
11321  uint16_t mlp_port_upper;
11322 } tsol_mlp_t;
11323 
11324 /* Procedure Interface Definitions available to user and kernel */
11325 
11326 extern int bltype(const void *, uint8_t);
11327 extern int blequal(const m_label_t *, const m_label_t *);
11328 extern int bldominates(const m_label_t *, const m_label_t *);
11329 extern int blstrictdom(const m_label_t *, const m_label_t *);
11330 extern int blinrange(const m_label_t *, const m_range_t *);
11331 extern void blmaximum(m_label_t *, const m_label_t *);
11332 extern void blminimum(m_label_t *, const m_label_t *);
11333 extern void bsllow(m_label_t *);
11334 extern void bslhigh(m_label_t *);
11335 extern void bclearlow(m_label_t *);
11336 extern void bclearhigh(m_label_t *);
11337 extern void bslundef(m_label_t *);
11338 extern void bclearundef(m_label_t *);
11339 extern void setbltype(void *, uint8_t);
11340 extern boolean_t bisinvalid(const void *);
11341 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11342 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
11343 /*
11344  * CDDL HEADER START
11345  *
11346  * The contents of this file are subject to the terms of the
11347  * Common Development and Distribution License (the "License").
11348  * You may not use this file except in compliance with the License.
11349  *
11350  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11351  * or http://www.opensolaris.org/os/licensing.
11352  * See the License for the specific language governing permissions
11353  * and limitations under the License.
11354  *
11355  * When distributing Covered Code, include this CDDL HEADER in each
11356  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11357  * If applicable, add the following below this CDDL HEADER, with the
11358  * fields enclosed by brackets "[]" replaced with your own identifying
11359  * information: Portions Copyright [yyyy] [name of copyright owner]
11360  *
11361  * CDDL HEADER END
11362  */
11363 /*
11364  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11365  * Use is subject to license terms.
11366  */
11367 
11368 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
11369 /*	  All Rights Reserved  	*/
11370 
11371 /*
11372  * Portions of this source code were derived from Berkeley 4.3 BSD
11373  * under license from the Regents of the University of California.
11374  */
11375 
11376 
11377 
11378 
11379 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11380 /*
11381  * CDDL HEADER START
11382  *
11383  * The contents of this file are subject to the terms of the
11384  * Common Development and Distribution License (the "License").
11385  * You may not use this file except in compliance with the License.
11386  *
11387  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11388  * or http://www.opensolaris.org/os/licensing.
11389  * See the License for the specific language governing permissions
11390  * and limitations under the License.
11391  *
11392  * When distributing Covered Code, include this CDDL HEADER in each
11393  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11394  * If applicable, add the following below this CDDL HEADER, with the
11395  * fields enclosed by brackets "[]" replaced with your own identifying
11396  * information: Portions Copyright [yyyy] [name of copyright owner]
11397  *
11398  * CDDL HEADER END
11399  */
11400 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11401 /*	  All Rights Reserved  	*/
11402 
11403 
11404 /*
11405  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11406  * Use is subject to license terms.
11407  *
11408  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11409  * Copyright 2016 Joyent, Inc.
11410  */
11411 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2
11412 
11413 
11414 
11415 
11416 
11417 /*
11418  * The credential is an opaque kernel private data structure defined in
11419  * <sys/cred_impl.h>.
11420  */
11421 
11422 typedef struct cred cred_t;
11423 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
11424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1
11425 /*
11426  * CDDL HEADER START
11427  *
11428  * The contents of this file are subject to the terms of the
11429  * Common Development and Distribution License (the "License").
11430  * You may not use this file except in compliance with the License.
11431  *
11432  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11433  * or http://www.opensolaris.org/os/licensing.
11434  * See the License for the specific language governing permissions
11435  * and limitations under the License.
11436  *
11437  * When distributing Covered Code, include this CDDL HEADER in each
11438  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11439  * If applicable, add the following below this CDDL HEADER, with the
11440  * fields enclosed by brackets "[]" replaced with your own identifying
11441  * information: Portions Copyright [yyyy] [name of copyright owner]
11442  *
11443  * CDDL HEADER END
11444  */
11445 
11446 /*
11447  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11448  * Use is subject to license terms.
11449  */
11450 
11451 
11452 
11453 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1
11454 /*
11455  * CDDL HEADER START
11456  *
11457  * The contents of this file are subject to the terms of the
11458  * Common Development and Distribution License (the "License").
11459  * You may not use this file except in compliance with the License.
11460  *
11461  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11462  * or http://www.opensolaris.org/os/licensing.
11463  * See the License for the specific language governing permissions
11464  * and limitations under the License.
11465  *
11466  * When distributing Covered Code, include this CDDL HEADER in each
11467  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11468  * If applicable, add the following below this CDDL HEADER, with the
11469  * fields enclosed by brackets "[]" replaced with your own identifying
11470  * information: Portions Copyright [yyyy] [name of copyright owner]
11471  *
11472  * CDDL HEADER END
11473  */
11474 /*
11475  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
11476  * Use is subject to license terms.
11477  *
11478  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
11479  */
11480 
11481 
11482 
11483 
11484 /*
11485  * Definition of general kernel statistics structures and /dev/kstat ioctls
11486  */
11487 
11488 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
11489 /*
11490  * CDDL HEADER START
11491  *
11492  * The contents of this file are subject to the terms of the
11493  * Common Development and Distribution License (the "License").
11494  * You may not use this file except in compliance with the License.
11495  *
11496  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11497  * or http://www.opensolaris.org/os/licensing.
11498  * See the License for the specific language governing permissions
11499  * and limitations under the License.
11500  *
11501  * When distributing Covered Code, include this CDDL HEADER in each
11502  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11503  * If applicable, add the following below this CDDL HEADER, with the
11504  * fields enclosed by brackets "[]" replaced with your own identifying
11505  * information: Portions Copyright [yyyy] [name of copyright owner]
11506  *
11507  * CDDL HEADER END
11508  */
11509 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11510 /*	  All Rights Reserved  	*/
11511 
11512 
11513 /*
11514  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11515  * Use is subject to license terms.
11516  *
11517  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11518  * Copyright 2016 Joyent, Inc.
11519  */
11520 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
11521 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
11522 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
11523 /*	  All Rights Reserved  	*/
11524 
11525 
11526 /*
11527  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
11528  * All rights reserved.  The Berkeley software License Agreement
11529  * specifies the terms and conditions for redistribution.
11530  */
11531 
11532 /*
11533  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11534  *
11535  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
11536  * Use is subject to license terms.
11537  *
11538  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
11539  */
11540 
11541 /*
11542  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
11543  */
11544 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2
11545 
11546 
11547 
11548 
11549 
11550 typedef int kid_t; /* unique kstat id */
11551 
11552 /*
11553  * Kernel statistics driver (/dev/kstat) ioctls
11554  */
11555 
11556 
11557 
11558 
11559 
11560 
11561 
11562 /*
11563  * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor):
11564  *
11565  *	kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL);
11566  *	kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *);
11567  *	kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *);
11568  */
11569 
11570 
11571 
11572 /*
11573  * The generic kstat header
11574  */
11575 
11576 typedef struct kstat {
11577  /*
11578 	 * Fields relevant to both kernel and user
11579 	 */
11580  hrtime_t ks_crtime; /* creation time (from gethrtime()) */
11581  struct kstat *ks_next; /* kstat chain linkage */
11582  kid_t ks_kid; /* unique kstat ID */
11583  char ks_module[31]; /* provider module name */
11584  uchar_t ks_resv; /* reserved, currently just padding */
11585  int ks_instance; /* provider module's instance */
11586  char ks_name[31]; /* kstat name */
11587  uchar_t ks_type; /* kstat data type */
11588  char ks_class[31]; /* kstat class */
11589  uchar_t ks_flags; /* kstat flags */
11590  void *ks_data; /* kstat type-specific data */
11591  uint_t ks_ndata; /* # of type-specific data records */
11592  size_t ks_data_size; /* total size of kstat data section */
11593  hrtime_t ks_snaptime; /* time of last data shapshot */
11594  /*
11595 	 * Fields relevant to kernel only
11596 	 */
11597  int (*ks_update)(struct kstat *, int); /* dynamic update */
11598  void *ks_private; /* arbitrary provider-private data */
11599  int (*ks_snapshot)(struct kstat *, void *, int);
11600  void *ks_lock; /* protects this kstat's data */
11601 } kstat_t;
11602 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11603 /*
11604  * kstat structure and locking strategy
11605  *
11606  * Each kstat consists of a header section (a kstat_t) and a data section.
11607  * The system maintains a set of kstats, protected by kstat_chain_lock.
11608  * kstat_chain_lock protects all additions to/deletions from this set,
11609  * as well as all changes to kstat headers.  kstat data sections are
11610  * *optionally* protected by the per-kstat ks_lock.  If ks_lock is non-NULL,
11611  * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their
11612  * operations on that kstat.  It is up to the kstat provider to decide whether
11613  * guaranteeing consistent data to kstat clients is sufficiently important
11614  * to justify the locking cost.  Note, however, that most statistic updates
11615  * already occur under one of the provider's mutexes, so if the provider sets
11616  * ks_lock to point to that mutex, then kstat data locking is free.
11617  *
11618  * NOTE: variable-size kstats MUST employ kstat data locking, to prevent
11619  * data-size races with kstat clients.
11620  *
11621  * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *)
11622  * in the kstat header so that users don't have to be exposed to all of the
11623  * kernel's lock-related data structures.
11624  */
11625 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11626 /*
11627  * kstat time
11628  *
11629  * All times associated with kstats (e.g. creation time, snapshot time,
11630  * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values,
11631  * as returned by gethrtime().  The accuracy of these timestamps is machine
11632  * dependent, but the precision (units) is the same across all platforms.
11633  */
11634 
11635 /*
11636  * kstat identity (KID)
11637  *
11638  * Each kstat is assigned a unique KID (kstat ID) when it is added to the
11639  * global kstat chain.  The KID is used as a cookie by /dev/kstat to
11640  * request information about the corresponding kstat.  There is also
11641  * an identity associated with the entire kstat chain, kstat_chain_id,
11642  * which is bumped each time a kstat is added or deleted.  /dev/kstat uses
11643  * the chain ID to detect changes in the kstat chain (e.g., a new disk
11644  * coming online) between ioctl()s.
11645  */
11646 
11647 /*
11648  * kstat module, kstat instance
11649  *
11650  * ks_module and ks_instance contain the name and instance of the module
11651  * that created the kstat.  In cases where there can only be one instance,
11652  * ks_instance is 0.  The kernel proper (/kernel/unix) uses "unix" as its
11653  * module name.
11654  */
11655 
11656 /*
11657  * kstat name
11658  *
11659  * ks_name gives a meaningful name to a kstat.  The full kstat namespace
11660  * is module.instance.name, so the name only need be unique within a
11661  * module.  kstat_create() will fail if you try to create a kstat with
11662  * an already-used (ks_module, ks_instance, ks_name) triplet.  Spaces are
11663  * allowed in kstat names, but strongly discouraged, since they hinder
11664  * awk-style processing at user level.
11665  */
11666 
11667 /*
11668  * kstat type
11669  *
11670  * The kstat mechanism provides several flavors of kstat data, defined
11671  * below.  The "raw" kstat type is just treated as an array of bytes; you
11672  * can use this to export any kind of data you want.
11673  *
11674  * Some kstat types allow multiple data structures per kstat, e.g.
11675  * KSTAT_TYPE_NAMED; others do not.  This is part of the spec for each
11676  * kstat data type.
11677  *
11678  * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES.  To
11679  * get this information, read out the standard system kstat "kstat_types".
11680  */
11681 
11682 
11683      /* ks_ndata >= 1 */
11684 
11685      /* ks_ndata >= 1 */
11686 
11687      /* ks_ndata == 1 */
11688 
11689      /* ks_ndata == 1 */
11690 
11691      /* ks_ndata >= 1 */
11692 
11693 
11694 
11695 /*
11696  * kstat class
11697  *
11698  * Each kstat can be characterized as belonging to some broad class
11699  * of statistics, e.g. disk, tape, net, vm, streams, etc.  This field
11700  * can be used as a filter to extract related kstats.  The following
11701  * values are currently in use: disk, tape, net, controller, vm, kvm,
11702  * hat, streams, kstat, and misc.  (The kstat class encompasses things
11703  * like kstat_types.)
11704  */
11705 
11706 /*
11707  * kstat flags
11708  *
11709  * Any of the following flags may be passed to kstat_create().  They are
11710  * all zero by default.
11711  *
11712  *	KSTAT_FLAG_VIRTUAL:
11713  *
11714  *		Tells kstat_create() not to allocate memory for the
11715  *		kstat data section; instead, you will set the ks_data
11716  *		field to point to the data you wish to export.  This
11717  *		provides a convenient way to export existing data
11718  *		structures.
11719  *
11720  *	KSTAT_FLAG_VAR_SIZE:
11721  *
11722  *		The size of the kstat you are creating will vary over time.
11723  *		For example, you may want to use the kstat mechanism to
11724  *		export a linked list.  NOTE: The kstat framework does not
11725  *		manage the data section, so all variable-size kstats must be
11726  *		virtual kstats.  Moreover, variable-size kstats MUST employ
11727  *		kstat data locking to prevent data-size races with kstat
11728  *		clients.  See the section on "kstat snapshot" for details.
11729  *
11730  *	KSTAT_FLAG_WRITABLE:
11731  *
11732  *		Makes the kstat's data section writable by root.
11733  *		The ks_snapshot routine (see below) does not need to check for
11734  *		this; permission checking is handled in the kstat driver.
11735  *
11736  *	KSTAT_FLAG_PERSISTENT:
11737  *
11738  *		Indicates that this kstat is to be persistent over time.
11739  *		For persistent kstats, kstat_delete() simply marks the
11740  *		kstat as dormant; a subsequent kstat_create() reactivates
11741  *		the kstat.  This feature is provided so that statistics
11742  *		are not lost across driver close/open (e.g., raw disk I/O
11743  *		on a disk with no mounted partitions.)
11744  *		NOTE: Persistent kstats cannot be virtual, since ks_data
11745  *		points to garbage as soon as the driver goes away.
11746  *
11747  * The following flags are maintained by the kstat framework:
11748  *
11749  *	KSTAT_FLAG_DORMANT:
11750  *
11751  *		For persistent kstats, indicates that the kstat is in the
11752  *		dormant state (e.g., the corresponding device is closed).
11753  *
11754  *	KSTAT_FLAG_INVALID:
11755  *
11756  *		This flag is set when a kstat is in a transitional state,
11757  *		e.g. between kstat_create() and kstat_install().
11758  *		kstat clients must not attempt to access the kstat's data
11759  *		if this flag is set.
11760  *
11761  *	KSTAT_FLAG_LONGSTRINGS:
11762  *
11763  *		Indicates that this kstat contains long strings (which
11764  *		are stored outside of the kstat data section). When copied
11765  *		out to user space the string data will be held in the data
11766  *		section provided by the user.
11767  */
11768 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11769 /*
11770  * Dynamic update support
11771  *
11772  * The kstat mechanism allows for an optional ks_update function to update
11773  * kstat data.  This is useful for drivers where the underlying device
11774  * keeps cheap hardware stats, but extraction is expensive.  Instead of
11775  * constantly keeping the kstat data section up to date, you can supply a
11776  * ks_update function which updates the kstat's data section on demand.
11777  * To take advantage of this feature, simply set the ks_update field before
11778  * calling kstat_install().
11779  *
11780  * The ks_update function, if supplied, must have the following structure:
11781  *
11782  *	int
11783  *	foo_kstat_update(kstat_t *ksp, int rw)
11784  *	{
11785  *		if (rw == KSTAT_WRITE) {
11786  *			... update the native stats from ksp->ks_data;
11787  *				return EACCES if you don't support this
11788  *		} else {
11789  *			... update ksp->ks_data from the native stats
11790  *		}
11791  *	}
11792  *
11793  * The ks_update return codes are: 0 for success, EACCES if you don't allow
11794  * KSTAT_WRITE, and EIO for any other type of error.
11795  *
11796  * In general, the ks_update function may need to refer to provider-private
11797  * data; for example, it may need a pointer to the provider's raw statistics.
11798  * The ks_private field is available for this purpose.  Its use is entirely
11799  * at the provider's discretion.
11800  *
11801  * All variable-size kstats MUST supply a ks_update routine, which computes
11802  * and sets ks_data_size (and ks_ndata if that is meaningful), since these
11803  * are needed to perform kstat snapshots (see below).
11804  *
11805  * No kstat locking should be done inside the ks_update routine.  The caller
11806  * will already be holding the kstat's ks_lock (to ensure consistent data).
11807  */
11808 
11809 
11810 
11811 
11812 /*
11813  * Kstat snapshot
11814  *
11815  * In order to get a consistent view of a kstat's data, clients must obey
11816  * the kstat's locking strategy.  However, these clients may need to perform
11817  * operations on the data which could cause a fault (e.g. copyout()), or
11818  * operations which are simply expensive.  Doing so could cause deadlock
11819  * (e.g. if you're holding a disk's kstat lock which is ultimately required
11820  * to resolve a copyout() fault), performance degradation (since the providers'
11821  * activity is serialized at the kstat lock), device timing problems, etc.
11822  *
11823  * To avoid these problems, kstat data is provided via snapshots.  Taking
11824  * a snapshot is a simple process: allocate a wired-down kernel buffer,
11825  * acquire the kstat's data lock, copy the data into the buffer ("take the
11826  * snapshot"), and release the lock.  This ensures that the kstat's data lock
11827  * will be held as briefly as possible, and that no faults will occur while
11828  * the lock is held.
11829  *
11830  * Normally, the snapshot is taken by default_kstat_snapshot(), which
11831  * timestamps the data (sets ks_snaptime), copies it, and does a little
11832  * massaging to deal with incomplete transactions on i/o kstats.  However,
11833  * this routine only works for kstats with contiguous data (the typical case).
11834  * If you create a kstat whose data is, say, a linked list, you must provide
11835  * your own ks_snapshot routine.  The routine you supply must have the
11836  * following prototype (replace "foo" with something appropriate):
11837  *
11838  *	int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw);
11839  *
11840  * The minimal snapshot routine -- one which copies contiguous data that
11841  * doesn't need any massaging -- would be this:
11842  *
11843  *	ksp->ks_snaptime = gethrtime();
11844  *	if (rw == KSTAT_WRITE)
11845  *		bcopy(buf, ksp->ks_data, ksp->ks_data_size);
11846  *	else
11847  *		bcopy(ksp->ks_data, buf, ksp->ks_data_size);
11848  *	return (0);
11849  *
11850  * A more illuminating example is taking a snapshot of a linked list:
11851  *
11852  *	ksp->ks_snaptime = gethrtime();
11853  *	if (rw == KSTAT_WRITE)
11854  *		return (EACCES);		... See below ...
11855  *	for (foo = first_foo; foo; foo = foo->next) {
11856  *		bcopy((char *) foo, (char *) buf, sizeof (struct foo));
11857  *		buf = ((struct foo *) buf) + 1;
11858  *	}
11859  *	return (0);
11860  *
11861  * In the example above, we have decided that we don't want to allow
11862  * KSTAT_WRITE access, so we return EACCES if this is attempted.
11863  *
11864  * The key points are:
11865  *
11866  *	(1) ks_snaptime must be set (via gethrtime()) to timestamp the data.
11867  *	(2) Data gets copied from the kstat to the buffer on KSTAT_READ,
11868  *		and from the buffer to the kstat on KSTAT_WRITE.
11869  *	(3) ks_snapshot return values are: 0 for success, EACCES if you
11870  *		don't allow KSTAT_WRITE, and EIO for any other type of error.
11871  *
11872  * Named kstats (see section on "Named statistics" below) containing long
11873  * strings (KSTAT_DATA_STRING) need special handling.  The kstat driver
11874  * assumes that all strings are copied into the buffer after the array of
11875  * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point
11876  * into the copy within the buffer. The default snapshot routine does this,
11877  * but overriding routines should contain at least the following:
11878  *
11879  * if (rw == KSTAT_READ) {
11880  * 	kstat_named_t *knp = buf;
11881  * 	char *end = knp + ksp->ks_ndata;
11882  * 	uint_t i;
11883  *
11884  * 	... Do the regular copy ...
11885  * 	bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata);
11886  *
11887  * 	for (i = 0; i < ksp->ks_ndata; i++, knp++) {
11888  *		if (knp[i].data_type == KSTAT_DATA_STRING &&
11889  *		    KSTAT_NAMED_STR_PTR(knp) != NULL) {
11890  *			bcopy(KSTAT_NAMED_STR_PTR(knp), end,
11891  *			    KSTAT_NAMED_STR_BUFLEN(knp));
11892  *			KSTAT_NAMED_STR_PTR(knp) = end;
11893  *			end += KSTAT_NAMED_STR_BUFLEN(knp);
11894  *		}
11895  *	}
11896  */
11897 
11898 /*
11899  * Named statistics.
11900  *
11901  * List of arbitrary name=value statistics.
11902  */
11903 
11904 typedef struct kstat_named {
11905  char name[31]; /* name of counter */
11906  uchar_t data_type; /* data type */
11907  union {
11908   char c[16]; /* enough for 128-bit ints */
11909   int32_t i32;
11910   uint32_t ui32;
11911   struct {
11912    union {
11913     char *ptr; /* NULL-term string */
11914 
11915 
11916 
11917     char __pad[8]; /* 64-bit padding */
11918    } addr;
11919    uint32_t len; /* # bytes for strlen + '\0' */
11920   } str;
11921 /*
11922  * The int64_t and uint64_t types are not valid for a maximally conformant
11923  * 32-bit compilation environment (cc -Xc) using compilers prior to the
11924  * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990).
11925  * In these cases, the visibility of i64 and ui64 is only permitted for
11926  * 64-bit compilation environments or 32-bit non-maximally conformant
11927  * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the
11928  * C99 ANSI C compilation environment, the long long type is supported.
11929  * The _INT64_TYPE is defined by the implementation (see sys/int_types.h).
11930  */
11931 
11932   int64_t i64;
11933   uint64_t ui64;
11934 
11935   long l;
11936   ulong_t ul;
11937 
11938   /* These structure members are obsolete */
11939 
11940   longlong_t ll;
11941   u_longlong_t ull;
11942   float f;
11943   double d;
11944  } value; /* value of counter */
11945 } kstat_named_t;
11946 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11947 /*
11948  * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING)
11949  * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof
11950  * (kstat_named_t)).  ks_data_size in these cases is equal to the sum of the
11951  * amount of space required to store the strings (ie, the sum of
11952  * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the
11953  * space required to store the kstat_named_t's.
11954  *
11955  * The default update routine will update ks_data_size automatically for
11956  * variable-length kstats containing long strings (using the default update
11957  * routine only makes sense if the string is the only thing that is changing
11958  * in size, and ks_ndata is constant).  Fixed-length kstats containing long
11959  * strings must explicitly change ks_data_size (after creation but before
11960  * initialization) to reflect the correct amount of space required for the
11961  * long strings and the kstat_named_t's.
11962  */
11963 
11964 
11965 /* These types are obsolete */
11966 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11967 /*
11968  * Retrieve the pointer of the string contained in the given named kstat.
11969  */
11970 
11971 
11972 /*
11973  * Retrieve the length of the buffer required to store the string in the given
11974  * named kstat.
11975  */
11976 
11977 
11978 /*
11979  * Interrupt statistics.
11980  *
11981  * An interrupt is a hard interrupt (sourced from the hardware device
11982  * itself), a soft interrupt (induced by the system via the use of
11983  * some system interrupt source), a watchdog interrupt (induced by
11984  * a periodic timer call), spurious (an interrupt entry point was
11985  * entered but there was no interrupt condition to service),
11986  * or multiple service (an interrupt condition was detected and
11987  * serviced just prior to returning from any of the other types).
11988  *
11989  * Measurement of the spurious class of interrupts is useful for
11990  * autovectored devices in order to pinpoint any interrupt latency
11991  * problems in a particular system configuration.
11992  *
11993  * Devices that have more than one interrupt of the same
11994  * type should use multiple structures.
11995  */
11996 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h"
11997 typedef struct kstat_intr {
11998  uint_t intrs[5]; /* interrupt counters */
11999 } kstat_intr_t;
12000 
12001 
12002 
12003 /*
12004  * I/O statistics.
12005  */
12006 
12007 typedef struct kstat_io {
12008 
12009  /*
12010 	 * Basic counters.
12011 	 *
12012 	 * The counters should be updated at the end of service
12013 	 * (e.g., just prior to calling biodone()).
12014 	 */
12015 
12016  u_longlong_t nread; /* number of bytes read */
12017  u_longlong_t nwritten; /* number of bytes written */
12018  uint_t reads; /* number of read operations */
12019  uint_t writes; /* number of write operations */
12020 
12021  /*
12022 	 * Accumulated time and queue length statistics.
12023 	 *
12024 	 * Accumulated time statistics are kept as a running sum
12025 	 * of "active" time.  Queue length statistics are kept as a
12026 	 * running sum of the product of queue length and elapsed time
12027 	 * at that length -- i.e., a Riemann sum for queue length
12028 	 * integrated against time.  (You can also think of the active time
12029 	 * as a Riemann sum, for the boolean function (queue_length > 0)
12030 	 * integrated against time, or you can think of it as the
12031 	 * Lebesgue measure of the set on which queue_length > 0.)
12032 	 *
12033 	 *		^
12034 	 *		|			_________
12035 	 *		8			| i4	|
12036 	 *		|			|	|
12037 	 *	Queue	6			|	|
12038 	 *	Length	|	_________	|	|
12039 	 *		4	| i2	|_______|	|
12040 	 *		|	|	    i3		|
12041 	 *		2_______|			|
12042 	 *		|    i1				|
12043 	 *		|_______________________________|
12044 	 *		Time->	t1	t2	t3	t4
12045 	 *
12046 	 * At each change of state (entry or exit from the queue),
12047 	 * we add the elapsed time (since the previous state change)
12048 	 * to the active time if the queue length was non-zero during
12049 	 * that interval; and we add the product of the elapsed time
12050 	 * times the queue length to the running length*time sum.
12051 	 *
12052 	 * This method is generalizable to measuring residency
12053 	 * in any defined system: instead of queue lengths, think
12054 	 * of "outstanding RPC calls to server X".
12055 	 *
12056 	 * A large number of I/O subsystems have at least two basic
12057 	 * "lists" of transactions they manage: one for transactions
12058 	 * that have been accepted for processing but for which processing
12059 	 * has yet to begin, and one for transactions which are actively
12060 	 * being processed (but not done). For this reason, two cumulative
12061 	 * time statistics are defined here: wait (pre-service) time,
12062 	 * and run (service) time.
12063 	 *
12064 	 * All times are 64-bit nanoseconds (hrtime_t), as returned by
12065 	 * gethrtime().
12066 	 *
12067 	 * The units of cumulative busy time are accumulated nanoseconds.
12068 	 * The units of cumulative length*time products are elapsed time
12069 	 * times queue length.
12070 	 *
12071 	 * Updates to the fields below are performed implicitly by calls to
12072 	 * these five functions:
12073 	 *
12074 	 *	kstat_waitq_enter()
12075 	 *	kstat_waitq_exit()
12076 	 *	kstat_runq_enter()
12077 	 *	kstat_runq_exit()
12078 	 *
12079 	 *	kstat_waitq_to_runq()		(see below)
12080 	 *	kstat_runq_back_to_waitq()	(see below)
12081 	 *
12082 	 * Since kstat_waitq_exit() is typically followed immediately
12083 	 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq()
12084 	 * function which performs both operations.  This is a performance
12085 	 * win since only one timestamp is required.
12086 	 *
12087 	 * In some instances, it may be necessary to move a request from
12088 	 * the run queue back to the wait queue, e.g. for write throttling.
12089 	 * For these situations, call kstat_runq_back_to_waitq().
12090 	 *
12091 	 * These fields should never be updated by any other means.
12092 	 */
12093 
12094  hrtime_t wtime; /* cumulative wait (pre-service) time */
12095  hrtime_t wlentime; /* cumulative wait length*time product */
12096  hrtime_t wlastupdate; /* last time wait queue changed */
12097  hrtime_t rtime; /* cumulative run (service) time */
12098  hrtime_t rlentime; /* cumulative run length*time product */
12099  hrtime_t rlastupdate; /* last time run queue changed */
12100 
12101  uint_t wcnt; /* count of elements in wait state */
12102  uint_t rcnt; /* count of elements in run state */
12103 
12104 } kstat_io_t;
12105 
12106 
12107 
12108 /*
12109  * Event timer statistics - cumulative elapsed time and number of events.
12110  *
12111  * Updates to these fields are performed implicitly by calls to
12112  * kstat_timer_start() and kstat_timer_stop().
12113  */
12114 
12115 typedef struct kstat_timer {
12116  char name[31]; /* event name */
12117  uchar_t resv; /* reserved */
12118  u_longlong_t num_events; /* number of events */
12119  hrtime_t elapsed_time; /* cumulative elapsed time */
12120  hrtime_t min_time; /* shortest event duration */
12121  hrtime_t max_time; /* longest event duration */
12122  hrtime_t start_time; /* previous event start time */
12123  hrtime_t stop_time; /* previous event stop time */
12124 } kstat_timer_t;
12125 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2
12126 
12127 
12128 
12129 
12130 
12131 /*
12132  * This allows various pieces in and around IP to have a separate instance
12133  * for each instance of IP. This is used to support zones that have an
12134  * exclusive stack.
12135  * Pieces of software far removed from IP (e.g., kernel software
12136  * sitting on top of TCP or UDP) probably should not use the netstack
12137  * support; if such software wants to support separate zones it
12138  * can do that using the zones framework (zone_key_create() etc)
12139  * whether there is a shared IP stack or and exclusive IP stack underneath.
12140  */
12141 
12142 /*
12143  * Each netstack has an identifier. We reuse the zoneid allocation for
12144  * this but have a separate typedef. Thus the shared stack (used by
12145  * the global zone and other shared stack zones) have a zero ID, and
12146  * the exclusive stacks have a netstackid that is the same as their zoneid.
12147  */
12148 typedef id_t netstackid_t;
12149 
12150 
12151 
12152 /*
12153  * One for each module which uses netstack support.
12154  * Used in netstack_register().
12155  *
12156  * The order of these is important for some modules both for
12157  * the creation (which done in ascending order) and destruction (which is
12158  * done in in decending order).
12159  */
12160 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
12161 /*
12162  * State maintained for each module which tracks the state of
12163  * the create, shutdown and destroy callbacks.
12164  *
12165  * Keeps track of pending actions to avoid holding locks when
12166  * calling into the create/shutdown/destroy functions in the module.
12167  */
12168 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
12169 /* User-level compile like IP Filter needs a netstack_t. Dummy */
12170 typedef uint_t nm_state_t;
12171 
12172 
12173 /*
12174  * One for every netstack in the system.
12175  * We use a union so that the compilar and lint can provide type checking -
12176  * in principle we could have
12177  * #define	netstack_arp		netstack_modules[NS_ARP]
12178  * etc, but that would imply void * types hence no type checking by the
12179  * compiler.
12180  *
12181  * All the fields in netstack_t except netstack_next are protected by
12182  * netstack_lock. netstack_next is protected by netstack_g_lock.
12183  */
12184 struct netstack {
12185  union {
12186   void *nu_modules[(18 +1)];
12187   struct {
12188    struct dls_stack *nu_dls;
12189    struct iptun_stack *nu_iptun;
12190    struct str_stack *nu_str;
12191    struct hook_stack *nu_hook;
12192    struct neti_stack *nu_neti;
12193    struct arp_stack *nu_arp;
12194    struct ip_stack *nu_ip;
12195    struct icmp_stack *nu_icmp;
12196    struct udp_stack *nu_udp;
12197    struct tcp_stack *nu_tcp;
12198    struct sctp_stack *nu_sctp;
12199    struct rts_stack *nu_rts;
12200    struct ipsec_stack *nu_ipsec;
12201    struct keysock_stack *nu_keysock;
12202    struct spd_stack *nu_spdsock;
12203    struct ipsecah_stack *nu_ipsecah;
12204    struct ipsecesp_stack *nu_ipsecesp;
12205    struct ipnet_stack *nu_ipnet;
12206    struct ilb_stack *nu_ilb;
12207   } nu_s;
12208  } netstack_u;
12209 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
12210  nm_state_t netstack_m_state[(18 +1)]; /* module state */
12211 
12212  kmutex_t netstack_lock;
12213  struct netstack *netstack_next;
12214  netstackid_t netstack_stackid;
12215  int netstack_numzones; /* Number of zones using this */
12216  int netstack_refcnt; /* Number of hold-rele */
12217  int netstack_flags; /* See below */
12218 
12219 
12220 
12221 
12222 
12223 };
12224 typedef struct netstack netstack_t;
12225 
12226 /* netstack_flags values */
12227 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h"
12228 /*
12229  * One for each of the NS_* values.
12230  */
12231 struct netstack_registry {
12232  int nr_flags; /* 0 if nothing registered */
12233  void *(*nr_create)(netstackid_t, netstack_t *);
12234  void (*nr_shutdown)(netstackid_t, void *);
12235  void (*nr_destroy)(netstackid_t, void *);
12236 };
12237 
12238 /* nr_flags values */
12239 
12240 
12241 
12242 /*
12243  * To support kstat_create_netstack() using kstat_add_zone we need
12244  * to track both
12245  *  - all zoneids that use the global/shared stack
12246  *  - all kstats that have been added for the shared stack
12247  */
12248 
12249 extern void netstack_init(void);
12250 extern void netstack_hold(netstack_t *);
12251 extern void netstack_rele(netstack_t *);
12252 extern netstack_t *netstack_find_by_cred(const cred_t *);
12253 extern netstack_t *netstack_find_by_stackid(netstackid_t);
12254 extern netstack_t *netstack_find_by_zoneid(zoneid_t);
12255 
12256 extern zoneid_t netstackid_to_zoneid(netstackid_t);
12257 extern zoneid_t netstack_get_zoneid(netstack_t *);
12258 extern netstackid_t zoneid_to_netstackid(zoneid_t);
12259 
12260 extern netstack_t *netstack_get_current(void);
12261 
12262 /*
12263  * Register interest in changes to the set of netstacks.
12264  * The createfn and destroyfn are required, but the shutdownfn can be
12265  * NULL.
12266  * Note that due to the current zsd implementation, when the create
12267  * function is called the zone isn't fully present, thus functions
12268  * like zone_find_by_* will fail, hence the create function can not
12269  * use many zones kernel functions including zcmn_err().
12270  */
12271 extern void netstack_register(int,
12272     void *(*)(netstackid_t, netstack_t *),
12273     void (*)(netstackid_t, void *),
12274     void (*)(netstackid_t, void *));
12275 extern void netstack_unregister(int);
12276 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t,
12277     uint_t, uchar_t, netstackid_t);
12278 extern void kstat_delete_netstack(kstat_t *, netstackid_t);
12279 
12280 /*
12281  * Simple support for walking all the netstacks.
12282  * The caller of netstack_next() needs to call netstack_rele() when
12283  * done with a netstack.
12284  */
12285 typedef int netstack_handle_t;
12286 
12287 extern void netstack_next_init(netstack_handle_t *);
12288 extern void netstack_next_fini(netstack_handle_t *);
12289 extern netstack_t *netstack_next(netstack_handle_t *);
12290 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12291 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1
12292 /*
12293  * CDDL HEADER START
12294  *
12295  * The contents of this file are subject to the terms of the
12296  * Common Development and Distribution License (the "License").
12297  * You may not use this file except in compliance with the License.
12298  *
12299  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12300  * or http://www.opensolaris.org/os/licensing.
12301  * See the License for the specific language governing permissions
12302  * and limitations under the License.
12303  *
12304  * When distributing Covered Code, include this CDDL HEADER in each
12305  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12306  * If applicable, add the following below this CDDL HEADER, with the
12307  * fields enclosed by brackets "[]" replaced with your own identifying
12308  * information: Portions Copyright [yyyy] [name of copyright owner]
12309  *
12310  * CDDL HEADER END
12311  */
12312 /*
12313  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
12314  *
12315  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12316  * Use is subject to license terms.
12317  */
12318 
12319 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12320 /*	  All Rights Reserved  	*/
12321 
12322 
12323 
12324 
12325 
12326 
12327 
12328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12329 /*
12330  * CDDL HEADER START
12331  *
12332  * The contents of this file are subject to the terms of the
12333  * Common Development and Distribution License (the "License").
12334  * You may not use this file except in compliance with the License.
12335  *
12336  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12337  * or http://www.opensolaris.org/os/licensing.
12338  * See the License for the specific language governing permissions
12339  * and limitations under the License.
12340  *
12341  * When distributing Covered Code, include this CDDL HEADER in each
12342  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12343  * If applicable, add the following below this CDDL HEADER, with the
12344  * fields enclosed by brackets "[]" replaced with your own identifying
12345  * information: Portions Copyright [yyyy] [name of copyright owner]
12346  *
12347  * CDDL HEADER END
12348  */
12349 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12350 /*	  All Rights Reserved  	*/
12351 
12352 
12353 /*
12354  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12355  * Use is subject to license terms.
12356  *
12357  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12358  * Copyright 2016 Joyent, Inc.
12359  */
12360 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
12361 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
12362 /*
12363  * CDDL HEADER START
12364  *
12365  * The contents of this file are subject to the terms of the
12366  * Common Development and Distribution License (the "License").
12367  * You may not use this file except in compliance with the License.
12368  *
12369  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12370  * or http://www.opensolaris.org/os/licensing.
12371  * See the License for the specific language governing permissions
12372  * and limitations under the License.
12373  *
12374  * When distributing Covered Code, include this CDDL HEADER in each
12375  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12376  * If applicable, add the following below this CDDL HEADER, with the
12377  * fields enclosed by brackets "[]" replaced with your own identifying
12378  * information: Portions Copyright [yyyy] [name of copyright owner]
12379  *
12380  * CDDL HEADER END
12381  */
12382 /*
12383  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12384  * Use is subject to license terms.
12385  */
12386 
12387 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12388 /*	  All Rights Reserved  	*/
12389 
12390 /*
12391  * Portions of this source code were derived from Berkeley 4.3 BSD
12392  * under license from the Regents of the University of California.
12393  */
12394 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2
12395 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
12396 /*			17-21	   reserved for obsolete interface */
12397 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
12398 /*
12399  * Functions reserved for A_FREEZE (may not be available on all platforms)
12400  * Note:  AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete
12401  *	The first two are succeeded by AD_SUSPEND_TO_DISK and
12402  *		AD_CHECK_SUSPEND_TO_DISK respectively.
12403  *	AD_FORCE should not be used by any new application
12404  *
12405  *	We maintain compatibility with the earlier interfaces:
12406  *	AD_COMPRESS and AD_CHECK, by preserving those values
12407  *	in the corresponding new interfaces
12408  */
12409 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
12410 /*
12411  * NOTE: the following defines comprise an Unstable interface.  Their semantics
12412  * may change or they may be removed completely in a later release
12413  */
12414 
12415 
12416 
12417 
12418 
12419 
12420 
12421 /*
12422  * Functions of A_CONFIG.  Unstable interface.
12423  */
12424 
12425 
12426 /*
12427  * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT,
12428  * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most
12429  * 256 characters.
12430  */
12431 
12432 
12433 
12434 /*
12435  * FMRI for boot-config service.
12436  */
12437 
12438 
12439 
12440 /*
12441  * Property group that contains all Fast Reboot configuration properties.
12442  */
12443 
12444 
12445 /*
12446  * Property group that contains all Fast Reboot blacklisting information.
12447  */
12448 
12449 
12450 /*
12451  * Non-persistent property group which contains all the properties that
12452  * will override settings in the BOOT_CONFIG_PG_PARAMS property group.
12453  */
12454 
12455 
12456 
12457 
12458 /*
12459  * Flag representations of fastboot configuration.
12460  */
12461 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h"
12462 extern int uadmin(int, int, uintptr_t);
12463 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1
12465 /*
12466  * CDDL HEADER START
12467  *
12468  * The contents of this file are subject to the terms of the
12469  * Common Development and Distribution License, Version 1.0 only
12470  * (the "License").  You may not use this file except in compliance
12471  * with the License.
12472  *
12473  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12474  * or http://www.opensolaris.org/os/licensing.
12475  * See the License for the specific language governing permissions
12476  * and limitations under the License.
12477  *
12478  * When distributing Covered Code, include this CDDL HEADER in each
12479  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12480  * If applicable, add the following below this CDDL HEADER, with the
12481  * fields enclosed by brackets "[]" replaced with your own identifying
12482  * information: Portions Copyright [yyyy] [name of copyright owner]
12483  *
12484  * CDDL HEADER END
12485  */
12486 /*
12487  *	Copyright (c) 1991, Sun Microsystems, Inc.
12488  */
12489 
12490 /*
12491  * DKI/DDI MT synchronization primitives.
12492  */
12493 
12494 
12495 
12496 
12497 #pragma ident "%Z%%M%	%I%	%E% SMI"
12498 
12499 /*
12500  * The presence of this file is specified by the DKI/DDI.
12501  */
12502 
12503 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
12504 /*
12505  * CDDL HEADER START
12506  *
12507  * The contents of this file are subject to the terms of the
12508  * Common Development and Distribution License, Version 1.0 only
12509  * (the "License").  You may not use this file except in compliance
12510  * with the License.
12511  *
12512  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12513  * or http://www.opensolaris.org/os/licensing.
12514  * See the License for the specific language governing permissions
12515  * and limitations under the License.
12516  *
12517  * When distributing Covered Code, include this CDDL HEADER in each
12518  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12519  * If applicable, add the following below this CDDL HEADER, with the
12520  * fields enclosed by brackets "[]" replaced with your own identifying
12521  * information: Portions Copyright [yyyy] [name of copyright owner]
12522  *
12523  * CDDL HEADER END
12524  */
12525 /*
12526  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
12527  * All rights reserved.
12528  */
12529 
12530 /*
12531  * t_lock.h:	Prototypes for disp_locks, plus include files
12532  *		that describe the interfaces to kernel synch.
12533  *		objects.
12534  */
12535 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2
12536 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12537 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
12538 /*
12539  * CDDL HEADER START
12540  *
12541  * The contents of this file are subject to the terms of the
12542  * Common Development and Distribution License (the "License").
12543  * You may not use this file except in compliance with the License.
12544  *
12545  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12546  * or http://www.opensolaris.org/os/licensing.
12547  * See the License for the specific language governing permissions
12548  * and limitations under the License.
12549  *
12550  * When distributing Covered Code, include this CDDL HEADER in each
12551  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12552  * If applicable, add the following below this CDDL HEADER, with the
12553  * fields enclosed by brackets "[]" replaced with your own identifying
12554  * information: Portions Copyright [yyyy] [name of copyright owner]
12555  *
12556  * CDDL HEADER END
12557  */
12558 /*
12559  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12560  * Use is subject to license terms.
12561  */
12562 
12563 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12564 /*	  All Rights Reserved	*/
12565 
12566 /*
12567  * Portions of this source code were derived from Berkeley 4.3 BSD
12568  * under license from the Regents of the University of California.
12569  */
12570 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h"
12571 typedef uint16_t sa_family_t;
12572 
12573 
12574 /*
12575  * Structure used by kernel to store most
12576  * addresses.
12577  */
12578 struct sockaddr {
12579  sa_family_t sa_family; /* address family */
12580  char sa_data[14]; /* up to 14 bytes of direct address */
12581 };
12582 
12583 
12584 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1
12585 /*
12586  * CDDL HEADER START
12587  *
12588  * The contents of this file are subject to the terms of the
12589  * Common Development and Distribution License (the "License").
12590  * You may not use this file except in compliance with the License.
12591  *
12592  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12593  * or http://www.opensolaris.org/os/licensing.
12594  * See the License for the specific language governing permissions
12595  * and limitations under the License.
12596  *
12597  * When distributing Covered Code, include this CDDL HEADER in each
12598  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12599  * If applicable, add the following below this CDDL HEADER, with the
12600  * fields enclosed by brackets "[]" replaced with your own identifying
12601  * information: Portions Copyright [yyyy] [name of copyright owner]
12602  *
12603  * CDDL HEADER END
12604  */
12605 /*
12606  * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
12607  */
12608 
12609 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12610 /*	  All Rights Reserved  	*/
12611 
12612 /*
12613  * University Copyright- Copyright (c) 1982, 1986, 1988
12614  * The Regents of the University of California
12615  * All Rights Reserved
12616  *
12617  * University Acknowledgment- Portions of this document are derived from
12618  * software developed by the University of California, Berkeley, and its
12619  * contributors.
12620  */
12621 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
12622 /*
12623  * Definitions for UNIX IPC domain.
12624  */
12625 struct sockaddr_un {
12626  sa_family_t sun_family; /* AF_UNIX */
12627  char sun_path[108]; /* path name (gag) */
12628 };
12629 
12630 
12631 
12632 /*
12633  * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to
12634  * change.
12635  *
12636  * Also, include a strlen() prototype, and we have to protect it w.r.t.
12637  * UNIX{98,03}.  And because there's strlen, we need size_t as well.
12638  */
12639 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
12640 extern size_t strlen(const char *);
12641 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
12642 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1
12643 /*
12644  * Copyright 1993-2003 Sun Microsystems, Inc.  All rights reserved.
12645  * Use is subject to license terms.
12646  */
12647 /*
12648  * Copyright (c) 1990, 1993
12649  *	The Regents of the University of California.  All rights reserved.
12650  *
12651  * Redistribution and use in source and binary forms, with or without
12652  * modification, are permitted provided that the following conditions
12653  * are met:
12654  * 1. Redistributions of source code must retain the above copyright
12655  *    notice, this list of conditions and the following disclaimer.
12656  * 2. Redistributions in binary form must reproduce the above copyright
12657  *    notice, this list of conditions and the following disclaimer in the
12658  *    documentation and/or other materials provided with the distribution.
12659  * 3. All advertising materials mentioning features or use of this software
12660  *    must display the following acknowledgement:
12661  *	This product includes software developed by the University of
12662  *	California, Berkeley and its contributors.
12663  * 4. Neither the name of the University nor the names of its contributors
12664  *    may be used to endorse or promote products derived from this software
12665  *    without specific prior written permission.
12666  *
12667  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
12668  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
12669  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
12670  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
12671  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
12672  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
12673  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
12674  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
12675  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
12676  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
12677  * SUCH DAMAGE.
12678  */
12679 
12680 
12681 
12682 
12683 #pragma ident "%Z%%M%	%I%	%E% SMI"
12684 /* from UCB 8.1 (Berkeley) 6/10/93 */
12685 
12686 
12687 
12688 
12689 
12690 /*
12691  * A Link-Level Sockaddr may specify the interface in one of two
12692  * ways: either by means of a system-provided index number (computed
12693  * anew and possibly differently on every reboot), or by a human-readable
12694  * string such as "il0" (for managerial convenience).
12695  *
12696  * Census taking actions, such as something akin to SIOCGCONF would return
12697  * both the index and the human name.
12698  *
12699  * High volume transactions (such as giving a link-level ``from'' address
12700  * in a recvfrom or recvmsg call) may be likely only to provide the indexed
12701  * form, (which requires fewer copy operations and less space).
12702  *
12703  * The form and interpretation  of the link-level address is purely a matter
12704  * of convention between the device driver and its consumers; however, it is
12705  * expected that all drivers for an interface of a given if_type will agree.
12706  */
12707 
12708 /*
12709  * Structure of a Link-Level sockaddr:
12710  */
12711 struct sockaddr_dl {
12712  ushort_t sdl_family; /* AF_LINK */
12713  ushort_t sdl_index; /* if != 0, system given index for interface */
12714  uchar_t sdl_type; /* interface type */
12715  uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */
12716  uchar_t sdl_alen; /* link level address length */
12717  uchar_t sdl_slen; /* link layer selector length */
12718  char sdl_data[244]; /* contains both if name and ll address */
12719 };
12720 
12721 
12722 
12723 
12724 extern char *_link_ntoa(const unsigned char *, char *, int, int);
12725 extern unsigned char *_link_aton(const char *, int *);
12726 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
12727 
12728 
12729 
12730 /*
12731  * sockaddr_storage:
12732  * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr
12733  * structures. Has sufficient size and alignment for those sockaddrs.
12734  */
12735 
12736 /*
12737  * Desired maximum size, alignment size and related types.
12738  */
12739 
12740 
12741 /*
12742  * To represent desired sockaddr max alignment for platform, a
12743  * type is chosen which may depend on implementation platform architecture.
12744  * Type chosen based on alignment size restrictions from <sys/isa_defs.h>.
12745  * We desire to force up to (but no more than) 64-bit (8 byte) alignment,
12746  * on platforms where it is possible to do so. (e.g not possible on ia32).
12747  * For all currently supported platforms by our implementation
12748  * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64)
12749  * type "double" is suitable for that intent.
12750  *
12751  * Note: Type "double" is chosen over the more obvious integer type int64_t.
12752  *   int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32.
12753  */
12754 typedef double sockaddr_maxalign_t;
12755 
12756 
12757 
12758 /*
12759  * Definitions used for sockaddr_storage structure paddings design.
12760  */
12761 
12762 
12763 
12764 
12765 struct sockaddr_storage {
12766  sa_family_t ss_family; /* Address family */
12767  /* Following fields are implementation specific */
12768  char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))];
12769  sockaddr_maxalign_t _ss_align;
12770  char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))];
12771 };
12772 
12773 
12774 /*
12775  * To be compatible with the Linux interfaces used, this structure is
12776  * placed in socket_impl.h so that an include for <sys/socket.h> will
12777  * pickup this structure. This structure is for use with PF_PACKET
12778  * sockets.
12779  */
12780 struct sockaddr_ll {
12781  uint16_t sll_family;
12782  uint16_t sll_protocol;
12783  int32_t sll_ifindex;
12784  uint16_t sll_hatype;
12785  uint8_t sll_pkttype;
12786  uint8_t sll_halen;
12787  uint8_t sll_addr[8];
12788 };
12789 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
12790 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
12791 /*
12792  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12793  * Use is subject to license terms.
12794  *
12795  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
12796  */
12797 /*
12798  * Copyright (c) 1982, 1986 Regents of the University of California.
12799  * All rights reserved.
12800  *
12801  * Redistribution and use in source and binary forms are permitted
12802  * provided that this notice is preserved and that due credit is given
12803  * to the University of California at Berkeley. The name of the University
12804  * may not be used to endorse or promote products derived from this
12805  * software without specific prior written permission. This software
12806  * is provided ``as is'' without express or implied warranty.
12807  */
12808 
12809 /*
12810  * Constants and structures defined by the internet system,
12811  * according to following documents
12812  *
12813  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
12814  *	http://www.iana.org/assignments/protocol-numbers
12815  *	http://www.iana.org/assignments/port-numbers
12816  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
12817  *
12818  */
12819 
12820 
12821 
12822 
12823 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
12824 /*
12825  * CDDL HEADER START
12826  *
12827  * The contents of this file are subject to the terms of the
12828  * Common Development and Distribution License (the "License").
12829  * You may not use this file except in compliance with the License.
12830  *
12831  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12832  * or http://www.opensolaris.org/os/licensing.
12833  * See the License for the specific language governing permissions
12834  * and limitations under the License.
12835  *
12836  * When distributing Covered Code, include this CDDL HEADER in each
12837  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12838  * If applicable, add the following below this CDDL HEADER, with the
12839  * fields enclosed by brackets "[]" replaced with your own identifying
12840  * information: Portions Copyright [yyyy] [name of copyright owner]
12841  *
12842  * CDDL HEADER END
12843  */
12844 
12845 /*
12846  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
12847  * Copyright 2016 Joyent, Inc.
12848  *
12849  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
12850  * Use is subject to license terms.
12851  */
12852 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12853 
12854 
12855 
12856 
12857 
12858 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
12859 /*
12860  * CDDL HEADER START
12861  *
12862  * The contents of this file are subject to the terms of the
12863  * Common Development and Distribution License (the "License").
12864  * You may not use this file except in compliance with the License.
12865  *
12866  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12867  * or http://www.opensolaris.org/os/licensing.
12868  * See the License for the specific language governing permissions
12869  * and limitations under the License.
12870  *
12871  * When distributing Covered Code, include this CDDL HEADER in each
12872  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12873  * If applicable, add the following below this CDDL HEADER, with the
12874  * fields enclosed by brackets "[]" replaced with your own identifying
12875  * information: Portions Copyright [yyyy] [name of copyright owner]
12876  *
12877  * CDDL HEADER END
12878  */
12879 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12880 /*	  All Rights Reserved  	*/
12881 
12882 
12883 /*
12884  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12885  * Use is subject to license terms.
12886  *
12887  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
12888  * Copyright 2016 Joyent, Inc.
12889  */
12890 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12891 
12892 
12893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
12894 /*
12895  * CDDL HEADER START
12896  *
12897  * The contents of this file are subject to the terms of the
12898  * Common Development and Distribution License (the "License").
12899  * You may not use this file except in compliance with the License.
12900  *
12901  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12902  * or http://www.opensolaris.org/os/licensing.
12903  * See the License for the specific language governing permissions
12904  * and limitations under the License.
12905  *
12906  * When distributing Covered Code, include this CDDL HEADER in each
12907  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
12908  * If applicable, add the following below this CDDL HEADER, with the
12909  * fields enclosed by brackets "[]" replaced with your own identifying
12910  * information: Portions Copyright [yyyy] [name of copyright owner]
12911  *
12912  * CDDL HEADER END
12913  */
12914 /*
12915  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12916  * Use is subject to license terms.
12917  */
12918 
12919 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
12920 /*	  All Rights Reserved	*/
12921 
12922 /*
12923  * Portions of this source code were derived from Berkeley 4.3 BSD
12924  * under license from the Regents of the University of California.
12925  */
12926 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
12927 
12928 
12929 
12930 
12931 
12932 /*
12933  * The socklen definitions are reproduced here from sys/socket.h so as to
12934  * not introduce that namespace into existing users of netinet/in.h.
12935  */
12936 
12937 
12938 
12939 typedef uint32_t socklen_t;
12940 
12941 
12942 
12943 
12944 
12945 typedef void *Psocklen_t;
12946 
12947 
12948 
12949 
12950 
12951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1
12952 /*
12953  * CDDL HEADER START
12954  *
12955  * The contents of this file are subject to the terms of the
12956  * Common Development and Distribution License (the "License").
12957  * You may not use this file except in compliance with the License.
12958  *
12959  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12960  * or http://www.opensolaris.org/os/licensing.
12961  * See the License for the specific language governing permissions
12962  * and limitations under the License.
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  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
12974  * Use is subject to license terms.
12975  */
12976 
12977 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
12978 /*	  All Rights Reserved  	*/
12979 
12980 
12981 
12982 
12983 
12984 /*
12985  * For source compatibility
12986  */
12987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
12988 /*
12989  * CDDL HEADER START
12990  *
12991  * The contents of this file are subject to the terms of the
12992  * Common Development and Distribution License (the "License").
12993  * You may not use this file except in compliance with the License.
12994  *
12995  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12996  * or http://www.opensolaris.org/os/licensing.
12997  * See the License for the specific language governing permissions
12998  * and limitations under the License.
12999  *
13000  *
13001  * When distributing Covered Code, include this CDDL HEADER in each
13002  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13003  * If applicable, add the following below this CDDL HEADER, with the
13004  * fields enclosed by brackets "[]" replaced with your own identifying
13005  * information: Portions Copyright [yyyy] [name of copyright owner]
13006  *
13007  * CDDL HEADER END
13008  */
13009 
13010 /*
13011  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
13012  * Use is subject to license terms.
13013  * Copyright 2016 Joyent, Inc.
13014  */
13015 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13016 
13017 
13018 
13019 
13020 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1
13021 /*
13022  * CDDL HEADER START
13023  *
13024  * The contents of this file are subject to the terms of the
13025  * Common Development and Distribution License, Version 1.0 only
13026  * (the "License").  You may not use this file except in compliance
13027  * with the License.
13028  *
13029  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13030  * or http://www.opensolaris.org/os/licensing.
13031  * See the License for the specific language governing permissions
13032  * and limitations under the License.
13033  *
13034  * When distributing Covered Code, include this CDDL HEADER in each
13035  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13036  * If applicable, add the following below this CDDL HEADER, with the
13037  * fields enclosed by brackets "[]" replaced with your own identifying
13038  * information: Portions Copyright [yyyy] [name of copyright owner]
13039  *
13040  * CDDL HEADER END
13041  */
13042 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13043 /*	  All Rights Reserved  	*/
13044 
13045 
13046 /*
13047  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
13048  *
13049  * Copyright (c) 1995, 1998 by Sun Microsystems, Inc.
13050  * All rights reserved.
13051  */
13052 
13053 /*
13054  * Copyright 2015, Joyent, Inc.
13055  */
13056 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
13057 /*
13058  * Structure of file descriptor/event pairs supplied in
13059  * the poll arrays.
13060  */
13061 typedef struct pollfd {
13062  int fd; /* file desc to poll */
13063  short events; /* events of interest on fd */
13064  short revents; /* events that occurred on fd */
13065 } pollfd_t;
13066 
13067 typedef unsigned long nfds_t;
13068 
13069 /*
13070  * Testable select events
13071  */
13072 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
13073 /*
13074  * Non-testable poll events (may not be specified in events field,
13075  * but may be returned in revents field).
13076  */
13077 
13078 
13079 
13080 
13081 /*
13082  * These events will never be specified in revents, but may be specified in
13083  * events to control /dev/poll behavior.
13084  */
13085 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
13086 int poll(struct pollfd *, nfds_t, int);
13087 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1
13089 /*
13090  * CDDL HEADER START
13091  *
13092  * The contents of this file are subject to the terms of the
13093  * Common Development and Distribution License, Version 1.0 only
13094  * (the "License").  You may not use this file except in compliance
13095  * with the License.
13096  *
13097  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13098  * or http://www.opensolaris.org/os/licensing.
13099  * See the License for the specific language governing permissions
13100  * and limitations under the License.
13101  *
13102  * When distributing Covered Code, include this CDDL HEADER in each
13103  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13104  * If applicable, add the following below this CDDL HEADER, with the
13105  * fields enclosed by brackets "[]" replaced with your own identifying
13106  * information: Portions Copyright [yyyy] [name of copyright owner]
13107  *
13108  * CDDL HEADER END
13109  */
13110 /*
13111  * Copyright (c) 1997-1998 by Sun Microsystems, Inc.
13112  * All rights reserved.
13113  */
13114 
13115 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
13116 /*	  All Rights Reserved  	*/
13117 
13118 
13119 
13120 
13121 
13122 #pragma ident "%Z%%M%	%I%	%E% SMI"
13123 
13124 
13125 
13126 
13127 
13128 /*
13129  * This file contains all machine-dependent declarations
13130  * in STREAMS.
13131  */
13132 
13133 /*
13134  * Copy data from one data buffer to another.
13135  * The addresses must be word aligned - if not, use bcopy!
13136  */
13137 
13138 
13139 /*
13140  * save the address of the calling function on the 3b2 to
13141  * enable tracking of who is allocating message blocks
13142  */
13143 
13144 
13145 /*
13146  * macro to check pointer alignment
13147  * (true if alignment is sufficient for worst case)
13148  */
13149 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13150 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
13151 /*
13152  * CDDL HEADER START
13153  *
13154  * The contents of this file are subject to the terms of the
13155  * Common Development and Distribution License (the "License").
13156  * You may not use this file except in compliance with the License.
13157  *
13158  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13159  * or http://www.opensolaris.org/os/licensing.
13160  * See the License for the specific language governing permissions
13161  * and limitations under the License.
13162  *
13163  * When distributing Covered Code, include this CDDL HEADER in each
13164  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13165  * If applicable, add the following below this CDDL HEADER, with the
13166  * fields enclosed by brackets "[]" replaced with your own identifying
13167  * information: Portions Copyright [yyyy] [name of copyright owner]
13168  *
13169  * CDDL HEADER END
13170  */
13171 /*
13172  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13173  * Use is subject to license terms.
13174  */
13175 
13176 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
13177 /*	  All Rights Reserved  	*/
13178 
13179 /*
13180  * Portions of this source code were derived from Berkeley 4.3 BSD
13181  * under license from the Regents of the University of California.
13182  */
13183 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13184 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
13185 /*
13186  * CDDL HEADER START
13187  *
13188  * The contents of this file are subject to the terms of the
13189  * Common Development and Distribution License, Version 1.0 only
13190  * (the "License").  You may not use this file except in compliance
13191  * with the License.
13192  *
13193  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13194  * or http://www.opensolaris.org/os/licensing.
13195  * See the License for the specific language governing permissions
13196  * and limitations under the License.
13197  *
13198  * When distributing Covered Code, include this CDDL HEADER in each
13199  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13200  * If applicable, add the following below this CDDL HEADER, with the
13201  * fields enclosed by brackets "[]" replaced with your own identifying
13202  * information: Portions Copyright [yyyy] [name of copyright owner]
13203  *
13204  * CDDL HEADER END
13205  */
13206 /*
13207  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
13208  * All rights reserved.
13209  */
13210 
13211 /*
13212  * t_lock.h:	Prototypes for disp_locks, plus include files
13213  *		that describe the interfaces to kernel synch.
13214  *		objects.
13215  */
13216 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1
13218 /*
13219  * CDDL HEADER START
13220  *
13221  * The contents of this file are subject to the terms of the
13222  * Common Development and Distribution License, Version 1.0 only
13223  * (the "License").  You may not use this file except in compliance
13224  * with the License.
13225  *
13226  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13227  * or http://www.opensolaris.org/os/licensing.
13228  * See the License for the specific language governing permissions
13229  * and limitations under the License.
13230  *
13231  * When distributing Covered Code, include this CDDL HEADER in each
13232  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13233  * If applicable, add the following below this CDDL HEADER, with the
13234  * fields enclosed by brackets "[]" replaced with your own identifying
13235  * information: Portions Copyright [yyyy] [name of copyright owner]
13236  *
13237  * CDDL HEADER END
13238  */
13239 /*
13240  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
13241  * Use is subject to license terms.
13242  */
13243 
13244 
13245 
13246 
13247 #pragma ident "%Z%%M%	%I%	%E% SMI"
13248 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
13249 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
13250 /*
13251  * CDDL HEADER START
13252  *
13253  * The contents of this file are subject to the terms of the
13254  * Common Development and Distribution License (the "License").
13255  * You may not use this file except in compliance with the License.
13256  *
13257  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13258  * or http://www.opensolaris.org/os/licensing.
13259  * See the License for the specific language governing permissions
13260  * and limitations under the License.
13261  *
13262  *
13263  * When distributing Covered Code, include this CDDL HEADER in each
13264  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13265  * If applicable, add the following below this CDDL HEADER, with the
13266  * fields enclosed by brackets "[]" replaced with your own identifying
13267  * information: Portions Copyright [yyyy] [name of copyright owner]
13268  *
13269  * CDDL HEADER END
13270  */
13271 
13272 /*
13273  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
13274  * Use is subject to license terms.
13275  * Copyright 2016 Joyent, Inc.
13276  */
13277 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2
13278 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
13279 /*
13280  * XXX	Ick.  This type needs to be visible outside the above guard because
13281  * the proc structure is visible outside the _KERNEL | _KMEMUSER guard.
13282  * If we can make proc internals less visible, (which we obviously should)
13283  * then this can be invisible too.
13284  */
13285 typedef unsigned int model_t;
13286 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
13287 
13288 
13289 
13290 
13291 
13292 /*
13293  * Data queue.
13294  *
13295  * NOTE: The *only* public fields are documented in queue(9S).
13296  *       Everything else is implementation-private.
13297  *
13298  * The locking rules for the queue_t structure are extremely subtle and vary
13299  * widely depending on the field in question.  As such, each field is
13300  * annotated according to the following legend:
13301  *
13302  *   Q9S: The field is documented in queue(9S) and may be accessed without
13303  *        locks by a STREAMS module when inside an entry point (e.g., put(9E)).
13304  *        However, no fields can be directly modified unless q_lock is held
13305  *        (which is not possible in a DDI compliant STREAMS module), with the
13306  *        following exceptions:
13307  *
13308  *	   - q_ptr: can be modified as per the rules of the STREAMS module.
13309  *		    The STREAMS framework ignores q_ptr and thus imposes *no*
13310  *		    locking rules on it.
13311  *         - q_qinfo: can be modified before qprocson().
13312  *
13313  *	   - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the
13314  *		    rules of the STREAMS module.  The STREAMS framework never
13315  *		    modifies these fields, and is tolerant of temporarily
13316  *		    stale field values.
13317  *
13318  *	  In general, the STREAMS framework employs one of the following
13319  *	  techniques to ensure STREAMS modules can safely access Q9S fields:
13320  *
13321  *	   - The field is only modified by the framework when the stream is
13322  *	     locked with strlock() (q_next).
13323  *
13324  *	   - The field is modified by the framework, but the modifies are
13325  *	     atomic, and temporarily stale values are harmless (q_count,
13326  *	     q_first, q_last).
13327  *
13328  *	   - The field is modified by the framework, but the field's visible
13329  *	     values are either constant or directly under the control
13330  *	     of the STREAMS module itself (q_flag).
13331  *
13332  *   QLK: The field must be accessed or modified under q_lock, except when
13333  *        the stream has been locked with strlock().  If multiple q_locks must
13334  *        be acquired, q_locks at higher addresses must be taken first.
13335  *
13336  *   STR: The field can be accessed without a lock, but must be modified under
13337  *	  strlock().
13338  *
13339  *   SQLK: The field must be accessed or modified under SQLOCK().
13340  *
13341  *   NOLK: The field can be accessed without a lock, but can only be modified
13342  *	   when the queue_t is not known to any other threads.
13343  *
13344  *   SVLK: The field must be accessed or modified under the service_queue lock.
13345  *         Note that service_lock must be taken after any needed q_locks,
13346  *	   and that no other lock should be taken while service_lock is held.
13347  *
13348  * In addition, it is always acceptable to modify a field that is not yet
13349  * known to any other threads -- and other special case exceptions exist in
13350  * the code.  Also, q_lock is used with q_wait to implement a stream head
13351  * monitor for reads and writes.
13352  */
13353 typedef struct queue {
13354  struct qinit *q_qinfo; /* Q9S: Q processing procedure  */
13355  struct msgb *q_first; /* Q9S: first message in Q	*/
13356  struct msgb *q_last; /* Q9S: last message in Q	*/
13357  struct queue *q_next; /* Q9S: next Q in stream	*/
13358  struct queue *q_link; /* SVLK: next Q for scheduling	*/
13359  void *q_ptr; /* Q9S: module-specific data	*/
13360  size_t q_count; /* Q9S: number of bytes on Q	*/
13361  uint_t q_flag; /* Q9S: Q state			*/
13362  ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */
13363  ssize_t q_maxpsz; /* Q9S: largest packet OK on Q	*/
13364  size_t q_hiwat; /* Q9S: Q high water mark	*/
13365  size_t q_lowat; /* Q9S: Q low water mark	*/
13366  struct qband *q_bandp; /* QLK: band flow information	*/
13367  kmutex_t q_lock; /* NOLK: structure lock		*/
13368  struct stdata *q_stream; /* NOLK: stream backpointer	*/
13369  struct syncq *q_syncq; /* NOLK: associated syncq 	*/
13370  unsigned char q_nband; /* QLK: number of bands		*/
13371  kcondvar_t q_wait; /* NOLK: read/write sleep CV	*/
13372  struct queue *q_nfsrv; /* STR: next Q with svc routine */
13373  ushort_t q_draining; /* QLK: Q is draining		*/
13374  short q_struiot; /* QLK: sync streams Q UIO mode	*/
13375  clock_t q_qtstamp; /* QLK: when Q was enabled	*/
13376  size_t q_mblkcnt; /* QLK: mblk count		*/
13377  uint_t q_syncqmsgs; /* QLK: syncq message count	*/
13378  size_t q_rwcnt; /* QLK: # threads in rwnext()	*/
13379  pri_t q_spri; /* QLK: Q scheduling priority	*/
13380 
13381  /*
13382 	 * Syncq scheduling
13383 	 */
13384  struct msgb *q_sqhead; /* QLK: first syncq message	*/
13385  struct msgb *q_sqtail; /* QLK: last syncq message 	*/
13386  struct queue *q_sqnext; /* SQLK: next Q on syncq list	*/
13387  struct queue *q_sqprev; /* SQLK: prev Q on syncq list 	*/
13388  uint_t q_sqflags; /* SQLK: syncq flags		*/
13389  clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */
13390 
13391  /*
13392 	 * NOLK: Reference to the queue's module's implementation
13393 	 * structure. This will be NULL for queues associated with drivers.
13394 	 */
13395  struct fmodsw_impl *q_fp;
13396 } queue_t;
13397 
13398 /*
13399  * Queue flags; unused flags not documented in queue(9S) can be recycled.
13400  */
13401 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13402 /*	UNUSED		0x00000200	   was QHLIST			*/
13403 /* 	UNUSED 		0x00000400	   was QUNSAFE			*/
13404 
13405 
13406 
13407 
13408 
13409 
13410      /* all MT type flags		*/
13411 
13412 
13413 
13414 
13415 
13416 
13417 /*	UNUSED		0x00400000	   was QHOT			*/
13418 /*	UNUSED		0x00800000	   was QNEXTHOT			*/
13419 /* 	UNUSED		0x01000000	   was _QNEXTLESS		*/
13420 
13421 
13422 
13423 
13424      /* direct interface to/from sockfs */
13425 
13426 /* queue sqflags (protected by SQLOCK). */
13427 
13428 
13429      /* This is also noted by the	*/
13430      /* q_draining field, but this one is */
13431      /* protected by SQLOCK */
13432 
13433 /*
13434  * Structure that describes the separate information
13435  * for each priority band in the queue.
13436  */
13437 typedef struct qband {
13438  struct qband *qb_next; /* next band's info */
13439  size_t qb_count; /* number of bytes in band */
13440  struct msgb *qb_first; /* beginning of band's data */
13441  struct msgb *qb_last; /* end of band's data */
13442  size_t qb_hiwat; /* high water mark for band */
13443  size_t qb_lowat; /* low water mark for band */
13444  uint_t qb_flag; /* see below */
13445  size_t qb_mblkcnt; /* mblk counter for runaway msgs */
13446 } qband_t;
13447 
13448 /*
13449  * qband flags
13450  */
13451 
13452 
13453 
13454 
13455 /*
13456  * Maximum number of bands.
13457  */
13458 
13459 
13460 /*
13461  * Fields that can be manipulated through strqset() and strqget().
13462  */
13463 typedef enum qfields {
13464  QHIWAT = 0, /* q_hiwat or qb_hiwat */
13465  QLOWAT = 1, /* q_lowat or qb_lowat */
13466  QMAXPSZ = 2, /* q_maxpsz */
13467  QMINPSZ = 3, /* q_minpsz */
13468  QCOUNT = 4, /* q_count or qb_count */
13469  QFIRST = 5, /* q_first or qb_first */
13470  QLAST = 6, /* q_last or qb_last */
13471  QFLAG = 7, /* q_flag or qb_flag */
13472  QSTRUIOT = 8, /* q_struiot */
13473  QBAD = 9
13474 } qfields_t;
13475 
13476 /*
13477  * Module information structure
13478  */
13479 struct module_info {
13480  ushort_t mi_idnum; /* module id number */
13481  char *mi_idname; /* module name */
13482  ssize_t mi_minpsz; /* min packet size accepted */
13483  ssize_t mi_maxpsz; /* max packet size accepted */
13484  size_t mi_hiwat; /* hi-water mark */
13485  size_t mi_lowat; /* lo-water mark */
13486 };
13487 
13488 /*
13489  * queue information structure (with Synchronous STREAMS extensions)
13490  */
13491 struct qinit {
13492  int (*qi_putp)(); /* put procedure */
13493  int (*qi_srvp)(); /* service procedure */
13494  int (*qi_qopen)(); /* called on startup */
13495  int (*qi_qclose)(); /* called on finish */
13496  int (*qi_qadmin)(); /* for future use */
13497  struct module_info *qi_minfo; /* module information structure */
13498  struct module_stat *qi_mstat; /* module statistics structure */
13499  int (*qi_rwp)(); /* r/w procedure */
13500  int (*qi_infop)(); /* information procedure */
13501  int qi_struiot; /* stream uio type for struio() */
13502 };
13503 
13504 /*
13505  * Values for qi_struiot and q_struiot:
13506  */
13507 
13508 
13509 
13510 
13511 /*
13512  * Streamtab (used in cdevsw and fmodsw to point to module or driver)
13513  */
13514 struct streamtab {
13515  struct qinit *st_rdinit;
13516  struct qinit *st_wrinit;
13517  struct qinit *st_muxrinit;
13518  struct qinit *st_muxwinit;
13519 };
13520 
13521 /*
13522  * Structure sent to mux drivers to indicate a link.
13523  */
13524 struct linkblk {
13525  queue_t *l_qtop; /* lowest level write queue of upper stream */
13526     /* (set to NULL for persistent links) */
13527  queue_t *l_qbot; /* highest level write queue of lower stream */
13528  int l_index; /* index for lower stream. */
13529 };
13530 
13531 /*
13532  * Esballoc data buffer freeing routine
13533  */
13534 typedef struct free_rtn {
13535  void (*free_func)();
13536  caddr_t free_arg;
13537 } frtn_t;
13538 
13539 /*
13540  * Data block descriptor
13541  *
13542  * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields,
13543  * as described in datab(9S).  Everything else is implementation-private.
13544  */
13545 
13546 
13547 
13548 typedef struct datab {
13549  frtn_t *db_frtnp;
13550  unsigned char *db_base;
13551  unsigned char *db_lim;
13552  unsigned char db_ref;
13553  unsigned char db_type;
13554  unsigned char db_flags;
13555  unsigned char db_struioflag;
13556  pid_t db_cpid; /* cached pid, needs verification */
13557  void *db_cache; /* kmem cache descriptor */
13558  struct msgb *db_mblk;
13559  void (*db_free)(struct msgb *, struct datab *);
13560  void (*db_lastfree)(struct msgb *, struct datab *);
13561  intptr_t db_cksumstart;
13562  intptr_t db_cksumend;
13563  intptr_t db_cksumstuff;
13564  union {
13565   double enforce_alignment;
13566   unsigned char data[8];
13567   struct {
13568    union {
13569     uint32_t u32;
13570     uint16_t u16;
13571    } cksum_val; /* used to store calculated cksum */
13572    uint16_t flags;
13573    uint16_t pad;
13574   } cksum;
13575   /*
13576 		 * Union used for future extensions (pointer to data ?).
13577 		 */
13578  } db_struioun;
13579  struct fthdr *db_fthdr;
13580  cred_t *db_credp; /* credential */
13581 } dblk_t;
13582 
13583 
13584 
13585 
13586 /*
13587  * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>).
13588  */
13589 
13590 
13591 
13592 /*
13593  * Used by GLDv2 to store the TCI information.
13594  */
13595 
13596 
13597 /*
13598  * Message block descriptor
13599  */
13600 typedef struct msgb {
13601  struct msgb *b_next;
13602  struct msgb *b_prev;
13603  struct msgb *b_cont;
13604  unsigned char *b_rptr;
13605  unsigned char *b_wptr;
13606  struct datab *b_datap;
13607  unsigned char b_band;
13608  unsigned char b_tag;
13609  unsigned short b_flag;
13610  queue_t *b_queue; /* for sync queues */
13611 } mblk_t;
13612 
13613 /*
13614  * bcache descriptor
13615  */
13616 typedef struct bcache {
13617  kmutex_t mutex;
13618  struct kmem_cache *buffer_cache;
13619  struct kmem_cache *dblk_cache;
13620  int alloc;
13621  int destroy;
13622  size_t size;
13623  uint_t align;
13624 } bcache_t;
13625 
13626 /*
13627  * db_flags values (all implementation private!)
13628  */
13629 
13630 
13631 
13632 
13633 /*
13634  * db_struioflag values:
13635  */
13636 
13637 
13638 
13639 
13640 
13641 
13642 /*
13643  * Message flags.  These are interpreted by the stream head.
13644  */
13645 
13646 
13647     /* write side of stream */
13648 
13649 /*	UNUSED		0x08	   was MSGNOGET (can be recycled) */
13650 
13651 
13652 
13653 
13654 /*
13655  * Streams message types.
13656  */
13657 
13658 /*
13659  * Data and protocol messages (regular and priority)
13660  */
13661 
13662 
13663 
13664 
13665 /*
13666  * Control messages (regular and priority)
13667  */
13668 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13669 /*
13670  * Control messages (high priority; go to head of queue)
13671  */
13672 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13673 /*
13674  * Queue message class definitions.
13675  */
13676 
13677 
13678 
13679 /*
13680  *  IOCTL structure - this structure is the format of the M_IOCTL message type.
13681  */
13682 
13683 struct iocblk {
13684  int ioc_cmd; /* ioctl command type */
13685  cred_t *ioc_cr; /* full credentials */
13686  uint_t ioc_id; /* ioctl id */
13687  uint_t ioc_flag; /* see below */
13688  size_t ioc_count; /* count of bytes in data field */
13689  int ioc_rval; /* return value  */
13690  int ioc_error; /* error code */
13691 };
13692 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13693 typedef struct iocblk *IOCP;
13694 
13695 /* {ioc,cp}_flags values */
13696 
13697 
13698 
13699 
13700 
13701 
13702 
13703 /*
13704  *	Is the ioctl data formatted for our native model?
13705  */
13706 
13707 
13708 
13709 /*
13710  * structure for the M_COPYIN and M_COPYOUT message types.
13711  */
13712 
13713 struct copyreq {
13714  int cq_cmd; /* ioctl command (from ioc_cmd) */
13715  cred_t *cq_cr; /* full credentials (from ioc_cmd) */
13716  uint_t cq_id; /* ioctl id (from ioc_id) */
13717  uint_t cq_flag; /* must be zero */
13718  mblk_t *cq_private; /* private state information */
13719  caddr_t cq_addr; /* address to copy data to/from */
13720  size_t cq_size; /* number of bytes to copy */
13721 };
13722 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13723 /*
13724  * structure for the M_IOCDATA message type.
13725  */
13726 
13727 struct copyresp {
13728  int cp_cmd; /* ioctl command (from ioc_cmd) */
13729  cred_t *cp_cr; /* full credentials (from ioc_cmd) */
13730  uint_t cp_id; /* ioctl id (from ioc_id) */
13731  uint_t cp_flag; /* datamodel IOC_ flags; see above */
13732  mblk_t *cp_private; /* private state information */
13733  caddr_t cp_rval; /* status of request: 0 -> success */
13734      /* 		non-zero -> failure */
13735 };
13736 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13737 /*
13738  * Since these structures are all intended to travel in the same message
13739  * at different stages of a STREAMS ioctl, this union is used to determine
13740  * the message size in strdoioctl().
13741  */
13742 union ioctypes {
13743  struct iocblk iocblk;
13744  struct copyreq copyreq;
13745  struct copyresp copyresp;
13746 };
13747 
13748 /*
13749  * Options structure for M_SETOPTS message.  This is sent upstream
13750  * by a module or driver to set stream head options.
13751  */
13752 struct stroptions {
13753  uint_t so_flags; /* options to set */
13754  short so_readopt; /* read option */
13755  ushort_t so_wroff; /* write offset */
13756  ssize_t so_minpsz; /* minimum read packet size */
13757  ssize_t so_maxpsz; /* maximum read packet size */
13758  size_t so_hiwat; /* read queue high water mark */
13759  size_t so_lowat; /* read queue low water mark */
13760  unsigned char so_band; /* band for water marks */
13761  ushort_t so_erropt; /* error option */
13762  ssize_t so_maxblk; /* maximum message block size */
13763  ushort_t so_copyopt; /* copy options (see stropts.h) */
13764  ushort_t so_tail; /* space available at the end */
13765 };
13766 
13767 /* flags for stream options set message */
13768 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
13769 /*
13770  * Miscellaneous parameters and flags.
13771  */
13772 
13773 /*
13774  * Values for stream flag in open to indicate module open, clone open,
13775  * and the return value for failure.
13776  */
13777 
13778 
13779 
13780 
13781 /*
13782  * Priority definitions for block allocation.
13783  */
13784 
13785 
13786 
13787 
13788 /*
13789  * Value for packet size that denotes infinity
13790  */
13791 
13792 
13793 /*
13794  * Flags for flushq()
13795  */
13796 
13797 
13798 
13799 /*
13800  * Flag for transparent ioctls
13801  */
13802 
13803 
13804 /*
13805  * Stream head default high/low water marks
13806  */
13807 
13808 
13809 
13810 /*
13811  * qwriter perimeter types
13812  */
13813 
13814 
13815 
13816 /*
13817  * Definitions of Streams macros and function interfaces.
13818  */
13819 
13820 /*
13821  * canenable - check if queue can be enabled by putq().
13822  */
13823 
13824 
13825 /*
13826  * Test if data block type is one of the data messages (i.e. not a control
13827  * message).
13828  */
13829 
13830 
13831 
13832 
13833 
13834 
13835 
13836 /*
13837  * Extract queue class of message block.
13838  */
13839 
13840 
13841 /*
13842  * Align address on next lower word boundary.
13843  */
13844 
13845 
13846 /*
13847  * Find the max size of data block.
13848  */
13849 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
13850 
13851 /*
13852  * Symbols such as htonl() are required to be exposed through this file,
13853  * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h>
13854  */
13855 
13856 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
13857 /*
13858  * CDDL HEADER START
13859  *
13860  * The contents of this file are subject to the terms of the
13861  * Common Development and Distribution License (the "License").
13862  * You may not use this file except in compliance with the License.
13863  *
13864  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13865  * or http://www.opensolaris.org/os/licensing.
13866  * See the License for the specific language governing permissions
13867  * and limitations under the License.
13868  *
13869  * When distributing Covered Code, include this CDDL HEADER in each
13870  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13871  * If applicable, add the following below this CDDL HEADER, with the
13872  * fields enclosed by brackets "[]" replaced with your own identifying
13873  * information: Portions Copyright [yyyy] [name of copyright owner]
13874  *
13875  * CDDL HEADER END
13876  */
13877 
13878 /*
13879  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
13880  * Use is subject to license terms.
13881  */
13882 
13883 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
13884 /*	  All Rights Reserved  	*/
13885 
13886 /*
13887  * University Copyright- Copyright (c) 1982, 1986, 1988
13888  * The Regents of the University of California
13889  * All Rights Reserved
13890  *
13891  * University Acknowledgment- Portions of this document are derived from
13892  * software developed by the University of California, Berkeley, and its
13893  * contributors.
13894  */
13895 
13896 
13897 
13898 
13899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
13900 /*
13901  * CDDL HEADER START
13902  *
13903  * The contents of this file are subject to the terms of the
13904  * Common Development and Distribution License (the "License").
13905  * You may not use this file except in compliance with the License.
13906  *
13907  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13908  * or http://www.opensolaris.org/os/licensing.
13909  * See the License for the specific language governing permissions
13910  * and limitations under the License.
13911  *
13912  *
13913  * When distributing Covered Code, include this CDDL HEADER in each
13914  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13915  * If applicable, add the following below this CDDL HEADER, with the
13916  * fields enclosed by brackets "[]" replaced with your own identifying
13917  * information: Portions Copyright [yyyy] [name of copyright owner]
13918  *
13919  * CDDL HEADER END
13920  */
13921 
13922 /*
13923  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
13924  * Use is subject to license terms.
13925  * Copyright 2016 Joyent, Inc.
13926  */
13927 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
13928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
13929 /*
13930  * CDDL HEADER START
13931  *
13932  * The contents of this file are subject to the terms of the
13933  * Common Development and Distribution License, Version 1.0 only
13934  * (the "License").  You may not use this file except in compliance
13935  * with the License.
13936  *
13937  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13938  * or http://www.opensolaris.org/os/licensing.
13939  * See the License for the specific language governing permissions
13940  * and limitations under the License.
13941  *
13942  * When distributing Covered Code, include this CDDL HEADER in each
13943  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13944  * If applicable, add the following below this CDDL HEADER, with the
13945  * fields enclosed by brackets "[]" replaced with your own identifying
13946  * information: Portions Copyright [yyyy] [name of copyright owner]
13947  *
13948  * CDDL HEADER END
13949  */
13950 /*
13951  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
13952  *
13953  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
13954  * Use is subject to license terms.
13955  */
13956 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
13957 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13958 /*
13959  * macros for conversion between host and (internet) network byte order
13960  */
13961 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13962 typedef uint16_t in_port_t;
13963 
13964 
13965 
13966 
13967 typedef uint32_t in_addr_t;
13968 
13969 
13970 
13971 extern uint32_t htonl(uint32_t);
13972 extern uint16_t htons(uint16_t);
13973 extern uint32_t ntohl(uint32_t);
13974 extern uint16_t ntohs(uint16_t);
13975 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13976 extern uint64_t htonll(uint64_t);
13977 extern uint64_t ntohll(uint64_t);
13978 
13979 
13980 
13981 
13982 
13983 
13984 /*
13985  * Macros to reverse byte order
13986  */
13987 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13988 /*
13989  * Macros to convert from a specific byte order to/from native byte order
13990  */
13991 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13992 /*
13993  * Macros to read unaligned values from a specific byte order to
13994  * native byte order
13995  */
13996 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
13997 /*
13998  * Macros to write unaligned values from native byte order to a specific byte
13999  * order.
14000  */
14001 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
14002 
14003 
14004 
14005 
14006 
14007 
14008 
14009 /*
14010  * Note: IPv4 address data structures usage conventions.
14011  * The "in_addr_t" type below (required by Unix standards)
14012  * is NOT a typedef of "struct in_addr" and violates the usual
14013  * conventions where "struct <name>" and <name>_t are corresponding
14014  * typedefs.
14015  * To minimize confusion, kernel data structures/usage prefers use
14016  * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t"
14017  * The user level APIs continue to follow the historic popular
14018  * practice of using "struct in_addr".
14019  */
14020 
14021 
14022 
14023 
14024 
14025 
14026 
14027 typedef uint32_t ipaddr_t;
14028 
14029 
14030 
14031 
14032 struct in6_addr {
14033  union {
14034   /*
14035 		 * Note: Static initalizers of "union" type assume
14036 		 * the constant on the RHS is the type of the first member
14037 		 * of union.
14038 		 * To make static initializers (and efficient usage) work,
14039 		 * the order of members exposed to user and kernel view of
14040 		 * this data structure is different.
14041 		 * User environment sees specified uint8_t type as first
14042 		 * member whereas kernel sees most efficient type as
14043 		 * first member.
14044 		 */
14045 
14046 
14047 
14048 
14049   uint8_t _S6_u8[16]; /* IPv6 address */
14050   uint32_t _S6_u32[4]; /* IPv6 address */
14051 
14052   uint32_t __S6_align; /* Align on 32 bit boundary */
14053  } _S6_un;
14054 };
14055 
14056 
14057 
14058 
14059 
14060 
14061 
14062 typedef struct in6_addr in6_addr_t;
14063 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14064 /*
14065  * Protocols
14066  *
14067  * Some of these constant names are copied for the DTrace IP provider in
14068  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
14069  * in sync.
14070  */
14071 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14072       /* Transmission Protocol */
14073 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14074 /*
14075  * Port/socket numbers: network standard functions
14076  *
14077  * Entries should exist here for each port number compiled into an ON
14078  * component, such as snoop.
14079  */
14080 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14081 /*
14082  * Port/socket numbers: host specific functions
14083  */
14084 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14085 /*
14086  * Internet Key Exchange (IKE) ports
14087  */
14088 
14089 
14090 
14091 /*
14092  * UNIX TCP sockets
14093  */
14094 
14095 
14096 
14097 
14098 
14099 
14100 /*
14101  * UNIX UDP sockets
14102  */
14103 
14104 
14105 
14106 
14107 
14108 
14109 
14110 /*
14111  * DHCPv6 UDP ports
14112  */
14113 
14114 
14115 
14116 
14117 
14118 /*
14119  * Ports < IPPORT_RESERVED are reserved for
14120  * privileged processes (e.g. root).
14121  * Ports > IPPORT_USERRESERVED are reserved
14122  * for servers, not necessarily privileged.
14123  */
14124 
14125 
14126 
14127 /*
14128  * Link numbers
14129  */
14130 
14131 
14132 
14133 
14134 /*
14135  * IPv4 Internet address
14136  *	This definition contains obsolete fields for compatibility
14137  *	with SunOS 3.x and 4.2bsd.  The presence of subnets renders
14138  *	divisions into fixed fields misleading at best.  New code
14139  *	should use only the s_addr field.
14140  */
14141 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14142 struct in_addr {
14143  union {
14144   struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b;
14145   struct { uint16_t s_w1, s_w2; } S_un_w;
14146 
14147   uint32_t S_addr;
14148 
14149 
14150 
14151  } S_un;
14152 
14153 
14154 
14155 
14156 
14157 
14158 };
14159 
14160 /*
14161  * Definitions of bits in internet address integers.
14162  * On subnets, the decomposition of addresses to host and net parts
14163  * is done according to subnet mask, not the masks here.
14164  *
14165  * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB,
14166  * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto
14167  * obsolete". IN_MULTICAST macro should be used to test if a address
14168  * is a multicast address.
14169  */
14170 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14171 /*
14172  * We have removed CLASS E checks from the kernel
14173  * But we preserve these defines for userland in order
14174  * to avoid compile  breakage of some 3rd party piece of software
14175  */
14176 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14177 /* Scoped IPv4 prefixes (in host byte-order) */
14178 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14179 /* RFC 3927 IPv4 link local address (i in host byte-order) */
14180 
14181 
14182 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */
14183 
14184 
14185 
14186 
14187 
14188 
14189 /*
14190  * Define a macro to stuff the loopback address into an Internet address
14191  */
14192 
14193 
14194 
14195 
14196 
14197 
14198 /*
14199  * IPv4 Socket address.
14200  */
14201 struct sockaddr_in {
14202  sa_family_t sin_family;
14203  in_port_t sin_port;
14204  struct in_addr sin_addr;
14205 
14206  char sin_zero[8];
14207 
14208 
14209 
14210 };
14211 
14212 
14213 /*
14214  * IPv6 socket address.
14215  */
14216 struct sockaddr_in6 {
14217  sa_family_t sin6_family;
14218  in_port_t sin6_port;
14219  uint32_t sin6_flowinfo;
14220  struct in6_addr sin6_addr;
14221  uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */
14222  uint32_t __sin6_src_id; /* Impl. specific - UDP replies */
14223 };
14224 
14225 /*
14226  * Macros for accessing the traffic class and flow label fields from
14227  * sin6_flowinfo.
14228  * These are designed to be applied to a 32-bit value.
14229  */
14230 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14231 /* masks */
14232 
14233 
14234 
14235 
14236 
14237 /*
14238  * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for
14239  * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t)
14240  * only. They need to be different for User/Kernel versions because union
14241  * component data structure is defined differently (it is identical at
14242  * binary representation level).
14243  *
14244  * const struct in6_addr IN6ADDR_ANY_INIT;
14245  * const struct in6_addr IN6ADDR_LOOPBACK_INIT;
14246  */
14247 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14248 /*
14249  * RFC 2553 specifies the following macros. Their type is defined
14250  * as "int" in the RFC but they only have boolean significance
14251  * (zero or non-zero). For the purposes of our comment notation,
14252  * we assume a hypothetical type "bool" defined as follows to
14253  * write the prototypes assumed for macros in our comments better.
14254  *
14255  * typedef int bool;
14256  */
14257 
14258 /*
14259  * IN6 macros used to test for special IPv6 addresses
14260  * (Mostly from spec)
14261  *
14262  * bool  IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *);
14263  * bool  IN6_IS_ADDR_LOOPBACK    (const struct in6_addr *);
14264  * bool  IN6_IS_ADDR_MULTICAST   (const struct in6_addr *);
14265  * bool  IN6_IS_ADDR_LINKLOCAL   (const struct in6_addr *);
14266  * bool  IN6_IS_ADDR_SITELOCAL   (const struct in6_addr *);
14267  * bool  IN6_IS_ADDR_V4MAPPED    (const struct in6_addr *);
14268  * bool  IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553
14269  * bool  IN6_IS_ADDR_V4COMPAT    (const struct in6_addr *);
14270  * bool  IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553
14271  * bool  IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
14272  * bool  IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
14273  * bool  IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
14274  * bool  IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *);
14275  * bool  IN6_IS_ADDR_MC_GLOBAL   (const struct in6_addr *);
14276  * bool  IN6_IS_ADDR_6TO4	 (const struct in6_addr *); -- Not from RFC2553
14277  * bool  IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *,
14278  *	     const struct in6_addr *);			    -- Not from RFC2553
14279  * bool  IN6_IS_ADDR_LINKSCOPE	 (const struct in6addr  *); -- Not from RFC2553
14280  */
14281 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14282 /*
14283  * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY
14284  * Note: This macro is currently NOT defined in RFC2553 specification
14285  * and not a standard macro that portable applications should use.
14286  */
14287 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14288 /* Exclude loopback and unspecified address */
14289 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14290 /*
14291  * Note:
14292  * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553
14293  * specification and not a standard macro that portable applications
14294  * should use.
14295  */
14296 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14297 /*
14298  * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or
14299  * RFC, and shouldn't be used by portable applications.  It is used to see
14300  * if an address is a solicited-node multicast address, which is prefixed
14301  * with ff02:0:0:0:0:1:ff00::/104.
14302  */
14303 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14304 /*
14305  * Macros to a) test for 6to4 IPv6 address, and b) to test if two
14306  * 6to4 addresses have the same /48 prefix, and, hence, are from the
14307  * same 6to4 site.
14308  */
14309 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14310 /*
14311  * IN6_IS_ADDR_LINKSCOPE
14312  * Identifies an address as being either link-local, link-local multicast or
14313  * node-local multicast.  All types of addresses are considered to be unique
14314  * within the scope of a given link.
14315  */
14316 
14317 
14318 
14319 
14320 /*
14321  * Useful utility macros for operations with IPv6 addresses
14322  * Note: These macros are NOT defined in the RFC2553 or any other
14323  * standard specification and are not standard macros that portable
14324  * applications should use.
14325  */
14326 
14327 /*
14328  * IN6_V4MAPPED_TO_INADDR
14329  * IN6_V4MAPPED_TO_IPADDR
14330  *	Assign a IPv4-Mapped IPv6 address to an IPv4 address.
14331  *	Note: These macros are NOT defined in RFC2553 or any other standard
14332  *	specification and are not macros that portable applications should
14333  *	use.
14334  *
14335  * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4);
14336  * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4);
14337  *
14338  */
14339 
14340 
14341 
14342 
14343 
14344 /*
14345  * IN6_INADDR_TO_V4MAPPED
14346  * IN6_IPADDR_TO_V4MAPPED
14347  *	Assign a IPv4 address address to an IPv6 address as a IPv4-mapped
14348  *	address.
14349  *	Note: These macros are NOT defined in RFC2553 or any other standard
14350  *	specification and are not macros that portable applications should
14351  *	use.
14352  *
14353  * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6);
14354  * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6);
14355  *
14356  */
14357 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14358 /*
14359  * IN6_6TO4_TO_V4ADDR
14360  *	Extract the embedded IPv4 address from the prefix to a 6to4 IPv6
14361  *      address.
14362  *	Note: This macro is NOT defined in RFC2553 or any other standard
14363  *	specification and is not a macro that portable applications should
14364  *	use.
14365  *	Note: we don't use the IPADDR form of the macro because we need
14366  *	to do a bytewise copy; the V4ADDR in the 6to4 address is not
14367  *	32-bit aligned.
14368  *
14369  * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4);
14370  *
14371  */
14372 
14373 
14374 
14375 
14376 
14377 
14378 /*
14379  * IN6_V4ADDR_TO_6TO4
14380  *	Given an IPv4 address and an IPv6 address for output, a 6to4 address
14381  *	will be created from the IPv4 Address.
14382  *	Note:  This method for creating 6to4 addresses is not standardized
14383  *	outside of Solaris.  The newly created 6to4 address will be of the form
14384  *	2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and
14385  *	HOSTID will equal 1.
14386  *
14387  * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6)
14388  *
14389  */
14390 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14391 /*
14392  * IN6_ARE_ADDR_EQUAL (defined in RFC2292)
14393  *	 Compares if IPv6 addresses are equal.
14394  * Note: Compares in order of high likelyhood of a miss so we minimize
14395  * compares. (Current heuristic order, compare in reverse order of
14396  * uint32_t units)
14397  *
14398  * bool  IN6_ARE_ADDR_EQUAL(const struct in6_addr *,
14399  *			    const struct in6_addr *);
14400  */
14401 
14402 
14403 
14404 
14405 
14406 
14407 /*
14408  * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs)
14409  *	Compares if prefixed parts of IPv6 addresses are equal.
14410  *
14411  * uint32_t IN6_MASK_FROM_PREFIX(int, int);
14412  * bool     IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *,
14413  *				       const struct in6_addr *,
14414  *				       int);
14415  */
14416 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14417 /*
14418  * Options for use with [gs]etsockopt at the IP level.
14419  *
14420  * Note: Some of the IP_ namespace has conflict with and
14421  * and is exposed through <xti.h>. (It also requires exposing
14422  * options not implemented). The options with potential
14423  * for conflicts use #ifndef guards.
14424  */
14425 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14426 /*
14427  * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in
14428  * is used to differentiate b/w the two.
14429  */
14430 
14431 
14432 
14433 
14434 
14435 /*
14436  * Different preferences that can be requested from IPSEC protocols.
14437  */
14438 
14439 
14440 
14441 
14442 /*
14443  * This can be used with the setsockopt() call to set per socket security
14444  * options. When the application uses per-socket API, we will reflect
14445  * the request on both outbound and inbound packets.
14446  */
14447 
14448 typedef struct ipsec_req {
14449  uint_t ipsr_ah_req; /* AH request */
14450  uint_t ipsr_esp_req; /* ESP request */
14451  uint_t ipsr_self_encap_req; /* Self-Encap request */
14452  uint8_t ipsr_auth_alg; /* Auth algs for AH */
14453  uint8_t ipsr_esp_alg; /* Encr algs for ESP */
14454  uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */
14455 } ipsec_req_t;
14456 
14457 /*
14458  * MCAST_* options are protocol-independent.  The actual definitions
14459  * are with the v6 options below; this comment is here to note the
14460  * namespace usage.
14461  *
14462  * #define	MCAST_JOIN_GROUP	0x29
14463  * #define	MCAST_LEAVE_GROUP	0x2a
14464  * #define	MCAST_BLOCK_SOURCE	0x2b
14465  * #define	MCAST_UNBLOCK_SOURCE	0x2c
14466  * #define	MCAST_JOIN_SOURCE_GROUP	0x2d
14467  * #define	MCAST_LEAVE_SOURCE_GROUP 0x2e
14468  */
14469 
14470 
14471 /*
14472  * SunOS private (potentially not portable) IP_ option names
14473  */
14474 
14475 
14476 
14477 /* can be reused		0x44 */
14478 
14479 
14480 /*
14481  * Option values and names (when !_XPG5) shared with <xti_inet.h>
14482  */
14483 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14484 /*
14485  * The following option values are reserved by <xti_inet.h>
14486  *
14487  * T_IP_OPTIONS	0x107	 -  IP per-packet options
14488  * T_IP_TOS	0x108	 -  IP per packet type of service
14489  */
14490 
14491 /*
14492  * Default value constants for multicast attributes controlled by
14493  * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options.
14494  */
14495 
14496 
14497 
14498 
14499 /*
14500  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
14501  */
14502 struct ip_mreq {
14503  struct in_addr imr_multiaddr; /* IP multicast address of group */
14504  struct in_addr imr_interface; /* local IP address of interface */
14505 };
14506 
14507 /*
14508  * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE,
14509  * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP.
14510  */
14511 struct ip_mreq_source {
14512  struct in_addr imr_multiaddr; /* IP address of group */
14513  struct in_addr imr_sourceaddr; /* IP address of source */
14514  struct in_addr imr_interface; /* IP address of interface */
14515 };
14516 
14517 /*
14518  * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on
14519  * IPv6 addresses.
14520  */
14521 struct ipv6_mreq {
14522  struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */
14523  unsigned int ipv6mr_interface; /* interface index */
14524 };
14525 
14526 /*
14527  * Use #pragma pack() construct to force 32-bit alignment on amd64.
14528  * This is needed to keep the structure size and offsets consistent
14529  * between a 32-bit app and the 64-bit amd64 kernel in structures
14530  * where 64-bit alignment would create gaps (in this case, structures
14531  * which have a uint32_t followed by a struct sockaddr_storage).
14532  */
14533 
14534 
14535 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14536 #pragma pack(4)
14537 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14538 
14539 
14540 
14541 /*
14542  * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP.
14543  */
14544 struct group_req {
14545  uint32_t gr_interface; /* interface index */
14546  struct sockaddr_storage gr_group; /* group address */
14547 };
14548 
14549 /*
14550  * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE,
14551  * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP.
14552  */
14553 struct group_source_req {
14554  uint32_t gsr_interface; /* interface index */
14555  struct sockaddr_storage gsr_group; /* group address */
14556  struct sockaddr_storage gsr_source; /* source address */
14557 };
14558 
14559 /*
14560  * Argument for SIOC[GS]MSFILTER ioctls
14561  */
14562 struct group_filter {
14563  uint32_t gf_interface; /* interface index */
14564  struct sockaddr_storage gf_group; /* multicast address */
14565  uint32_t gf_fmode; /* filter mode */
14566  uint32_t gf_numsrc; /* number of sources */
14567  struct sockaddr_storage gf_slist[1]; /* source address */
14568 };
14569 
14570 
14571 
14572 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14573 #pragma pack()
14574 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14575 
14576 
14577 
14578 
14579 
14580 
14581 
14582 /*
14583  * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific)
14584  */
14585 struct ip_msfilter {
14586  struct in_addr imsf_multiaddr; /* IP multicast address of group */
14587  struct in_addr imsf_interface; /* local IP address of interface */
14588  uint32_t imsf_fmode; /* filter mode */
14589  uint32_t imsf_numsrc; /* number of sources in src_list */
14590  struct in_addr imsf_slist[1]; /* start of source list */
14591 };
14592 
14593 
14594 
14595 
14596 
14597 /*
14598  * Multicast source filter manipulation functions in libsocket;
14599  * defined in RFC 3678.
14600  */
14601 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t,
14602    uint_t, struct sockaddr_storage *);
14603 
14604 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *,
14605    uint_t *, struct sockaddr_storage *);
14606 
14607 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t,
14608    uint32_t, struct in_addr *);
14609 
14610 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *,
14611    uint32_t *, struct in_addr *);
14612 
14613 /*
14614  * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter()
14615  */
14616 
14617 
14618 
14619 /*
14620  * Argument struct for IP_PKTINFO option
14621  */
14622 typedef struct in_pktinfo {
14623  unsigned int ipi_ifindex; /* send/recv interface index */
14624  struct in_addr ipi_spec_dst; /* matched source address */
14625  struct in_addr ipi_addr; /* src/dst address in IP hdr */
14626 } in_pktinfo_t;
14627 
14628 /*
14629  * Argument struct for IPV6_PKTINFO option
14630  */
14631 struct in6_pktinfo {
14632  struct in6_addr ipi6_addr; /* src/dst IPv6 address */
14633  unsigned int ipi6_ifindex; /* send/recv interface index */
14634 };
14635 
14636 /*
14637  * Argument struct for IPV6_MTUINFO option
14638  */
14639 struct ip6_mtuinfo {
14640  struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
14641  uint32_t ip6m_mtu; /* path MTU in host byte order */
14642 };
14643 
14644 /*
14645  * IPv6 routing header types
14646  */
14647 
14648 
14649 extern socklen_t inet6_rth_space(int type, int segments);
14650 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments);
14651 extern int inet6_rth_add(void *bp, const struct in6_addr *addr);
14652 extern int inet6_rth_reverse(const void *in, void *out);
14653 extern int inet6_rth_segments(const void *bp);
14654 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index);
14655 
14656 extern int inet6_opt_init(void *extbuf, socklen_t extlen);
14657 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset,
14658  uint8_t type, socklen_t len, uint_t align, void **databufp);
14659 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset);
14660 extern int inet6_opt_set_val(void *databuf, int offset, void *val,
14661  socklen_t vallen);
14662 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset,
14663  uint8_t *typep, socklen_t *lenp, void **databufp);
14664 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset,
14665  uint8_t type, socklen_t *lenp, void **databufp);
14666 extern int inet6_opt_get_val(void *databuf, int offset, void *val,
14667  socklen_t vallen);
14668 
14669 
14670 /*
14671  * Argument structure for IP_ADD_PROXY_ADDR.
14672  * Note that this is an unstable, experimental interface. It may change
14673  * later. Don't use it unless you know what it is.
14674  */
14675 typedef struct {
14676  struct in_addr in_prefix_addr;
14677  unsigned int in_prefix_len;
14678 } in_prefix_t;
14679 
14680 
14681 
14682 /*
14683  * IPv6 options
14684  */
14685 
14686      /* packets. */
14687      /* argument type: uint_t */
14688 
14689      /* multicast packets. */
14690      /* argument type: struct in6_addr */
14691 
14692      /* multicast packets. */
14693      /* argument type: uint_t */
14694 
14695      /* multicast packets on same socket. */
14696      /* argument type: uint_t */
14697 
14698      /* argument type: struct ipv6_mreq */
14699 
14700      /* argument type: struct ipv6_mreq */
14701 
14702 /*
14703  * Other XPG6 constants.
14704  */
14705 
14706      /* decimal notation. */
14707 
14708      /* standard colon-hex notation. */
14709 
14710 
14711 
14712 
14713 
14714 /*
14715  * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept
14716  * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP
14717  * and IPV6_LEAVE_GROUP respectively.
14718  */
14719 
14720      /* argument type: struct ipv6_mreq */
14721 
14722      /* argument type: struct ipv6_mreq */
14723 
14724 
14725      /* arg type: "struct in6_pktingo" - */
14726 
14727 
14728 
14729 
14730      /* the routing header */
14731 
14732 
14733      /* the routing header */
14734 
14735 
14736 
14737 
14738 /*
14739  * This options exists for backwards compatability and should no longer be
14740  * used.  Use IPV6_RECVDSTOPTS instead.
14741  */
14742 
14743 
14744 
14745 
14746 /*
14747  * enable/disable IPV6_RTHDRDSTOPTS.  Now obsolete.  IPV6_RECVDSTOPTS enables
14748  * the receipt of both headers.
14749  */
14750 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14751 /*
14752  * enable/disable receipt of both both IPV6_DSTOPTS headers.
14753  */
14754 
14755 
14756 /*
14757  * protocol-independent multicast membership options.
14758  */
14759 
14760 
14761 
14762 
14763 
14764 
14765 
14766 /* 32Bit field for IPV6_SRC_PREFERENCES */
14767 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
14768 /*
14769  * SunOS private (potentially not portable) IPV6_ option names
14770  */
14771 
14772 
14773      /* unspecified (all zeros) */
14774 
14775 /*
14776  * Miscellaneous IPv6 constants.
14777  */
14778 
14779 
14780 
14781 
14782 /*
14783  * Extern declarations for pre-defined global const variables
14784  */
14785 
14786 
14787 
14788 extern const struct in6_addr in6addr_any;
14789 extern const struct in6_addr in6addr_loopback;
14790 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2
14791 
14792 
14793 
14794 
14795 
14796 /*
14797  * NOTE
14798  *
14799  * The contents of this file are private to the implementation of
14800  * Solaris and are subject to change at any time without notice.
14801  * Applications and drivers using these interfaces may fail to
14802  * run on future releases.
14803  */
14804 
14805 /* Available both in kernel and for user space */
14806 
14807 /* zone id restrictions and special ids */
14808 
14809 
14810 
14811 
14812 
14813 
14814 /*
14815  * Special zoneid_t token to refer to all zones.
14816  */
14817 
14818 
14819 /* system call subcodes */
14820 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14821 /* zone attributes */
14822 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14823 /* Start of the brand-specific attribute namespace */
14824 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14825 /*
14826  * Exit values that may be returned by scripts or programs invoked by various
14827  * zone commands.
14828  *
14829  * These are defined as:
14830  *
14831  *	ZONE_SUBPROC_OK
14832  *	===============
14833  *	The subprocess completed successfully.
14834  *
14835  *	ZONE_SUBPROC_USAGE
14836  *	==================
14837  *	The subprocess failed with a usage message, or a usage message should
14838  *	be output in its behalf.
14839  *
14840  *	ZONE_SUBPROC_NOTCOMPLETE
14841  *	========================
14842  *	The subprocess did not complete, but the actions performed by the
14843  *	subprocess require no recovery actions by the user.
14844  *
14845  *	For example, if the subprocess were called by "zoneadm install," the
14846  *	installation of the zone did not succeed but the user need not perform
14847  *	a "zoneadm uninstall" before attempting another install.
14848  *
14849  *	ZONE_SUBPROC_FATAL
14850  *	==================
14851  *	The subprocess failed in a fatal manner, usually one that will require
14852  *	some type of recovery action by the user.
14853  *
14854  *	For example, if the subprocess were called by "zoneadm install," the
14855  *	installation of the zone did not succeed and the user will need to
14856  *	perform a "zoneadm uninstall" before another install attempt is
14857  *	possible.
14858  *
14859  *	The non-success exit values are large to avoid accidental collision
14860  *	with values used internally by some commands (e.g. "Z_ERR" and
14861  *	"Z_USAGE" as used by zoneadm.)
14862  */
14863 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h"
14864 typedef struct {
14865  const char *zone_name;
14866  const char *zone_root;
14867  const struct priv_set *zone_privs;
14868  size_t zone_privssz;
14869  const char *rctlbuf;
14870  size_t rctlbufsz;
14871  int *extended_error;
14872  const char *zfsbuf;
14873  size_t zfsbufsz;
14874  int match; /* match level */
14875  uint32_t doi; /* DOI for label */
14876  const bslabel_t *label; /* label associated with zone */
14877  int flags;
14878 } zone_def;
14879 
14880 /* extended error information */
14881 
14882 
14883 
14884 
14885 
14886 /*
14887  * zone_status values
14888  *
14889  * You must modify zone_status_names in mdb(1M)'s genunix module
14890  * (genunix/zone.c) when you modify this enum.
14891  */
14892 typedef enum {
14893  ZONE_IS_UNINITIALIZED = 0,
14894  ZONE_IS_INITIALIZED,
14895  ZONE_IS_READY,
14896  ZONE_IS_BOOTING,
14897  ZONE_IS_RUNNING,
14898  ZONE_IS_SHUTTING_DOWN,
14899  ZONE_IS_EMPTY,
14900  ZONE_IS_DOWN,
14901  ZONE_IS_DYING,
14902  ZONE_IS_DEAD
14903 } zone_status_t;
14904 
14905 
14906 
14907 /*
14908  * Valid commands which may be issued by zoneadm to zoneadmd.  The kernel also
14909  * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT.
14910  */
14911 typedef enum zone_cmd {
14912  Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING,
14913  Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN
14914 } zone_cmd_t;
14915 
14916 /*
14917  * The structure of a request to zoneadmd.
14918  */
14919 typedef struct zone_cmd_arg {
14920  uint64_t uniqid; /* unique "generation number" */
14921  zone_cmd_t cmd; /* requested action */
14922  uint32_t _pad; /* need consistent 32/64 bit alignmt */
14923  char locale[1024]; /* locale in which to render messages */
14924  char bootbuf[256]; /* arguments passed to zone_boot() */
14925 } zone_cmd_arg_t;
14926 
14927 /*
14928  * Structure of zoneadmd's response to a request.  A NULL return value means
14929  * the caller should attempt to restart zoneadmd and retry.
14930  */
14931 typedef struct zone_cmd_rval {
14932  int rval; /* return value of request */
14933  char errbuf[1]; /* variable-sized buffer containing error messages */
14934 } zone_cmd_rval_t;
14935 
14936 /*
14937  * The zone support infrastructure uses the zone name as a component
14938  * of unix domain (AF_UNIX) sockets, which are limited to 108 characters
14939  * in length, so ZONENAME_MAX is limited by that.
14940  */
14941 
14942 
14943 
14944 
14945 /*
14946  * Extended Regular expression (see regex(5)) which matches all valid zone
14947  * names.
14948  */
14949 
14950 
14951 /*
14952  * Where the zones support infrastructure places temporary files.
14953  */
14954 
14955 
14956 /*
14957  * The path to the door used by clients to communicate with zoneadmd.
14958  */
14959 
14960 
14961 
14962 /* zone_flags */
14963 /*
14964  * Threads that read or write the following flag must hold zone_lock.
14965  */
14966 
14967 
14968 /*
14969  * The following threads are set when the zone is created and never changed.
14970  * Threads that test for these flags don't have to hold zone_lock.
14971  */
14972 
14973 
14974 
14975 
14976 
14977 /* zone_create flags */
14978 
14979 
14980 /* zone network properties */
14981 
14982 
14983 
14984 
14985 
14986 
14987 typedef struct zone_net_data {
14988  int zn_type;
14989  int zn_len;
14990  datalink_id_t zn_linkid;
14991  uint8_t zn_val[1];
14992 } zone_net_data_t;
14993 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
14994 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
14995 /*
14996  * CDDL HEADER START
14997  *
14998  * The contents of this file are subject to the terms of the
14999  * Common Development and Distribution License (the "License").
15000  * You may not use this file except in compliance with the License.
15001  *
15002  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15003  * or http://www.opensolaris.org/os/licensing.
15004  * See the License for the specific language governing permissions
15005  * and limitations under the License.
15006  *
15007  * When distributing Covered Code, include this CDDL HEADER in each
15008  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15009  * If applicable, add the following below this CDDL HEADER, with the
15010  * fields enclosed by brackets "[]" replaced with your own identifying
15011  * information: Portions Copyright [yyyy] [name of copyright owner]
15012  *
15013  * CDDL HEADER END
15014  */
15015 /*
15016  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
15017  *
15018  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
15019  */
15020 
15021 
15022 
15023 
15024 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
15025 /*
15026  * CDDL HEADER START
15027  *
15028  * The contents of this file are subject to the terms of the
15029  * Common Development and Distribution License (the "License").
15030  * You may not use this file except in compliance with the License.
15031  *
15032  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15033  * or http://www.opensolaris.org/os/licensing.
15034  * See the License for the specific language governing permissions
15035  * and limitations under the License.
15036  *
15037  * When distributing Covered Code, include this CDDL HEADER in each
15038  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15039  * If applicable, add the following below this CDDL HEADER, with the
15040  * fields enclosed by brackets "[]" replaced with your own identifying
15041  * information: Portions Copyright [yyyy] [name of copyright owner]
15042  *
15043  * CDDL HEADER END
15044  */
15045 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
15046 /*	  All Rights Reserved  	*/
15047 
15048 
15049 /*
15050  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15051  * Use is subject to license terms.
15052  *
15053  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
15054  * Copyright 2016 Joyent, Inc.
15055  */
15056 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
15057 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
15058 /*
15059  * CDDL HEADER START
15060  *
15061  * The contents of this file are subject to the terms of the
15062  * Common Development and Distribution License (the "License").
15063  * You may not use this file except in compliance with the License.
15064  *
15065  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15066  * or http://www.opensolaris.org/os/licensing.
15067  * See the License for the specific language governing permissions
15068  * and limitations under the License.
15069  *
15070  * When distributing Covered Code, include this CDDL HEADER in each
15071  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15072  * If applicable, add the following below this CDDL HEADER, with the
15073  * fields enclosed by brackets "[]" replaced with your own identifying
15074  * information: Portions Copyright [yyyy] [name of copyright owner]
15075  *
15076  * CDDL HEADER END
15077  */
15078 /*
15079  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15080  * Use is subject to license terms.
15081  */
15082 
15083 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
15084 /*	  All Rights Reserved  	*/
15085 
15086 /*
15087  * Portions of this source code were derived from Berkeley 4.3 BSD
15088  * under license from the Regents of the University of California.
15089  */
15090 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
15091 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1
15092 /*
15093  * CDDL HEADER START
15094  *
15095  * The contents of this file are subject to the terms of the
15096  * Common Development and Distribution License (the "License").
15097  * You may not use this file except in compliance with the License.
15098  *
15099  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15100  * or http://www.opensolaris.org/os/licensing.
15101  * See the License for the specific language governing permissions
15102  * and limitations under the License.
15103  *
15104  * When distributing Covered Code, include this CDDL HEADER in each
15105  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15106  * If applicable, add the following below this CDDL HEADER, with the
15107  * fields enclosed by brackets "[]" replaced with your own identifying
15108  * information: Portions Copyright [yyyy] [name of copyright owner]
15109  *
15110  * CDDL HEADER END
15111  */
15112 /*
15113  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
15114  * Copyright 2015, Joyent, Inc. All rights reserved.
15115  *
15116  * Privilege constant definitions.  Privileges and privilege sets
15117  * are only known by name and should be mapped at runtime.
15118  *
15119  * THIS FILE WAS GENERATED; DO NOT EDIT
15120  */
15121 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h"
15122 /*
15123  * Privilege names
15124  */
15125 /*
15126  * Allows a process to request critical events without limitation.
15127  * Allows a process to request reliable delivery of all events on
15128  * any event queue.
15129  */
15130 
15131 
15132 /*
15133  * Allows a process to set the service FMRI value of a process
15134  * contract template.
15135  */
15136 
15137 
15138 /*
15139  * Allows a process to observe contract events generated by
15140  * contracts created and owned by users other than the process's
15141  * effective user ID.
15142  * Allows a process to open contract event endpoints belonging to
15143  * contracts created and owned by users other than the process's
15144  * effective user ID.
15145  */
15146 
15147 
15148 /*
15149  * Allow a process to access per-CPU hardware performance counters.
15150  */
15151 
15152 
15153 /*
15154  * Allows DTrace kernel-level tracing.
15155  */
15156 
15157 
15158 /*
15159  * Allows DTrace process-level tracing.
15160  * Allows process-level tracing probes to be placed and enabled in
15161  * processes to which the user has permissions.
15162  */
15163 
15164 
15165 /*
15166  * Allows DTrace user-level tracing.
15167  * Allows use of the syscall and profile DTrace providers to
15168  * examine processes to which the user has permissions.
15169  */
15170 
15171 
15172 /*
15173  * Allows a process to change a file's owner user ID.
15174  * Allows a process to change a file's group ID to one other than
15175  * the process' effective group ID or one of the process'
15176  * supplemental group IDs.
15177  */
15178 
15179 
15180 /*
15181  * Allows a process to give away its files; a process with this
15182  * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
15183  * in effect.
15184  */
15185 
15186 
15187 /*
15188  * Allows a process to execute an executable file whose permission
15189  * bits or ACL do not allow the process execute permission.
15190  */
15191 
15192 
15193 /*
15194  * Allows a process to read a file or directory whose permission
15195  * bits or ACL do not allow the process read permission.
15196  */
15197 
15198 
15199 /*
15200  * Allows a process to search a directory whose permission bits or
15201  * ACL do not allow the process search permission.
15202  */
15203 
15204 
15205 /*
15206  * Allows a process to write a file or directory whose permission
15207  * bits or ACL do not allow the process write permission.
15208  * In order to write files owned by uid 0 in the absence of an
15209  * effective uid of 0 ALL privileges are required.
15210  */
15211 
15212 
15213 /*
15214  * Allows a process to set the sensitivity label of a file or
15215  * directory to a sensitivity label that does not dominate the
15216  * existing sensitivity label.
15217  * This privilege is interpreted only if the system is configured
15218  * with Trusted Extensions.
15219  */
15220 
15221 
15222 /*
15223  * Allows a process to set immutable, nounlink or appendonly
15224  * file attributes.
15225  */
15226 
15227 
15228 /*
15229  * Allows a process to create hardlinks to files owned by a uid
15230  * different from the process' effective uid.
15231  */
15232 
15233 
15234 /*
15235  * Allows a process which is not the owner of a file or directory
15236  * to perform the following operations that are normally permitted
15237  * only for the file owner: modify that file's access and
15238  * modification times; remove or rename a file or directory whose
15239  * parent directory has the ``save text image after execution''
15240  * (sticky) bit set; mount a ``namefs'' upon a file; modify
15241  * permission bits or ACL except for the set-uid and set-gid
15242  * bits.
15243  */
15244 
15245 
15246 /*
15247  * Allows a process to read objects in the filesystem.
15248  */
15249 
15250 
15251 /*
15252  * Allows a process to change the ownership of a file or write to
15253  * a file without the set-user-ID and set-group-ID bits being
15254  * cleared.
15255  * Allows a process to set the set-group-ID bit on a file or
15256  * directory whose group is not the process' effective group or
15257  * one of the process' supplemental groups.
15258  * Allows a process to set the set-user-ID bit on a file with
15259  * different ownership in the presence of PRIV_FILE_OWNER.
15260  * Additional restrictions apply when creating or modifying a
15261  * set-uid 0 file.
15262  */
15263 
15264 
15265 /*
15266  * Allows a process to set the sensitivity label of a file or
15267  * directory to a sensitivity label that dominates the existing
15268  * sensitivity label.
15269  * This privilege is interpreted only if the system is configured
15270  * with Trusted Extensions.
15271  */
15272 
15273 
15274 /*
15275  * Allows a process to modify objects in the filesystem.
15276  */
15277 
15278 
15279 /*
15280  * Allows a process to make privileged ioctls to graphics devices.
15281  * Typically only xserver process needs to have this privilege.
15282  * A process with this privilege is also allowed to perform
15283  * privileged graphics device mappings.
15284  */
15285 
15286 
15287 /*
15288  * Allows a process to perform privileged mappings through a
15289  * graphics device.
15290  */
15291 
15292 
15293 /*
15294  * Allows a process to read a System V IPC
15295  * Message Queue, Semaphore Set, or Shared Memory Segment whose
15296  * permission bits do not allow the process read permission.
15297  * Allows a process to read remote shared memory whose
15298  * permission bits do not allow the process read permission.
15299  */
15300 
15301 
15302 /*
15303  * Allows a process to write a System V IPC
15304  * Message Queue, Semaphore Set, or Shared Memory Segment whose
15305  * permission bits do not allow the process write permission.
15306  * Allows a process to read remote shared memory whose
15307  * permission bits do not allow the process write permission.
15308  * Additional restrictions apply if the owner of the object has uid 0
15309  * and the effective uid of the current process is not 0.
15310  */
15311 
15312 
15313 /*
15314  * Allows a process which is not the owner of a System
15315  * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
15316  * remove, change ownership of, or change permission bits of the
15317  * Message Queue, Semaphore Set, or Shared Memory Segment.
15318  * Additional restrictions apply if the owner of the object has uid 0
15319  * and the effective uid of the current process is not 0.
15320  */
15321 
15322 
15323 /*
15324  * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
15325  */
15326 
15327 
15328 /*
15329  * Allow a process to bind to a port that is configured as a
15330  * multi-level port(MLP) for the process's zone. This privilege
15331  * applies to both shared address and zone-specific address MLPs.
15332  * See tnzonecfg(4) from the Trusted Extensions manual pages for
15333  * information on configuring MLP ports.
15334  * This privilege is interpreted only if the system is configured
15335  * with Trusted Extensions.
15336  */
15337 
15338 
15339 /*
15340  * Allows a process to send and receive ICMP packets.
15341  */
15342 
15343 
15344 /*
15345  * Allows a process to set NET_MAC_AWARE process flag by using
15346  * setpflags(2). This privilege also allows a process to set
15347  * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
15348  * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
15349  * option both allow a local process to communicate with an
15350  * unlabeled peer if the local process' label dominates the
15351  * peer's default label, or if the local process runs in the
15352  * global zone.
15353  * This privilege is interpreted only if the system is configured
15354  * with Trusted Extensions.
15355  */
15356 
15357 
15358 /*
15359  * Allows a process to set SO_MAC_IMPLICIT option by using
15360  * setsockopt(3SOCKET).  This allows a privileged process to
15361  * transmit implicitly-labeled packets to a peer.
15362  * This privilege is interpreted only if the system is configured
15363  * with Trusted Extensions.
15364  */
15365 
15366 
15367 /*
15368  * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
15369  * while not requiring them to need PRIV_NET_RAWACCESS.
15370  */
15371 
15372 
15373 /*
15374  * Allows a process to bind to a privileged port
15375  * number. The privilege port numbers are 1-1023 (the traditional
15376  * UNIX privileged ports) as well as those ports marked as
15377  * "udp/tcp_extra_priv_ports" with the exception of the ports
15378  * reserved for use by NFS.
15379  */
15380 
15381 
15382 /*
15383  * Allows a process to have direct access to the network layer.
15384  */
15385 
15386 
15387 /*
15388  * Allows a process to generate audit records.
15389  * Allows a process to get its own audit pre-selection information.
15390  */
15391 
15392 
15393 /*
15394  * Allows a process to change its root directory.
15395  */
15396 
15397 
15398 /*
15399  * Allows a process to use high resolution timers.
15400  */
15401 
15402 
15403 /*
15404  * Allows a process to call execve().
15405  */
15406 
15407 
15408 /*
15409  * Allows a process to call fork1()/forkall()/vfork()
15410  */
15411 
15412 
15413 /*
15414  * Allows a process to examine the status of processes other
15415  * than those it can send signals to.  Processes which cannot
15416  * be examined cannot be seen in /proc and appear not to exist.
15417  */
15418 
15419 
15420 /*
15421  * Allows a process to lock pages in physical memory.
15422  */
15423 
15424 
15425 /*
15426  * Allows a process to access physical memory information.
15427  */
15428 
15429 
15430 /*
15431  * Allows a process to send signals to other processes, inspect
15432  * and modify process state to other processes regardless of
15433  * ownership.  When modifying another process, additional
15434  * restrictions apply:  the effective privilege set of the
15435  * attaching process must be a superset of the target process'
15436  * effective, permitted and inheritable sets; the limit set must
15437  * be a superset of the target's limit set; if the target process
15438  * has any uid set to 0 all privilege must be asserted unless the
15439  * effective uid is 0.
15440  * Allows a process to bind arbitrary processes to CPUs.
15441  */
15442 
15443 
15444 /*
15445  * Allows a process to elevate its priority above its current level.
15446  */
15447 
15448 
15449 /*
15450  * Allows all that PRIV_PROC_PRIOUP allows.
15451  * Allows a process to change its scheduling class to any scheduling class,
15452  * including the RT class.
15453  */
15454 
15455 
15456 /*
15457  * Allows a process to send signals or trace processes outside its
15458  * session.
15459  */
15460 
15461 
15462 /*
15463  * Allows a process to set its uids at will.
15464  * Assuming uid 0 requires all privileges to be asserted.
15465  */
15466 
15467 
15468 /*
15469  * Allows a process to assign a new task ID to the calling process.
15470  */
15471 
15472 
15473 /*
15474  * Allows a process to trace or send signals to processes in
15475  * other zones.
15476  */
15477 
15478 
15479 /*
15480  * Allows a process to enable and disable and manage accounting through
15481  * acct(2), getacct(2), putacct(2) and wracct(2).
15482  */
15483 
15484 
15485 /*
15486  * Allows a process to perform system administration tasks such
15487  * as setting node and domain name and specifying nscd and coreadm
15488  * settings.
15489  */
15490 
15491 
15492 /*
15493  * Allows a process to start the (kernel) audit daemon.
15494  * Allows a process to view and set audit state (audit user ID,
15495  * audit terminal ID, audit sessions ID, audit pre-selection mask).
15496  * Allows a process to turn off and on auditing.
15497  * Allows a process to configure the audit parameters (cache and
15498  * queue sizes, event to class mappings, policy options).
15499  */
15500 
15501 
15502 /*
15503  * Allows a process to perform various system configuration tasks.
15504  * Allows a process to add and remove swap devices; when adding a swap
15505  * device, a process must also have sufficient privileges to read from
15506  * and write to the swap device.
15507  */
15508 
15509 
15510 /*
15511  * Allows a process to successfully call a kernel module that
15512  * calls the kernel drv_priv(9F) function to check for allowed
15513  * access.
15514  * Allows a process to open the real console device directly.
15515  * Allows a process to open devices that have been exclusively opened.
15516  */
15517 
15518 
15519 /*
15520  * Allows a process to increase the size of a System V IPC Message
15521  * Queue buffer.
15522  */
15523 
15524 
15525 /*
15526  * Allows a process to unlink and link directories.
15527  */
15528 
15529 
15530 /*
15531  * Allows filesystem specific administrative procedures, such as
15532  * filesystem configuration ioctls, quota calls and creation/deletion
15533  * of snapshots.
15534  * Allows a process to mount and unmount filesystems which would
15535  * otherwise be restricted (i.e., most filesystems except
15536  * namefs).
15537  * A process performing a mount operation needs to have
15538  * appropriate access to the device being mounted (read-write for
15539  * "rw" mounts, read for "ro" mounts).
15540  * A process performing any of the aforementioned
15541  * filesystem operations needs to have read/write/owner
15542  * access to the mount point.
15543  * Only regular files and directories can serve as mount points
15544  * for processes which do not have all zone privileges asserted.
15545  * Unless a process has all zone privileges, the mount(2)
15546  * system call will force the "nosuid" and "restrict" options, the
15547  * latter only for autofs mountpoints.
15548  * Regardless of privileges, a process running in a non-global zone may
15549  * only control mounts performed from within said zone.
15550  * Outside the global zone, the "nodevices" option is always forced.
15551  */
15552 
15553 
15554 /*
15555  * Allows a process to configure IP tunnel links.
15556  */
15557 
15558 
15559 /*
15560  * Allows a process to configure all classes of datalinks, including
15561  * configuration allowed by PRIV_SYS_IPTUN_CONFIG.
15562  */
15563 
15564 
15565 /*
15566  * Allows a process to configure a system's IP interfaces and routes.
15567  * Allows a process to configure network parameters using ndd.
15568  * Allows a process access to otherwise restricted information using ndd.
15569  * Allows a process to configure IPsec.
15570  * Allows a process to pop anchored STREAMs modules with matching zoneid.
15571  */
15572 
15573 
15574 /*
15575  * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and
15576  * PRIV_SYS_PPP_CONFIG allow.
15577  * Allows a process to push the rpcmod STREAMs module.
15578  * Allows a process to INSERT/REMOVE STREAMs modules on locations other
15579  * than the top of the module stack.
15580  */
15581 
15582 
15583 /*
15584  * Allows a process to perform Sun private NFS specific system calls.
15585  * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
15586  * and port 4045 (lockd).
15587  */
15588 
15589 
15590 /*
15591  * Allows a process to create and destroy PPP (sppp) interfaces.
15592  * Allows a process to configure PPP tunnels (sppptun).
15593  */
15594 
15595 
15596 /*
15597  * Allows a process to bind processes to processor sets.
15598  */
15599 
15600 
15601 /*
15602  * Allows all that PRIV_SYS_RES_BIND allows.
15603  * Allows a process to create and delete processor sets, assign
15604  * CPUs to processor sets and override the PSET_NOESCAPE property.
15605  * Allows a process to change the operational status of CPUs in
15606  * the system using p_online(2).
15607  * Allows a process to configure resource pools and to bind
15608  * processes to pools
15609  */
15610 
15611 
15612 /*
15613  * Allows a process to modify the resource limits specified
15614  * by setrlimit(2) and setrctl(2) without restriction.
15615  * Allows a process to exceed the per-user maximum number of
15616  * processes.
15617  * Allows a process to extend or create files on a filesystem that
15618  * has less than minfree space in reserve.
15619  */
15620 
15621 
15622 /*
15623  * Allows a process to access the Sun private SMB kernel module.
15624  * Allows a process to bind to ports reserved by NetBIOS and SMB:
15625  * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
15626  * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
15627  */
15628 
15629 
15630 /*
15631  * Allows a process to successfully call a third party loadable module
15632  * that calls the kernel suser() function to check for allowed access.
15633  * This privilege exists only for third party loadable module
15634  * compatibility and is not used by Solaris proper.
15635  */
15636 
15637 
15638 /*
15639  * Allows a process to manipulate system time using any of the
15640  * appropriate system calls: stime, adjtime, ntp_adjtime and
15641  * the IA specific RTC calls.
15642  */
15643 
15644 
15645 /*
15646  * Allows a process to translate labels that are not dominated
15647  * by the process' sensitivity label to and from an external
15648  * string form.
15649  * This privilege is interpreted only if the system is configured
15650  * with Trusted Extensions.
15651  */
15652 
15653 
15654 /*
15655  * Allows a process to manage virtualized environments such as
15656  * xVM(5).
15657  */
15658 
15659 
15660 /*
15661  * Allows a process to override colormap restrictions.
15662  * Allows a process to install or remove colormaps.
15663  * Allows a process to retrieve colormap cell entries allocated
15664  * by other processes.
15665  * This privilege is interpreted only if the system is configured
15666  * with Trusted Extensions.
15667  */
15668 
15669 
15670 /*
15671  * Allows a process to configure or destroy resources that are
15672  * permanently retained by the X server.
15673  * Allows a process to use SetScreenSaver to set the screen
15674  * saver timeout value.
15675  * Allows a process to use ChangeHosts to modify the display
15676  * access control list.
15677  * Allows a process to use GrabServer.
15678  * Allows a process to use the SetCloseDownMode request which
15679  * may retain window, pixmap, colormap, property, cursor, font,
15680  * or graphic context resources.
15681  * This privilege is interpreted only if the system is configured
15682  * with Trusted Extensions.
15683  */
15684 
15685 
15686 /*
15687  * Allows a process to read from a window resource that it does
15688  * not own (has a different user ID).
15689  * This privilege is interpreted only if the system is configured
15690  * with Trusted Extensions.
15691  */
15692 
15693 
15694 /*
15695  * Allows a process to write to or create a window resource that
15696  * it does not own (has a different user ID). A newly created
15697  * window property is created with the window's user ID.
15698  * This privilege is interpreted only if the system is configured
15699  * with Trusted Extensions.
15700  */
15701 
15702 
15703 /*
15704  * Allows a process to perform operations on window input devices.
15705  * Allows a process to get and set keyboard and pointer controls.
15706  * Allows a process to modify pointer button and key mappings.
15707  * This privilege is interpreted only if the system is configured
15708  * with Trusted Extensions.
15709  */
15710 
15711 
15712 /*
15713  * Allows a process to use the direct graphics access (DGA) X protocol
15714  * extensions. Direct process access to the frame buffer is still
15715  * required. Thus the process must have MAC and DAC privileges that
15716  * allow access to the frame buffer, or the frame buffer must be
15717  * allocated to the process.
15718  * This privilege is interpreted only if the system is configured
15719  * with Trusted Extensions.
15720  */
15721 
15722 
15723 /*
15724  * Allows a process to set the sensitivity label of a window resource
15725  * to a sensitivity label that does not dominate the existing
15726  * sensitivity label.
15727  * This privilege is interpreted only if the system is configured
15728  * with Trusted Extensions.
15729  */
15730 
15731 
15732 /*
15733  * Allows a process to set a font path.
15734  * This privilege is interpreted only if the system is configured
15735  * with Trusted Extensions.
15736  */
15737 
15738 
15739 /*
15740  * Allows a process to read from a window resource whose sensitivity
15741  * label is not equal to the process sensitivity label.
15742  * This privilege is interpreted only if the system is configured
15743  * with Trusted Extensions.
15744  */
15745 
15746 
15747 /*
15748  * Allows a process to create a window resource whose sensitivity
15749  * label is not equal to the process sensitivity label.
15750  * A newly created window property is created with the window's
15751  * sensitivity label.
15752  * This privilege is interpreted only if the system is configured
15753  * with Trusted Extensions.
15754  */
15755 
15756 
15757 /*
15758  * Allows a process to request inter-window data moves without the
15759  * intervention of the selection confirmer.
15760  * This privilege is interpreted only if the system is configured
15761  * with Trusted Extensions.
15762  */
15763 
15764 
15765 /*
15766  * Allows a process to set the sensitivity label of a window
15767  * resource to a sensitivity label that dominates the existing
15768  * sensitivity label.
15769  * This privilege is interpreted only if the system is configured
15770  * with Trusted Extensions.
15771  */
15772 
15773 
15774 /*
15775  * Allows a process access to the xVM(5) control devices for
15776  * managing guest domains and the hypervisor. This privilege is
15777  * used only if booted into xVM on x86 platforms.
15778  */
15779 
15780 
15781 
15782 /*
15783  * Privilege set names
15784  */
15785 /*
15786  * Set of privileges currently in effect.
15787  */
15788 
15789 
15790 /*
15791  * Set of privileges that comes into effect on exec.
15792  */
15793 
15794 
15795 /*
15796  * Set of privileges that can be put into the effective set without
15797  * restriction.
15798  */
15799 
15800 
15801 /*
15802  * Set of privileges that determines the absolute upper bound of
15803  * privileges this process and its off-spring can obtain.
15804  */
15805 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2
15806 
15807 
15808 
15809 
15810 
15811 typedef uint32_t priv_chunk_t;
15812 typedef struct priv_set priv_set_t;
15813 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15814 /*
15815  * Userland type definitions.
15816  */
15817 
15818 typedef const char *priv_ptype_t;
15819 typedef const char *priv_t;
15820 
15821 
15822 
15823 /*
15824  * priv_op_t indicates a privilege operation type
15825  */
15826 typedef enum priv_op {
15827  PRIV_ON,
15828  PRIV_OFF,
15829  PRIV_SET
15830 } priv_op_t;
15831 
15832 /*
15833  * Privilege system call subcodes.
15834  */
15835 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15836 /*
15837  * Maximum length of a user defined privilege name.
15838  */
15839 
15840 
15841 /*
15842  * Privilege interface functions for those parts of the kernel that
15843  * know nothing of the privilege internals.
15844  *
15845  * A privilege implementation can have a varying number of sets; sets
15846  * consist of a number of priv_chunk_t's and the size is expressed as such.
15847  * The privileges can be represented as
15848  *
15849  *		priv_chunk_t privs[info.priv_nsets][info.priv_setsize]
15850  *		... priv_infosize of extra information ...
15851  *
15852  * Extra data contained in the privilege information consists of chunks
15853  * of data with specified size and type all headed by a priv_info_t header
15854  * which defines both the type of information as well as the size of the
15855  * information.  ((char*)&info)+info->priv_info_size should be rounded up
15856  * to point to the next piece of information.
15857  */
15858 
15859 typedef struct priv_impl_info {
15860  uint32_t priv_headersize; /* sizeof (priv_impl_info) */
15861  uint32_t priv_flags; /* additional flags */
15862  uint32_t priv_nsets; /* number of priv sets */
15863  uint32_t priv_setsize; /* size in priv_chunk_t */
15864  uint32_t priv_max; /* highest actual valid priv */
15865  uint32_t priv_infosize; /* Per proc. additional info */
15866  uint32_t priv_globalinfosize; /* Per system info */
15867 } priv_impl_info_t;
15868 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15869 /*
15870  * Per credential flags.
15871  */
15872 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h"
15873 /* user-settable flags: */
15874 
15875 
15876 
15877 /*
15878  * Header of the privilege info data structure; multiple structures can
15879  * follow the privilege sets and priv_impl_info structures.
15880  */
15881 typedef struct priv_info {
15882  uint32_t priv_info_type;
15883  uint32_t priv_info_size;
15884 } priv_info_t;
15885 
15886 typedef struct priv_info_uint {
15887  priv_info_t info;
15888  uint_t val;
15889 } priv_info_uint_t;
15890 
15891 /*
15892  * Global privilege set information item; the actual size of the array is
15893  * {priv_setsize}.
15894  */
15895 typedef struct priv_info_set {
15896  priv_info_t info;
15897  priv_chunk_t set[1];
15898 } priv_info_set_t;
15899 
15900 /*
15901  * names[1] is a place holder which can contain multiple NUL terminated,
15902  * non-empty strings.
15903  */
15904 
15905 typedef struct priv_info_names {
15906  priv_info_t info;
15907  int cnt; /* number of strings */
15908  char names[1]; /* "string1\0string2\0 ..stringN\0" */
15909 } priv_info_names_t;
15910 
15911 /*
15912  * Privilege information types.
15913  */
15914 
15915 
15916 
15917 
15918 
15919 /*
15920  * Special "privileges" used to indicate special conditions in privilege
15921  * debugging/tracing code.
15922  */
15923 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
15924 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1
15925 /*
15926  * CDDL HEADER START
15927  *
15928  * The contents of this file are subject to the terms of the
15929  * Common Development and Distribution License (the "License").
15930  * You may not use this file except in compliance with the License.
15931  *
15932  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15933  * or http://www.opensolaris.org/os/licensing.
15934  * See the License for the specific language governing permissions
15935  * and limitations under the License.
15936  *
15937  * When distributing Covered Code, include this CDDL HEADER in each
15938  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15939  * If applicable, add the following below this CDDL HEADER, with the
15940  * fields enclosed by brackets "[]" replaced with your own identifying
15941  * information: Portions Copyright [yyyy] [name of copyright owner]
15942  *
15943  * CDDL HEADER END
15944  */
15945 /*
15946  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
15947  * Use is subject to license terms.
15948  */
15949 
15950 
15951 
15952 
15953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
15954 /*
15955  * CDDL HEADER START
15956  *
15957  * The contents of this file are subject to the terms of the
15958  * Common Development and Distribution License (the "License").
15959  * You may not use this file except in compliance with the License.
15960  *
15961  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15962  * or http://www.opensolaris.org/os/licensing.
15963  * See the License for the specific language governing permissions
15964  * and limitations under the License.
15965  *
15966  * When distributing Covered Code, include this CDDL HEADER in each
15967  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15968  * If applicable, add the following below this CDDL HEADER, with the
15969  * fields enclosed by brackets "[]" replaced with your own identifying
15970  * information: Portions Copyright [yyyy] [name of copyright owner]
15971  *
15972  * CDDL HEADER END
15973  */
15974 /*
15975  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
15976  * Use is subject to license terms.
15977  * Copyright 2015 Nexenta Systems, Inc.
15978  */
15979 
15980 
15981 
15982 
15983 #pragma ident "%Z%%M%	%I%	%E% SMI"
15984 
15985 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
15986 /*
15987  * CDDL HEADER START
15988  *
15989  * The contents of this file are subject to the terms of the
15990  * Common Development and Distribution License, Version 1.0 only
15991  * (the "License").  You may not use this file except in compliance
15992  * with the License.
15993  *
15994  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15995  * or http://www.opensolaris.org/os/licensing.
15996  * See the License for the specific language governing permissions
15997  * and limitations under the License.
15998  *
15999  * When distributing Covered Code, include this CDDL HEADER in each
16000  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16001  * If applicable, add the following below this CDDL HEADER, with the
16002  * fields enclosed by brackets "[]" replaced with your own identifying
16003  * information: Portions Copyright [yyyy] [name of copyright owner]
16004  *
16005  * CDDL HEADER END
16006  */
16007 /*
16008  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16009  *
16010  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
16011  * Use is subject to license terms.
16012  */
16013 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2
16014 
16015 
16016 
16017 
16018 
16019 /*
16020  * Interoperability types for programs. Used for:
16021  *
16022  * Crossing between 32-bit and 64-bit domains.
16023  *
16024  * On disk data formats such as filesystem meta data
16025  * and disk label.
16026  *
16027  * Note: Applications should never include this
16028  *       header file.
16029  */
16030 typedef uint32_t caddr32_t;
16031 typedef int32_t daddr32_t;
16032 typedef int32_t off32_t;
16033 typedef uint32_t ino32_t;
16034 typedef int32_t blkcnt32_t;
16035 typedef uint32_t fsblkcnt32_t;
16036 typedef uint32_t fsfilcnt32_t;
16037 typedef int32_t id32_t;
16038 typedef uint32_t major32_t;
16039 typedef uint32_t minor32_t;
16040 typedef int32_t key32_t;
16041 typedef uint32_t mode32_t;
16042 typedef uint32_t uid32_t;
16043 typedef uint32_t gid32_t;
16044 typedef uint32_t nlink32_t;
16045 typedef uint32_t dev32_t;
16046 typedef int32_t pid32_t;
16047 typedef uint32_t size32_t;
16048 typedef int32_t ssize32_t;
16049 typedef int32_t time32_t;
16050 typedef int32_t clock32_t;
16051 typedef uint32_t uintptr32_t;
16052 typedef int32_t intptr32_t;
16053 
16054 struct timeval32 {
16055  time32_t tv_sec; /* seconds */
16056  int32_t tv_usec; /* and microseconds */
16057 };
16058 
16059 typedef struct timespec32 {
16060  time32_t tv_sec; /* seconds */
16061  int32_t tv_nsec; /* and nanoseconds */
16062 } timespec32_t;
16063 
16064 typedef struct timespec32 timestruc32_t;
16065 
16066 typedef struct itimerspec32 {
16067  struct timespec32 it_interval;
16068  struct timespec32 it_value;
16069 } itimerspec32_t;
16070 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
16071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1
16072 /*
16073  * CDDL HEADER START
16074  *
16075  * The contents of this file are subject to the terms of the
16076  * Common Development and Distribution License (the "License").
16077  * You may not use this file except in compliance with the License.
16078  *
16079  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16080  * or http://www.opensolaris.org/os/licensing.
16081  * See the License for the specific language governing permissions
16082  * and limitations under the License.
16083  *
16084  * When distributing Covered Code, include this CDDL HEADER in each
16085  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16086  * If applicable, add the following below this CDDL HEADER, with the
16087  * fields enclosed by brackets "[]" replaced with your own identifying
16088  * information: Portions Copyright [yyyy] [name of copyright owner]
16089  *
16090  * CDDL HEADER END
16091  */
16092 /*
16093  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16094  * Use is subject to license terms.
16095  */
16096 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
16097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
16098 /*
16099  * CDDL HEADER START
16100  *
16101  * The contents of this file are subject to the terms of the
16102  * Common Development and Distribution License (the "License").
16103  * You may not use this file except in compliance with the License.
16104  *
16105  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16106  * or http://www.opensolaris.org/os/licensing.
16107  * See the License for the specific language governing permissions
16108  * and limitations under the License.
16109  *
16110  * When distributing Covered Code, include this CDDL HEADER in each
16111  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16112  * If applicable, add the following below this CDDL HEADER, with the
16113  * fields enclosed by brackets "[]" replaced with your own identifying
16114  * information: Portions Copyright [yyyy] [name of copyright owner]
16115  *
16116  * CDDL HEADER END
16117  */
16118 /*
16119  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16120  *
16121  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
16122  * Use is subject to license terms.
16123  */
16124 
16125 
16126 
16127 
16128 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1
16129 /*
16130  * CDDL HEADER START
16131  *
16132  * The contents of this file are subject to the terms of the
16133  * Common Development and Distribution License (the "License").
16134  * You may not use this file except in compliance with the License.
16135  *
16136  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16137  * or http://www.opensolaris.org/os/licensing.
16138  * See the License for the specific language governing permissions
16139  * and limitations under the License.
16140  *
16141  * When distributing Covered Code, include this CDDL HEADER in each
16142  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16143  * If applicable, add the following below this CDDL HEADER, with the
16144  * fields enclosed by brackets "[]" replaced with your own identifying
16145  * information: Portions Copyright [yyyy] [name of copyright owner]
16146  *
16147  * CDDL HEADER END
16148  */
16149 /*
16150  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16151  *
16152  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
16153  */
16154 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2
16155 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h"
16156 /*
16157  * library functions prototype.
16158  */
16159 
16160 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *);
16161 extern int getppriv(priv_ptype_t, priv_set_t *);
16162 extern int setpflags(uint_t, uint_t);
16163 extern uint_t getpflags(uint_t);
16164 extern const priv_impl_info_t *getprivimplinfo(void);
16165 
16166 extern int priv_set(priv_op_t, priv_ptype_t, ...);
16167 extern boolean_t priv_ineffect(const char *);
16168 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **);
16169 extern char *priv_set_to_str(const priv_set_t *, char, int);
16170 
16171 extern int priv_getbyname(const char *);
16172 extern const char *priv_getbynum(int);
16173 extern int priv_getsetbyname(const char *);
16174 extern const char *priv_getsetbynum(int);
16175 extern char *priv_gettext(const char *);
16176 
16177 extern priv_set_t *priv_allocset(void);
16178 extern void priv_freeset(priv_set_t *);
16179 
16180 extern void priv_emptyset(priv_set_t *);
16181 extern void priv_basicset(priv_set_t *);
16182 extern void priv_fillset(priv_set_t *);
16183 extern boolean_t priv_isemptyset(const priv_set_t *);
16184 extern boolean_t priv_isfullset(const priv_set_t *);
16185 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *);
16186 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *);
16187 extern void priv_intersect(const priv_set_t *, priv_set_t *);
16188 extern void priv_union(const priv_set_t *, priv_set_t *);
16189 extern void priv_inverse(priv_set_t *);
16190 extern int priv_addset(priv_set_t *, const char *);
16191 extern void priv_copyset(const priv_set_t *, priv_set_t *);
16192 extern int priv_delset(priv_set_t *, const char *);
16193 extern boolean_t priv_ismember(const priv_set_t *, const char *);
16194 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2
16195 
16196 
16197 
16198 
16199 
16200 /* Procedural Interface Structure Definitions */
16201 
16202 struct label_info { /* structure returned by label_info */
16203  short ilabel_len; /* max Information Label length */
16204  short slabel_len; /* max Sensitivity Label length */
16205  short clabel_len; /* max CMW Label length */
16206  short clear_len; /* max Clearance Label length */
16207  short vers_len; /* version string length */
16208  short header_len; /* max len of banner page header */
16209  short protect_as_len; /* max len of banner page protect as */
16210  short caveats_len; /* max len of banner page caveats */
16211  short channels_len; /* max len of banner page channels */
16212 };
16213 
16214 typedef struct label_set_identifier { /* valid label set identifier */
16215  int type; /* type of the set */
16216  char *name; /* name of the set if needed */
16217 } set_id;
16218 
16219 struct name_fields { /* names for label builder fields */
16220  char *class_name; /* Classifications field name */
16221  char *comps_name; /* Compartments field name */
16222  char *marks_name; /* Markings field name */
16223 };
16224 
16225 /* Label Set Identifier Types */
16226 
16227 /*
16228  * The accreditation ranges as specified in the label encodings file.
16229  * The name parameter is ignored.
16230  *
16231  * System Accreditation Range is all valid labels plus Admin High and Low.
16232  *
16233  * User Accreditation Range is valid user labels as defined in the
16234  *	ACCREDITATION RANGE: section of the label encodings file.
16235  */
16236 
16237 
16238 
16239 
16240 
16241 /* System Call Interface Definitions */
16242 
16243 extern int getlabel(const char *, m_label_t *);
16244 extern int fgetlabel(int, m_label_t *);
16245 
16246 extern int getplabel(m_label_t *);
16247 extern int setflabel(const char *, m_label_t *);
16248 extern char *getpathbylabel(const char *, char *, size_t,
16249     const m_label_t *sl);
16250 extern m_label_t *getzonelabelbyid(zoneid_t);
16251 extern m_label_t *getzonelabelbyname(const char *);
16252 extern zoneid_t getzoneidbylabel(const m_label_t *);
16253 extern char *getzonenamebylabel(const m_label_t *);
16254 extern char *getzonerootbyid(zoneid_t);
16255 extern char *getzonerootbyname(const char *);
16256 extern char *getzonerootbylabel(const m_label_t *);
16257 extern m_label_t *getlabelbypath(const char *);
16258 
16259 
16260 /* Flag word values */
16261 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h"
16262       /* implies NEW_LABEL */
16263 
16264 
16265 
16266 
16267 /* Procedure Interface Definitions available to user */
16268 
16269 /* APIs shared with the kernel are in <sys/tsol/label.h */
16270 
16271 extern m_label_t *blabel_alloc(void);
16272 extern void blabel_free(m_label_t *);
16273 extern size32_t blabel_size(void);
16274 extern char *bsltoh(const m_label_t *);
16275 extern char *bcleartoh(const m_label_t *);
16276 
16277 extern char *bsltoh_r(const m_label_t *, char *);
16278 extern char *bcleartoh_r(const m_label_t *, char *);
16279 extern char *h_alloc(uint8_t);
16280 extern void h_free(char *);
16281 
16282 extern int htobsl(const char *, m_label_t *);
16283 extern int htobclear(const char *, m_label_t *);
16284 
16285 extern m_range_t *getuserrange(const char *);
16286 extern m_range_t *getdevicerange(const char *);
16287 
16288 extern int set_effective_priv(priv_op_t, int, ...);
16289 extern int set_inheritable_priv(priv_op_t, int, ...);
16290 extern int set_permitted_priv(priv_op_t, int, ...);
16291 extern int is_system_labeled(void);
16292 
16293 /* Procedures needed for multi-level printing */
16294 
16295 extern int tsol_check_admin_auth(uid_t uid);
16296 
16297 /* APIs implemented via labeld */
16298 
16299 extern int blinset(const m_label_t *, const set_id *);
16300 extern int labelinfo(struct label_info *);
16301 extern ssize_t labelvers(char **, size_t);
16302 extern char *bltocolor(const m_label_t *);
16303 extern char *bltocolor_r(const m_label_t *, size_t, char *);
16304 
16305 extern ssize_t bsltos(const m_label_t *, char **, size_t, int);
16306 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int);
16307 
16308 
16309 extern char *sbsltos(const m_label_t *, size_t);
16310 extern char *sbcleartos(const m_label_t *, size_t);
16311 
16312 
16313 extern int stobsl(const char *, m_label_t *, int, int *);
16314 extern int stobclear(const char *, m_label_t *, int, int *);
16315 extern int bslvalid(const m_label_t *);
16316 extern int bclearvalid(const m_label_t *);
16317 
16318 /* DIA label conversion and parsing */
16319 
16320 /* Conversion types */
16321 
16322 typedef enum _m_label_str {
16323  M_LABEL = 1, /* process or user clearance */
16324  M_INTERNAL = 2, /* internal form for use in public databases */
16325  M_COLOR = 3, /* process label color */
16326  PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */
16327  PRINTER_LABEL = 5, /* DIA banner page label */
16328  PRINTER_CAVEATS = 6, /* DIA banner page caveats */
16329  PRINTER_CHANNELS = 7 /* DIA banner page handling channels */
16330 } m_label_str_t;
16331 
16332 /* Flags for conversion, not all flags apply to all types */
16333 
16334 
16335 
16336 
16337 extern int label_to_str(const m_label_t *, char **, const m_label_str_t,
16338     uint_t);
16339 extern int l_to_str_internal(const m_label_t *, char **);
16340 
16341 /* Parsing types */
16342 typedef enum _m_label_type {
16343  MAC_LABEL = 1, /* process or object label */
16344  USER_CLEAR = 2 /* user's clearance (LUB) */
16345 } m_label_type_t;
16346 
16347 /* Flags for parsing */
16348 
16349 
16350 
16351 
16352 
16353 
16354 /* EINVAL sub codes */
16355 
16356 
16357 
16358  /* bad requested label type, bad previous label type */
16359 
16360 
16361 extern int str_to_label(const char *, m_label_t **, const m_label_type_t,
16362     uint_t, int *);
16363 extern int hexstr_to_label(const char *, m_label_t *);
16364 
16365 extern m_label_t *m_label_alloc(const m_label_type_t);
16366 
16367 extern int m_label_dup(m_label_t **, const m_label_t *);
16368 
16369 extern void m_label_free(m_label_t *);
16370 
16371 /* Contract Private interfaces with the label builder GUIs */
16372 
16373 extern int bslcvtfull(const m_label_t *, const m_range_t *, int,
16374     char **, char **[], char **[], char *[], int *, int *);
16375 extern int bslcvt(const m_label_t *, int, char **, char *[]);
16376 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int,
16377     char **, char **[], char **[], char *[], int *, int *);
16378 extern int bclearcvt(const m_label_t *, int, char **, char *[]);
16379 
16380 extern int labelfields(struct name_fields *);
16381 extern int userdefs(m_label_t *, m_label_t *);
16382 extern int zonecopy(m_label_t *, char *, char *, char *, int);
16383 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2
16384 
16385 
16386 
16387 
16388 
16389 /*
16390  * Functions for mapping between id and name for active zones.
16391  */
16392 extern zoneid_t getzoneid(void);
16393 extern zoneid_t getzoneidbyname(const char *);
16394 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t);
16395 
16396 /*
16397  * NOTE
16398  *
16399  * The remaining contents of this file are private to the implementation
16400  * of Solaris and are subject to change at any time without notice,
16401  * Applications using these interfaces may fail to run on future releases.
16402  */
16403 
16404 extern int zonept(int, zoneid_t);
16405 extern int zone_get_id(const char *, zoneid_t *);
16406 
16407 /* System call API */
16408 extern zoneid_t zone_create(const char *, const char *,
16409     const struct priv_set *, const char *, size_t, const char *, size_t, int *,
16410     int, int, const bslabel_t *, int);
16411 extern int zone_boot(zoneid_t);
16412 extern int zone_destroy(zoneid_t);
16413 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t);
16414 extern int zone_setattr(zoneid_t, int, void *, size_t);
16415 extern int zone_enter(zoneid_t);
16416 extern int zone_list(zoneid_t *, uint_t *);
16417 extern int zone_shutdown(zoneid_t);
16418 extern int zone_version(int *);
16419 extern int zone_add_datalink(zoneid_t, datalink_id_t);
16420 extern int zone_remove_datalink(zoneid_t, datalink_id_t);
16421 extern int zone_check_datalink(zoneid_t *, datalink_id_t);
16422 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *);
16423 # 46 "../common/instzones_lib.h" 2
16424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
16425 /*
16426  * CDDL HEADER START
16427  *
16428  * The contents of this file are subject to the terms of the
16429  * Common Development and Distribution License (the "License").
16430  * You may not use this file except in compliance with the License.
16431  *
16432  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16433  * or http://www.opensolaris.org/os/licensing.
16434  * See the License for the specific language governing permissions
16435  * and limitations under the License.
16436  *
16437  * When distributing Covered Code, include this CDDL HEADER in each
16438  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16439  * If applicable, add the following below this CDDL HEADER, with the
16440  * fields enclosed by brackets "[]" replaced with your own identifying
16441  * information: Portions Copyright [yyyy] [name of copyright owner]
16442  *
16443  * CDDL HEADER END
16444  */
16445 
16446 /*
16447  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
16448  */
16449 
16450 
16451 
16452 
16453 /*
16454  * Zone configuration header file.
16455  */
16456 
16457 
16458 
16459 
16460 
16461 /* sys/socket.h is required by net/if.h, which has a constant needed here */
16462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
16463 /*
16464  * CDDL HEADER START
16465  *
16466  * The contents of this file are subject to the terms of the
16467  * Common Development and Distribution License (the "License").
16468  * You may not use this file except in compliance with the License.
16469  *
16470  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16471  * or http://www.opensolaris.org/os/licensing.
16472  * See the License for the specific language governing permissions
16473  * and limitations under the License.
16474  *
16475  * When distributing Covered Code, include this CDDL HEADER in each
16476  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16477  * If applicable, add the following below this CDDL HEADER, with the
16478  * fields enclosed by brackets "[]" replaced with your own identifying
16479  * information: Portions Copyright [yyyy] [name of copyright owner]
16480  *
16481  * CDDL HEADER END
16482  */
16483 
16484 /*
16485  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
16486  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
16487  */
16488 
16489 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16490 /*	  All Rights Reserved  	*/
16491 
16492 /*
16493  * University Copyright- Copyright (c) 1982, 1986, 1988
16494  * The Regents of the University of California
16495  * All Rights Reserved
16496  *
16497  * University Acknowledgment- Portions of this document are derived from
16498  * software developed by the University of California, Berkeley, and its
16499  * contributors.
16500  */
16501 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16502 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1
16503 /*
16504  * CDDL HEADER START
16505  *
16506  * The contents of this file are subject to the terms of the
16507  * Common Development and Distribution License, Version 1.0 only
16508  * (the "License").  You may not use this file except in compliance
16509  * with the License.
16510  *
16511  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16512  * or http://www.opensolaris.org/os/licensing.
16513  * See the License for the specific language governing permissions
16514  * and limitations under the License.
16515  *
16516  * When distributing Covered Code, include this CDDL HEADER in each
16517  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16518  * If applicable, add the following below this CDDL HEADER, with the
16519  * fields enclosed by brackets "[]" replaced with your own identifying
16520  * information: Portions Copyright [yyyy] [name of copyright owner]
16521  *
16522  * CDDL HEADER END
16523  */
16524 /*
16525  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16526  */
16527 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16528 /*	  All Rights Reserved  	*/
16529 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h"
16530 /*
16531  * Opcodes for the sysfs() system call.
16532  */
16533 
16534 
16535 
16536 
16537 
16538 int sysfs(int, ...);
16539 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16540 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1
16541 /*
16542  * CDDL HEADER START
16543  *
16544  * The contents of this file are subject to the terms of the
16545  * Common Development and Distribution License, Version 1.0 only
16546  * (the "License").  You may not use this file except in compliance
16547  * with the License.
16548  *
16549  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16550  * or http://www.opensolaris.org/os/licensing.
16551  * See the License for the specific language governing permissions
16552  * and limitations under the License.
16553  *
16554  * When distributing Covered Code, include this CDDL HEADER in each
16555  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16556  * If applicable, add the following below this CDDL HEADER, with the
16557  * fields enclosed by brackets "[]" replaced with your own identifying
16558  * information: Portions Copyright [yyyy] [name of copyright owner]
16559  *
16560  * CDDL HEADER END
16561  */
16562 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16563 /*	  All Rights Reserved  	*/
16564 
16565 
16566 /*
16567  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16568  *
16569  * Copyright (c) 1996, 1999 by Sun Microsystems, Inc.
16570  * All rights reserved.
16571  */
16572 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
16573 /*
16574  * Flag bits passed to mount(2).
16575  */
16576 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h"
16577 /*
16578  * Additional flag bits that domount() is prepared to interpret, but that
16579  * can't be passed through mount(2).
16580  */
16581 
16582 
16583 
16584 /*
16585  * Mask to sift out flag bits allowable from mount(2).
16586  */
16587 
16588 
16589 
16590 
16591 /*
16592  * Mask to sift out flag bits allowable from umount2(2).
16593  */
16594 
16595 
16596 
16597 /*
16598  * Maximum option string length accepted or returned by mount(2).
16599  */
16600 
16601 
16602 
16603 int mount(const char *, const char *, int, ...);
16604 int umount(const char *);
16605 int umount2(const char *, int);
16606 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16607 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1
16608 /*
16609  * CDDL HEADER START
16610  *
16611  * The contents of this file are subject to the terms of the
16612  * Common Development and Distribution License (the "License").
16613  * You may not use this file except in compliance with the License.
16614  *
16615  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16616  * or http://www.opensolaris.org/os/licensing.
16617  * See the License for the specific language governing permissions
16618  * and limitations under the License.
16619  *
16620  * When distributing Covered Code, include this CDDL HEADER in each
16621  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16622  * If applicable, add the following below this CDDL HEADER, with the
16623  * fields enclosed by brackets "[]" replaced with your own identifying
16624  * information: Portions Copyright [yyyy] [name of copyright owner]
16625  *
16626  * CDDL HEADER END
16627  */
16628 /*
16629  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16630  *
16631  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
16632  * Use is subject to license terms.
16633  */
16634 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
16636 /*
16637  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16638  * Use is subject to license terms.
16639  *
16640  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
16641  */
16642 /*
16643  * Copyright (c) 1982, 1986 Regents of the University of California.
16644  * All rights reserved.
16645  *
16646  * Redistribution and use in source and binary forms are permitted
16647  * provided that this notice is preserved and that due credit is given
16648  * to the University of California at Berkeley. The name of the University
16649  * may not be used to endorse or promote products derived from this
16650  * software without specific prior written permission. This software
16651  * is provided ``as is'' without express or implied warranty.
16652  */
16653 
16654 /*
16655  * Constants and structures defined by the internet system,
16656  * according to following documents
16657  *
16658  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
16659  *	http://www.iana.org/assignments/protocol-numbers
16660  *	http://www.iana.org/assignments/port-numbers
16661  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
16662  *
16663  */
16664 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
16665 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
16666 /*
16667  * CDDL HEADER START
16668  *
16669  * The contents of this file are subject to the terms of the
16670  * Common Development and Distribution License (the "License").
16671  * You may not use this file except in compliance with the License.
16672  *
16673  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16674  * or http://www.opensolaris.org/os/licensing.
16675  * See the License for the specific language governing permissions
16676  * and limitations under the License.
16677  *
16678  * When distributing Covered Code, include this CDDL HEADER in each
16679  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16680  * If applicable, add the following below this CDDL HEADER, with the
16681  * fields enclosed by brackets "[]" replaced with your own identifying
16682  * information: Portions Copyright [yyyy] [name of copyright owner]
16683  *
16684  * CDDL HEADER END
16685  */
16686 /*
16687  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16688  *
16689  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
16690  */
16691 
16692 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
16693 /*	  All Rights Reserved	*/
16694 
16695 /*
16696  * University Copyright- Copyright (c) 1982, 1986, 1988
16697  * The Regents of the University of California
16698  * All Rights Reserved
16699  *
16700  * University Acknowledgment- Portions of this document are derived from
16701  * software developed by the University of California, Berkeley, and its
16702  * contributors.
16703  */
16704 
16705 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
16706 
16707 
16708 
16709 
16710 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
16711 /*
16712  * CDDL HEADER START
16713  *
16714  * The contents of this file are subject to the terms of the
16715  * Common Development and Distribution License (the "License").
16716  * You may not use this file except in compliance with the License.
16717  *
16718  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16719  * or http://www.opensolaris.org/os/licensing.
16720  * See the License for the specific language governing permissions
16721  * and limitations under the License.
16722  *
16723  * When distributing Covered Code, include this CDDL HEADER in each
16724  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16725  * If applicable, add the following below this CDDL HEADER, with the
16726  * fields enclosed by brackets "[]" replaced with your own identifying
16727  * information: Portions Copyright [yyyy] [name of copyright owner]
16728  *
16729  * CDDL HEADER END
16730  */
16731 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16732 /*	  All Rights Reserved  	*/
16733 
16734 
16735 /*
16736  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16737  * Use is subject to license terms.
16738  *
16739  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16740  * Copyright 2016 Joyent, Inc.
16741  */
16742 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
16743 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1
16744 /*
16745  * CDDL HEADER START
16746  *
16747  * The contents of this file are subject to the terms of the
16748  * Common Development and Distribution License (the "License").
16749  * You may not use this file except in compliance with the License.
16750  *
16751  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16752  * or http://www.opensolaris.org/os/licensing.
16753  * See the License for the specific language governing permissions
16754  * and limitations under the License.
16755  *
16756  * When distributing Covered Code, include this CDDL HEADER in each
16757  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16758  * If applicable, add the following below this CDDL HEADER, with the
16759  * fields enclosed by brackets "[]" replaced with your own identifying
16760  * information: Portions Copyright [yyyy] [name of copyright owner]
16761  *
16762  * CDDL HEADER END
16763  */
16764 /*
16765  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
16766  *
16767  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
16768  * Use is subject to license terms.
16769  *
16770  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16771  * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
16772  */
16773 
16774 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16775 /*	  All Rights Reserved  	*/
16776 
16777 /*
16778  * University Copyright- Copyright (c) 1982, 1986, 1988
16779  * The Regents of the University of California
16780  * All Rights Reserved
16781  *
16782  * University Acknowledgment- Portions of this document are derived from
16783  * software developed by the University of California, Berkeley, and its
16784  * contributors.
16785  */
16786 
16787 
16788 
16789 
16790 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
16791 /*
16792  * CDDL HEADER START
16793  *
16794  * The contents of this file are subject to the terms of the
16795  * Common Development and Distribution License (the "License").
16796  * You may not use this file except in compliance with the License.
16797  *
16798  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16799  * or http://www.opensolaris.org/os/licensing.
16800  * See the License for the specific language governing permissions
16801  * and limitations under the License.
16802  *
16803  * When distributing Covered Code, include this CDDL HEADER in each
16804  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16805  * If applicable, add the following below this CDDL HEADER, with the
16806  * fields enclosed by brackets "[]" replaced with your own identifying
16807  * information: Portions Copyright [yyyy] [name of copyright owner]
16808  *
16809  * CDDL HEADER END
16810  */
16811 
16812 /*
16813  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
16814  * Copyright 2016 Joyent, Inc.
16815  *
16816  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
16817  * Use is subject to license terms.
16818  */
16819 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
16820 
16821 
16822 
16823 
16824 
16825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
16826 /*
16827  * CDDL HEADER START
16828  *
16829  * The contents of this file are subject to the terms of the
16830  * Common Development and Distribution License (the "License").
16831  * You may not use this file except in compliance with the License.
16832  *
16833  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
16834  * or http://www.opensolaris.org/os/licensing.
16835  * See the License for the specific language governing permissions
16836  * and limitations under the License.
16837  *
16838  * When distributing Covered Code, include this CDDL HEADER in each
16839  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16840  * If applicable, add the following below this CDDL HEADER, with the
16841  * fields enclosed by brackets "[]" replaced with your own identifying
16842  * information: Portions Copyright [yyyy] [name of copyright owner]
16843  *
16844  * CDDL HEADER END
16845  */
16846 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
16847 /*	  All Rights Reserved  	*/
16848 
16849 
16850 /*
16851  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
16852  * Use is subject to license terms.
16853  *
16854  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
16855  * Copyright 2016 Joyent, Inc.
16856  */
16857 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
16858 
16859 /*
16860  * I/O parameter information.  A uio structure describes the I/O which
16861  * is to be performed by an operation.  Typically the data movement will
16862  * be performed by a routine such as uiomove(), which updates the uio
16863  * structure to reflect what was done.
16864  */
16865 
16866 
16867 
16868 
16869 
16870 
16871 
16872 typedef struct iovec {
16873  caddr_t iov_base;
16874 
16875  size_t iov_len;
16876 
16877 
16878 
16879 } iovec_t;
16880 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16881 /*
16882  * Segment flag values.
16883  */
16884 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t;
16885 
16886 typedef struct uio {
16887  iovec_t *uio_iov; /* pointer to array of iovecs */
16888  int uio_iovcnt; /* number of iovecs */
16889  lloff_t _uio_offset; /* file offset */
16890  uio_seg_t uio_segflg; /* address space (kernel or user) */
16891  uint16_t uio_fmode; /* file mode flags */
16892  uint16_t uio_extflg; /* extended flags */
16893  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
16894  ssize_t uio_resid; /* residual count */
16895 } uio_t;
16896 
16897 /*
16898  * Extended uio_t uioa_t used for asynchronous uio.
16899  *
16900  * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c"
16901  *	 as there isn't a formal definition of IOV_MAX for the kernel.
16902  */
16903 
16904 
16905 typedef struct uioa_page_s { /* locked uio_iov state */
16906  int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */
16907  void **uioa_ppp; /* page_t or pfn_t arrary */
16908  caddr_t uioa_base; /* address base */
16909  size_t uioa_len; /* span length */
16910 } uioa_page_t;
16911 
16912 typedef struct uioa_s {
16913  iovec_t *uio_iov; /* pointer to array of iovecs */
16914  int uio_iovcnt; /* number of iovecs */
16915  lloff_t _uio_offset; /* file offset */
16916  uio_seg_t uio_segflg; /* address space (kernel or user) */
16917  uint16_t uio_fmode; /* file mode flags */
16918  uint16_t uio_extflg; /* extended flags */
16919  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
16920  ssize_t uio_resid; /* residual count */
16921  /*
16922 	 * uioa extended members.
16923 	 */
16924  uint32_t uioa_state; /* state of asynch i/o */
16925  ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */
16926  uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */
16927  void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */
16928  void *uioa_hwst[4]; /* opaque hardware state */
16929  uioa_page_t uioa_locked[16]; /* Per iov locked pages */
16930 } uioa_t;
16931 
16932 /*
16933  * uio extensions
16934  *
16935  * PSARC 2009/478: Copy Reduction Interfaces
16936  */
16937 typedef enum xuio_type {
16938  UIOTYPE_ASYNCIO,
16939  UIOTYPE_ZEROCOPY
16940 } xuio_type_t;
16941 
16942 typedef struct xuio {
16943  uio_t xu_uio; /* Embedded UIO structure */
16944 
16945  /* Extended uio fields */
16946  enum xuio_type xu_type; /* What kind of uio structure? */
16947  union {
16948   /* Async I/O Support, intend to replace uioa_t. */
16949   struct {
16950    uint32_t xu_a_state; /* state of async i/o */
16951    /* bytes that have been uioamove()ed */
16952    ssize_t xu_a_mbytes;
16953    uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */
16954    /* pointer into lcur->uioa_ppp[] */
16955    void **xu_a_lppp;
16956    void *xu_a_hwst[4]; /* opaque hardware state */
16957    /* Per iov locked pages */
16958    uioa_page_t xu_a_locked[16];
16959   } xu_aio;
16960 
16961   /*
16962 		 * Copy Reduction Support -- facilate loaning / returning of
16963 		 * filesystem cache buffers.
16964 		 */
16965   struct {
16966    int xu_zc_rw; /* read or write buffer */
16967    void *xu_zc_priv; /* fs specific */
16968   } xu_zc;
16969  } xu_ext;
16970 } xuio_t;
16971 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
16972 /*
16973  * I/O direction.
16974  */
16975 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t;
16976 
16977 /*
16978  * uio_extflg: extended flags
16979  *
16980  * NOTE: This flag will be used in uiomove to determine if non-temporal
16981  * access, ie, access bypassing caches, should be used.  Filesystems that
16982  * don't initialize this field could experience suboptimal performance due to
16983  * the random data the field contains.
16984  *
16985  * NOTE: This flag is also used by uioasync callers to pass an extended
16986  * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all
16987  * consumers of a uioa_t require the uio_extflg to be initialized.
16988  */
16989 
16990 
16991 
16992 
16993 
16994 
16995 /*
16996  * Global uioasync capability shadow state.
16997  */
16998 typedef struct uioasync_s {
16999  boolean_t enabled; /* Is uioasync enabled? */
17000  size_t mincnt; /* Minimum byte count for use of */
17001 } uioasync_t;
17002 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17003 extern ssize_t readv(int, const struct iovec *, int);
17004 extern ssize_t writev(int, const struct iovec *, int);
17005 
17006 /*
17007  * When in the large file compilation environment,
17008  * map preadv/pwritev to their 64 bit offset versions
17009  */
17010 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17011 /* In the LP64 compilation environment, the APIs are already large file */
17012 
17013 
17014 
17015 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17016 #pragma redefine_extname preadv64 preadv
17017 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17018 
17019 
17020 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17021 #pragma redefine_extname pwritev64 pwritev
17022 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
17023 
17024 
17025 
17026 
17027 
17028 
17029 
17030 extern ssize_t preadv(int, const struct iovec *, int, off_t);
17031 extern ssize_t pwritev(int, const struct iovec *, int, off_t);
17032 
17033 /*
17034  * preadv64 and pwritev64 should be defined when:
17035  * - Using the transitional compilation environment, and not
17036  *     the large file compilation environment.
17037  */
17038 
17039 
17040 extern ssize_t preadv64(int, const struct iovec *, int, off64_t);
17041 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t);
17042 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
17043 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
17044 /*
17045  * CDDL HEADER START
17046  *
17047  * The contents of this file are subject to the terms of the
17048  * Common Development and Distribution License (the "License").
17049  * You may not use this file except in compliance with the License.
17050  *
17051  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17052  * or http://www.opensolaris.org/os/licensing.
17053  * See the License for the specific language governing permissions
17054  * and limitations under the License.
17055  *
17056  * When distributing Covered Code, include this CDDL HEADER in each
17057  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17058  * If applicable, add the following below this CDDL HEADER, with the
17059  * fields enclosed by brackets "[]" replaced with your own identifying
17060  * information: Portions Copyright [yyyy] [name of copyright owner]
17061  *
17062  * CDDL HEADER END
17063  */
17064 
17065 /*
17066  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
17067  * Copyright 2016 Joyent, Inc.
17068  *
17069  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
17070  * Use is subject to license terms.
17071  */
17072 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
17073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
17074 /*
17075  * CDDL HEADER START
17076  *
17077  * The contents of this file are subject to the terms of the
17078  * Common Development and Distribution License (the "License").
17079  * You may not use this file except in compliance with the License.
17080  *
17081  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17082  * or http://www.opensolaris.org/os/licensing.
17083  * See the License for the specific language governing permissions
17084  * and limitations under the License.
17085  *
17086  * When distributing Covered Code, include this CDDL HEADER in each
17087  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17088  * If applicable, add the following below this CDDL HEADER, with the
17089  * fields enclosed by brackets "[]" replaced with your own identifying
17090  * information: Portions Copyright [yyyy] [name of copyright owner]
17091  *
17092  * CDDL HEADER END
17093  */
17094 /*
17095  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17096  * Use is subject to license terms.
17097  */
17098 
17099 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
17100 /*	  All Rights Reserved	*/
17101 
17102 /*
17103  * Portions of this source code were derived from Berkeley 4.3 BSD
17104  * under license from the Regents of the University of California.
17105  */
17106 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
17107 
17108 
17109 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1
17110 /*
17111  * CDDL HEADER START
17112  *
17113  * The contents of this file are subject to the terms of the
17114  * Common Development and Distribution License, Version 1.0 only
17115  * (the "License").  You may not use this file except in compliance
17116  * with the License.
17117  *
17118  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17119  * or http://www.opensolaris.org/os/licensing.
17120  * See the License for the specific language governing permissions
17121  * and limitations under the License.
17122  *
17123  * When distributing Covered Code, include this CDDL HEADER in each
17124  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17125  * If applicable, add the following below this CDDL HEADER, with the
17126  * fields enclosed by brackets "[]" replaced with your own identifying
17127  * information: Portions Copyright [yyyy] [name of copyright owner]
17128  *
17129  * CDDL HEADER END
17130  */
17131 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
17132 /*	  All Rights Reserved  	*/
17133 
17134 
17135 /*
17136  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17137  *
17138  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
17139  * Use is subject to license terms.
17140  */
17141 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
17142 struct netconfig {
17143  char *nc_netid; /* network identifier		*/
17144  unsigned int nc_semantics; /* defined below		*/
17145  unsigned int nc_flag; /* defined below		*/
17146  char *nc_protofmly; /* protocol family name		*/
17147  char *nc_proto; /* protocol name		*/
17148  char *nc_device; /* device name for network id	*/
17149  unsigned int nc_nlookups; /* # of entries in nc_lookups	*/
17150  char **nc_lookups; /* list of lookup directories	*/
17151  unsigned int nc_unused[8]; /* borrowed for lockd etc.	*/
17152 };
17153 
17154 typedef struct {
17155  struct netconfig **nc_head;
17156  struct netconfig **nc_curr;
17157 } NCONF_HANDLE;
17158 
17159 /*
17160  *	Values of nc_semantics
17161  */
17162 
17163 
17164 
17165 
17166 
17167 /*
17168  * NOT FOR PUBLIC USE, Solaris internal only.
17169  * This value of nc_semantics is strictly for use of Remote Direct
17170  * Memory Access provider interfaces in Solaris only and not for
17171  * general use. Do not use this value for general purpose user or
17172  * kernel programming. If used the behavior is undefined.
17173  * This is a PRIVATE interface to be used by Solaris kRPC only.
17174  */
17175 
17176 
17177 /*
17178  *	Values of nc_flag
17179  */
17180 
17181 
17182 
17183 
17184 
17185 /*
17186  *	Values of nc_protofmly
17187  */
17188 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
17189 /*
17190  * NOT FOR PUBLIC USE, Solaris internal only.
17191  * This value of nc_semantics is strictly for use of Remote Direct
17192  * Memory Access provider interfaces in Solaris only and not for
17193  * general use. Do not use this value for general purpose user or
17194  * kernel programming. If used the behavior is undefined.
17195  * This is a PRIVATE interface to be used by Solaris kRPC only.
17196  */
17197 
17198 
17199 /*
17200  *	Values for nc_proto
17201  */
17202 
17203 
17204 
17205 
17206 
17207 
17208 /*
17209  * 	Values for nc_proto for "rdma" protofmly
17210  */
17211 
17212 
17213 
17214 
17215 extern void *setnetconfig(void);
17216 extern int endnetconfig(void *);
17217 extern struct netconfig *getnetconfig(void *);
17218 extern struct netconfig *getnetconfigent(const char *);
17219 extern void freenetconfigent(struct netconfig *);
17220 extern void *setnetpath(void);
17221 extern int endnetpath(void *);
17222 extern struct netconfig *getnetpath(void *);
17223 extern void nc_perror(const char *);
17224 extern char *nc_sperror(void);
17225 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
17226 
17227 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
17228 /*
17229  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17230  * Use is subject to license terms.
17231  *
17232  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
17233  */
17234 /*
17235  * Copyright (c) 1982, 1986 Regents of the University of California.
17236  * All rights reserved.
17237  *
17238  * Redistribution and use in source and binary forms are permitted
17239  * provided that this notice is preserved and that due credit is given
17240  * to the University of California at Berkeley. The name of the University
17241  * may not be used to endorse or promote products derived from this
17242  * software without specific prior written permission. This software
17243  * is provided ``as is'' without express or implied warranty.
17244  */
17245 
17246 /*
17247  * Constants and structures defined by the internet system,
17248  * according to following documents
17249  *
17250  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
17251  *	http://www.iana.org/assignments/protocol-numbers
17252  *	http://www.iana.org/assignments/port-numbers
17253  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
17254  *
17255  */
17256 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
17257 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17258 /*
17259  * Definitions related to sockets: types, address families, options.
17260  */
17261 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17262 /*
17263  * Types
17264  */
17265 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17266 /*
17267  * Flags for socket() and accept4()
17268  */
17269 
17270 
17271 
17272 
17273 /*
17274  * Option flags per-socket.
17275  */
17276 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17277 /*
17278  * Socket options are passed using a signed integer, but it is also rare
17279  * for more than one to ever be passed at the same time with setsockopt
17280  * and only one at a time can be retrieved with getsockopt.
17281  *
17282  * Since the lower numbers cannot be renumbered for compatibility reasons,
17283  * it would seem that we need to start a new number space (0x40000000 -
17284  * 0x7fffffff) for those that don't need to be stored as a bit flag
17285  * somewhere. This limits the flag options to 30 but that seems to be
17286  * plenty, anyway. 0x40000000 is reserved for future use.
17287  */
17288 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17289 /*
17290  * N.B.: The following definition is present only for compatibility
17291  * with release 3.0.  It will disappear in later releases.
17292  */
17293 
17294 
17295 /*
17296  * Additional options, not kept in so_options.
17297  */
17298 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17299 /* "Socket"-level control message types: */
17300 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17301 /*
17302  * Socket filter options
17303  */
17304 
17305 
17306 
17307 
17308 
17309 /*
17310  * Structure returned by FIL_LIST
17311  */
17312 struct fil_info {
17313  int fi_flags; /* see below (FILF_*) */
17314  int fi_pos; /* position (0 is bottom) */
17315  char fi_name[32]; /* filter name */
17316 };
17317 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17318 /*
17319  * Structure used for manipulating linger option.
17320  */
17321 struct linger {
17322  int l_onoff; /* option on/off */
17323  int l_linger; /* linger time */
17324 };
17325 
17326 /*
17327  * Levels for (get/set)sockopt() that don't apply to a specific protocol.
17328  */
17329 
17330 
17331 
17332 
17333 
17334 
17335 
17336 /*
17337  * Address families.
17338  *
17339  * Some of these constant names are copied for the DTrace IP provider in
17340  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
17341  * in sync.
17342  */
17343 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17344 /*
17345  * Protocol families, same as address families for now.
17346  */
17347 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17348 /*
17349  * Maximum queue length specifiable by listen.
17350  */
17351 
17352 
17353 /*
17354  * Message header for recvmsg and sendmsg calls.
17355  */
17356 struct msghdr {
17357  void *msg_name; /* optional address */
17358  socklen_t msg_namelen; /* size of address */
17359  struct iovec *msg_iov; /* scatter/gather array */
17360  int msg_iovlen; /* # elements in msg_iov */
17361 
17362 
17363 
17364 
17365 
17366 
17367  caddr_t msg_accrights; /* access rights sent/received */
17368  int msg_accrightslen;
17369 
17370 };
17371 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17372 /* Added for XPGv2 compliance */
17373 
17374 
17375 
17376 
17377 
17378      /* with left over data */
17379 /* End of XPGv2 compliance */
17380 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17381 /* Added for XPGv2 compliance */
17382 
17383 
17384 
17385 
17386 struct cmsghdr {
17387  socklen_t cmsg_len; /* data byte count, including hdr */
17388  int cmsg_level; /* originating protocol */
17389  int cmsg_type; /* protocol-specific type */
17390 };
17391 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
17392 extern int accept(int, struct sockaddr *, Psocklen_t);
17393 extern int accept4(int, struct sockaddr *, Psocklen_t, int);
17394 extern int bind(int, const struct sockaddr *, socklen_t);
17395 extern int connect(int, const struct sockaddr *, socklen_t);
17396 extern int getpeername(int, struct sockaddr *, Psocklen_t);
17397 extern int getsockname(int, struct sockaddr *, Psocklen_t);
17398 extern int getsockopt(int, int, int, void *, Psocklen_t);
17399 extern int listen(int, int); /* XXX - fixme???  where do I go */
17400 extern int socketpair(int, int, int, int *);
17401 extern ssize_t recv(int, void *, size_t, int);
17402 extern ssize_t recvfrom(int, void *, size_t, int,
17403  struct sockaddr *, Psocklen_t);
17404 extern ssize_t recvmsg(int, struct msghdr *, int);
17405 extern ssize_t send(int, const void *, size_t, int);
17406 extern ssize_t sendmsg(int, const struct msghdr *, int);
17407 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *,
17408  socklen_t);
17409 extern int setsockopt(int, int, int, const void *, socklen_t);
17410 extern int shutdown(int, int);
17411 extern int socket(int, int, int);
17412 
17413 
17414 extern int sockatmark(int);
17415 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
17416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1
17417 /*
17418  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
17419  */
17420 
17421 /*
17422  * Copyright (c) 1982, 1986 Regents of the University of California.
17423  * All rights reserved.  The Berkeley software License Agreement
17424  * specifies the terms and conditions for redistribution.
17425  */
17426 
17427 
17428 
17429 
17430 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86		*/
17431 
17432 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
17433 /*
17434  * CDDL HEADER START
17435  *
17436  * The contents of this file are subject to the terms of the
17437  * Common Development and Distribution License (the "License").
17438  * You may not use this file except in compliance with the License.
17439  *
17440  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17441  * or http://www.opensolaris.org/os/licensing.
17442  * See the License for the specific language governing permissions
17443  * and limitations under the License.
17444  *
17445  * When distributing Covered Code, include this CDDL HEADER in each
17446  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17447  * If applicable, add the following below this CDDL HEADER, with the
17448  * fields enclosed by brackets "[]" replaced with your own identifying
17449  * information: Portions Copyright [yyyy] [name of copyright owner]
17450  *
17451  * CDDL HEADER END
17452  */
17453 
17454 /*
17455  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
17456  * Copyright 2016 Joyent, Inc.
17457  *
17458  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
17459  * Use is subject to license terms.
17460  */
17461 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17462 
17463 
17464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
17465 /*
17466  * CDDL HEADER START
17467  *
17468  * The contents of this file are subject to the terms of the
17469  * Common Development and Distribution License (the "License").
17470  * You may not use this file except in compliance with the License.
17471  *
17472  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17473  * or http://www.opensolaris.org/os/licensing.
17474  * See the License for the specific language governing permissions
17475  * and limitations under the License.
17476  *
17477  * When distributing Covered Code, include this CDDL HEADER in each
17478  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17479  * If applicable, add the following below this CDDL HEADER, with the
17480  * fields enclosed by brackets "[]" replaced with your own identifying
17481  * information: Portions Copyright [yyyy] [name of copyright owner]
17482  *
17483  * CDDL HEADER END
17484  */
17485 /*
17486  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
17487  *
17488  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
17489  */
17490 
17491 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
17492 /*	  All Rights Reserved	*/
17493 
17494 /*
17495  * University Copyright- Copyright (c) 1982, 1986, 1988
17496  * The Regents of the University of California
17497  * All Rights Reserved
17498  *
17499  * University Acknowledgment- Portions of this document are derived from
17500  * software developed by the University of California, Berkeley, and its
17501  * contributors.
17502  */
17503 
17504 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
17505 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17506 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
17507 /*
17508  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
17509  * Use is subject to license terms.
17510  *
17511  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
17512  */
17513 /*
17514  * Copyright (c) 1982, 1986 Regents of the University of California.
17515  * All rights reserved.
17516  *
17517  * Redistribution and use in source and binary forms are permitted
17518  * provided that this notice is preserved and that due credit is given
17519  * to the University of California at Berkeley. The name of the University
17520  * may not be used to endorse or promote products derived from this
17521  * software without specific prior written permission. This software
17522  * is provided ``as is'' without express or implied warranty.
17523  */
17524 
17525 /*
17526  * Constants and structures defined by the internet system,
17527  * according to following documents
17528  *
17529  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
17530  *	http://www.iana.org/assignments/protocol-numbers
17531  *	http://www.iana.org/assignments/port-numbers
17532  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
17533  *
17534  */
17535 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17536 
17537 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
17538 /*
17539  * CDDL HEADER START
17540  *
17541  * The contents of this file are subject to the terms of the
17542  * Common Development and Distribution License (the "License").
17543  * You may not use this file except in compliance with the License.
17544  *
17545  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
17546  * or http://www.opensolaris.org/os/licensing.
17547  * See the License for the specific language governing permissions
17548  * and limitations under the License.
17549  *
17550  * When distributing Covered Code, include this CDDL HEADER in each
17551  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17552  * If applicable, add the following below this CDDL HEADER, with the
17553  * fields enclosed by brackets "[]" replaced with your own identifying
17554  * information: Portions Copyright [yyyy] [name of copyright owner]
17555  *
17556  * CDDL HEADER END
17557  */
17558 /*
17559  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
17560  * Use is subject to license terms.
17561  * Copyright 2015 Nexenta Systems, Inc.
17562  */
17563 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
17564 
17565 
17566 
17567 
17568 
17569 
17570 
17571 /*
17572  * Structures defining a network interface, providing a packet
17573  * transport mechanism (ala level 0 of the PUP protocols).
17574  *
17575  * Each interface accepts output datagrams of a specified maximum
17576  * length, and provides higher level routines with input datagrams
17577  * received from its medium.
17578  *
17579  * Output occurs when the routine if_output is called, with three parameters:
17580  *	(*ifp->if_output)(ifp, m, dst)
17581  * Here m is the mbuf chain to be sent and dst is the destination address.
17582  * The output routine encapsulates the supplied datagram if necessary,
17583  * and then transmits it on its medium.
17584  *
17585  * On input, each interface unwraps the data received by it, and either
17586  * places it on the input queue of a internetwork datagram routine
17587  * and posts the associated software interrupt, or passes the datagram to a raw
17588  * packet input routine.
17589  *
17590  * Routines exist for locating interfaces by their addresses
17591  * or for locating a interface on a certain network, as well as more general
17592  * routing and gateway routines maintaining information used to locate
17593  * interfaces.  These routines live in the files if.c and route.c
17594  */
17595 
17596 
17597 
17598 /*
17599  * Structure defining a queue for a network interface.
17600  *
17601  * (Would like to call this struct ``if'', but C isn't PL/1.)
17602  */
17603 struct ifnet {
17604  char *if_name; /* name, e.g. ``en'' or ``lo'' */
17605  short if_unit; /* sub-unit for lower level driver */
17606  short if_mtu; /* maximum transmission unit */
17607  short if_flags; /* up/down, broadcast, etc. */
17608  short if_timer; /* time 'til if_watchdog called */
17609  ushort_t if_promisc; /* net # of requests for promisc mode */
17610  int if_metric; /* routing metric (external only) */
17611  struct ifaddr *if_addrlist; /* linked list of addresses per if */
17612  struct ifqueue {
17613   struct mbuf *ifq_head;
17614   struct mbuf *ifq_tail;
17615   int ifq_len;
17616   int ifq_maxlen;
17617   int ifq_drops;
17618  } if_snd; /* output queue */
17619 /* procedure handles */
17620  int (*if_init)(); /* init routine */
17621  int (*if_output)(); /* output routine */
17622  int (*if_ioctl)(); /* ioctl routine */
17623  int (*if_reset)(); /* bus reset routine */
17624  int (*if_watchdog)(); /* timer routine */
17625 /* generic interface statistics */
17626  int if_ipackets; /* packets received on interface */
17627  int if_ierrors; /* input errors on interface */
17628  int if_opackets; /* packets sent on interface */
17629  int if_oerrors; /* output errors on interface */
17630  int if_collisions; /* collisions on csma interfaces */
17631 /* end statistics */
17632  struct ifnet *if_next;
17633  struct ifnet *if_upper; /* next layer up */
17634  struct ifnet *if_lower; /* next layer down */
17635  int (*if_input)(); /* input routine */
17636  int (*if_ctlin)(); /* control input routine */
17637  int (*if_ctlout)(); /* control output routine */
17638  struct map *if_memmap; /* rmap for interface specific memory */
17639 };
17640 
17641 /*
17642  * NOTE : These flags are not directly used within IP.
17643  * ip_if.h has definitions derived from this which is used within IP.
17644  * If you define a flag here, you need to define one in ip_if.h before
17645  * using the new flag in IP. Don't use these flags directly in IP.
17646  */
17647 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17648 /*
17649  * The IFF_MULTICAST flag indicates that the network can support the
17650  * transmission and reception of higher-level (e.g., IP) multicast packets.
17651  * It is independent of hardware support for multicasting; for example,
17652  * point-to-point links or pure broadcast networks may well support
17653  * higher-level multicasts.
17654  */
17655 
17656 
17657 
17658 
17659 
17660 
17661 
17662 /*
17663  * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS.
17664  * Should use SIOC[GS]LIFFLAGS which has a larger flags field.
17665  */
17666 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17667 /*
17668  * The IFF_XRESOLV flag is an evolving interface and is subject
17669  * to change without notice.
17670  */
17671 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17672 /* flags that cannot be changed by userland on any interface */
17673 
17674 
17675 
17676 
17677 
17678 
17679 
17680 /* flags that cannot be changed by userland on an IPMP interface */
17681 
17682 
17683 /* flags that can never be set on an IPMP interface */
17684 
17685 
17686 
17687 /*
17688  * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
17689  * input routines have queues of messages stored on ifqueue structures
17690  * (defined above).  Entries are added to and deleted from these structures
17691  * by these macros, which should be called with ipl raised to splimp().
17692  */
17693 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17694 /*
17695  * Packets destined for level-1 protocol input routines
17696  * have a pointer to the receiving interface prepended to the data.
17697  * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet.
17698  * IF_ADJ should be used otherwise to adjust for its presence.
17699  */
17700 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17701 /*
17702  * The ifaddr structure contains information about one address
17703  * of an interface.  They are maintained by the different address families,
17704  * are allocated and attached when an address is set, and are linked
17705  * together so all addresses for an interface can be located.
17706  */
17707 struct ifaddr {
17708  struct sockaddr ifa_addr; /* address of interface */
17709  union {
17710   struct sockaddr ifu_broadaddr;
17711   struct sockaddr ifu_dstaddr;
17712  } ifa_ifu;
17713 
17714 
17715  struct ifnet *ifa_ifp; /* back-pointer to interface */
17716  struct ifaddr *ifa_next; /* next address for interface */
17717 };
17718 
17719 /*
17720  * For SIOCLIF*ND ioctls.
17721  *
17722  * The lnr_state_* fields use the ND_* neighbor reachability states.
17723  * The 3 different fields are for use with SIOCLIFSETND to cover the cases
17724  * when
17725  *	A new entry is created
17726  *	The entry already exists and the link-layer address is the same
17727  *	The entry already exists and the link-layer address differs
17728  *
17729  * Use ND_UNCHANGED to not change any state.
17730  */
17731 
17732 typedef struct lif_nd_req {
17733  struct sockaddr_storage lnr_addr;
17734  uint8_t lnr_state_create; /* When creating */
17735  uint8_t lnr_state_same_lla; /* Update same addr */
17736  uint8_t lnr_state_diff_lla; /* Update w/ diff. */
17737  int lnr_hdw_len;
17738  int lnr_flags; /* See below */
17739  /* padding because ia32 "long long"s are only 4-byte aligned. */
17740  int lnr_pad0;
17741  char lnr_hdw_addr[64];
17742 } lif_nd_req_t;
17743 
17744 /*
17745  * Neighbor reachability states
17746  * Used with SIOCLIF*ND ioctls.
17747  */
17748 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17749 /*
17750  * lnr_flags value of lif_nd_req.
17751  * Used with SIOCLIF*ND ioctls.
17752  */
17753 
17754 
17755 
17756 
17757 
17758 
17759 /*
17760  * the NDF_STATIC entry ensures that an NCE will not be deleted, and is
17761  * used by non-ON applications like IPv6 test suites.
17762  */
17763 
17764 
17765 /* For SIOC[GS]LIFLNKINFO */
17766 typedef struct lif_ifinfo_req {
17767  uint8_t lir_maxhops;
17768  uint32_t lir_reachtime; /* Reachable time in msec */
17769  uint32_t lir_reachretrans; /* Retransmission timer msec */
17770  uint32_t lir_maxmtu;
17771 } lif_ifinfo_req_t;
17772 
17773 
17774 
17775 /*
17776  * Maximum lengths of interface name and IPMP group name; these are the same
17777  * for historical reasons.  Note that the actual maximum length of a name is
17778  * one byte less than these constants since the kernel always sets the final
17779  * byte of lifr_name and lifr_groupname to NUL.
17780  */
17781 
17782 
17783 
17784 
17785 
17786 
17787 
17788 /*
17789  * Interface request structure used for socket
17790  * ioctl's.  All interface ioctl's must have parameter
17791  * definitions which begin with ifr_name.  The
17792  * remainder may be interface specific.
17793  * Note: This data structure uses 64bit type uint64_t which is not
17794  *	 a valid type for strict ANSI/ISO C compilation for ILP32.
17795  *	 Applications with ioctls using this structure that insist on
17796  *	 building with strict ANSI/ISO C (-Xc) will need to be LP64.
17797  */
17798 
17799 struct lifreq {
17800  char lifr_name[32]; /* if name, e.g. "en0" */
17801  union {
17802   int lifru_addrlen; /* for subnet/token etc */
17803   uint_t lifru_ppa; /* SIOCSLIFNAME */
17804  } lifr_lifru1;
17805 
17806 
17807  uint_t lifr_type; /* IFT_ETHER, ... */
17808  union {
17809   struct sockaddr_storage lifru_addr;
17810   struct sockaddr_storage lifru_dstaddr;
17811   struct sockaddr_storage lifru_broadaddr;
17812   struct sockaddr_storage lifru_token; /* With lifr_addrlen */
17813   struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */
17814   int lifru_index; /* interface index */
17815   uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */
17816   int lifru_metric;
17817   uint_t lifru_mtu;
17818   int lif_muxid[2]; /* mux id's for arp and ip */
17819   struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */
17820   struct lif_ifinfo_req lifru_ifinfo_req;
17821   char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */
17822   char lifru_binding[32]; /* SIOCGLIFBINDING */
17823   zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */
17824   uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */
17825  } lifr_lifru;
17826 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17827 };
17828 
17829 
17830 /*
17831  * Argument structure for SIOCT* address testing ioctls.
17832  */
17833 struct sioc_addrreq {
17834  struct sockaddr_storage sa_addr; /* Address to test */
17835  int sa_res; /* Result - 0/1 */
17836  int sa_pad;
17837 };
17838 
17839 /*
17840  * Argument structure used by mrouted to get src-grp pkt counts using
17841  * SIOCGETLSGCNT. See <netinet/ip_mroute.h>.
17842  */
17843 struct sioc_lsg_req {
17844  struct sockaddr_storage slr_src;
17845  struct sockaddr_storage slr_grp;
17846  uint_t slr_pktcnt;
17847  uint_t slr_bytecnt;
17848  uint_t slr_wrong_if;
17849  uint_t slr_pad;
17850 };
17851 
17852 /* Argument structure for SIOCGLIFDADSTATE ioctl */
17853 typedef enum {
17854  DAD_IN_PROGRESS = 0x1,
17855  DAD_DONE = 0x2
17856 } glif_dad_state_t;
17857 
17858 /*
17859  * OBSOLETE: Replaced by struct lifreq. Supported for compatibility.
17860  *
17861  * Interface request structure used for socket
17862  * ioctl's.  All interface ioctl's must have parameter
17863  * definitions which begin with ifr_name.  The
17864  * remainder may be interface specific.
17865  */
17866 struct ifreq {
17867 
17868  char ifr_name[16]; /* if name, e.g. "en0" */
17869  union {
17870   struct sockaddr ifru_addr;
17871   struct sockaddr ifru_dstaddr;
17872   char ifru_oname[16]; /* other if name */
17873   struct sockaddr ifru_broadaddr;
17874   int ifru_index; /* interface index */
17875   uint_t ifru_mtu;
17876   short ifru_flags;
17877   int ifru_metric;
17878   char ifru_data[1]; /* interface dependent data */
17879   char ifru_enaddr[6];
17880   int if_muxid[2]; /* mux id's for arp and ip */
17881 
17882   /* Struct for flags/ppa */
17883   struct ifr_ppaflags {
17884    short ifrup_flags; /* Space of ifru_flags. */
17885    short ifrup_filler;
17886    uint_t ifrup_ppa;
17887   } ifru_ppaflags;
17888 
17889   /* Struct for FDDI ioctl's */
17890   struct ifr_dnld_reqs {
17891    uint32_t v_addr;
17892    uint32_t m_addr;
17893    uint32_t ex_addr;
17894    uint32_t size;
17895   } ifru_dnld_req;
17896 
17897   /* Struct for FDDI stats */
17898   struct ifr_fddi_stats {
17899    uint32_t stat_size;
17900    uint32_t fddi_stats;
17901   } ifru_fddi_stat;
17902 
17903   struct ifr_netmapents {
17904    uint32_t map_ent_size, /* size of netmap structure */
17905     entry_number; /* index into netmap list */
17906    uint32_t fddi_map_ent; /* pointer to user structure */
17907   } ifru_netmapent;
17908 
17909   /* Field for generic ioctl for fddi */
17910 
17911   struct ifr_fddi_gen_struct {
17912    uint32_t ifru_fddi_gioctl; /* field for gen ioctl */
17913    uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */
17914   } ifru_fddi_gstruct;
17915 
17916  } ifr_ifru;
17917 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17918 /* For setting ppa */
17919 
17920 
17921 /* FDDI specific */
17922 
17923 
17924 
17925 
17926 
17927 
17928 
17929 };
17930 
17931 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */
17932 struct lifnum {
17933  sa_family_t lifn_family;
17934  int lifn_flags; /* request specific interfaces */
17935  int lifn_count; /* Result */
17936 };
17937 
17938 /*
17939  * Structure used in SIOCGLIFCONF request.
17940  * Used to retrieve interface configuration
17941  * for machine (useful for programs which
17942  * must know all networks accessible) for a given address family.
17943  * Using AF_UNSPEC will retrieve all address families.
17944  */
17945 struct lifconf {
17946  sa_family_t lifc_family;
17947  int lifc_flags; /* request specific interfaces */
17948  int lifc_len; /* size of associated buffer */
17949  union {
17950   caddr_t lifcu_buf;
17951   struct lifreq *lifcu_req;
17952  } lifc_lifcu;
17953 
17954 
17955 };
17956 
17957 /*
17958  * Structure used in SIOCGLIFSRCOF to get the interface
17959  * configuration list for those interfaces that use an address
17960  * hosted on the interface (set in lifs_ifindex), as the source
17961  * address.
17962  */
17963 struct lifsrcof {
17964  uint_t lifs_ifindex; /* interface of interest */
17965  size_t lifs_maxlen; /* size of buffer: input */
17966  size_t lifs_len; /* size of buffer: output */
17967  union {
17968   caddr_t lifsu_buf;
17969   struct lifreq *lifsu_req;
17970  } lifs_lifsu;
17971 
17972 
17973 };
17974 
17975 /* Flags */
17976 
17977 
17978      /* be used to communicate outside the */
17979      /* node (exclude interfaces which are */
17980      /* IFF_NOXMIT, IFF_NOLOCAL, */
17981      /* IFF_LOOPBACK, IFF_DEPRECATED, or */
17982      /* not IFF_UP). Has priority over */
17983      /* LIFC_NOXMIT. */
17984 
17985 
17986      /* (must be issued from global zone) */
17987 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
17988 /*
17989  * IPMP group information, for use with SIOCGLIFGROUPINFO.
17990  */
17991 typedef struct lifgroupinfo {
17992  char gi_grname[32]; /* group name (set by caller) */
17993  char gi_grifname[32]; /* IPMP meta-interface name */
17994  char gi_m4ifname[32]; /* v4 mcast interface name */
17995  char gi_m6ifname[32]; /* v6 mcast interface name */
17996  char gi_bcifname[32]; /* v4 bcast interface name */
17997  boolean_t gi_v4; /* group is plumbed for v4 */
17998  boolean_t gi_v6; /* group is plumbed for v6 */
17999  uint_t gi_nv4; /* # of underlying v4 if's */
18000  uint_t gi_nv6; /* # of underlying v6 if's */
18001  uint_t gi_mactype; /* DLPI mac type of group */
18002 } lifgroupinfo_t;
18003 
18004 /*
18005  * OBSOLETE: Structure used in SIOCGIFCONF request.
18006  * Used to retrieve interface configuration
18007  * for machine (useful for programs which
18008  * must know all networks accessible).
18009  */
18010 struct ifconf {
18011  int ifc_len; /* size of associated buffer */
18012  union {
18013   caddr_t ifcu_buf;
18014   struct ifreq *ifcu_req;
18015  } ifc_ifcu;
18016 
18017 
18018 };
18019 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
18020 typedef struct if_data {
18021     /* generic interface information */
18022  uchar_t ifi_type; /* ethernet, tokenring, etc */
18023  uchar_t ifi_addrlen; /* media address length */
18024  uchar_t ifi_hdrlen; /* media header length */
18025  uint_t ifi_mtu; /* maximum transmission unit */
18026  uint_t ifi_metric; /* routing metric (external only) */
18027  uint_t ifi_baudrate; /* linespeed */
18028     /* volatile statistics */
18029  uint_t ifi_ipackets; /* packets received on interface */
18030  uint_t ifi_ierrors; /* input errors on interface */
18031  uint_t ifi_opackets; /* packets sent on interface */
18032  uint_t ifi_oerrors; /* output errors on interface */
18033  uint_t ifi_collisions; /* collisions on csma interfaces */
18034  uint_t ifi_ibytes; /* total number of octets received */
18035  uint_t ifi_obytes; /* total number of octets sent */
18036  uint_t ifi_imcasts; /* packets received via multicast */
18037  uint_t ifi_omcasts; /* packets sent via multicast */
18038  uint_t ifi_iqdrops; /* dropped on input, this interface */
18039  uint_t ifi_noproto; /* destined for unsupported protocol */
18040 
18041  struct timeval32 ifi_lastchange; /* last updated */
18042 
18043 
18044 
18045 } if_data_t;
18046 
18047 /*
18048  * Message format for use in obtaining information about interfaces
18049  * from the routing socket
18050  */
18051 typedef struct if_msghdr {
18052  ushort_t ifm_msglen; /* to skip over non-understood messages */
18053  uchar_t ifm_version; /* future binary compatibility */
18054  uchar_t ifm_type; /* message type */
18055  int ifm_addrs; /* like rtm_addrs */
18056  int ifm_flags; /* value of if_flags */
18057  ushort_t ifm_index; /* index for associated ifp */
18058  struct if_data ifm_data; /* statistics and other data about if */
18059 } if_msghdr_t;
18060 
18061 /*
18062  * Message format for use in obtaining information about interface addresses
18063  * from the routing socket
18064  */
18065 typedef struct ifa_msghdr {
18066  ushort_t ifam_msglen; /* to skip over non-understood messages */
18067  uchar_t ifam_version; /* future binary compatibility */
18068  uchar_t ifam_type; /* message type */
18069  int ifam_addrs; /* like rtm_addrs */
18070  int ifam_flags; /* route flags */
18071  ushort_t ifam_index; /* index for associated ifp */
18072  int ifam_metric; /* value of ipif_metric */
18073 } ifa_msghdr_t;
18074 
18075 
18076 
18077 /*
18078  * The if_nameindex structure holds the interface index value about
18079  * a single interface. An array of this structure is used to return
18080  * all interfaces and indexes.
18081  */
18082 struct if_nameindex {
18083  unsigned if_index; /* positive interface index */
18084  char *if_name; /* if name, e.g. "en0" */
18085 };
18086 
18087 /* Interface index identification API definitions */
18088 extern unsigned if_nametoindex(const char *);
18089 extern char *if_indextoname(unsigned, char *);
18090 extern struct if_nameindex *if_nameindex(void);
18091 extern void if_freenameindex(struct if_nameindex *);
18092 
18093 
18094 /*
18095  * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if
18096  * struct sockaddr_dl needs to be modified as the interface index is placed
18097  * in this structure by the kernel.
18098  */
18099 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
18101 /*
18102  * CDDL HEADER START
18103  *
18104  * The contents of this file are subject to the terms of the
18105  * Common Development and Distribution License (the "License").
18106  * You may not use this file except in compliance with the License.
18107  *
18108  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18109  * or http://www.opensolaris.org/os/licensing.
18110  * See the License for the specific language governing permissions
18111  * and limitations under the License.
18112  *
18113  * When distributing Covered Code, include this CDDL HEADER in each
18114  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18115  * If applicable, add the following below this CDDL HEADER, with the
18116  * fields enclosed by brackets "[]" replaced with your own identifying
18117  * information: Portions Copyright [yyyy] [name of copyright owner]
18118  *
18119  * CDDL HEADER END
18120  */
18121 
18122 /*
18123  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18124  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
18125  */
18126 
18127 /*	Copyright (c) 1988 AT&T	*/
18128 /*	  All Rights Reserved  	*/
18129 
18130 /*
18131  * User-visible pieces of the ANSI C standard I/O package.
18132  */
18133 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18134 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1
18135 /*
18136  * CDDL HEADER START
18137  *
18138  * The contents of this file are subject to the terms of the
18139  * Common Development and Distribution License, Version 1.0 only
18140  * (the "License").  You may not use this file except in compliance
18141  * with the License.
18142  *
18143  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18144  * or http://www.opensolaris.org/os/licensing.
18145  * See the License for the specific language governing permissions
18146  * and limitations under the License.
18147  *
18148  * When distributing Covered Code, include this CDDL HEADER in each
18149  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18150  * If applicable, add the following below this CDDL HEADER, with the
18151  * fields enclosed by brackets "[]" replaced with your own identifying
18152  * information: Portions Copyright [yyyy] [name of copyright owner]
18153  *
18154  * CDDL HEADER END
18155  */
18156 /*
18157  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18158  * Use is subject to license terms.
18159  */
18160 
18161 
18162 
18163 
18164 #pragma ident "%Z%%M%	%I%	%E% SMI"
18165 
18166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1
18167 /*
18168  * CDDL HEADER START
18169  *
18170  * The contents of this file are subject to the terms of the
18171  * Common Development and Distribution License (the "License").
18172  * You may not use this file except in compliance with the License.
18173  *
18174  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18175  * or http://www.opensolaris.org/os/licensing.
18176  * See the License for the specific language governing permissions
18177  * and limitations under the License.
18178  *
18179  * When distributing Covered Code, include this CDDL HEADER in each
18180  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18181  * If applicable, add the following below this CDDL HEADER, with the
18182  * fields enclosed by brackets "[]" replaced with your own identifying
18183  * information: Portions Copyright [yyyy] [name of copyright owner]
18184  *
18185  * CDDL HEADER END
18186  */
18187 /*
18188  * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
18189  */
18190 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
18191 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18192 /*
18193  * CDDL HEADER START
18194  *
18195  * The contents of this file are subject to the terms of the
18196  * Common Development and Distribution License (the "License").
18197  * You may not use this file except in compliance with the License.
18198  *
18199  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18200  * or http://www.opensolaris.org/os/licensing.
18201  * See the License for the specific language governing permissions
18202  * and limitations under the License.
18203  *
18204  * When distributing Covered Code, include this CDDL HEADER in each
18205  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18206  * If applicable, add the following below this CDDL HEADER, with the
18207  * fields enclosed by brackets "[]" replaced with your own identifying
18208  * information: Portions Copyright [yyyy] [name of copyright owner]
18209  *
18210  * CDDL HEADER END
18211  */
18212 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18213 /*	  All Rights Reserved  	*/
18214 
18215 
18216 /*
18217  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18218  * Use is subject to license terms.
18219  *
18220  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18221  * Copyright 2016 Joyent, Inc.
18222  */
18223 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2
18224 
18225 
18226 
18227 
18228 
18229 int rctl_walk(int (*)(const char *, void *), void *);
18230 
18231 hrtime_t rctlblk_get_firing_time(rctlblk_t *);
18232 uint_t rctlblk_get_global_action(rctlblk_t *);
18233 uint_t rctlblk_get_global_flags(rctlblk_t *);
18234 uint_t rctlblk_get_local_action(rctlblk_t *, int *);
18235 uint_t rctlblk_get_local_flags(rctlblk_t *);
18236 id_t rctlblk_get_recipient_pid(rctlblk_t *);
18237 rctl_priv_t rctlblk_get_privilege(rctlblk_t *);
18238 rctl_qty_t rctlblk_get_value(rctlblk_t *);
18239 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *);
18240 
18241 void rctlblk_set_local_action(rctlblk_t *, uint_t, int);
18242 void rctlblk_set_local_flags(rctlblk_t *, uint_t);
18243 void rctlblk_set_recipient_pid(rctlblk_t *, id_t);
18244 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t);
18245 void rctlblk_set_value(rctlblk_t *, rctl_qty_t);
18246 
18247 size_t rctlblk_size(void);
18248 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18249 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1
18250 /*
18251  * CDDL HEADER START
18252  *
18253  * The contents of this file are subject to the terms of the
18254  * Common Development and Distribution License (the "License").
18255  * You may not use this file except in compliance with the License.
18256  *
18257  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18258  * or http://www.opensolaris.org/os/licensing.
18259  * See the License for the specific language governing permissions
18260  * and limitations under the License.
18261  *
18262  * When distributing Covered Code, include this CDDL HEADER in each
18263  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18264  * If applicable, add the following below this CDDL HEADER, with the
18265  * fields enclosed by brackets "[]" replaced with your own identifying
18266  * information: Portions Copyright [yyyy] [name of copyright owner]
18267  *
18268  * CDDL HEADER END
18269  */
18270 /*
18271  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18272  * Use is subject to license terms.
18273  */
18274 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18275 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1
18276 /*
18277  * CDDL HEADER START
18278  *
18279  * The contents of this file are subject to the terms of the
18280  * Common Development and Distribution License (the "License").
18281  * You may not use this file except in compliance with the License.
18282  *
18283  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18284  * or http://www.opensolaris.org/os/licensing.
18285  * See the License for the specific language governing permissions
18286  * and limitations under the License.
18287  *
18288  * When distributing Covered Code, include this CDDL HEADER in each
18289  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18290  * If applicable, add the following below this CDDL HEADER, with the
18291  * fields enclosed by brackets "[]" replaced with your own identifying
18292  * information: Portions Copyright [yyyy] [name of copyright owner]
18293  *
18294  * CDDL HEADER END
18295  */
18296 
18297 /*
18298  * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
18299  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
18300  * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
18301  */
18302 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h"
18303 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18304 /*
18305  * CDDL HEADER START
18306  *
18307  * The contents of this file are subject to the terms of the
18308  * Common Development and Distribution License (the "License").
18309  * You may not use this file except in compliance with the License.
18310  *
18311  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18312  * or http://www.opensolaris.org/os/licensing.
18313  * See the License for the specific language governing permissions
18314  * and limitations under the License.
18315  *
18316  * When distributing Covered Code, include this CDDL HEADER in each
18317  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18318  * If applicable, add the following below this CDDL HEADER, with the
18319  * fields enclosed by brackets "[]" replaced with your own identifying
18320  * information: Portions Copyright [yyyy] [name of copyright owner]
18321  *
18322  * CDDL HEADER END
18323  */
18324 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18325 /*	  All Rights Reserved  	*/
18326 
18327 
18328 /*
18329  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18330  * Use is subject to license terms.
18331  *
18332  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18333  * Copyright 2016 Joyent, Inc.
18334  */
18335 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2
18336 
18337 typedef struct __brand_handle *brand_handle_t;
18338 
18339 typedef struct priv_iter_s {
18340  char *pi_name;
18341  char *pi_set;
18342  char *pi_iptype;
18343 } priv_iter_t;
18344 
18345 extern brand_handle_t brand_open(const char *);
18346 extern void brand_close(brand_handle_t);
18347 
18348 extern boolean_t brand_allow_exclusive_ip(brand_handle_t);
18349 
18350 extern int brand_get_attach(brand_handle_t, const char *, const char *,
18351     char *, size_t);
18352 extern int brand_get_boot(brand_handle_t, const char *, const char *,
18353     char *, size_t);
18354 extern int brand_get_brandname(brand_handle_t, char *, size_t);
18355 extern int brand_get_clone(brand_handle_t, const char *, const char *,
18356     char *, size_t);
18357 extern int brand_get_detach(brand_handle_t, const char *, const char *,
18358     char *, size_t);
18359 extern int brand_get_shutdown(brand_handle_t, const char *, const char *,
18360     char *, size_t);
18361 extern int brand_get_halt(brand_handle_t, const char *, const char *,
18362     char *, size_t);
18363 extern int brand_get_initname(brand_handle_t, char *, size_t);
18364 extern boolean_t brand_restartinit(brand_handle_t);
18365 extern int brand_get_install(brand_handle_t, const char *, const char *,
18366     char *, size_t);
18367 extern int brand_get_installopts(brand_handle_t, char *, size_t);
18368 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t);
18369 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *,
18370     char *, size_t);
18371 extern int brand_get_modname(brand_handle_t, char *, size_t);
18372 extern int brand_get_postattach(brand_handle_t, const char *, const char *,
18373     char *, size_t);
18374 extern int brand_get_postclone(brand_handle_t, const char *, const char *,
18375     char *, size_t);
18376 extern int brand_get_postinstall(brand_handle_t, const char *, const char *,
18377     char *, size_t);
18378 extern int brand_get_postsnap(brand_handle_t, const char *, const char *,
18379     char *, size_t);
18380 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *,
18381     char *, size_t);
18382 extern int brand_get_predetach(brand_handle_t, const char *, const char *,
18383     char *, size_t);
18384 extern int brand_get_presnap(brand_handle_t, const char *, const char *,
18385     char *, size_t);
18386 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *,
18387     char *, size_t);
18388 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *,
18389     char *, size_t);
18390 extern int brand_get_query(brand_handle_t, const char *, const char *,
18391     char *, size_t);
18392 extern int brand_get_uninstall(brand_handle_t, const char *, const char *,
18393     char *, size_t);
18394 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *,
18395     char *, size_t);
18396 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t);
18397 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t);
18398 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *,
18399     char *, size_t);
18400 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *,
18401     size_t);
18402 
18403 extern int brand_config_iter_privilege(brand_handle_t,
18404     int (*func)(void *, priv_iter_t *), void *);
18405 
18406 extern int brand_platform_iter_devices(brand_handle_t, const char *,
18407     int (*)(void *, const char *, const char *), void *, const char *);
18408 extern int brand_platform_iter_gmounts(brand_handle_t, const char *,
18409     int (*)(void *, const char *, const char *, const char *, const char *),
18410     void *);
18411 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *,
18412     const char *, const char *), void *);
18413 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *,
18414     const char *, const char *, const char *, const char *), void *);
18415 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1
18417 /*
18418  * CDDL HEADER START
18419  *
18420  * The contents of this file are subject to the terms of the
18421  * Common Development and Distribution License, Version 1.0 only
18422  * (the "License").  You may not use this file except in compliance
18423  * with the License.
18424  *
18425  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18426  * or http://www.opensolaris.org/os/licensing.
18427  * See the License for the specific language governing permissions
18428  * and limitations under the License.
18429  *
18430  * When distributing Covered Code, include this CDDL HEADER in each
18431  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18432  * If applicable, add the following below this CDDL HEADER, with the
18433  * fields enclosed by brackets "[]" replaced with your own identifying
18434  * information: Portions Copyright [yyyy] [name of copyright owner]
18435  *
18436  * CDDL HEADER END
18437  */
18438 /*
18439  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
18440  * Use is subject to license terms.
18441  */
18442 
18443 
18444 
18445 
18446 #pragma ident "%Z%%M%	%I%	%E% SMI"
18447 
18448 
18449 
18450 
18451 
18452 /*
18453  * The copyright in this file is taken from the original Leach
18454  * & Salz UUID specification, from which this implementation
18455  * is derived.
18456  */
18457 
18458 /*
18459  * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
18460  * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
18461  * Digital Equipment Corporation, Maynard, Mass.  Copyright (c) 1998
18462  * Microsoft.  To anyone who acknowledges that this file is provided
18463  * "AS IS" without any express or implied warranty: permission to use,
18464  * copy, modify, and distribute this file for any purpose is hereby
18465  * granted without fee, provided that the above copyright notices and
18466  * this notice appears in all source code copies, and that none of the
18467  * names of Open Software Foundation, Inc., Hewlett-Packard Company,
18468  * or Digital Equipment Corporation be used in advertising or
18469  * publicity pertaining to distribution of the software without
18470  * specific, written prior permission.  Neither Open Software
18471  * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
18472  * Equipment Corporation makes any representations about the
18473  * suitability of this software for any purpose.
18474  */
18475 
18476 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18477 /*
18478  * CDDL HEADER START
18479  *
18480  * The contents of this file are subject to the terms of the
18481  * Common Development and Distribution License (the "License").
18482  * You may not use this file except in compliance with the License.
18483  *
18484  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18485  * or http://www.opensolaris.org/os/licensing.
18486  * See the License for the specific language governing permissions
18487  * and limitations under the License.
18488  *
18489  * When distributing Covered Code, include this CDDL HEADER in each
18490  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18491  * If applicable, add the following below this CDDL HEADER, with the
18492  * fields enclosed by brackets "[]" replaced with your own identifying
18493  * information: Portions Copyright [yyyy] [name of copyright owner]
18494  *
18495  * CDDL HEADER END
18496  */
18497 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18498 /*	  All Rights Reserved  	*/
18499 
18500 
18501 /*
18502  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18503  * Use is subject to license terms.
18504  *
18505  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18506  * Copyright 2016 Joyent, Inc.
18507  */
18508 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
18509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
18510 /*
18511  * CDDL HEADER START
18512  *
18513  * The contents of this file are subject to the terms of the
18514  * Common Development and Distribution License (the "License").
18515  * You may not use this file except in compliance with the License.
18516  *
18517  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18518  * or http://www.opensolaris.org/os/licensing.
18519  * See the License for the specific language governing permissions
18520  * and limitations under the License.
18521  *
18522  * When distributing Covered Code, include this CDDL HEADER in each
18523  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18524  * If applicable, add the following below this CDDL HEADER, with the
18525  * fields enclosed by brackets "[]" replaced with your own identifying
18526  * information: Portions Copyright [yyyy] [name of copyright owner]
18527  *
18528  * CDDL HEADER END
18529  */
18530 
18531 /*
18532  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18533  * Use is subject to license terms.
18534  */
18535 
18536 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
18537 /*	  All Rights Reserved  	*/
18538 
18539 /*
18540  * University Copyright- Copyright (c) 1982, 1986, 1988
18541  * The Regents of the University of California
18542  * All Rights Reserved
18543  *
18544  * University Acknowledgment- Portions of this document are derived from
18545  * software developed by the University of California, Berkeley, and its
18546  * contributors.
18547  */
18548 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2
18549 
18550 typedef struct {
18551  uint8_t nodeID[6];
18552 } uuid_node_t;
18553 
18554 /*
18555  * The uuid type used throughout when referencing uuids themselves
18556  */
18557 struct uuid {
18558  uint32_t time_low;
18559  uint16_t time_mid;
18560  uint16_t time_hi_and_version;
18561  uint8_t clock_seq_hi_and_reserved;
18562  uint8_t clock_seq_low;
18563  uint8_t node_addr[6];
18564 };
18565 
18566 
18567 
18568 
18569 
18570 typedef uchar_t uuid_t[16];
18571 
18572 /*
18573  * Convert a uuid to/from little-endian format
18574  */
18575 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
18576 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1
18577 /*
18578  * CDDL HEADER START
18579  *
18580  * The contents of this file are subject to the terms of the
18581  * Common Development and Distribution License (the "License").
18582  * You may not use this file except in compliance with the License.
18583  *
18584  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18585  * or http://www.opensolaris.org/os/licensing.
18586  * See the License for the specific language governing permissions
18587  * and limitations under the License.
18588  *
18589  * When distributing Covered Code, include this CDDL HEADER in each
18590  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18591  * If applicable, add the following below this CDDL HEADER, with the
18592  * fields enclosed by brackets "[]" replaced with your own identifying
18593  * information: Portions Copyright [yyyy] [name of copyright owner]
18594  *
18595  * CDDL HEADER END
18596  */
18597 /*
18598  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
18599  */
18600 
18601 
18602 
18603 
18604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
18605 /*
18606  * CDDL HEADER START
18607  *
18608  * The contents of this file are subject to the terms of the
18609  * Common Development and Distribution License (the "License").
18610  * You may not use this file except in compliance with the License.
18611  *
18612  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18613  * or http://www.opensolaris.org/os/licensing.
18614  * See the License for the specific language governing permissions
18615  * and limitations under the License.
18616  *
18617  * When distributing Covered Code, include this CDDL HEADER in each
18618  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18619  * If applicable, add the following below this CDDL HEADER, with the
18620  * fields enclosed by brackets "[]" replaced with your own identifying
18621  * information: Portions Copyright [yyyy] [name of copyright owner]
18622  *
18623  * CDDL HEADER END
18624  */
18625 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
18626 /*	  All Rights Reserved  	*/
18627 
18628 
18629 /*
18630  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
18631  * Use is subject to license terms.
18632  *
18633  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
18634  * Copyright 2016 Joyent, Inc.
18635  */
18636 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
18638 /*
18639  * CDDL HEADER START
18640  *
18641  * The contents of this file are subject to the terms of the
18642  * Common Development and Distribution License, Version 1.0 only
18643  * (the "License").  You may not use this file except in compliance
18644  * 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 /*	Copyright (c) 1988 AT&T	*/
18660 /*	  All Rights Reserved	*/
18661 
18662 /*
18663  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18664  *
18665  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
18666  * Use is subject to license terms.
18667  */
18668 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18669 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
18670 /*
18671  * CDDL HEADER START
18672  *
18673  * The contents of this file are subject to the terms of the
18674  * Common Development and Distribution License (the "License").
18675  * You may not use this file except in compliance with the License.
18676  *
18677  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18678  * or http://www.opensolaris.org/os/licensing.
18679  * See the License for the specific language governing permissions
18680  * and limitations under the License.
18681  *
18682  * When distributing Covered Code, include this CDDL HEADER in each
18683  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18684  * If applicable, add the following below this CDDL HEADER, with the
18685  * fields enclosed by brackets "[]" replaced with your own identifying
18686  * information: Portions Copyright [yyyy] [name of copyright owner]
18687  *
18688  * CDDL HEADER END
18689  */
18690 
18691 /*
18692  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
18693  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
18694  */
18695 
18696 /*	Copyright (c) 1988 AT&T	*/
18697 /*	  All Rights Reserved  	*/
18698 
18699 /*
18700  * User-visible pieces of the ANSI C standard I/O package.
18701  */
18702 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2
18703 
18704 
18705 
18706 
18707 
18708 /*
18709  * Standard flags codes.
18710  */
18711 
18712 
18713 /*
18714  * Standard error codes.
18715  */
18716 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h"
18717 /*
18718  * Standard program exit codes.
18719  */
18720 
18721 
18722 
18723 
18724 /*
18725  * Exit status profiles.
18726  */
18727 
18728 
18729 
18730 /*
18731  * Error reporting functions.
18732  */
18733 uint32_t uu_error(void);
18734 const char *uu_strerror(uint32_t);
18735 
18736 /*
18737  * Program notification functions.
18738  */
18739 extern void uu_alt_exit(int);
18740 extern const char *uu_setpname(char *);
18741 extern const char *uu_getpname(void);
18742 /*PRINTFLIKE1*/
18743 extern void uu_warn(const char *, ...);
18744 extern void uu_vwarn(const char *, va_list);
18745 /*PRINTFLIKE1*/
18746 extern void uu_die(const char *, ...) __attribute__((__noreturn__));
18747 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__));
18748 /*PRINTFLIKE2*/
18749 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__));
18750 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__));
18751 
18752 /*
18753  * Exit status functions (not to be used directly)
18754  */
18755 extern int *uu_exit_ok(void);
18756 extern int *uu_exit_fatal(void);
18757 extern int *uu_exit_usage(void);
18758 
18759 /*
18760  * string->number conversions
18761  */
18762 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t);
18763 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t);
18764 
18765 /*
18766  * Debug print facility functions.
18767  */
18768 typedef struct uu_dprintf uu_dprintf_t;
18769 
18770 typedef enum {
18771  UU_DPRINTF_SILENT,
18772  UU_DPRINTF_FATAL,
18773  UU_DPRINTF_WARNING,
18774  UU_DPRINTF_NOTICE,
18775  UU_DPRINTF_INFO,
18776  UU_DPRINTF_DEBUG
18777 } uu_dprintf_severity_t;
18778 
18779 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t,
18780     uint_t);
18781 /*PRINTFLIKE3*/
18782 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t,
18783     const char *, ...);
18784 extern void uu_dprintf_destroy(uu_dprintf_t *);
18785 extern const char *uu_dprintf_getname(uu_dprintf_t *);
18786 
18787 /*
18788  * Identifier test flags and function.
18789  */
18790 
18791 
18792 
18793 int uu_check_name(const char *, uint_t);
18794 
18795 /*
18796  * File creation functions.
18797  */
18798 extern int uu_open_tmp(const char *dir, uint_t uflags);
18799 
18800 /*
18801  * Convenience functions.
18802  */
18803 
18804 
18805 /*PRINTFLIKE1*/
18806 extern char *uu_msprintf(const char *format, ...);
18807 extern void *uu_zalloc(size_t);
18808 extern char *uu_strdup(const char *);
18809 extern void uu_free(void *);
18810 
18811 extern boolean_t uu_strcaseeq(const char *a, const char *b);
18812 extern boolean_t uu_streq(const char *a, const char *b);
18813 extern char *uu_strndup(const char *s, size_t n);
18814 extern boolean_t uu_strbw(const char *a, const char *b);
18815 extern void *uu_memdup(const void *buf, size_t sz);
18816 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len);
18817 
18818 /*
18819  * Comparison function type definition.
18820  *   Developers should be careful in their use of the _private argument. If you
18821  *   break interface guarantees, you get undefined behavior.
18822  */
18823 typedef int uu_compare_fn_t(const void *__left, const void *__right,
18824     void *__private);
18825 
18826 /*
18827  * Walk variant flags.
18828  *   A data structure need not provide support for all variants and
18829  *   combinations.  Refer to the appropriate documentation.
18830  */
18831 
18832 
18833 
18834 
18835 
18836 
18837 /*
18838  * Walk callback function return codes.
18839  */
18840 
18841 
18842 
18843 
18844 /*
18845  * Walk callback function type definition.
18846  */
18847 typedef int uu_walk_fn_t(void *_elem, void *_private);
18848 
18849 /*
18850  * lists: opaque structures
18851  */
18852 typedef struct uu_list_pool uu_list_pool_t;
18853 typedef struct uu_list uu_list_t;
18854 
18855 typedef struct uu_list_node {
18856  uintptr_t uln_opaque[2];
18857 } uu_list_node_t;
18858 
18859 typedef struct uu_list_walk uu_list_walk_t;
18860 
18861 typedef uintptr_t uu_list_index_t;
18862 
18863 /*
18864  * lists: interface
18865  *
18866  * basic usage:
18867  *	typedef struct foo {
18868  *		...
18869  *		uu_list_node_t foo_node;
18870  *		...
18871  *	} foo_t;
18872  *
18873  *	static int
18874  *	foo_compare(void *l_arg, void *r_arg, void *private)
18875  *	{
18876  *		foo_t *l = l_arg;
18877  *		foo_t *r = r_arg;
18878  *
18879  *		if (... l greater than r ...)
18880  *			return (1);
18881  *		if (... l less than r ...)
18882  *			return (-1);
18883  *		return (0);
18884  *	}
18885  *
18886  *	...
18887  *		// at initialization time
18888  *		foo_pool = uu_list_pool_create("foo_pool",
18889  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
18890  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
18891  *	...
18892  */
18893 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t,
18894     uu_compare_fn_t *, uint32_t);
18895 
18896 
18897 void uu_list_pool_destroy(uu_list_pool_t *);
18898 
18899 /*
18900  * usage:
18901  *
18902  *	foo_t *a;
18903  *	a = malloc(sizeof(*a));
18904  *	uu_list_node_init(a, &a->foo_list, pool);
18905  *	...
18906  *	uu_list_node_fini(a, &a->foo_list, pool);
18907  *	free(a);
18908  */
18909 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *);
18910 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *);
18911 
18912 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t);
18913 
18914 
18915 
18916 void uu_list_destroy(uu_list_t *); /* list must be empty */
18917 
18918 size_t uu_list_numnodes(uu_list_t *);
18919 
18920 void *uu_list_first(uu_list_t *);
18921 void *uu_list_last(uu_list_t *);
18922 
18923 void *uu_list_next(uu_list_t *, void *);
18924 void *uu_list_prev(uu_list_t *, void *);
18925 
18926 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t);
18927 
18928 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t);
18929 void *uu_list_walk_next(uu_list_walk_t *);
18930 void uu_list_walk_end(uu_list_walk_t *);
18931 
18932 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *);
18933 void uu_list_insert(uu_list_t *, void *, uu_list_index_t);
18934 
18935 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t);
18936 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t);
18937 
18938 void *uu_list_teardown(uu_list_t *, void **);
18939 
18940 void uu_list_remove(uu_list_t *, void *);
18941 
18942 /*
18943  * lists: interfaces for non-sorted lists only
18944  */
18945 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem);
18946 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem);
18947 
18948 /*
18949  * avl trees: opaque structures
18950  */
18951 typedef struct uu_avl_pool uu_avl_pool_t;
18952 typedef struct uu_avl uu_avl_t;
18953 
18954 typedef struct uu_avl_node {
18955 
18956  uintptr_t uan_opaque[3];
18957 
18958 
18959 
18960 } uu_avl_node_t;
18961 
18962 typedef struct uu_avl_walk uu_avl_walk_t;
18963 
18964 typedef uintptr_t uu_avl_index_t;
18965 
18966 /*
18967  * avl trees: interface
18968  *
18969  * basic usage:
18970  *	typedef struct foo {
18971  *		...
18972  *		uu_avl_node_t foo_node;
18973  *		...
18974  *	} foo_t;
18975  *
18976  *	static int
18977  *	foo_compare(void *l_arg, void *r_arg, void *private)
18978  *	{
18979  *		foo_t *l = l_arg;
18980  *		foo_t *r = r_arg;
18981  *
18982  *		if (... l greater than r ...)
18983  *			return (1);
18984  *		if (... l less than r ...)
18985  *			return (-1);
18986  *		return (0);
18987  *	}
18988  *
18989  *	...
18990  *		// at initialization time
18991  *		foo_pool = uu_avl_pool_create("foo_pool",
18992  *		    sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare,
18993  *		    debugging? 0 : UU_AVL_POOL_DEBUG);
18994  *	...
18995  */
18996 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t,
18997     uu_compare_fn_t *, uint32_t);
18998 
18999 
19000 void uu_avl_pool_destroy(uu_avl_pool_t *);
19001 
19002 /*
19003  * usage:
19004  *
19005  *	foo_t *a;
19006  *	a = malloc(sizeof(*a));
19007  *	uu_avl_node_init(a, &a->foo_avl, pool);
19008  *	...
19009  *	uu_avl_node_fini(a, &a->foo_avl, pool);
19010  *	free(a);
19011  */
19012 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *);
19013 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *);
19014 
19015 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t);
19016 
19017 
19018 void uu_avl_destroy(uu_avl_t *); /* list must be empty */
19019 
19020 size_t uu_avl_numnodes(uu_avl_t *);
19021 
19022 void *uu_avl_first(uu_avl_t *);
19023 void *uu_avl_last(uu_avl_t *);
19024 
19025 void *uu_avl_next(uu_avl_t *, void *);
19026 void *uu_avl_prev(uu_avl_t *, void *);
19027 
19028 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t);
19029 
19030 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t);
19031 void *uu_avl_walk_next(uu_avl_walk_t *);
19032 void uu_avl_walk_end(uu_avl_walk_t *);
19033 
19034 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *);
19035 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t);
19036 
19037 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t);
19038 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t);
19039 
19040 void *uu_avl_teardown(uu_avl_t *, void **);
19041 
19042 void uu_avl_remove(uu_avl_t *, void *);
19043 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19044 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1
19045 /*
19046  * CDDL HEADER START
19047  *
19048  * The contents of this file are subject to the terms of the
19049  * Common Development and Distribution License (the "License").
19050  * You may not use this file except in compliance with the License.
19051  *
19052  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19053  * or http://www.opensolaris.org/os/licensing.
19054  * See the License for the specific language governing permissions
19055  * and limitations under the License.
19056  *
19057  * When distributing Covered Code, include this CDDL HEADER in each
19058  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19059  * If applicable, add the following below this CDDL HEADER, with the
19060  * fields enclosed by brackets "[]" replaced with your own identifying
19061  * information: Portions Copyright [yyyy] [name of copyright owner]
19062  *
19063  * CDDL HEADER END
19064  */
19065 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19066 /*	  All Rights Reserved  	*/
19067 
19068 
19069 /*
19070  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19071  *
19072  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19073  * Use is subject to license terms.
19074  */
19075 
19076 
19077 
19078 
19079 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19080 /*
19081  * CDDL HEADER START
19082  *
19083  * The contents of this file are subject to the terms of the
19084  * Common Development and Distribution License (the "License").
19085  * You may not use this file except in compliance with the License.
19086  *
19087  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19088  * or http://www.opensolaris.org/os/licensing.
19089  * See the License for the specific language governing permissions
19090  * and limitations under the License.
19091  *
19092  * When distributing Covered Code, include this CDDL HEADER in each
19093  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19094  * If applicable, add the following below this CDDL HEADER, with the
19095  * fields enclosed by brackets "[]" replaced with your own identifying
19096  * information: Portions Copyright [yyyy] [name of copyright owner]
19097  *
19098  * CDDL HEADER END
19099  */
19100 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19101 /*	  All Rights Reserved  	*/
19102 
19103 
19104 /*
19105  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19106  * Use is subject to license terms.
19107  *
19108  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19109  * Copyright 2016 Joyent, Inc.
19110  */
19111 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2
19112 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h"
19113 /*
19114  * The fields in struct extmnttab should match those in struct mnttab until new
19115  * fields are encountered. This allows hasmntopt(), getmntent_common() and
19116  * mntioctl() to cast one type to the other safely.
19117  *
19118  * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all
19119  * match those in the corresponding 32-bit versions defined in mntvnops.c.
19120  */
19121 struct mnttab {
19122  char *mnt_special;
19123  char *mnt_mountp;
19124  char *mnt_fstype;
19125  char *mnt_mntopts;
19126  char *mnt_time;
19127 };
19128 
19129 struct extmnttab {
19130  char *mnt_special;
19131  char *mnt_mountp;
19132  char *mnt_fstype;
19133  char *mnt_mntopts;
19134  char *mnt_time;
19135  uint_t mnt_major;
19136  uint_t mnt_minor;
19137 };
19138 
19139 struct mntentbuf {
19140  struct extmnttab *mbuf_emp;
19141  size_t mbuf_bufsize;
19142  char *mbuf_buf;
19143 };
19144 
19145 
19146 extern void resetmnttab(FILE *);
19147 extern int getmntent(FILE *, struct mnttab *);
19148 extern int getextmntent(FILE *, struct extmnttab *, size_t);
19149 extern int getmntany(FILE *, struct mnttab *, struct mnttab *);
19150 extern char *hasmntopt(struct mnttab *, char *);
19151 extern char *mntopt(char **);
19152 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1
19154 /*
19155  * CDDL HEADER START
19156  *
19157  * The contents of this file are subject to the terms of the
19158  * Common Development and Distribution License (the "License").
19159  * You may not use this file except in compliance with the License.
19160  *
19161  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19162  * or http://www.opensolaris.org/os/licensing.
19163  * See the License for the specific language governing permissions
19164  * and limitations under the License.
19165  *
19166  * When distributing Covered Code, include this CDDL HEADER in each
19167  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19168  * If applicable, add the following below this CDDL HEADER, with the
19169  * fields enclosed by brackets "[]" replaced with your own identifying
19170  * information: Portions Copyright [yyyy] [name of copyright owner]
19171  *
19172  * CDDL HEADER END
19173  */
19174 
19175 /*
19176  * Copyright (c) 2013 Gary Mills
19177  *
19178  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
19179  * Use is subject to license terms.
19180  */
19181 
19182 /*	Copyright (c) 1988 AT&T	*/
19183 /*	  All Rights Reserved  	*/
19184 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 1
19186 /*
19187  * CDDL HEADER START
19188  *
19189  * The contents of this file are subject to the terms of the
19190  * Common Development and Distribution License, Version 1.0 only
19191  * (the "License").  You may not use this file except in compliance
19192  * with the License.
19193  *
19194  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19195  * or http://www.opensolaris.org/os/licensing.
19196  * See the License for the specific language governing permissions
19197  * and limitations under the License.
19198  *
19199  * When distributing Covered Code, include this CDDL HEADER in each
19200  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19201  * If applicable, add the following below this CDDL HEADER, with the
19202  * fields enclosed by brackets "[]" replaced with your own identifying
19203  * information: Portions Copyright [yyyy] [name of copyright owner]
19204  *
19205  * CDDL HEADER END
19206  */
19207 /*
19208  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19209  *
19210  * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
19211  * Use is subject to license terms.
19212  */
19213 
19214 /*	Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T	*/
19215 /*	  All Rights Reserved  	*/
19216 
19217 /*
19218  * Portions of this source code were derived from Berkeley 4.3 BSD
19219  * under license from the Regents of the University of California.
19220  */
19221 
19222 
19223 
19224 
19225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
19226 /*
19227  * CDDL HEADER START
19228  *
19229  * The contents of this file are subject to the terms of the
19230  * Common Development and Distribution License (the "License").
19231  * You may not use this file except in compliance with the License.
19232  *
19233  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19234  * or http://www.opensolaris.org/os/licensing.
19235  * See the License for the specific language governing permissions
19236  * and limitations under the License.
19237  *
19238  * When distributing Covered Code, include this CDDL HEADER in each
19239  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19240  * If applicable, add the following below this CDDL HEADER, with the
19241  * fields enclosed by brackets "[]" replaced with your own identifying
19242  * information: Portions Copyright [yyyy] [name of copyright owner]
19243  *
19244  * CDDL HEADER END
19245  */
19246 
19247 /*
19248  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
19249  * Copyright 2016 Joyent, Inc.
19250  *
19251  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
19252  * Use is subject to license terms.
19253  */
19254 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19255 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19256 /*
19257  * CDDL HEADER START
19258  *
19259  * The contents of this file are subject to the terms of the
19260  * Common Development and Distribution License (the "License").
19261  * You may not use this file except in compliance with the License.
19262  *
19263  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19264  * or http://www.opensolaris.org/os/licensing.
19265  * See the License for the specific language governing permissions
19266  * and limitations under the License.
19267  *
19268  * When distributing Covered Code, include this CDDL HEADER in each
19269  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19270  * If applicable, add the following below this CDDL HEADER, with the
19271  * fields enclosed by brackets "[]" replaced with your own identifying
19272  * information: Portions Copyright [yyyy] [name of copyright owner]
19273  *
19274  * CDDL HEADER END
19275  */
19276 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19277 /*	  All Rights Reserved  	*/
19278 
19279 
19280 /*
19281  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19282  * Use is subject to license terms.
19283  *
19284  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19285  * Copyright 2016 Joyent, Inc.
19286  */
19287 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19288 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
19289 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19290 /*	  All Rights Reserved  	*/
19291 
19292 
19293 /*
19294  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
19295  * All rights reserved.  The Berkeley software License Agreement
19296  * specifies the terms and conditions for redistribution.
19297  */
19298 
19299 /*
19300  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19301  *
19302  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19303  * Use is subject to license terms.
19304  *
19305  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19306  */
19307 
19308 /*
19309  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
19310  */
19311 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19312 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1
19313 /*
19314  * CDDL HEADER START
19315  *
19316  * The contents of this file are subject to the terms of the
19317  * Common Development and Distribution License, Version 1.0 only
19318  * (the "License").  You may not use this file except in compliance
19319  * with the License.
19320  *
19321  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19322  * or http://www.opensolaris.org/os/licensing.
19323  * See the License for the specific language governing permissions
19324  * and limitations under the License.
19325  *
19326  * When distributing Covered Code, include this CDDL HEADER in each
19327  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19328  * If applicable, add the following below this CDDL HEADER, with the
19329  * fields enclosed by brackets "[]" replaced with your own identifying
19330  * information: Portions Copyright [yyyy] [name of copyright owner]
19331  *
19332  * CDDL HEADER END
19333  */
19334 /*	Copyright (c) 1988 AT&T	*/
19335 /*	  All Rights Reserved  	*/
19336 
19337 
19338 /*
19339  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19340  *
19341  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
19342  * Use is subject to license terms.
19343  */
19344 
19345 
19346 
19347 
19348 
19349 /*
19350  * Note:  The getutent(3c) family of interfaces are obsolete.
19351  * The getutxent(3c) family provide a superset of this functionality
19352  * and should be used in place of getutent(3c).
19353  */
19354 
19355 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
19356 /*
19357  * CDDL HEADER START
19358  *
19359  * The contents of this file are subject to the terms of the
19360  * Common Development and Distribution License (the "License").
19361  * You may not use this file except in compliance with the License.
19362  *
19363  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19364  * or http://www.opensolaris.org/os/licensing.
19365  * See the License for the specific language governing permissions
19366  * and limitations under the License.
19367  *
19368  * When distributing Covered Code, include this CDDL HEADER in each
19369  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19370  * If applicable, add the following below this CDDL HEADER, with the
19371  * fields enclosed by brackets "[]" replaced with your own identifying
19372  * information: Portions Copyright [yyyy] [name of copyright owner]
19373  *
19374  * CDDL HEADER END
19375  */
19376 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
19377 /*	  All Rights Reserved  	*/
19378 
19379 
19380 /*
19381  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
19382  * Use is subject to license terms.
19383  *
19384  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
19385  * Copyright 2016 Joyent, Inc.
19386  */
19387 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19388 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19389 struct exit_status {
19390  short e_termination; /* Process termination status */
19391  short e_exit; /* Process exit status */
19392 };
19393 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19394 /*
19395  * This data structure describes the utmp entries returned by
19396  * the getutent(3c) family of APIs.  It does not (necessarily)
19397  * correspond to the contents of the utmp or wtmp files.
19398  *
19399  * Applications should only interact with this subsystem via
19400  * the getutxent(3c) family of APIs, as the getutent(3c) family
19401  * are obsolete.
19402  */
19403 struct utmp {
19404  char ut_user[8]; /* User login name */
19405  char ut_id[4]; /* /etc/inittab id(usually line #) */
19406  char ut_line[12]; /* device name (console, lnxx) */
19407  short ut_pid; /* short for compat. - process id */
19408  short ut_type; /* type of entry */
19409  struct exit_status ut_exit; /* The exit status of a process */
19410      /* marked as DEAD_PROCESS. */
19411  time_t ut_time; /* time entry was made */
19412 };
19413 
19414 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
19415 /*
19416  * CDDL HEADER START
19417  *
19418  * The contents of this file are subject to the terms of the
19419  * Common Development and Distribution License (the "License").
19420  * You may not use this file except in compliance with the License.
19421  *
19422  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19423  * or http://www.opensolaris.org/os/licensing.
19424  * See the License for the specific language governing permissions
19425  * and limitations under the License.
19426  *
19427  * When distributing Covered Code, include this CDDL HEADER in each
19428  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19429  * If applicable, add the following below this CDDL HEADER, with the
19430  * fields enclosed by brackets "[]" replaced with your own identifying
19431  * information: Portions Copyright [yyyy] [name of copyright owner]
19432  *
19433  * CDDL HEADER END
19434  */
19435 /*
19436  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
19437  * Use is subject to license terms.
19438  * Copyright 2015 Nexenta Systems, Inc.
19439  */
19440 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
19442 /*
19443  * CDDL HEADER START
19444  *
19445  * The contents of this file are subject to the terms of the
19446  * Common Development and Distribution License, Version 1.0 only
19447  * (the "License").  You may not use this file except in compliance
19448  * with the License.
19449  *
19450  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19451  * or http://www.opensolaris.org/os/licensing.
19452  * See the License for the specific language governing permissions
19453  * and limitations under the License.
19454  *
19455  * When distributing Covered Code, include this CDDL HEADER in each
19456  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19457  * If applicable, add the following below this CDDL HEADER, with the
19458  * fields enclosed by brackets "[]" replaced with your own identifying
19459  * information: Portions Copyright [yyyy] [name of copyright owner]
19460  *
19461  * CDDL HEADER END
19462  */
19463 /*
19464  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19465  *
19466  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
19467  * Use is subject to license terms.
19468  */
19469 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2
19470 
19471 /*
19472  * This data structure describes the utmp *file* contents using
19473  * fixed-width data types.  It should only be used by the implementation.
19474  *
19475  * Applications should use the getutxent(3c) family of routines to interact
19476  * with this database.
19477  */
19478 
19479 struct futmp {
19480  char ut_user[8]; /* User login name */
19481  char ut_id[4]; /* /etc/inittab id */
19482  char ut_line[12]; /* device name (console, lnxx) */
19483  int16_t ut_pid; /* process id */
19484  int16_t ut_type; /* type of entry */
19485  struct {
19486   int16_t e_termination; /* Process termination status */
19487   int16_t e_exit; /* Process exit status */
19488  } ut_exit; /* The exit status of a process */
19489  time32_t ut_time; /* time entry was made */
19490 };
19491 
19492 
19493 
19494 /*	Definitions for ut_type						*/
19495 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19496 /*	Special strings or formats used in the "ut_line" field when	*/
19497 /*	accounting for something other than a process.			*/
19498 /*	No string for the ut_line field can be more than 11 chars +	*/
19499 /*	a NULL in length.						*/
19500 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h"
19501 /*	Define and macro for determing if a normal user wrote the entry */
19502 /*	 and marking the utmpx entry as a normal user */
19503 
19504 
19505 
19506 
19507 
19508 extern void endutent(void);
19509 extern struct utmp *getutent(void);
19510 extern struct utmp *getutid(const struct utmp *);
19511 extern struct utmp *getutline(const struct utmp *);
19512 extern struct utmp *pututline(const struct utmp *);
19513 extern void setutent(void);
19514 extern int utmpname(const char *);
19515 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19516 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h"
19517 /*
19518  * This data structure describes the utmpx entries returned by
19519  * the getutxent(3c) family of APIs.  It does not (necessarily)
19520  * correspond to the contents of the utmpx or wtmpx files.
19521  *
19522  * Applications should only interact with this subsystem via
19523  * the getutxent(3c) family of APIs.
19524  */
19525 struct utmpx {
19526  char ut_user[32]; /* user login name */
19527  char ut_id[4]; /* inittab id */
19528  char ut_line[32]; /* device name (console, lnxx) */
19529  pid_t ut_pid; /* process id */
19530  short ut_type; /* type of entry */
19531 
19532  struct exit_status ut_exit; /* process termination/exit status */
19533 
19534 
19535 
19536  struct timeval ut_tv; /* time entry was made */
19537  int ut_session; /* session ID, used for windowing */
19538 
19539  int pad[5]; /* reserved for future use */
19540 
19541 
19542 
19543  short ut_syslen; /* significant length of ut_host */
19544      /*   including terminating null */
19545  char ut_host[257]; /* remote host name */
19546 };
19547 
19548 
19549 
19550 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1
19551 /*
19552  * CDDL HEADER START
19553  *
19554  * The contents of this file are subject to the terms of the
19555  * Common Development and Distribution License (the "License").
19556  * You may not use this file except in compliance with the License.
19557  *
19558  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19559  * or http://www.opensolaris.org/os/licensing.
19560  * See the License for the specific language governing permissions
19561  * and limitations under the License.
19562  *
19563  * When distributing Covered Code, include this CDDL HEADER in each
19564  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19565  * If applicable, add the following below this CDDL HEADER, with the
19566  * fields enclosed by brackets "[]" replaced with your own identifying
19567  * information: Portions Copyright [yyyy] [name of copyright owner]
19568  *
19569  * CDDL HEADER END
19570  */
19571 /*
19572  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
19573  * Use is subject to license terms.
19574  * Copyright 2015 Nexenta Systems, Inc.
19575  */
19576 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19577 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
19578 /*
19579  * CDDL HEADER START
19580  *
19581  * The contents of this file are subject to the terms of the
19582  * Common Development and Distribution License, Version 1.0 only
19583  * (the "License").  You may not use this file except in compliance
19584  * with the License.
19585  *
19586  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
19587  * or http://www.opensolaris.org/os/licensing.
19588  * See the License for the specific language governing permissions
19589  * and limitations under the License.
19590  *
19591  * When distributing Covered Code, include this CDDL HEADER in each
19592  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19593  * If applicable, add the following below this CDDL HEADER, with the
19594  * fields enclosed by brackets "[]" replaced with your own identifying
19595  * information: Portions Copyright [yyyy] [name of copyright owner]
19596  *
19597  * CDDL HEADER END
19598  */
19599 /*
19600  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
19601  *
19602  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
19603  * Use is subject to license terms.
19604  */
19605 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2
19606 
19607 /*
19608  * This data structure describes the utmp *file* contents using
19609  * fixed-width data types.  It should only be used by the implementation.
19610  *
19611  * Applications should use the getutxent(3c) family of routines to interact
19612  * with this database.
19613  */
19614 
19615 struct futmpx {
19616  char ut_user[32]; /* user login name */
19617  char ut_id[4]; /* inittab id */
19618  char ut_line[32]; /* device name (console, lnxx) */
19619  pid32_t ut_pid; /* process id */
19620  int16_t ut_type; /* type of entry */
19621  struct {
19622   int16_t e_termination; /* process termination status */
19623   int16_t e_exit; /* process exit status */
19624  } ut_exit; /* exit status of a process */
19625  struct timeval32 ut_tv; /* time entry was made */
19626  int32_t ut_session; /* session ID, user for windowing */
19627  int32_t pad[5]; /* reserved for future use */
19628  int16_t ut_syslen; /* significant length of ut_host */
19629  char ut_host[257]; /* remote host name */
19630 };
19631 
19632 
19633 
19634 /*	Define and macro for determing if a normal user wrote the entry */
19635 /*	and marking the utmpx entry as a normal user */
19636 
19637 
19638 
19639 
19640 
19641 
19642 extern void endutxent(void);
19643 extern struct utmpx *getutxent(void);
19644 extern struct utmpx *getutxid(const struct utmpx *);
19645 extern struct utmpx *getutxline(const struct utmpx *);
19646 extern struct utmpx *pututxline(const struct utmpx *);
19647 extern void setutxent(void);
19648 
19649 
19650 extern int utmpxname(const char *);
19651 extern struct utmpx *makeutx(const struct utmpx *);
19652 extern struct utmpx *modutx(const struct utmpx *);
19653 extern void getutmp(const struct utmpx *, struct utmp *);
19654 extern void getutmpx(const struct utmp *, struct utmpx *);
19655 extern void updwtmp(const char *, struct utmp *);
19656 extern void updwtmpx(const char *, struct utmpx *);
19657 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2
19658 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19659 /*
19660  * Warning: these are shared with the admin/install consolidation.
19661  * Do not insert states between any of the currently defined states,
19662  * and any new states must be evaluated for impact on range comparisons.
19663  */
19664 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19665 /* Owner, group, and mode (defined by packaging) for the config directory */
19666 
19667 
19668 
19669 
19670 /* Owner, group, and mode (defined by packaging) for the index file */
19671 
19672 
19673 
19674 
19675 /* The maximum length of the VERSION string in the pkginfo(4) file. */
19676 
19677 
19678 /*
19679  * Shortened alias names for the zones rctls.
19680  */
19681 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h"
19682 /* Default name for zone detached manifest */
19683 
19684 
19685 /*
19686  * Bit flag definitions for passing into libzonecfg functions.
19687  */
19688 
19689 
19690 /*
19691  * The integer field expresses the current values on a get.
19692  * On a put, it represents the new values if >= 0 or "don't change" if < 0.
19693  */
19694 struct zoneent {
19695  char zone_name[64]; /* name of the zone */
19696  int zone_state; /* configured | incomplete | installed */
19697  char zone_path[1024]; /* path to zone storage */
19698  uuid_t zone_uuid; /* unique ID for zone */
19699  char zone_newname[64]; /* for doing renames */
19700 };
19701 
19702 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */
19703 
19704 typedef uint_t zone_state_t;
19705 
19706 typedef struct zone_fsopt {
19707  struct zone_fsopt *zone_fsopt_next;
19708  char zone_fsopt_opt[1024];
19709 } zone_fsopt_t;
19710 
19711 struct zone_fstab {
19712  char zone_fs_special[1024]; /* special file */
19713  char zone_fs_dir[1024]; /* mount point */
19714  char zone_fs_type[16]; /* e.g. ufs */
19715  zone_fsopt_t *zone_fs_options; /* mount options */
19716  char zone_fs_raw[1024]; /* device to fsck */
19717 };
19718 
19719 struct zone_nwiftab {
19720  char zone_nwif_address[46]; /* shared-ip only */
19721  char zone_nwif_allowed_address[46]; /* excl-ip only */
19722  char zone_nwif_physical[32];
19723  char zone_nwif_defrouter[46];
19724 };
19725 
19726 struct zone_devtab {
19727  char zone_dev_match[1024];
19728 };
19729 
19730 struct zone_rctlvaltab {
19731  char zone_rctlval_priv[256];
19732  char zone_rctlval_limit[256];
19733  char zone_rctlval_action[256];
19734  struct zone_rctlvaltab *zone_rctlval_next;
19735 };
19736 
19737 struct zone_rctltab {
19738  char zone_rctl_name[256];
19739  struct zone_rctlvaltab *zone_rctl_valptr;
19740 };
19741 
19742 struct zone_attrtab {
19743  char zone_attr_name[256];
19744  char zone_attr_type[256];
19745  char zone_attr_value[2 * 1024];
19746 };
19747 
19748 struct zone_dstab {
19749  char zone_dataset_name[256];
19750 };
19751 
19752 struct zone_psettab {
19753  char zone_ncpu_min[256];
19754  char zone_ncpu_max[256];
19755  char zone_importance[256];
19756 };
19757 
19758 struct zone_mcaptab {
19759  char zone_physmem_cap[256];
19760 };
19761 
19762 struct zone_pkgtab {
19763  char zone_pkg_name[256];
19764  char zone_pkg_version[256];
19765 };
19766 
19767 struct zone_devpermtab {
19768  char zone_devperm_name[1024];
19769  uid_t zone_devperm_uid;
19770  gid_t zone_devperm_gid;
19771  mode_t zone_devperm_mode;
19772  char *zone_devperm_acl;
19773 };
19774 
19775 struct zone_admintab {
19776  char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))];
19777  char zone_admin_auths[4096];
19778 };
19779 
19780 typedef struct zone_userauths {
19781  char user[(sizeof (((struct utmpx *)0)->ut_user))];
19782  char zonename[64];
19783  struct zone_userauths *next;
19784 } zone_userauths_t;
19785 
19786 typedef struct {
19787  uu_avl_node_t zpe_entry;
19788  char *zpe_name;
19789  char *zpe_vers;
19790 } zone_pkg_entry_t;
19791 
19792 typedef enum zone_iptype {
19793  ZS_SHARED,
19794  ZS_EXCLUSIVE
19795 } zone_iptype_t;
19796 
19797 /*
19798  * Basic configuration management routines.
19799  */
19800 extern zone_dochandle_t zonecfg_init_handle(void);
19801 extern int zonecfg_get_handle(const char *, zone_dochandle_t);
19802 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t);
19803 extern int zonecfg_get_template_handle(const char *, const char *,
19804     zone_dochandle_t);
19805 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t);
19806 extern int zonecfg_check_handle(zone_dochandle_t);
19807 extern void zonecfg_fini_handle(zone_dochandle_t);
19808 extern int zonecfg_destroy(const char *, boolean_t);
19809 extern int zonecfg_destroy_snapshot(const char *);
19810 extern int zonecfg_save(zone_dochandle_t);
19811 extern int zonecfg_create_snapshot(const char *);
19812 extern char *zonecfg_strerror(int);
19813 extern int zonecfg_access(const char *, int);
19814 extern void zonecfg_set_root(const char *);
19815 extern const char *zonecfg_get_root(void);
19816 extern boolean_t zonecfg_in_alt_root(void);
19817 extern int zonecfg_num_resources(zone_dochandle_t, char *);
19818 extern int zonecfg_del_all_resources(zone_dochandle_t, char *);
19819 extern boolean_t zonecfg_valid_ncpus(char *, char *);
19820 extern boolean_t zonecfg_valid_importance(char *);
19821 extern int zonecfg_str_to_bytes(char *, uint64_t *);
19822 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *);
19823 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *);
19824 
19825 /*
19826  * Zone name, path to zone directory, autoboot setting, pool, boot
19827  * arguments, and scheduling-class.
19828  */
19829 extern int zonecfg_validate_zonename(const char *);
19830 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t);
19831 extern int zonecfg_set_name(zone_dochandle_t, char *);
19832 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t);
19833 extern int zonecfg_set_zonepath(zone_dochandle_t, char *);
19834 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *);
19835 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t);
19836 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *);
19837 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t);
19838 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t);
19839 extern int zonecfg_set_pool(zone_dochandle_t, char *);
19840 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t);
19841 extern int zonecfg_set_bootargs(zone_dochandle_t, char *);
19842 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t);
19843 extern int zonecfg_set_sched(zone_dochandle_t, char *);
19844 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int);
19845 
19846 /*
19847  * Set/retrieve the brand for the zone
19848  */
19849 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t);
19850 extern int zonecfg_set_brand(zone_dochandle_t, char *);
19851 
19852 /*
19853  * Filesystem configuration.
19854  */
19855 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *);
19856 extern int zonecfg_delete_filesystem(zone_dochandle_t,
19857     struct zone_fstab *);
19858 extern int zonecfg_modify_filesystem(zone_dochandle_t,
19859     struct zone_fstab *, struct zone_fstab *);
19860 extern int zonecfg_lookup_filesystem(zone_dochandle_t,
19861     struct zone_fstab *);
19862 extern int zonecfg_add_fs_option(struct zone_fstab *, char *);
19863 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *);
19864 extern void zonecfg_free_fs_option_list(zone_fsopt_t *);
19865 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *,
19866     void *), void *);
19867 
19868 /*
19869  * Network interface configuration.
19870  */
19871 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *);
19872 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *);
19873 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *,
19874     struct zone_nwiftab *);
19875 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *);
19876 
19877 /*
19878  * Hostid emulation configuration.
19879  */
19880 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t);
19881 extern int zonecfg_set_hostid(zone_dochandle_t, const char *);
19882 
19883 /*
19884  * Allowed FS mounts configuration.
19885  */
19886 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t);
19887 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *);
19888 
19889 /*
19890  * Device configuration and rule matching.
19891  */
19892 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *);
19893 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *);
19894 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *,
19895     struct zone_devtab *);
19896 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *);
19897 
19898 /*
19899  * Resource control configuration.
19900  */
19901 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *);
19902 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *);
19903 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *,
19904     struct zone_rctltab *);
19905 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *);
19906 extern int zonecfg_add_rctl_value(struct zone_rctltab *,
19907     struct zone_rctlvaltab *);
19908 extern int zonecfg_remove_rctl_value(struct zone_rctltab *,
19909     struct zone_rctlvaltab *);
19910 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *);
19911 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *);
19912 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t);
19913 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *);
19914 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *);
19915 extern int zonecfg_apply_rctls(char *, zone_dochandle_t);
19916 
19917 /*
19918  * Generic attribute configuration and type/value extraction.
19919  */
19920 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *);
19921 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *);
19922 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *,
19923     struct zone_attrtab *);
19924 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *);
19925 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *,
19926     boolean_t *);
19927 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *);
19928 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *,
19929     size_t);
19930 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *);
19931 
19932 /*
19933  * ZFS configuration.
19934  */
19935 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *);
19936 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *);
19937 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *,
19938     struct zone_dstab *);
19939 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *);
19940 
19941 /*
19942  * cpu-set configuration.
19943  */
19944 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *);
19945 extern int zonecfg_delete_pset(zone_dochandle_t);
19946 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *);
19947 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *);
19948 
19949 /*
19950  * mem-cap configuration.
19951  */
19952 extern int zonecfg_delete_mcap(zone_dochandle_t);
19953 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *);
19954 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *);
19955 
19956 /*
19957  * Temporary pool support functions.
19958  */
19959 extern int zonecfg_destroy_tmp_pool(char *, char *, int);
19960 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int);
19961 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int);
19962 extern boolean_t zonecfg_warn_poold(zone_dochandle_t);
19963 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t);
19964 
19965 /*
19966  * Miscellaneous utility functions.
19967  */
19968 extern int zonecfg_enable_rcapd(char *, int);
19969 
19970 /*
19971  * attach/detach support.
19972  */
19973 extern int zonecfg_get_attach_handle(const char *, const char *,
19974     const char *, boolean_t, zone_dochandle_t);
19975 extern int zonecfg_attach_manifest(int, zone_dochandle_t,
19976     zone_dochandle_t);
19977 extern int zonecfg_detach_save(zone_dochandle_t, uint_t);
19978 extern boolean_t zonecfg_detached(const char *);
19979 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced);
19980 extern int zonecfg_dev_manifest(zone_dochandle_t);
19981 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *,
19982     uid_t, gid_t, mode_t, const char *);
19983 extern void zonecfg_set_swinv(zone_dochandle_t);
19984 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *);
19985 
19986 /*
19987  * External zone verification support.
19988  */
19989 extern int zonecfg_verify_save(zone_dochandle_t, char *);
19990 
19991 /*
19992  * '*ent' iterator routines.
19993  */
19994 extern int zonecfg_setfsent(zone_dochandle_t);
19995 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *);
19996 extern int zonecfg_endfsent(zone_dochandle_t);
19997 extern int zonecfg_setnwifent(zone_dochandle_t);
19998 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *);
19999 extern int zonecfg_endnwifent(zone_dochandle_t);
20000 extern int zonecfg_setdevent(zone_dochandle_t);
20001 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *);
20002 extern int zonecfg_enddevent(zone_dochandle_t);
20003 extern int zonecfg_setattrent(zone_dochandle_t);
20004 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *);
20005 extern int zonecfg_endattrent(zone_dochandle_t);
20006 extern int zonecfg_setrctlent(zone_dochandle_t);
20007 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *);
20008 extern int zonecfg_endrctlent(zone_dochandle_t);
20009 extern int zonecfg_setdsent(zone_dochandle_t);
20010 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *);
20011 extern int zonecfg_enddsent(zone_dochandle_t);
20012 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *);
20013 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *);
20014 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *,
20015     uu_avl_t *);
20016 extern int zonecfg_setdevperment(zone_dochandle_t);
20017 extern int zonecfg_getdevperment(zone_dochandle_t,
20018     struct zone_devpermtab *);
20019 extern int zonecfg_enddevperment(zone_dochandle_t);
20020 extern int zonecfg_setadminent(zone_dochandle_t);
20021 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *);
20022 extern int zonecfg_endadminent(zone_dochandle_t);
20023 
20024 /*
20025  * Privilege-related functions.
20026  */
20027 extern int zonecfg_default_privset(priv_set_t *, const char *);
20028 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *,
20029     char **);
20030 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **);
20031 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *);
20032 
20033 /*
20034  * Higher-level routines.
20035  */
20036 extern int zone_get_brand(char *, char *, size_t);
20037 extern int zone_get_rootpath(char *, char *, size_t);
20038 extern int zone_get_devroot(char *, char *, size_t);
20039 extern int zone_get_zonepath(char *, char *, size_t);
20040 extern int zone_get_state(char *, zone_state_t *);
20041 extern int zone_set_state(char *, zone_state_t);
20042 extern char *zone_state_str(zone_state_t);
20043 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t);
20044 extern int zonecfg_get_uuid(const char *, uuid_t);
20045 extern int zonecfg_default_brand(char *, size_t);
20046 
20047 /*
20048  * Iterator for configured zones.
20049  */
20050 extern FILE *setzoneent(void);
20051 extern char *getzoneent(FILE *);
20052 extern struct zoneent *getzoneent_private(FILE *);
20053 extern void endzoneent(FILE *);
20054 
20055 /*
20056  * File-system-related convenience functions.
20057  */
20058 extern boolean_t zonecfg_valid_fs_type(const char *);
20059 
20060 /*
20061  * Network-related convenience functions.
20062  */
20063 extern boolean_t zonecfg_same_net_address(char *, char *);
20064 extern int zonecfg_valid_net_address(char *, struct lifreq *);
20065 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *);
20066 
20067 /*
20068  * Rctl-related common functions.
20069  */
20070 extern boolean_t zonecfg_is_rctl(const char *);
20071 extern boolean_t zonecfg_valid_rctlname(const char *);
20072 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *);
20073 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *);
20074 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *,
20075     rctlblk_t *);
20076 
20077 /*
20078  * Live Upgrade support functions.  Shared between ON and install gate.
20079  */
20080 extern FILE *zonecfg_open_scratch(const char *, boolean_t);
20081 extern int zonecfg_lock_scratch(FILE *);
20082 extern void zonecfg_close_scratch(FILE *);
20083 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *,
20084     size_t);
20085 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *,
20086     size_t);
20087 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t,
20088     char *, size_t);
20089 extern int zonecfg_add_scratch(FILE *, const char *, const char *,
20090     const char *);
20091 extern int zonecfg_delete_scratch(FILE *, const char *);
20092 extern boolean_t zonecfg_is_scratch(const char *);
20093 
20094 /*
20095  * zoneadmd support functions.  Shared between zoneadm and brand hook code.
20096  */
20097 extern void zonecfg_init_lock_file(const char *, char **);
20098 extern void zonecfg_release_lock_file(const char *, int);
20099 extern int zonecfg_grab_lock_file(const char *, int *);
20100 extern boolean_t zonecfg_lock_file_held(int *);
20101 extern int zonecfg_ping_zoneadmd(const char *);
20102 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *,
20103     boolean_t);
20104 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *);
20105 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *,
20106     boolean_t);
20107 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *,
20108     char *);
20109 extern int zonecfg_delete_admin(zone_dochandle_t,
20110     struct zone_admintab *, char *);
20111 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *,
20112     struct zone_admintab *, char *);
20113 extern int zonecfg_delete_admins(zone_dochandle_t, char *);
20114 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *);
20115 extern int zonecfg_authorize_users(zone_dochandle_t, char *);
20116 extern int zonecfg_update_userauths(zone_dochandle_t, char *);
20117 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *);
20118 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *);
20119 extern boolean_t zonecfg_valid_auths(const char *, const char *);
20120 # 47 "../common/instzones_lib.h" 2
20121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1
20122 /*
20123  * CDDL HEADER START
20124  *
20125  * The contents of this file are subject to the terms of the
20126  * Common Development and Distribution License (the "License").
20127  * You may not use this file except in compliance with the License.
20128  *
20129  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20130  * or http://www.opensolaris.org/os/licensing.
20131  * See the License for the specific language governing permissions
20132  * and limitations under the License.
20133  *
20134  * When distributing Covered Code, include this CDDL HEADER in each
20135  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20136  * If applicable, add the following below this CDDL HEADER, with the
20137  * fields enclosed by brackets "[]" replaced with your own identifying
20138  * information: Portions Copyright [yyyy] [name of copyright owner]
20139  *
20140  * CDDL HEADER END
20141  */
20142 /*
20143  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
20144  * Use is subject to license terms.
20145  */
20146 
20147 
20148 
20149 
20150 #pragma ident "%Z%%M%	%I%	%E% SMI"
20151 
20152 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20153 /*
20154  * CDDL HEADER START
20155  *
20156  * The contents of this file are subject to the terms of the
20157  * Common Development and Distribution License (the "License").
20158  * You may not use this file except in compliance with the License.
20159  *
20160  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20161  * or http://www.opensolaris.org/os/licensing.
20162  * See the License for the specific language governing permissions
20163  * and limitations under the License.
20164  *
20165  * When distributing Covered Code, include this CDDL HEADER in each
20166  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20167  * If applicable, add the following below this CDDL HEADER, with the
20168  * fields enclosed by brackets "[]" replaced with your own identifying
20169  * information: Portions Copyright [yyyy] [name of copyright owner]
20170  *
20171  * CDDL HEADER END
20172  */
20173 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20174 /*	  All Rights Reserved  	*/
20175 
20176 
20177 /*
20178  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20179  * Use is subject to license terms.
20180  *
20181  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20182  * Copyright 2016 Joyent, Inc.
20183  */
20184 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
20185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1
20186 /*
20187  * CDDL HEADER START
20188  *
20189  * The contents of this file are subject to the terms of the
20190  * Common Development and Distribution License (the "License").
20191  * You may not use this file except in compliance with the License.
20192  *
20193  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20194  * or http://www.opensolaris.org/os/licensing.
20195  * See the License for the specific language governing permissions
20196  * and limitations under the License.
20197  *
20198  * When distributing Covered Code, include this CDDL HEADER in each
20199  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20200  * If applicable, add the following below this CDDL HEADER, with the
20201  * fields enclosed by brackets "[]" replaced with your own identifying
20202  * information: Portions Copyright [yyyy] [name of copyright owner]
20203  *
20204  * CDDL HEADER END
20205  */
20206 /*
20207  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
20208  * Use is subject to license terms.
20209  */
20210 
20211 
20212 
20213 
20214 #pragma ident "%Z%%M%	%I%	%E% SMI"
20215 
20216 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20217 /*
20218  * CDDL HEADER START
20219  *
20220  * The contents of this file are subject to the terms of the
20221  * Common Development and Distribution License (the "License").
20222  * You may not use this file except in compliance with the License.
20223  *
20224  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20225  * or http://www.opensolaris.org/os/licensing.
20226  * See the License for the specific language governing permissions
20227  * and limitations under the License.
20228  *
20229  * When distributing Covered Code, include this CDDL HEADER in each
20230  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20231  * If applicable, add the following below this CDDL HEADER, with the
20232  * fields enclosed by brackets "[]" replaced with your own identifying
20233  * information: Portions Copyright [yyyy] [name of copyright owner]
20234  *
20235  * CDDL HEADER END
20236  */
20237 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20238 /*	  All Rights Reserved  	*/
20239 
20240 
20241 /*
20242  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20243  * Use is subject to license terms.
20244  *
20245  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20246  * Copyright 2016 Joyent, Inc.
20247  */
20248 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2
20249 
20250 
20251 
20252 
20253 
20254 typedef uint64_t ctevid_t;
20255 
20256 /*
20257  * Contract parameter maximum size, in bytes
20258  */
20259 
20260 
20261 /*
20262  * Common event types
20263  */
20264 
20265 
20266 /*
20267  * Level of status detail requested
20268  */
20269 
20270 
20271 
20272 
20273 /*
20274  * Values for ctev_flags.
20275  */
20276 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h"
20277 typedef enum ctstate {
20278  CTS_OWNED, /* contract is owned by a process */
20279  CTS_INHERITED, /* contract has been inherited by its parent */
20280  CTS_ORPHAN, /* contract has no parent */
20281  CTS_DEAD /* contract has been destroyed */
20282 } ctstate_t;
20283 
20284 typedef enum ct_typeid {
20285  CTT_PROCESS, /* process contract */
20286  CTT_DEVICE, /* device contract */
20287  CTT_MAXTYPE
20288 } ct_typeid_t;
20289 
20290 typedef struct ct_event {
20291  ctid_t ctev_id;
20292  uint32_t ctev_pad1;
20293  ctevid_t ctev_evid;
20294  ct_typeid_t ctev_cttype;
20295  uint32_t ctev_flags;
20296  uint32_t ctev_type;
20297  uint32_t ctev_nbytes;
20298  uint32_t ctev_goffset;
20299  uint32_t ctev_pad2;
20300  char *ctev_buffer;
20301 } ct_event_t;
20302 
20303 typedef struct ct_status {
20304  ctid_t ctst_id;
20305  zoneid_t ctst_zoneid;
20306  ct_typeid_t ctst_type;
20307  pid_t ctst_holder;
20308  ctstate_t ctst_state;
20309  int ctst_nevents;
20310  int ctst_ntime;
20311  int ctst_qtime;
20312  uint64_t ctst_nevid;
20313  uint_t ctst_detail;
20314  size_t ctst_nbytes;
20315  uint_t ctst_critical;
20316  uint_t ctst_informative;
20317  uint64_t ctst_cookie;
20318  char *ctst_buffer;
20319 } ct_status_t;
20320 
20321 typedef struct ct_param {
20322  uint32_t ctpm_id;
20323  uint32_t ctpm_size;
20324  void *ctpm_value;
20325 } ct_param_t;
20326 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2
20327 
20328 
20329 
20330 
20331 
20332 typedef void *ct_stathdl_t;
20333 typedef void *ct_evthdl_t;
20334 
20335 /*
20336  * Common routines
20337  */
20338 extern int ct_tmpl_activate(int);
20339 extern int ct_tmpl_clear(int);
20340 extern int ct_tmpl_create(int, ctid_t *);
20341 extern int ct_tmpl_set_cookie(int, uint64_t);
20342 extern int ct_tmpl_get_cookie(int, uint64_t *);
20343 extern int ct_tmpl_set_critical(int, uint_t);
20344 extern int ct_tmpl_get_critical(int, uint_t *);
20345 extern int ct_tmpl_set_informative(int, uint_t);
20346 extern int ct_tmpl_get_informative(int, uint_t *);
20347 
20348 extern int ct_ctl_adopt(int);
20349 extern int ct_ctl_abandon(int);
20350 extern int ct_ctl_ack(int, ctevid_t);
20351 extern int ct_ctl_nack(int, ctevid_t);
20352 extern int ct_ctl_qack(int, ctevid_t);
20353 extern int ct_ctl_newct(int, ctevid_t, int);
20354 
20355 extern int ct_status_read(int, int, ct_stathdl_t *);
20356 extern void ct_status_free(ct_stathdl_t);
20357 
20358 extern ctid_t ct_status_get_id(ct_stathdl_t);
20359 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t);
20360 extern const char *ct_status_get_type(ct_stathdl_t);
20361 extern id_t ct_status_get_holder(ct_stathdl_t);
20362 extern ctstate_t ct_status_get_state(ct_stathdl_t);
20363 extern int ct_status_get_nevents(ct_stathdl_t);
20364 extern int ct_status_get_ntime(ct_stathdl_t);
20365 extern int ct_status_get_qtime(ct_stathdl_t);
20366 extern ctevid_t ct_status_get_nevid(ct_stathdl_t);
20367 extern uint_t ct_status_get_informative(ct_stathdl_t);
20368 extern uint_t ct_status_get_critical(ct_stathdl_t);
20369 extern uint64_t ct_status_get_cookie(ct_stathdl_t);
20370 
20371 extern int ct_event_read(int, ct_evthdl_t *);
20372 extern int ct_event_read_critical(int, ct_evthdl_t *);
20373 extern int ct_event_reset(int);
20374 extern int ct_event_reliable(int);
20375 extern void ct_event_free(ct_evthdl_t);
20376 
20377 extern uint_t ct_event_get_flags(ct_evthdl_t);
20378 extern ctid_t ct_event_get_ctid(ct_evthdl_t);
20379 extern ctevid_t ct_event_get_evid(ct_evthdl_t);
20380 extern uint_t ct_event_get_type(ct_evthdl_t);
20381 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *);
20382 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *);
20383 
20384 /*
20385  * Process contract routines
20386  */
20387 extern int ct_pr_tmpl_set_transfer(int, ctid_t);
20388 extern int ct_pr_tmpl_set_fatal(int, uint_t);
20389 extern int ct_pr_tmpl_set_param(int, uint_t);
20390 extern int ct_pr_tmpl_set_svc_fmri(int, const char *);
20391 extern int ct_pr_tmpl_set_svc_aux(int, const char *);
20392 
20393 extern int ct_pr_tmpl_get_transfer(int, ctid_t *);
20394 extern int ct_pr_tmpl_get_fatal(int, uint_t *);
20395 extern int ct_pr_tmpl_get_param(int, uint_t *);
20396 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t);
20397 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t);
20398 
20399 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *);
20400 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *);
20401 extern int ct_pr_event_get_signal(ct_evthdl_t, int *);
20402 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *);
20403 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *);
20404 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *);
20405 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **);
20406 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **);
20407 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **);
20408 
20409 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *);
20410 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *);
20411 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *);
20412 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *);
20413 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **);
20414 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **);
20415 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *);
20416 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **);
20417 
20418 /*
20419  * Device contract routines
20420  */
20421 int ct_dev_tmpl_set_minor(int, char *);
20422 int ct_dev_tmpl_set_aset(int, uint_t);
20423 int ct_dev_tmpl_set_noneg(int);
20424 int ct_dev_tmpl_clear_noneg(int);
20425 int ct_dev_tmpl_get_minor(int, char *, size_t *);
20426 int ct_dev_tmpl_get_aset(int, uint_t *);
20427 int ct_dev_tmpl_get_noneg(int, uint_t *);
20428 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *);
20429 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *);
20430 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *);
20431 int ct_dev_status_get_minor(ct_stathdl_t, char **);
20432 # 48 "../common/instzones_lib.h" 2
20433 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1
20434 /*
20435  * CDDL HEADER START
20436  *
20437  * The contents of this file are subject to the terms of the
20438  * Common Development and Distribution License (the "License").
20439  * You may not use this file except in compliance with the License.
20440  *
20441  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20442  * or http://www.opensolaris.org/os/licensing.
20443  * See the License for the specific language governing permissions
20444  * and limitations under the License.
20445  *
20446  * When distributing Covered Code, include this CDDL HEADER in each
20447  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20448  * If applicable, add the following below this CDDL HEADER, with the
20449  * fields enclosed by brackets "[]" replaced with your own identifying
20450  * information: Portions Copyright [yyyy] [name of copyright owner]
20451  *
20452  * CDDL HEADER END
20453  */
20454 
20455 /*
20456  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
20457  */
20458 
20459 
20460 
20461 
20462 
20463 /*
20464  * Module:	instzones_api.h
20465  * Group:	libinstzones
20466  * Description:	This module contains the libinstzones API data structures,
20467  *		constants, and function prototypes.
20468  */
20469 
20470 /*
20471  * required includes
20472  */
20473 
20474 /* System includes */
20475 
20476 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1
20477 /*
20478  * CDDL HEADER START
20479  *
20480  * The contents of this file are subject to the terms of the
20481  * Common Development and Distribution License, Version 1.0 only
20482  * (the "License").  You may not use this file except in compliance
20483  * with the License.
20484  *
20485  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20486  * or http://www.opensolaris.org/os/licensing.
20487  * See the License for the specific language governing permissions
20488  * and limitations under the License.
20489  *
20490  * When distributing Covered Code, include this CDDL HEADER in each
20491  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20492  * If applicable, add the following below this CDDL HEADER, with the
20493  * fields enclosed by brackets "[]" replaced with your own identifying
20494  * information: Portions Copyright [yyyy] [name of copyright owner]
20495  *
20496  * CDDL HEADER END
20497  */
20498 /*	Copyright (c) 1988 AT&T	*/
20499 /*	  All Rights Reserved	*/
20500 
20501 /*
20502  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20503  *
20504  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
20505  * Use is subject to license terms.
20506  */
20507 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20508 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
20509 /*
20510  * CDDL HEADER START
20511  *
20512  * The contents of this file are subject to the terms of the
20513  * Common Development and Distribution License (the "License").
20514  * You may not use this file except in compliance with the License.
20515  *
20516  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20517  * or http://www.opensolaris.org/os/licensing.
20518  * See the License for the specific language governing permissions
20519  * and limitations under the License.
20520  *
20521  * When distributing Covered Code, include this CDDL HEADER in each
20522  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20523  * If applicable, add the following below this CDDL HEADER, with the
20524  * fields enclosed by brackets "[]" replaced with your own identifying
20525  * information: Portions Copyright [yyyy] [name of copyright owner]
20526  *
20527  * CDDL HEADER END
20528  */
20529 
20530 /*
20531  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20532  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
20533  */
20534 
20535 /*	Copyright (c) 1988 AT&T	*/
20536 /*	  All Rights Reserved  	*/
20537 
20538 /*
20539  * User-visible pieces of the ANSI C standard I/O package.
20540  */
20541 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20542 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
20543 /*
20544  * CDDL HEADER START
20545  *
20546  * The contents of this file are subject to the terms of the
20547  * Common Development and Distribution License (the "License").
20548  * You may not use this file except in compliance with the License.
20549  *
20550  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20551  * or http://www.opensolaris.org/os/licensing.
20552  * See the License for the specific language governing permissions
20553  * and limitations under the License.
20554  *
20555  * When distributing Covered Code, include this CDDL HEADER in each
20556  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20557  * If applicable, add the following below this CDDL HEADER, with the
20558  * fields enclosed by brackets "[]" replaced with your own identifying
20559  * information: Portions Copyright [yyyy] [name of copyright owner]
20560  *
20561  * CDDL HEADER END
20562  */
20563 
20564 /*
20565  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20566  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
20567  */
20568 
20569 /*	Copyright (c) 1988 AT&T	*/
20570 /*	  All Rights Reserved  	*/
20571 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1
20573 /*
20574  * CDDL HEADER START
20575  *
20576  * The contents of this file are subject to the terms of the
20577  * Common Development and Distribution License, Version 1.0 only
20578  * (the "License").  You may not use this file except in compliance
20579  * with the License.
20580  *
20581  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20582  * or http://www.opensolaris.org/os/licensing.
20583  * See the License for the specific language governing permissions
20584  * and limitations under the License.
20585  *
20586  * When distributing Covered Code, include this CDDL HEADER in each
20587  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20588  * If applicable, add the following below this CDDL HEADER, with the
20589  * fields enclosed by brackets "[]" replaced with your own identifying
20590  * information: Portions Copyright [yyyy] [name of copyright owner]
20591  *
20592  * CDDL HEADER END
20593  */
20594 /*	Copyright (c) 1988 AT&T	*/
20595 /*	  All Rights Reserved  	*/
20596 
20597 
20598 
20599 
20600 
20601 #pragma ident "%Z%%M%	%I%	%E% SMI"
20602 
20603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1
20604 /*
20605  * CDDL HEADER START
20606  *
20607  * The contents of this file are subject to the terms of the
20608  * Common Development and Distribution License (the "License").
20609  * You may not use this file except in compliance with the License.
20610  *
20611  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20612  * or http://www.opensolaris.org/os/licensing.
20613  * See the License for the specific language governing permissions
20614  * and limitations under the License.
20615  *
20616  * When distributing Covered Code, include this CDDL HEADER in each
20617  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20618  * If applicable, add the following below this CDDL HEADER, with the
20619  * fields enclosed by brackets "[]" replaced with your own identifying
20620  * information: Portions Copyright [yyyy] [name of copyright owner]
20621  *
20622  * CDDL HEADER END
20623  */
20624 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20625 /*	  All Rights Reserved  	*/
20626 
20627 
20628 /*
20629  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20630  *
20631  * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
20632  */
20633 
20634 
20635 
20636 
20637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
20638 /*
20639  * CDDL HEADER START
20640  *
20641  * The contents of this file are subject to the terms of the
20642  * Common Development and Distribution License (the "License").
20643  * You may not use this file except in compliance with the License.
20644  *
20645  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20646  * or http://www.opensolaris.org/os/licensing.
20647  * See the License for the specific language governing permissions
20648  * and limitations under the License.
20649  *
20650  * When distributing Covered Code, include this CDDL HEADER in each
20651  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20652  * If applicable, add the following below this CDDL HEADER, with the
20653  * fields enclosed by brackets "[]" replaced with your own identifying
20654  * information: Portions Copyright [yyyy] [name of copyright owner]
20655  *
20656  * CDDL HEADER END
20657  */
20658 
20659 /*
20660  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
20661  * Copyright 2016 Joyent, Inc.
20662  *
20663  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
20664  * Use is subject to license terms.
20665  */
20666 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20667 
20668 
20669 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1
20670 /*
20671  * CDDL HEADER START
20672  *
20673  * The contents of this file are subject to the terms of the
20674  * Common Development and Distribution License, Version 1.0 only
20675  * (the "License").  You may not use this file except in compliance
20676  * with the License.
20677  *
20678  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20679  * or http://www.opensolaris.org/os/licensing.
20680  * See the License for the specific language governing permissions
20681  * and limitations under the License.
20682  *
20683  * When distributing Covered Code, include this CDDL HEADER in each
20684  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20685  * If applicable, add the following below this CDDL HEADER, with the
20686  * fields enclosed by brackets "[]" replaced with your own identifying
20687  * information: Portions Copyright [yyyy] [name of copyright owner]
20688  *
20689  * CDDL HEADER END
20690  */
20691 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20692 /*	  All Rights Reserved  	*/
20693 
20694 
20695 
20696 
20697 
20698 #pragma ident "%Z%%M%	%I%	%E% SMI"
20699 
20700 
20701 
20702 
20703 
20704 /*
20705  * Terminal definitions related to underlying hardware.
20706  */
20707 
20708 /*
20709  * Speeds
20710  */
20711 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
20713 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20714 /*	  All Rights Reserved  	*/
20715 
20716 
20717 /*
20718  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
20719  * All rights reserved.  The Berkeley software License Agreement
20720  * specifies the terms and conditions for redistribution.
20721  */
20722 
20723 /*
20724  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
20725  *
20726  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20727  * Use is subject to license terms.
20728  *
20729  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20730  */
20731 
20732 /*
20733  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
20734  */
20735 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20736 
20737 
20738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
20739 /*
20740  * CDDL HEADER START
20741  *
20742  * The contents of this file are subject to the terms of the
20743  * Common Development and Distribution License (the "License").
20744  * You may not use this file except in compliance with the License.
20745  *
20746  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20747  * or http://www.opensolaris.org/os/licensing.
20748  * See the License for the specific language governing permissions
20749  * and limitations under the License.
20750  *
20751  * When distributing Covered Code, include this CDDL HEADER in each
20752  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20753  * If applicable, add the following below this CDDL HEADER, with the
20754  * fields enclosed by brackets "[]" replaced with your own identifying
20755  * information: Portions Copyright [yyyy] [name of copyright owner]
20756  *
20757  * CDDL HEADER END
20758  */
20759 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
20760 /*	  All Rights Reserved  	*/
20761 
20762 
20763 /*
20764  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
20765  * Use is subject to license terms.
20766  *
20767  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
20768  * Copyright 2016 Joyent, Inc.
20769  */
20770 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2
20771 
20772 
20773 
20774 
20775 
20776 /*
20777  * _POSIX_VDISABLE has been defined in <sys/termios.h> since the
20778  * introduction of the header. The POSIX standard, IEEE Std.
20779  * 1003.1-1988 also required  the existence of _POSIX_VDISABLE in
20780  * this header. Subsequent versions of the IEEE Standard as well
20781  * as the X/Open specifications required that _POSIX_VDISABLE be
20782  * defined in <unistd.h> while still allowing for it's existence
20783  * here. With the introduction of XPG6, _POSIX_VDISABLE can only
20784  * be defined in <unistd.h>.
20785  */
20786 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20787 /* required by termio.h and VCEOF/VCEOL */
20788 
20789 
20790 
20791 
20792 
20793 /* some defines required by POSIX */
20794 
20795 
20796 /*
20797  * types defined by POSIX. These are better off in types.h, but
20798  * the standard says that they have to be in termios.h.
20799  */
20800 typedef unsigned int tcflag_t;
20801 typedef unsigned char cc_t;
20802 typedef unsigned int speed_t;
20803 
20804 /*
20805  * Ioctl control packet
20806  */
20807 struct termios {
20808  tcflag_t c_iflag; /* input modes */
20809  tcflag_t c_oflag; /* output modes */
20810  tcflag_t c_cflag; /* control modes */
20811  tcflag_t c_lflag; /* line discipline modes */
20812  cc_t c_cc[19]; /* control chars */
20813 };
20814 
20815 /*
20816  * POSIX termios functions
20817  * These functions get mapped into ioctls.
20818  */
20819 
20820 
20821 
20822 extern speed_t cfgetospeed(const struct termios *);
20823 extern int cfsetospeed(struct termios *, speed_t);
20824 extern speed_t cfgetispeed(const struct termios *);
20825 extern int cfsetispeed(struct termios *, speed_t);
20826 extern int tcgetattr(int, struct termios *);
20827 extern int tcsetattr(int, int, const struct termios *);
20828 extern int tcsendbreak(int, int);
20829 extern int tcdrain(int);
20830 extern int tcflush(int, int);
20831 extern int tcflow(int, int);
20832 
20833 
20834 
20835 extern pid_t tcgetsid(int);
20836 
20837 
20838 
20839 
20840 
20841 /* control characters */
20842 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20843 /* 17 through 19 reserved for future use */
20844 
20845 /*
20846  * control characters form Xenix termio.h
20847  */
20848 
20849 
20850 
20851 
20852 
20853 
20854 /* S5 default control chars */
20855 /* CINTR, CERASE and CKILL modified to SunOS traditional values */
20856 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20857 /* input modes */
20858 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20859 /* output modes */
20860 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20861 /* control modes */
20862 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20863 /*
20864  * 4.4BSD hardware flow control flags
20865  */
20866 
20867 
20868 
20869 
20870 
20871 /* line discipline 0 modes */
20872 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20873 /* Slots reserved for 386/XENIX compatibility - keyboard control */
20874 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20875 /*
20876  * Softcarrier ioctls
20877  */
20878 
20879 
20880 
20881 
20882 /* termios ioctls */
20883 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20884 /*
20885  * NTP PPS ioctls
20886  */
20887 
20888 
20889 
20890 
20891 /* Argument filled in by TIOCGPPSEV */
20892 struct ppsclockev {
20893  struct timeval tv;
20894  uint_t serial;
20895 };
20896 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20897 /* termios option flags */
20898 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20899 /* TIOC ioctls for BSD, ptys, job control and modem control */
20900 
20901 
20902 
20903 
20904 
20905 /* Slots for 386/XENIX compatibility */
20906 /* BSD includes these ioctls in ttold.h */
20907 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20908 /*
20909  * BSD ioctls that are not the same as XENIX are included here.
20910  * There are also some relevant ioctls from SUN/BSD sys/ttycom.h
20911  * BSD pty ioctls like TIOCPKT are not supported in SVR4.
20912  */
20913 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20914 /* POSIX job control ioctls */
20915 
20916 
20917 
20918 
20919 
20920 
20921 /* Miscellaneous */
20922 
20923 
20924 /* Modem control */
20925 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20926 /* pseudo-tty */
20927 
20928 
20929 
20930 
20931 
20932 /* Some more 386 xenix stuff */
20933 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20934 /* Slots for 386 compatibility */
20935 
20936 
20937 
20938 
20939 
20940 
20941 
20942 /*
20943  * These are retained for 386/XENIX compatibility.
20944  */
20945 
20946 
20947 
20948 
20949 
20950 /*
20951  * Returns a non-zero value if there
20952  * are characters in the input queue.
20953  *
20954  * XXX - somebody is confused here.  V7 had no such "ioctl", although XENIX may
20955  * have added it; 4BSD had FIONREAD, which returned the number of characters
20956  * waiting, and was supposed to work on all descriptors (i.e., every driver
20957  * should make a stab at implementing it).
20958  */
20959 
20960 
20961 
20962 /*
20963  * Speeds
20964  */
20965 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h"
20966 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */
20967 struct winsize {
20968  unsigned short ws_row; /* rows, in characters */
20969  unsigned short ws_col; /* columns, in character */
20970  unsigned short ws_xpixel; /* horizontal size, pixels */
20971  unsigned short ws_ypixel; /* vertical size, pixels */
20972 };
20973 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2
20974 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
20975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1
20976 /*
20977  * CDDL HEADER START
20978  *
20979  * The contents of this file are subject to the terms of the
20980  * Common Development and Distribution License (the "License").
20981  * You may not use this file except in compliance with the License.
20982  *
20983  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20984  * or http://www.opensolaris.org/os/licensing.
20985  * See the License for the specific language governing permissions
20986  * and limitations under the License.
20987  *
20988  * When distributing Covered Code, include this CDDL HEADER in each
20989  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20990  * If applicable, add the following below this CDDL HEADER, with the
20991  * fields enclosed by brackets "[]" replaced with your own identifying
20992  * information: Portions Copyright [yyyy] [name of copyright owner]
20993  *
20994  * CDDL HEADER END
20995  */
20996 
20997 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */
20998 /*
20999  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21000  *
21001  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21002  * Use is subject to license terms.
21003  * Copyright 2015 Joyent, Inc.  All rights reserved.
21004  */
21005 
21006 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
21007 /*	  All Rights Reserved	*/
21008 
21009 /*
21010  * University Copyright- Copyright (c) 1982, 1986, 1988
21011  * The Regents of the University of California
21012  * All Rights Reserved
21013  *
21014  * University Acknowledgment- Portions of this document are derived from
21015  * software developed by the University of California, Berkeley, and its
21016  * contributors.
21017  */
21018 
21019 
21020 
21021 
21022 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
21023 /*
21024  * CDDL HEADER START
21025  *
21026  * The contents of this file are subject to the terms of the
21027  * Common Development and Distribution License (the "License").
21028  * You may not use this file except in compliance with the License.
21029  *
21030  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21031  * or http://www.opensolaris.org/os/licensing.
21032  * See the License for the specific language governing permissions
21033  * and limitations under the License.
21034  *
21035  * When distributing Covered Code, include this CDDL HEADER in each
21036  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21037  * If applicable, add the following below this CDDL HEADER, with the
21038  * fields enclosed by brackets "[]" replaced with your own identifying
21039  * information: Portions Copyright [yyyy] [name of copyright owner]
21040  *
21041  * CDDL HEADER END
21042  */
21043 
21044 /*
21045  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
21046  * Copyright 2016 Joyent, Inc.
21047  *
21048  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
21049  * Use is subject to license terms.
21050  */
21051 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
21052 
21053 
21054 
21055 
21056 
21057 
21058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21059 /*
21060  * CDDL HEADER START
21061  *
21062  * The contents of this file are subject to the terms of the
21063  * Common Development and Distribution License (the "License").
21064  * You may not use this file except in compliance with the License.
21065  *
21066  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21067  * or http://www.opensolaris.org/os/licensing.
21068  * See the License for the specific language governing permissions
21069  * and limitations under the License.
21070  *
21071  * When distributing Covered Code, include this CDDL HEADER in each
21072  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21073  * If applicable, add the following below this CDDL HEADER, with the
21074  * fields enclosed by brackets "[]" replaced with your own identifying
21075  * information: Portions Copyright [yyyy] [name of copyright owner]
21076  *
21077  * CDDL HEADER END
21078  */
21079 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21080 /*	  All Rights Reserved  	*/
21081 
21082 
21083 /*
21084  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21085  * Use is subject to license terms.
21086  *
21087  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21088  * Copyright 2016 Joyent, Inc.
21089  */
21090 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2
21091 
21092 
21093 /*
21094  * Protections are chosen from these bits, or-ed together.
21095  * Note - not all implementations literally provide all possible
21096  * combinations.  PROT_WRITE is often implemented as (PROT_READ |
21097  * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE).
21098  * However, no implementation will permit a write to succeed
21099  * where PROT_WRITE has not been set.  Also, no implementation will
21100  * allow any access to succeed where prot is specified as PROT_NONE.
21101  */
21102 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21103 /* sharing types:  must choose either SHARED or PRIVATE */
21104 
21105 
21106 
21107 
21108 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */
21109 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21110 /* these flags not yet implemented */
21111 
21112 
21113 
21114 /* these flags are used by memcntl */
21115 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21116 /*
21117  * For the sake of backward object compatibility, we use the _MAP_NEW flag.
21118  * This flag will be automatically or'ed in by the C library for all
21119  * new mmap calls.  Previous binaries with old mmap calls will continue
21120  * to get 0 or -1 for return values.  New mmap calls will get the mapped
21121  * address as the return value if successful and -1 on errors.  By default,
21122  * new mmap calls automatically have the kernel assign the map address
21123  * unless the MAP_FIXED flag is given.
21124  */
21125 
21126 
21127 
21128 
21129 
21130 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */
21131 
21132 
21133 
21134 
21135 
21136 /*
21137  * Values for mr_flags field of mmapobj_result_t below.
21138  * The bottom 16 bits are mutually exclusive and thus only one
21139  * of them can be set at a time.  Use MR_GET_TYPE below to check this value.
21140  * The top 16 bits are used for flags which are not mutually exclusive and
21141  * thus more than one of these flags can be set for a given mmapobj_result_t.
21142  *
21143  * MR_PADDING being set indicates that this memory range represents the user
21144  * requested padding.
21145  *
21146  * MR_HDR_ELF being set indicates that the ELF header of the mapped object
21147  * is mapped at mr_addr + mr_offset.
21148  *
21149  * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped
21150  * object is mapped at mr_addr + mr_offset.
21151  */
21152 
21153 /*
21154  * External flags for mr_flags field below.
21155  */
21156 
21157 
21158 
21159 
21160 /*
21161  * Internal flags for mr_flags field below.
21162  */
21163 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21164 typedef struct mmapobj_result {
21165  caddr_t mr_addr; /* mapping address */
21166  size_t mr_msize; /* mapping size */
21167  size_t mr_fsize; /* file size */
21168  size_t mr_offset; /* offset into file */
21169  uint_t mr_prot; /* the protections provided */
21170  uint_t mr_flags; /* info on the mapping */
21171 } mmapobj_result_t;
21172 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21173 /*
21174  * large file compilation environment setup
21175  *
21176  * In the LP64 compilation environment, map large file interfaces
21177  * back to native versions where possible.
21178  */
21179 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21180 
21181 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21182 #pragma redefine_extname mmap64 mmap
21183 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21184 
21185 
21186 
21187 
21188 
21189 
21190 
21191 
21192 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21193 #pragma redefine_extname getpagesizes getpagesizes2
21194 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21195 
21196 
21197 
21198 
21199 
21200 /*
21201  * Except for old binaries mmap() will return the resultant
21202  * address of mapping on success and (caddr_t)-1 on error.
21203  */
21204 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21205 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t);
21206 extern int munmap(caddr_t, size_t);
21207 extern int mprotect(caddr_t, size_t, int);
21208 extern int msync(caddr_t, size_t, int);
21209 extern int mlock(caddr_t, size_t);
21210 extern int munlock(caddr_t, size_t);
21211 extern int mincore(caddr_t, size_t, char *);
21212 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int);
21213 extern int madvise(caddr_t, size_t, int);
21214 
21215 extern int getpagesizes(size_t *, int);
21216 extern int getpagesizes2(size_t *, int);
21217 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *);
21218 /* guard visibility of uint64_t */
21219 
21220 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *,
21221  uint_t *);
21222 
21223 
21224 /* transitional large file interface version */
21225 
21226 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t);
21227 
21228 
21229 
21230 
21231 extern int mlockall(int);
21232 extern int munlockall(void);
21233 extern int shm_open(const char *, int, mode_t);
21234 extern int shm_unlink(const char *);
21235 
21236 
21237 
21238 extern int posix_madvise(void *, size_t, int);
21239 
21240 
21241 /* mmap failure value */
21242 
21243 
21244 
21245 
21246 
21247 
21248 
21249 /*
21250  * structure for memcntl hat advise operations.
21251  */
21252 struct memcntl_mha {
21253  uint_t mha_cmd; /* command(s) */
21254  uint_t mha_flags;
21255  size_t mha_pagesize;
21256 };
21257 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21258 /*
21259  * advice to madvise
21260  *
21261  * Note, if more than 4 bits worth of advice (eg. 16) are specified then
21262  * changes will be necessary to the struct vpage.
21263  */
21264 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21265 /* advice to posix_madvise */
21266 /* these values must be kept in sync with the MADV_* values, above */
21267 
21268 
21269 
21270 
21271 
21272 
21273 
21274 /* flags to msync */
21275 
21276      /* modified for UNIX98 compliance */
21277 
21278 
21279 
21280 
21281 
21282 /* functions to mctl */
21283 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21284 /* sub-commands for MC_HAT_ADVISE */
21285 
21286 
21287      /* for last bss adjacent to */
21288      /* brk area and brk area itself */
21289 
21290      /* processes main stack */
21291 
21292 
21293 
21294 
21295 /* flags to mlockall */
21296 
21297 
21298 
21299 
21300 
21301 
21302 /* definitions for meminfosys syscall */
21303 
21304 
21305 
21306 
21307 
21308 /* private structure for meminfo */
21309 typedef struct meminfo {
21310  const uint64_t *mi_inaddr; /* array of input addresses */
21311  const uint_t *mi_info_req; /* array of types of info requested */
21312  uint64_t *mi_outdata; /* array of results are placed */
21313  uint_t *mi_validity; /* array of bitwise result codes */
21314  int mi_info_count; /* number of pieces of info requested */
21315 } meminfo_t;
21316 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21317 /*
21318  * info_req request type definitions for meminfo
21319  * request types starting with MEMINFO_V are used for Virtual addresses
21320  * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical
21321  * addresses
21322  */
21323 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h"
21324 /* maximum number of addresses meminfo() can process at a time */
21325 
21326 
21327 /* maximum number of request types */
21328 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21329 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
21330 /*
21331  * CDDL HEADER START
21332  *
21333  * The contents of this file are subject to the terms of the
21334  * Common Development and Distribution License (the "License").
21335  * You may not use this file except in compliance with the License.
21336  *
21337  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21338  * or http://www.opensolaris.org/os/licensing.
21339  * See the License for the specific language governing permissions
21340  * and limitations under the License.
21341  *
21342  * When distributing Covered Code, include this CDDL HEADER in each
21343  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21344  * If applicable, add the following below this CDDL HEADER, with the
21345  * fields enclosed by brackets "[]" replaced with your own identifying
21346  * information: Portions Copyright [yyyy] [name of copyright owner]
21347  *
21348  * CDDL HEADER END
21349  */
21350 
21351 /*
21352  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
21353  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
21354  */
21355 
21356 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
21357 /*	  All Rights Reserved  	*/
21358 
21359 /*
21360  * University Copyright- Copyright (c) 1982, 1986, 1988
21361  * The Regents of the University of California
21362  * All Rights Reserved
21363  *
21364  * University Acknowledgment- Portions of this document are derived from
21365  * software developed by the University of California, Berkeley, and its
21366  * contributors.
21367  */
21368 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21369 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
21370 /*
21371  * CDDL HEADER START
21372  *
21373  * The contents of this file are subject to the terms of the
21374  * Common Development and Distribution License (the "License").
21375  * You may not use this file except in compliance with the License.
21376  *
21377  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21378  * or http://www.opensolaris.org/os/licensing.
21379  * See the License for the specific language governing permissions
21380  * and limitations under the License.
21381  *
21382  * When distributing Covered Code, include this CDDL HEADER in each
21383  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21384  * If applicable, add the following below this CDDL HEADER, with the
21385  * fields enclosed by brackets "[]" replaced with your own identifying
21386  * information: Portions Copyright [yyyy] [name of copyright owner]
21387  *
21388  * CDDL HEADER END
21389  */
21390 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21391 /*	  All Rights Reserved  	*/
21392 
21393 
21394 /*
21395  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
21396  * Use is subject to license terms.
21397  *
21398  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
21399  * Copyright 2016 Joyent, Inc.
21400  */
21401 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21402 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1
21403 /*
21404  * CDDL HEADER START
21405  *
21406  * The contents of this file are subject to the terms of the
21407  * Common Development and Distribution License, Version 1.0 only
21408  * (the "License").  You may not use this file except in compliance
21409  * with the License.
21410  *
21411  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21412  * or http://www.opensolaris.org/os/licensing.
21413  * See the License for the specific language governing permissions
21414  * and limitations under the License.
21415  *
21416  * When distributing Covered Code, include this CDDL HEADER in each
21417  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21418  * If applicable, add the following below this CDDL HEADER, with the
21419  * fields enclosed by brackets "[]" replaced with your own identifying
21420  * information: Portions Copyright [yyyy] [name of copyright owner]
21421  *
21422  * CDDL HEADER END
21423  */
21424 /*
21425  * Copyright 1991 Sun Microsystems, Inc.  All rights reserved.
21426  * Use is subject to license terms.
21427  */
21428 
21429 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
21430 /*	  All Rights Reserved  	*/
21431 
21432 
21433 
21434 
21435 #pragma ident "%Z%%M%	%I%	%E% SMI"
21436 
21437 
21438 
21439 
21440 
21441 /*
21442  *	There are some inherent problems in having a single file
21443  *	ioctl.h, with both System V and BSD flags. Introducing
21444  *	BSD flags into this file creates compilation problems
21445  *	with flags such as ECHO, NL1 etc., if termio.h and ioctl.h
21446  *	are included by the same file. Since these two files can
21447  *	be only included by System V applications, /usr/inclule/sys/ioctl.h
21448  *	will be System V mode and all the BSD flags will be turned off
21449  *	using #ifdef BSD_COMP. This file will also exist in
21450  *	/usr/ucbinclude/sys/ioctl.h for BSD applications but without the
21451  *	BSD flags turned off. System V appliactions can use ioctl.h without
21452  *	any changes, System V applications requiring BSD flags should
21453  *	-D BSD_COMP when compiling (and be warned about the common
21454  *	flags between System V and BSD) and BSD applications should
21455  *	use /usr/ucbinclude/sys/ioctl.h.
21456  *
21457  */
21458 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h"
21459 /* BSD related defines */
21460 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21461 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1
21462 /*
21463  * CDDL HEADER START
21464  *
21465  * The contents of this file are subject to the terms of the
21466  * Common Development and Distribution License (the "License").
21467  * You may not use this file except in compliance with the License.
21468  *
21469  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21470  * or http://www.opensolaris.org/os/licensing.
21471  * See the License for the specific language governing permissions
21472  * and limitations under the License.
21473  *
21474  * When distributing Covered Code, include this CDDL HEADER in each
21475  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21476  * If applicable, add the following below this CDDL HEADER, with the
21477  * fields enclosed by brackets "[]" replaced with your own identifying
21478  * information: Portions Copyright [yyyy] [name of copyright owner]
21479  *
21480  * CDDL HEADER END
21481  */
21482 
21483 /*
21484  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
21485  */
21486 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2
21487 
21488 /*
21489  * C++ prefix
21490  */
21491 
21492 
21493 
21494 
21495 
21496 
21497 /* function prototypes */
21498 
21499 /* PRINTFLIKE1 */
21500 typedef void (*_z_printf_fcn_t)(char *a_format, ...);
21501 
21502 /* zone list structure */
21503 
21504 typedef struct _zoneListElement_t *zoneList_t;
21505 
21506 /* zone brand list structure */
21507 
21508 typedef struct _zoneBrandList zoneBrandList_t;
21509 
21510 /* flag for zone locking functions */
21511 
21512 typedef unsigned long ZLOCKS_T;
21513 
21514 /* flags for zone locking */
21515 
21516 
21517 
21518 
21519 
21520 
21521 /*
21522  * external function definitions
21523  */
21524 
21525 /* zones.c */
21526 
21527 extern boolean_t z_zones_are_implemented(void);
21528 extern void z_set_zone_root(const char *zroot);
21529 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList,
21530     int a_zoneIndex);
21531 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList,
21532     int a_zoneIndex);
21533 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList,
21534     int a_zoneIndex, zone_state_t a_newState);
21535 extern char *z_get_zonename(void);
21536 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList,
21537     int a_zoneIndex);
21538 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList,
21539     int a_zoneIndex);
21540 extern int z_zoneExecCmdArray(int *r_status, char **r_results,
21541     char *a_inputFile, char *a_path, char *a_argv[],
21542     const char *a_zoneName, int *a_fds);
21543 extern int z_zone_exec(const char *zonename, const char *path,
21544     char *argv[], char *a_stdoutPath,
21545     char *a_stderrPath, int *a_fds);
21546 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename,
21547     char *a_userAdminFilename);
21548 extern void z_free_zone_list(zoneList_t a_zoneList);
21549 extern zoneList_t z_get_nonglobal_zone_list(void);
21550 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *);
21551 extern void z_free_brand_list(zoneBrandList_t *a_brandList);
21552 extern zoneBrandList_t *z_make_brand_list(const char *brandList,
21553     const char *delim);
21554 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
21555 extern boolean_t z_non_global_zones_exist(void);
21556 extern boolean_t z_running_in_global_zone(void);
21557 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn,
21558     _z_printf_fcn_t a_echo_debug_fcn,
21559     _z_printf_fcn_t a_progerr_fcn);
21560 extern int z_set_zone_spec(const char *zlist);
21561 extern int z_verify_zone_spec(void);
21562 extern boolean_t z_on_zone_spec(const char *zonename);
21563 extern boolean_t z_global_only(void);
21564 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags);
21565 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags);
21566 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags);
21567 extern char *z_zlist_get_zonename(zoneList_t a_zoneList,
21568     int a_zoneId);
21569 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList,
21570     int a_zoneId);
21571 extern char *z_zlist_get_scratch(zoneList_t a_zoneList,
21572     int a_zoneId);
21573 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint);
21574 extern boolean_t z_mount_in_lz(char **r_lzMountPoint,
21575     char **r_lzRootPath,
21576     char *a_zoneName, char *a_gzPath,
21577     char *a_mountPointPrefix);
21578 extern boolean_t z_is_zone_branded(char *zoneName);
21579 extern boolean_t z_is_zone_brand_in_list(char *zoneName,
21580        zoneBrandList_t *brands);
21581 extern boolean_t z_zones_are_implemented(void);
21582 
21583 /* zones_exec.c */
21584 extern int z_ExecCmdArray(int *r_status, char **r_results,
21585     char *a_inputFile, char *a_cmd, char **a_args);
21586 /*VARARGS*/
21587 extern int z_ExecCmdList(int *r_status, char **r_results,
21588     char *a_inputFile, char *a_cmd, ...);
21589 
21590 /* zones_paths.c */
21591 extern char *z_make_zone_root(char *);
21592 extern void z_path_canonize(char *file);
21593 extern void z_canoninplace(char *file);
21594 
21595 /* zones_lofs.c */
21596 extern void z_destroyMountTable(void);
21597 extern int z_createMountTable(void);
21598 extern int z_isPathWritable(const char *);
21599 extern void z_resolve_lofs(char *path, size_t);
21600 
21601 /* zones_states.c */
21602 extern int UmountAllZones(char *mntpnt);
21603 
21604 /*
21605  * C++ postfix
21606  */
21607 # 49 "../common/instzones_lib.h" 2
21608 
21609 
21610 
21611 /*
21612  * C++ prefix
21613  */
21614 
21615 
21616 
21617 
21618 
21619 /* constants */
21620 
21621 
21622 /* macros */
21623 
21624 /*
21625  * argument array processing type
21626  */
21627 
21628 /*
21629  * This is the "argument array" definition that is returned by _z_new_args
21630  * and is used by _z_add_args, _z_free_args, etc.
21631  */
21632 
21633 struct _argArray_t {
21634  long _aaNumArgs; /* number of arguments set */
21635  long _aaMaxArgs; /* number of arguments allocated */
21636  char **_aaArgs; /* actual arguments */
21637 };
21638 
21639 typedef struct _argArray_t argArray_t;
21640 
21641 /*
21642  * lock objects
21643  */
21644 
21645 /*
21646  * this allows a root path to be prepended to a lock object; e.g.
21647  *   rootpath.%s/zone.%s/...
21648  */
21649 
21650 
21651 /* this locks a single zone (zone.name) */
21652 
21653 
21654 /* this locks all zones */
21655 
21656 
21657 /* this locks all packages, in all zones */
21658 
21659 
21660 
21661 
21662 
21663 /* paths to commands executed by this module */
21664 
21665 
21666 
21667 
21668 /* max message size for program output functions (echo, echo debug, progerr) */
21669 
21670 
21671 
21672 /* maximum number of retries when waiting for lock */
21673 
21674 
21675 
21676 /* delay (in seconds) between retries when waiting for lock */
21677 
21678 
21679 
21680 /* Size of buffer increments when reading from pipe */
21681 
21682 
21683 
21684 /* Maximum number of arguments to pkg_ExecCmdList */
21685 
21686 
21687 
21688 /*
21689  * These dynamic libraries are required in order to use the zones
21690  * functionality - if these libraries are not available at runtime,
21691  * then zones are assumed to NOT be available, and it is assumed that
21692  * the program is running in the global zone with no non-global zones.
21693  */
21694 # 147 "../common/instzones_lib.h"
21695 /*
21696  * Environment values used when running commands within a non-global zone
21697  */
21698 
21699 /* SHELL= */
21700 
21701 
21702 
21703 /* PATH= */
21704 
21705 
21706 
21707 /* error codes */
21708 
21709 
21710 /*
21711  * zone brand list structure
21712  */
21713 
21714 struct _zoneBrandList {
21715  char *string_ptr;
21716  struct _zoneBrandList *next;
21717 };
21718 
21719 /*
21720  * zone status structure - used to retrieve and hold status of zones
21721  */
21722 
21723 typedef unsigned long _zone_status_t;
21724 
21725 struct _zoneListElement_t {
21726  char *_zlName;
21727  char *_zlPath;
21728  char *_zlScratchName;
21729  char *_zlLockObjects;
21730  /*
21731 	 * the install "state" refers to the zone states listed in
21732 	 * /usr/include/libzonecfg.h that is stored in the zone_state_t
21733 	 * structure and returned from getzoneent_private() - such as:
21734 	 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE,
21735 	 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED,
21736 	 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN.
21737 	 */
21738  zone_state_t _zlOrigInstallState;
21739  zone_state_t _zlCurrInstallState;
21740  /*
21741 	 * the kernel "status" refers to the zone status listed in
21742 	 * /usr/include/sys/zone.h, returned by zone_get_state(),
21743 	 * and defined in the zone_status_t enum - such as:
21744 	 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING,
21745 	 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY,
21746 	 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD.
21747 	 */
21748  zone_status_t _zlOrigKernelStatus;
21749  zone_status_t _zlCurrKernelStatus;
21750  /*
21751 	 * this is an internal state recorded about the zone (ZSF_xxx).
21752 	 */
21753  _zone_status_t _zlStatus;
21754 };
21755 
21756 typedef struct _zoneListElement_t zoneListElement_t;
21757 
21758 /* bits used in the _zoneListElement _zlStatus variable */
21759 
21760 
21761 
21762 
21763 /*
21764  * User-specified list of zones.
21765  */
21766 
21767 typedef struct zone_spec_s {
21768  struct zone_spec_s *zl_next;
21769  boolean_t zl_used;
21770  char zl_name[64];
21771 } zone_spec_t;
21772 
21773 /*
21774  * The global data structure used to hold all of the global (extern) data
21775  * used by this library.
21776  *
21777  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <--
21778  * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <--
21779  */
21780 
21781 struct _z_global_data_t {
21782  char *_z_ObjectLocks; /* object locks held */
21783  char *_z_root_dir; /* root for zone lib fctns */
21784  int _z_SigReceived; /* received signal count */
21785  pid_t _z_ChildProcessId; /* child to propagate sigs to */
21786  zone_spec_t *_zone_spec; /* zones to operate on */
21787  _z_printf_fcn_t _z_echo; /* operational message fcn */
21788  _z_printf_fcn_t _z_echo_debug; /* debug message fcn */
21789  _z_printf_fcn_t _z_progerr; /* program error fcn */
21790 };
21791 
21792 typedef struct _z_global_data_t z_global_data_t;
21793 
21794 /*
21795  * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined,
21796  * instzones_lib.h will define the z_global_data structure.
21797  * Otherwise an extern to the structure is inserted.
21798  *
21799  * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <--
21800  * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <--
21801  */
21802 # 272 "../common/instzones_lib.h"
21803 /* define structure extern */
21804 
21805 extern z_global_data_t _z_global_data;
21806 
21807 
21808 
21809 /* function prototypes */
21810 
21811 /*
21812  *  The following functions can be used by other libs, but not
21813  *  by applications.
21814  */
21815 
21816 /* ---> zones_states.c */
21817 
21818 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem);
21819 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem);
21820 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem);
21821 int UmountAllZones(char *mntpnt);
21822 void *_z_calloc(size_t size);
21823 void *_z_malloc(size_t size);
21824 void *_z_realloc(void *ptr, size_t size);
21825 void *_z_strdup(char *str);
21826 
21827 /* ---> zones_utils.c */
21828 
21829 /*PRINTFLIKE1*/
21830 void _z_program_error(char *fmt, ...);
21831 /*PRINTFLIKE1*/
21832 void _z_echo(char *fmt, ...);
21833 /*PRINTFLIKE1*/
21834 void _z_echoDebug(char *a_fmt, ...);
21835 int _z_is_directory(char *path);
21836 boolean_t _z_running_in_global_zone(void);
21837 boolean_t _z_zones_are_implemented(void);
21838 void _z_sig_trap(int a_signo);
21839 int _z_close_file_descriptors(void *a_fds, int a_fd);
21840 boolean_t _z_brands_are_implemented(void);
21841 
21842 
21843 /* ---> zones_locks.c */
21844 
21845 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result,
21846    char *a_lockObject);
21847 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName,
21848    char *a_lock, pid_t a_pid, boolean_t a_wait);
21849 boolean_t _z_lock_zone(zoneListElement_t *a_zlst,
21850    ZLOCKS_T a_lflags);
21851 boolean_t _z_lock_zone_object(char **r_objectLocks,
21852    char *a_zoneName, char *a_lockObject,
21853    pid_t a_pid, char *a_waitingMsg,
21854    char *a_busyMsg);
21855 boolean_t _z_release_lock(char *a_zoneName, char *a_lock,
21856    char *a_key, boolean_t a_wait);
21857 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst,
21858    ZLOCKS_T a_lflags);
21859 boolean_t _z_unlock_zone_object(char **r_objectLocks,
21860    char *a_zoneName, char *a_lockObject,
21861    char *a_errMsg);
21862 
21863 /* ---> zones_args.c */
21864 
21865 void _z_free_args(argArray_t *a_args);
21866 argArray_t *_z_new_args(int initialCount);
21867 /*PRINTFLIKE2*/
21868 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...);
21869 int _z_get_argc(argArray_t *a_args);
21870 char **_z_get_argv(argArray_t *a_args);
21871 
21872 /* ---> zones_str.c */
21873 
21874 boolean_t _z_strContainsToken(char *a_string, char *a_token,
21875    char *a_separators);
21876 char *_z_strGetToken(char *r_sep, char *a_string,
21877    int a_index, char *a_separators);
21878 void _z_strRemoveLeadingWhitespace(char **a_str);
21879 void _z_strGetToken_r(char *r_sep, char *a_string,
21880    int a_index, char *a_separators, char *a_buf,
21881    int a_bufLen);
21882 void _z_strAddToken(char **a_old, char *a_new,
21883    char a_separator);
21884 void _z_strRemoveToken(char **r_string, char *a_token,
21885    char *a_separators, int a_index);
21886 /*PRINTFLIKE3*/
21887 void _z_strPrintf_r(char *a_buf, int a_bufLen,
21888    char *a_format, ...);
21889 /*PRINTFLIKE1*/
21890 char *_z_strPrintf(char *a_format, ...);
21891 
21892 /* ---> zones_exec.c */
21893 
21894 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile,
21895    char *a_path, char *a_argv[], const char *a_zoneName,
21896    int *a_fds);
21897 int _zexec(const char *a_zoneName,
21898    const char *path, char *argv[]);
21899 char *_zexec_add_env(char *name, char *value);
21900 int _zexec_init_template(void);
21901 char **_zexec_prep_env();
21902 
21903 /*
21904  * C++ postfix
21905  */
21906 # 69 "../common/zones_args.c" 2
21907 # 1 "../common/zones_strings.h" 1
21908 /*
21909  * CDDL HEADER START
21910  *
21911  * The contents of this file are subject to the terms of the
21912  * Common Development and Distribution License (the "License").
21913  * You may not use this file except in compliance with the License.
21914  *
21915  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21916  * or http://www.opensolaris.org/os/licensing.
21917  * See the License for the specific language governing permissions
21918  * and limitations under the License.
21919  *
21920  * When distributing Covered Code, include this CDDL HEADER in each
21921  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21922  * If applicable, add the following below this CDDL HEADER, with the
21923  * fields enclosed by brackets "[]" replaced with your own identifying
21924  * information: Portions Copyright [yyyy] [name of copyright owner]
21925  *
21926  * CDDL HEADER END
21927  */
21928 /*
21929  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
21930  */
21931 
21932 
21933 
21934 
21935 
21936 
21937 
21938 /*
21939  * Module:	zones_strings.h
21940  * Group:	libinstzones
21941  * Description:	This header contains strings used in libinstzones
21942  *		library modules.
21943  */
21944 
21945 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
21946 /*
21947  * CDDL HEADER START
21948  *
21949  * The contents of this file are subject to the terms of the
21950  * Common Development and Distribution License (the "License").
21951  * You may not use this file except in compliance with the License.
21952  *
21953  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
21954  * or http://www.opensolaris.org/os/licensing.
21955  * See the License for the specific language governing permissions
21956  * and limitations under the License.
21957  *
21958  * When distributing Covered Code, include this CDDL HEADER in each
21959  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21960  * If applicable, add the following below this CDDL HEADER, with the
21961  * fields enclosed by brackets "[]" replaced with your own identifying
21962  * information: Portions Copyright [yyyy] [name of copyright owner]
21963  *
21964  * CDDL HEADER END
21965  */
21966 /*
21967  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
21968  *
21969  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
21970  * Use is subject to license terms.
21971  */
21972 # 39 "../common/zones_strings.h" 2
21973 
21974 /*
21975  * C++ prefix
21976  */
21977 
21978 
21979 
21980 
21981 
21982 /* constants */
21983 # 58 "../common/zones_strings.h"
21984 /*
21985  * message strings
21986  */
21987 
21988 /* BEGIN CSTYLED */
21989 
21990 /*
21991  * I18N: these messages are debugging message and are only displayed
21992  * when special debugging output has been enabled - these messages
21993  * will never be displayed during normal product usage
21994  */
21995 # 121 "../common/zones_strings.h"
21996 /*
21997  * I18N: these messages are error messages that can be displayed
21998  * during the normal usage of the products
21999  */
22000 # 189 "../common/zones_strings.h"
22001 /*
22002  * I18N: these are messages that can be displayed during the normal
22003  * usage of the products
22004  */
22005 
22006 
22007 
22008 
22009 
22010 
22011 
22012 /*
22013  * I18N: these messages are warning messages that can be displayed
22014  * during the normal usage of the products
22015  */
22016 
22017 
22018 
22019 
22020 /* END CSTYLED */
22021 
22022 /*
22023  * C++ postfix
22024  */
22025 # 70 "../common/zones_args.c" 2
22026 
22027 /*
22028  * Private structures
22029  */
22030 
22031 /*
22032  * Library Function Prototypes
22033  */
22034 
22035 /*
22036  * Local Function Prototypes
22037  */
22038 
22039 /*
22040  * Global internal (private) declarations
22041  */
22042 
22043 /*
22044  * *****************************************************************************
22045  * global external (public) functions
22046  * *****************************************************************************
22047  */
22048 
22049 /*
22050  * Name:	_z_add_arg
22051  * Description:	add new argument to argument array for use in exec() calls
22052  * Arguments:	a_args - [RO, *RW] - (argArray_t *)
22053  *			Pointer to argument array (previously allocated via
22054  *			a call to _z_new_args) to add the argument to
22055  *		a_format - [RO, *RO] - (char *)
22056  *			Pointer to "printf(3C)" style format argument
22057  *		... - [RO, *RO] - (varies)
22058  *			Arguments as appropriate for format argument specified
22059  * Returns:	boolean_t
22060  *			B_TRUE - success
22061  *			B_FALSE - failure
22062  * Examples:
22063  * - to add an argument that specifies a file descriptor:
22064  *	int fd;
22065  *	_z_add_arg(aa, "/proc/self/fd/%d", fd);
22066  * - to add a flag or other known text:
22067  *	_z_add_arg(aa, "-s")
22068  * - to add random text:
22069  *	char *random_text;
22070  *	_z_add_arg(aa, "%s", random_text);
22071  */
22072 
22073 /*PRINTFLIKE2*/
22074 boolean_t
22075 _z_add_arg(argArray_t *a_args, char *a_format, ...)
22076 {
22077  char *rstr = 0L;
22078  char bfr[256];
22079  size_t vres = 0;
22080  va_list ap;
22081 
22082  /* entry assertions */
22083 
22084  (void)((a_args != 0L) || (__assert("a_args != NULL", "../common/zones_args.c", 128), 0));
22085  (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_args.c", 129), 0));
22086  (void)((*a_format != '\0') || (__assert("*a_format != '\\0'", "../common/zones_args.c", 130), 0));
22087 
22088  /*
22089 	 * double argument array if array is full
22090 	 */
22091 
22092  if (a_args->_aaNumArgs >= a_args->_aaMaxArgs) {
22093   int newMax;
22094   char **newArgs;
22095 
22096   newMax = a_args->_aaMaxArgs * 2;
22097   newArgs = (char **)_z_realloc(a_args->_aaArgs,
22098       (newMax+1) * sizeof (char *));
22099   a_args->_aaArgs = newArgs;
22100   a_args->_aaMaxArgs = newMax;
22101  }
22102 
22103  /*
22104 	 * determine size of argument to add to list
22105 	 */
22106 
22107  __builtin_va_start(ap, a_format);
22108  vres = vsnprintf(bfr, sizeof (bfr), a_format, ap);
22109  __builtin_va_end(ap);
22110 
22111  /*
22112 	 * use the expanded argument if it will fit in the built in buffer,
22113 	 * otherwise, allocate space to hold the argument
22114 	 */
22115 
22116  if (vres < sizeof (bfr)) {
22117   /* duplicate text already generated in buffer */
22118   rstr = _z_strdup(bfr);
22119  } else {
22120   /* allocate new space for argument to add */
22121 
22122   rstr = (char *)_z_malloc(vres+2);
22123 
22124   /* generate argument to add */
22125 
22126   __builtin_va_start(ap, a_format);
22127   vres = vsnprintf(rstr, vres+1, a_format, ap);
22128   __builtin_va_end(ap);
22129  }
22130 
22131  /* add argument to the end of the argument array */
22132 
22133  a_args->_aaArgs[a_args->_aaNumArgs++] = rstr;
22134  a_args->_aaArgs[a_args->_aaNumArgs] = 0L;
22135 
22136  /* successful - return */
22137 
22138  return (B_TRUE);
22139 }
22140 
22141 /*
22142  * Name:	_z_free_args
22143  * Description:	free all storage contained in an argument array previously
22144  *		allocated by a call to _z_new_args
22145  * Arguments:	a_args - [RO, *RW] - (argArray_t *)
22146  *			Pointer to argument array (previously allocated via
22147  *			a call to _z_new_args) to free
22148  * Returns:	void
22149  * NOTE:	preserves errno (usually called right after e_execCmd*())
22150  */
22151 
22152 void
22153 _z_free_args(argArray_t *a_args)
22154 {
22155  int i;
22156  int lerrno = (*(___errno()));
22157 
22158  /* entry assertions */
22159 
22160  (void)((a_args != 0L) || (__assert("a_args != NULL", "../common/zones_args.c", 204), 0));
22161  (void)((a_args->_aaArgs != 0L) || (__assert("a_args->_aaArgs != NULL", "../common/zones_args.c", 205), 0));
22162 
22163  /* free all arguments in the argument array */
22164 
22165  for (i = (a_args->_aaNumArgs-1); i >= 0; i--) {
22166   (void)((a_args->_aaArgs[i] != 0L) || (__assert("a_args->_aaArgs[i] != NULL", "../common/zones_args.c", 210), 0));
22167   (void) free(a_args->_aaArgs[i]);
22168  }
22169 
22170  /* free argument array */
22171 
22172  (void) free(a_args->_aaArgs);
22173 
22174  /* free argument array structure */
22175 
22176  (void) free(a_args);
22177 
22178  /* restore errno */
22179 
22180  (*(___errno())) = lerrno;
22181 }
22182 
22183 /*
22184  * Name:	_z_get_argc
22185  * Description:	return (int) argc count from argument array
22186  * Arguments:	a_args - [RO, *RW] - (argArray_t *)
22187  *			Pointer to argument array (previously allocated via
22188  *			a call to _z_new_args) to return argc count for
22189  * Returns:	int
22190  *			Count of the number of arguments in the argument array
22191  *			suitable for use in an exec*() call
22192  */
22193 
22194 int
22195 _z_get_argc(argArray_t *a_args)
22196 {
22197  return (a_args->_aaNumArgs);
22198 }
22199 
22200 /*
22201  * Name:	_z_get_argv
22202  * Description:	return (char **)argv pointer from argument array
22203  * Arguments:	a_args - [RO, *RW] - (argArray_t *)
22204  *			Pointer to argument array (previously allocated via
22205  *			a call to _z_new_args) to return argv pointer for
22206  * Returns:	char **
22207  *			Pointer to (char **)argv pointer suitable for use
22208  *			in an exec*() call
22209  * NOTE: the actual character array is always terminated with a NULL
22210  */
22211 
22212 char **
22213 _z_get_argv(argArray_t *a_args)
22214 {
22215  return (a_args->_aaArgs);
22216 }
22217 
22218 /*
22219  * Name:	_z_new_args
22220  * Description:	create a new argument array for use in exec() calls
22221  * Arguments:	initialCount - [RO, *RO] - (int)
22222  *			Initial number of elements to populate the
22223  *			argument array with - use best guess
22224  * Returns:	argArray_t *
22225  *			Pointer to argument array that can be used in other
22226  *			functions that accept it as an argument
22227  *			== (argArray_t *)NULL - error
22228  * NOTE: you must call _z_free_args() when the returned argument array is
22229  * no longer needed so that all storage used can be freed up.
22230  */
22231 
22232 argArray_t *
22233 _z_new_args(int initialCount)
22234 {
22235  argArray_t *aa;
22236 
22237  /* entry assertions */
22238 
22239  (void)((initialCount >= 0) || (__assert("initialCount >= 0", "../common/zones_args.c", 283), 0));
22240 
22241  /* if no guess on size, then assume 1 */
22242 
22243  if (initialCount == 0) {
22244   initialCount = 1;
22245  }
22246 
22247  /* allocate new argument array structure */
22248 
22249  aa = (argArray_t *)_z_calloc(sizeof (argArray_t));
22250 
22251  /* allocate initial argument array */
22252 
22253  aa->_aaArgs = (char **)_z_calloc((initialCount+1) * sizeof (char *));
22254 
22255  /* initialize argument indexes */
22256 
22257  aa->_aaNumArgs = 0;
22258  aa->_aaMaxArgs = initialCount;
22259 
22260  /* successful - return pointer to argument array created */
22261 
22262  return (aa);
22263 }
22264