1 # 1 "../common/handlelocalfs.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "../common/handlelocalfs.c"
5 /*
6  *
7  * CDDL HEADER START
8  *
9  * The contents of this file are subject to the terms of the
10  * Common Development and Distribution License (the "License").
11  * You may not use this file except in compliance with the License.
12  *
13  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14  * or http://www.opensolaris.org/os/licensing.
15  * See the License for the specific language governing permissions
16  * and limitations under the License.
17  *
18  * When distributing Covered Code, include this CDDL HEADER in each
19  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20  * If applicable, add the following below this CDDL HEADER, with the
21  * fields enclosed by brackets "[]" replaced with your own identifying
22  * information: Portions Copyright [yyyy] [name of copyright owner]
23  *
24  * CDDL HEADER END
25  *
26  */
27 
28 /*
29  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
30  * Use is subject to license terms.
31  *
32 */
33 
34 
35 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
36 /*
37  * CDDL HEADER START
38  *
39  * The contents of this file are subject to the terms of the
40  * Common Development and Distribution License (the "License").
41  * You may not use this file except in compliance with the License.
42  *
43  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
44  * or http://www.opensolaris.org/os/licensing.
45  * See the License for the specific language governing permissions
46  * and limitations under the License.
47  *
48  * When distributing Covered Code, include this CDDL HEADER in each
49  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
50  * If applicable, add the following below this CDDL HEADER, with the
51  * fields enclosed by brackets "[]" replaced with your own identifying
52  * information: Portions Copyright [yyyy] [name of copyright owner]
53  *
54  * CDDL HEADER END
55  */
56 
57 /*
58  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
59  * Copyright (c) 2013 Gary Mills
60  *
61  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
62  */
63 
64 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
65 
66 /*	Copyright (c) 1988 AT&T	*/
67 /*	  All Rights Reserved  	*/
68 
69 
70 
71 
72 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1
73 /*
74  * CDDL HEADER START
75  *
76  * The contents of this file are subject to the terms of the
77  * Common Development and Distribution License, Version 1.0 only
78  * (the "License").  You may not use this file except in compliance
79  * with the License.
80  *
81  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
82  * or http://www.opensolaris.org/os/licensing.
83  * See the License for the specific language governing permissions
84  * and limitations under the License.
85  *
86  * When distributing Covered Code, include this CDDL HEADER in each
87  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
88  * If applicable, add the following below this CDDL HEADER, with the
89  * fields enclosed by brackets "[]" replaced with your own identifying
90  * information: Portions Copyright [yyyy] [name of copyright owner]
91  *
92  * CDDL HEADER END
93  */
94 /*
95  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
96  * Copyright 2014 PALO, Richard.
97  *
98  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
99  * Use is subject to license terms.
100  */
101 
102 /*	Copyright (c) 1988 AT&T	*/
103 /*	  All Rights Reserved  	*/
104 
105 
106 /*
107  * An application should not include this header directly.  Instead it
108  * should be included only through the inclusion of other Sun headers.
109  *
110  * The contents of this header is limited to identifiers specified in the
111  * C Standard.  Any new identifiers specified in future amendments to the
112  * C Standard must be placed in this header.  If these new identifiers
113  * are required to also be in the C++ Standard "std" namespace, then for
114  * anything other than macro definitions, corresponding "using" directives
115  * must also be added to <locale.h>.
116  */
117 
118 
119 
120 
121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.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 (the "License").
127  * You may not use this file except in compliance with the License.
128  *
129  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
130  * or http://www.opensolaris.org/os/licensing.
131  * See the License for the specific language governing permissions
132  * and limitations under the License.
133  *
134  * When distributing Covered Code, include this CDDL HEADER in each
135  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
136  * If applicable, add the following below this CDDL HEADER, with the
137  * fields enclosed by brackets "[]" replaced with your own identifying
138  * information: Portions Copyright [yyyy] [name of copyright owner]
139  *
140  * CDDL HEADER END
141  */
142 
143 /*
144  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
145  * Copyright 2016 Joyent, Inc.
146  *
147  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
148  * Use is subject to license terms.
149  */
150 
151 
152 
153 
154 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1
155 /*
156  * CDDL HEADER START
157  *
158  * The contents of this file are subject to the terms of the
159  * Common Development and Distribution License, Version 1.0 only
160  * (the "License").  You may not use this file except in compliance
161  * with the License.
162  *
163  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
164  * or http://www.opensolaris.org/os/licensing.
165  * See the License for the specific language governing permissions
166  * and limitations under the License.
167  *
168  * When distributing Covered Code, include this CDDL HEADER in each
169  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
170  * If applicable, add the following below this CDDL HEADER, with the
171  * fields enclosed by brackets "[]" replaced with your own identifying
172  * information: Portions Copyright [yyyy] [name of copyright owner]
173  *
174  * CDDL HEADER END
175  */
176 /*
177  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
178  * Use is subject to license terms.
179  */
180 /*
181  * Copyright 2015 EveryCity Ltd. All rights reserved.
182  */
183 
184 
185 
186 
187 /*
188  * This file contains definitions designed to enable different compilers
189  * to be used harmoniously on Solaris systems.
190  */
191 
192 
193 
194 
195 
196 /*
197  * Allow for version tests for compiler bugs and features.
198  */
199 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
200 /*
201  * analogous to lint's PRINTFLIKEn
202  */
203 
204 
205 
206 
207 
208 /*
209  * Handle the kernel printf routines that can take '%b' too
210  */
211 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
212 /*
213  * This one's pretty obvious -- the function never returns
214  */
215 
216 
217 /*
218  * The function is 'extern inline' and expects GNU C89 behaviour, not C99
219  * behaviour.
220  *
221  * Should only be used on 'extern inline' definitions for GCC.
222  */
223 
224 
225 
226 
227 
228 
229 /*
230  * The function has control flow such that it may return multiple times (in
231  * the manner of setjmp or vfork)
232  */
233 
234 
235 
236 
237 
238 
239 /*
240  * This is an appropriate label for functions that do not
241  * modify their arguments, e.g. strlen()
242  */
243 
244 
245 /*
246  * This is a stronger form of __pure__. Can be used for functions
247  * that do not modify their arguments and don't depend on global
248  * memory.
249  */
250 
251 
252 
253 
254 /*
255  * This attribute, attached to a variable, means that the variable is meant to
256  * be possibly unused. GCC will not produce a warning for this variable.
257  */
258 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
259 /*
260  * Shorthand versions for readability
261  */
262 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
263 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
264 /*
265  * CDDL HEADER START
266  *
267  * The contents of this file are subject to the terms of the
268  * Common Development and Distribution License (the "License").
269  * You may not use this file except in compliance with the License.
270  *
271  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
272  * or http://www.opensolaris.org/os/licensing.
273  * See the License for the specific language governing permissions
274  * and limitations under the License.
275  *
276  *
277  * When distributing Covered Code, include this CDDL HEADER in each
278  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
279  * If applicable, add the following below this CDDL HEADER, with the
280  * fields enclosed by brackets "[]" replaced with your own identifying
281  * information: Portions Copyright [yyyy] [name of copyright owner]
282  *
283  * CDDL HEADER END
284  */
285 
286 /*
287  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
288  * Use is subject to license terms.
289  * Copyright 2016 Joyent, Inc.
290  */
291 
292 
293 
294 
295 /*
296  * This header file serves to group a set of well known defines and to
297  * set these for each instruction set architecture.  These defines may
298  * be divided into two groups;  characteristics of the processor and
299  * implementation choices for Solaris on a processor.
300  *
301  * Processor Characteristics:
302  *
303  * _LITTLE_ENDIAN / _BIG_ENDIAN:
304  *	The natural byte order of the processor.  A pointer to an int points
305  *	to the least/most significant byte of that int.
306  *
307  * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
308  *	The processor specific direction of stack growth.  A push onto the
309  *	stack increases/decreases the stack pointer, so it stores data at
310  *	successively higher/lower addresses.  (Stackless machines ignored
311  *	without regrets).
312  *
313  * _LONG_LONG_HTOL / _LONG_LONG_LTOH:
314  *	A pointer to a long long points to the most/least significant long
315  *	within that long long.
316  *
317  * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
318  *	The C compiler assigns bit fields from the high/low to the low/high end
319  *	of an int (most to least significant vs. least to most significant).
320  *
321  * _IEEE_754:
322  *	The processor (or supported implementations of the processor)
323  *	supports the ieee-754 floating point standard.  No other floating
324  *	point standards are supported (or significant).  Any other supported
325  *	floating point formats are expected to be cased on the ISA processor
326  *	symbol.
327  *
328  * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
329  *	The C Compiler implements objects of type `char' as `unsigned' or
330  *	`signed' respectively.  This is really an implementation choice of
331  *	the compiler writer, but it is specified in the ABI and tends to
332  *	be uniform across compilers for an instruction set architecture.
333  *	Hence, it has the properties of a processor characteristic.
334  *
335  * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
336  * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
337  * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
338  *	The ABI defines alignment requirements of each of the primitive
339  *	object types.  Some, if not all, may be hardware requirements as
340  * 	well.  The values are expressed in "byte-alignment" units.
341  *
342  * _MAX_ALIGNMENT:
343  *	The most stringent alignment requirement as specified by the ABI.
344  *	Equal to the maximum of all the above _XXX_ALIGNMENT values.
345  *
346  * _MAX_ALIGNMENT_TYPE:
347  * 	The name of the C type that has the value descried in _MAX_ALIGNMENT.
348  *
349  * _ALIGNMENT_REQUIRED:
350  *	True or false (1 or 0) whether or not the hardware requires the ABI
351  *	alignment.
352  *
353  * _LONG_LONG_ALIGNMENT_32
354  *	The 32-bit ABI supported by a 64-bit kernel may have different
355  *	alignment requirements for primitive object types.  The value of this
356  *	identifier is expressed in "byte-alignment" units.
357  *
358  * _HAVE_CPUID_INSN
359  *	This indicates that the architecture supports the 'cpuid'
360  *	instruction as defined by Intel.  (Intel allows other vendors
361  *	to extend the instruction for their own purposes.)
362  *
363  *
364  * Implementation Choices:
365  *
366  * _ILP32 / _LP64:
367  *	This specifies the compiler data type implementation as specified in
368  *	the relevant ABI.  The choice between these is strongly influenced
369  *	by the underlying hardware, but is not absolutely tied to it.
370  *	Currently only two data type models are supported:
371  *
372  *	_ILP32:
373  *		Int/Long/Pointer are 32 bits.  This is the historical UNIX
374  *		and Solaris implementation.  Due to its historical standing,
375  *		this is the default case.
376  *
377  *	_LP64:
378  *		Long/Pointer are 64 bits, Int is 32 bits.  This is the chosen
379  *		implementation for 64-bit ABIs such as SPARC V9.
380  *
381  *	_I32LPx:
382  *		A compilation environment where 'int' is 32-bit, and
383  *		longs and pointers are simply the same size.
384  *
385  *	In all cases, Char is 8 bits and Short is 16 bits.
386  *
387  * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
388  *	This specifies the form of the disk VTOC (or label):
389  *
390  *	_SUNOS_VTOC_8:
391  *		This is a VTOC form which is upwardly compatible with the
392  *		SunOS 4.x disk label and allows 8 partitions per disk.
393  *
394  *	_SUNOS_VTOC_16:
395  *		In this format the incore vtoc image matches the ondisk
396  *		version.  It allows 16 slices per disk, and is not
397  *		compatible with the SunOS 4.x disk label.
398  *
399  *	Note that these are not the only two VTOC forms possible and
400  *	additional forms may be added.  One possible form would be the
401  *	SVr4 VTOC form.  The symbol for that is reserved now, although
402  *	it is not implemented.
403  *
404  *	_SVR4_VTOC_16:
405  *		This VTOC form is compatible with the System V Release 4
406  *		VTOC (as implemented on the SVr4 Intel and 3b ports) with
407  *		16 partitions per disk.
408  *
409  *
410  * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
411  *	This describes the type of addresses used by system DMA:
412  *
413  *	_DMA_USES_PHYSADDR:
414  *		This type of DMA, used in the x86 implementation,
415  *		requires physical addresses for DMA buffers.  The 24-bit
416  *		addresses used by some legacy boards is the source of the
417  *		"low-memory" (<16MB) requirement for some devices using DMA.
418  *
419  *	_DMA_USES_VIRTADDR:
420  *		This method of DMA allows the use of virtual addresses for
421  *		DMA transfers.
422  *
423  * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
424  *      This indicates the presence/absence of an fdisk table.
425  *
426  *      _FIRMWARE_NEEDS_FDISK
427  *              The fdisk table is required by system firmware.  If present,
428  *              it allows a disk to be subdivided into multiple fdisk
429  *              partitions, each of which is equivalent to a separate,
430  *              virtual disk.  This enables the co-existence of multiple
431  *              operating systems on a shared hard disk.
432  *
433  *      _NO_FDISK_PRESENT
434  *              If the fdisk table is absent, it is assumed that the entire
435  *              media is allocated for a single operating system.
436  *
437  * _HAVE_TEM_FIRMWARE
438  *	Defined if this architecture has the (fallback) option of
439  *	using prom_* calls for doing I/O if a suitable kernel driver
440  *	is not available to do it.
441  *
442  * _DONT_USE_1275_GENERIC_NAMES
443  *		Controls whether or not device tree node names should
444  *		comply with the IEEE 1275 "Generic Names" Recommended
445  *		Practice. With _DONT_USE_GENERIC_NAMES, device-specific
446  *		names identifying the particular device will be used.
447  *
448  * __i386_COMPAT
449  *	This indicates whether the i386 ABI is supported as a *non-native*
450  *	mode for the platform.  When this symbol is defined:
451  *	-	32-bit xstat-style system calls are enabled
452  *	-	32-bit xmknod-style system calls are enabled
453  *	-	32-bit system calls use i386 sizes -and- alignments
454  *
455  *	Note that this is NOT defined for the i386 native environment!
456  *
457  * __x86
458  *	This is ONLY a synonym for defined(__i386) || defined(__amd64)
459  *	which is useful only insofar as these two architectures share
460  *	common attributes.  Analogous to __sparc.
461  *
462  * _PSM_MODULES
463  *	This indicates whether or not the implementation uses PSM
464  *	modules for processor support, reading /etc/mach from inside
465  *	the kernel to extract a list.
466  *
467  * _RTC_CONFIG
468  *	This indicates whether or not the implementation uses /etc/rtc_config
469  *	to configure the real-time clock in the kernel.
470  *
471  * _UNIX_KRTLD
472  *	This indicates that the implementation uses a dynamically
473  *	linked unix + krtld to form the core kernel image at boot
474  *	time, or (in the absence of this symbol) a prelinked kernel image.
475  *
476  * _OBP
477  *	This indicates the firmware interface is OBP.
478  *
479  * _SOFT_HOSTID
480  *	This indicates that the implementation obtains the hostid
481  *	from the file /etc/hostid, rather than from hardware.
482  */
483 
484 
485 
486 
487 
488 /*
489  * The following set of definitions characterize Solaris on AMD's
490  * 64-bit systems.
491  */
492 # 305 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
493 /*
494  * Define the appropriate "processor characteristics"
495  */
496 # 333 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
497 /*
498  * Define the appropriate "implementation choices".
499  */
500 # 351 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
501 /*
502  * The following set of definitions characterize the Solaris on SPARC systems.
503  *
504  * The symbol __sparc indicates any of the SPARC family of processor
505  * architectures.  This includes SPARC V7, SPARC V8 and SPARC V9.
506  *
507  * The symbol __sparcv8 indicates the 32-bit SPARC V8 architecture as defined
508  * by Version 8 of the SPARC Architecture Manual.  (SPARC V7 is close enough
509  * to SPARC V8 for the former to be subsumed into the latter definition.)
510  *
511  * The symbol __sparcv9 indicates the 64-bit SPARC V9 architecture as defined
512  * by Version 9 of the SPARC Architecture Manual.
513  *
514  * The symbols __sparcv8 and __sparcv9 are mutually exclusive, and are only
515  * relevant when the symbol __sparc is defined.
516  */
517 /*
518  * XXX Due to the existence of 5110166, "defined(__sparcv9)" needs to be added
519  * to support backwards builds.  This workaround should be removed in s10_71.
520  */
521 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
522 
523 
524 
525 
526 
527 /*
528  * Values of _POSIX_C_SOURCE
529  *
530  *		undefined   not a POSIX compilation
531  *		1	    POSIX.1-1990 compilation
532  *		2	    POSIX.2-1992 compilation
533  *		199309L	    POSIX.1b-1993 compilation (Real Time)
534  *		199506L	    POSIX.1c-1995 compilation (POSIX Threads)
535  *		200112L	    POSIX.1-2001 compilation (Austin Group Revision)
536  *		200809L     POSIX.1-2008 compilation
537  */
538 
539 
540 
541 
542 /*
543  * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
544  * and _STDC_C99 are Sun implementation specific macros created in order to
545  * compress common standards specified feature test macros for easier reading.
546  * These macros should not be used by the application developer as
547  * unexpected results may occur. Instead, the user should reference
548  * standards(5) for correct usage of the standards feature test macros.
549  *
550  * __XOPEN_OR_POSIX     Used in cases where a symbol is defined by both
551  *                      X/Open or POSIX or in the negative, when neither
552  *                      X/Open or POSIX defines a symbol.
553  *
554  * _STRICT_STDC         __STDC__ is specified by the C Standards and defined
555  *                      by the compiler. For Sun compilers the value of
556  *                      __STDC__ is either 1, 0, or not defined based on the
557  *                      compilation mode (see cc(1)). When the value of
558  *                      __STDC__ is 1 and in the absence of any other feature
559  *                      test macros, the namespace available to the application
560  *                      is limited to only those symbols defined by the C
561  *                      Standard. _STRICT_STDC provides a more readable means
562  *                      of identifying symbols defined by the standard, or in
563  *                      the negative, symbols that are extensions to the C
564  *                      Standard. See additional comments for GNU C differences.
565  *
566  * _STDC_C99            __STDC_VERSION__ is specified by the C standards and
567  *                      defined by the compiler and indicates the version of
568  *                      the C standard. A value of 199901L indicates a
569  *                      compiler that complies with ISO/IEC 9899:1999, other-
570  *                      wise known as the C99 standard.
571  *
572  * _STDC_C11		Like _STDC_C99 except that the value of __STDC_VERSION__
573  *                      is 201112L indicating a compiler that compiles with
574  *                      ISO/IEXC 9899:2011, otherwise known as the C11 standard.
575  *
576  * _STRICT_SYMBOLS	Used in cases where symbol visibility is restricted
577  *                      by the standards, and the user has not explicitly
578  *                      relaxed the strictness via __EXTENSIONS__.
579  */
580 
581 
582 
583 
584 
585 /*
586  * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
587  * 99899:2011 specify the following predefined macro name:
588  *
589  * __STDC__	The integer constant 1, intended to indicate a conforming
590  *		implementation.
591  *
592  * Furthermore, a strictly conforming program shall use only those features
593  * of the language and library specified in these standards. A conforming
594  * implementation shall accept any strictly conforming program.
595  *
596  * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
597  * strictly conforming environments and __STDC__ to 0 for environments that
598  * use ANSI C semantics but allow extensions to the C standard. For non-ANSI
599  * C semantics, Sun's C compiler does not define __STDC__.
600  *
601  * The GNU C project interpretation is that __STDC__ should always be defined
602  * to 1 for compilation modes that accept ANSI C syntax regardless of whether
603  * or not extensions to the C standard are used. Violations of conforming
604  * behavior are conditionally flagged as warnings via the use of the
605  * -pedantic option. In addition to defining __STDC__ to 1, the GNU C
606  * compiler also defines __STRICT_ANSI__ as a means of specifying strictly
607  * conforming environments using the -ansi or -std=<standard> options.
608  *
609  * In the absence of any other compiler options, Sun and GNU set the value
610  * of __STDC__ as follows when using the following options:
611  *
612  *				Value of __STDC__  __STRICT_ANSI__
613  *
614  * cc -Xa (default)			0	      undefined
615  * cc -Xt (transitional)		0             undefined
616  * cc -Xc (strictly conforming)		1	      undefined
617  * cc -Xs (K&R C)		    undefined	      undefined
618  *
619  * gcc (default)			1	      undefined
620  * gcc -ansi, -std={c89, c99,...)  	1              defined
621  * gcc -traditional (K&R)	    undefined	      undefined
622  *
623  * The default compilation modes for Sun C compilers versus GNU C compilers
624  * results in a differing value for __STDC__ which results in a more
625  * restricted namespace when using Sun compilers. To allow both GNU and Sun
626  * interpretations to peacefully co-exist, we use the following Sun
627  * implementation _STRICT_STDC_ macro:
628  */
629 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
630 /*
631  * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
632  */
633 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
634 /*
635  * Use strict symbol visibility.
636  */
637 
638 
639 
640 
641 
642 /*
643  * Large file interfaces:
644  *
645  *	_LARGEFILE_SOURCE
646  *		1		large file-related additions to POSIX
647  *				interfaces requested (fseeko, etc.)
648  *	_LARGEFILE64_SOURCE
649  *		1		transitional large-file-related interfaces
650  *				requested (seek64, stat64, etc.)
651  *
652  * The corresponding announcement macros are respectively:
653  *	_LFS_LARGEFILE
654  *	_LFS64_LARGEFILE
655  * (These are set in <unistd.h>.)
656  *
657  * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
658  * well.
659  *
660  * The large file interfaces are made visible regardless of the initial values
661  * of the feature test macros under certain circumstances:
662  *    -	If no explicit standards-conforming environment is requested (neither
663  *	of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
664  *	__STDC__ does not imply standards conformance).
665  *    -	Extended system interfaces are explicitly requested (__EXTENSIONS__
666  * 	is defined).
667  *    -	Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
668  *	defined).  (Note that this dependency is an artifact of the current
669  *	kernel implementation and may change in future releases.)
670  */
671 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
672 /*
673  * Large file compilation environment control:
674  *
675  * The setting of _FILE_OFFSET_BITS controls the size of various file-related
676  * types and governs the mapping between file-related source function symbol
677  * names and the corresponding binary entry points.
678  *
679  * In the 32-bit environment, the default value is 32; if not set, set it to
680  * the default here, to simplify tests in other headers.
681  *
682  * In the 64-bit compilation environment, the only value allowed is 64.
683  */
684 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
685 /*
686  * Use of _XOPEN_SOURCE
687  *
688  * The following X/Open specifications are supported:
689  *
690  * X/Open Portability Guide, Issue 3 (XPG3)
691  * X/Open CAE Specification, Issue 4 (XPG4)
692  * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
693  * X/Open CAE Specification, Issue 5 (XPG5)
694  * Open Group Technical Standard, Issue 6 (XPG6), also referred to as
695  *    IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
696  * Open Group Technical Standard, Issue 7 (XPG7), also referred to as
697  *    IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
698  *
699  * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
700  * XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
701  *     Version 2 (SUSv2)
702  * XPG6 is the result of a merge of the X/Open and POSIX specifications
703  *     and as such is also referred to as IEEE Std. 1003.1-2001 in
704  *     addition to UNIX 03 and SUSv3.
705  * XPG7 is also referred to as UNIX 08 and SUSv4.
706  *
707  * When writing a conforming X/Open application, as per the specification
708  * requirements, the appropriate feature test macros must be defined at
709  * compile time. These are as follows. For more info, see standards(5).
710  *
711  * Feature Test Macro				     Specification
712  * ------------------------------------------------  -------------
713  * _XOPEN_SOURCE                                         XPG3
714  * _XOPEN_SOURCE && _XOPEN_VERSION = 4                   XPG4
715  * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1           XPG4v2
716  * _XOPEN_SOURCE = 500                                   XPG5
717  * _XOPEN_SOURCE = 600  (or POSIX_C_SOURCE=200112L)      XPG6
718  * _XOPEN_SOURCE = 700  (or POSIX_C_SOURCE=200809L)      XPG7
719  *
720  * In order to simplify the guards within the headers, the following
721  * implementation private test macros have been created. Applications
722  * must NOT use these private test macros as unexpected results will
723  * occur.
724  *
725  * Note that in general, the use of these private macros is cumulative.
726  * For example, the use of _XPG3 with no other restrictions on the X/Open
727  * namespace will make the symbols visible for XPG3 through XPG6
728  * compilation environments. The use of _XPG4_2 with no other X/Open
729  * namespace restrictions indicates that the symbols were introduced in
730  * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
731  * environments, but not for XPG3 or XPG4 compilation environments.
732  *
733  * _XPG3    X/Open Portability Guide, Issue 3 (XPG3)
734  * _XPG4    X/Open CAE Specification, Issue 4 (XPG4)
735  * _XPG4_2  X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
736  * _XPG5    X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
737  * _XPG6    Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
738  * _XPG7    Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
739  */
740 
741 /* X/Open Portability Guide, Issue 3 */
742 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
743 /*
744  * _XOPEN_VERSION is defined by the X/Open specifications and is not
745  * normally defined by the application, except in the case of an XPG4
746  * application.  On the implementation side, _XOPEN_VERSION defined with
747  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
748  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
749  * _XOPEN_VERSION  defined with a value of 500 indicates an XPG5 (UNIX 98)
750  * application and with a value of 600 indicates an XPG6 (UNIX 03)
751  * application and with a value of 700 indicates an XPG7 (UNIX 08).
752  * The appropriate version is determined by the use of the
753  * feature test macros described earlier.  The value of _XOPEN_VERSION
754  * defaults to 3 otherwise indicating support for XPG3 applications.
755  */
756 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
757 /*
758  * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
759  * conforming environments.  ISO 9899:1999 says it does.
760  *
761  * The presence of _LONGLONG_TYPE says "long long exists" which is therefore
762  * defined in all but strictly conforming environments that disallow it.
763  */
764 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
765 /*
766  * The following macro defines a value for the ISO C99 restrict
767  * keyword so that _RESTRICT_KYWD resolves to "restrict" if
768  * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
769  * if any other compiler is used. This allows for the use of single
770  * prototype declarations regardless of compiler version.
771  */
772 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
773 /*
774  * The following macro defines a value for the ISO C11 _Noreturn
775  * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
776  * an ISO C11 compiler is used and "" (null string) if any other
777  * compiler is used. This allows for the use of single prototype
778  * declarations regardless of compiler version.
779  */
780 
781 
782 
783 
784 
785 
786 
787 /*
788  * The following macro indicates header support for the ANSI C++
789  * standard.  The ISO/IEC designation for this is ISO/IEC FDIS 14882.
790  */
791 
792 
793 /*
794  * The following macro indicates header support for the C99 standard,
795  * ISO/IEC 9899:1999, Programming Languages - C.
796  */
797 
798 
799 /*
800  * The following macro indicates header support for the C99 standard,
801  * ISO/IEC 9899:2011, Programming Languages - C.
802  */
803 
804 
805 /*
806  * The following macro indicates header support for DTrace. The value is an
807  * integer that corresponds to the major version number for DTrace.
808  */
809 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
811 /*
812  * This file and its contents are supplied under the terms of the
813  * Common Development and Distribution License ("CDDL"), version 1.0.
814  * You may only use this file in accordance with the terms of version
815  * 1.0 of the CDDL.
816  *
817  * A full copy of the text of the CDDL should have accompanied this
818  * source.  A copy of the CDDL is also available via the Internet at
819  * http://www.illumos.org/license/CDDL.
820  */
821 
822 /*
823  * Copyright 2014-2016 PALO, Richard.
824  */
825 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
826 
827 
828 
829 
830 
831 unsigned char __mb_cur_max(void);
832 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
833 typedef struct {
834  int quot;
835  int rem;
836 } div_t;
837 
838 typedef struct {
839  long quot;
840  long rem;
841 } ldiv_t;
842 
843 
844 
845 
846 
847 
848 typedef unsigned int size_t; /* (historical version) */
849 
850 
851 
852 
853 
854 
855 
856 /*
857  * wchar_t is a built-in type in standard C++ and as such is not
858  * defined here when using standard C++. However, the GNU compiler
859  * fixincludes utility nonetheless creates its own version of this
860  * header for use by gcc and g++. In that version it adds a redundant
861  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
862  * header we need to include the following magic comment:
863  *
864  * we must use the C++ compiler's type
865  *
866  * The above comment should not be removed or changed until GNU
867  * gcc/fixinc/inclhack.def is updated to bypass this header.
868  */
869 
870 
871 
872 
873 
874 
875 typedef long wchar_t;
876 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
877 extern void abort(void) __attribute__((__noreturn__));
878 extern int abs(int);
879 extern int atexit(void (*)(void));
880 extern double atof(const char *);
881 extern int atoi(const char *);
882 extern long int atol(const char *);
883 extern void *bsearch(const void *, const void *, size_t, size_t,
884  int (*)(const void *, const void *));
885 
886 
887 
888 
889 
890 
891 extern void *calloc(size_t, size_t);
892 extern div_t div(int, int);
893 extern void exit(int)
894  __attribute__((__noreturn__));
895 extern void free(void *);
896 extern char *getenv(const char *);
897 extern long int labs(long);
898 extern ldiv_t ldiv(long, long);
899 extern void *malloc(size_t);
900 extern int mblen(const char *, size_t);
901 extern size_t mbstowcs(wchar_t *, const char *,
902  size_t);
903 extern int mbtowc(wchar_t *, const char *, size_t);
904 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
905 
906 
907 
908 
909 
910 extern int rand(void);
911 extern void *realloc(void *, size_t);
912 extern void srand(unsigned int);
913 extern double strtod(const char *, char **);
914 extern long int strtol(const char *, char **, int);
915 extern unsigned long int strtoul(const char *,
916  char **, int);
917 extern int system(const char *);
918 extern int wctomb(char *, wchar_t);
919 extern size_t wcstombs(char *, const wchar_t *,
920  size_t);
921 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
922 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1
923 /*
924  * CDDL HEADER START
925  *
926  * The contents of this file are subject to the terms of the
927  * Common Development and Distribution License, Version 1.0 only
928  * (the "License").  You may not use this file except in compliance
929  * with the License.
930  *
931  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
932  * or http://www.opensolaris.org/os/licensing.
933  * See the License for the specific language governing permissions
934  * and limitations under the License.
935  *
936  * When distributing Covered Code, include this CDDL HEADER in each
937  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
938  * If applicable, add the following below this CDDL HEADER, with the
939  * fields enclosed by brackets "[]" replaced with your own identifying
940  * information: Portions Copyright [yyyy] [name of copyright owner]
941  *
942  * CDDL HEADER END
943  */
944 /*
945  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
946  *
947  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
948  * Use is subject to license terms.
949  */
950 
951 /*
952  * An application should not include this header directly.  Instead it
953  * should be included only through the inclusion of other Sun headers.
954  *
955  * The contents of this header is limited to identifiers specified in
956  * the C99 standard and in conflict with the C++ implementation of the
957  * standard header.  The C++ standard may adopt the C99 standard at
958  * which point it is expected that the symbols included here will
959  * become part of the C++ std namespace.
960  */
961 
962 
963 
964 
965 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
966 /*
967  * CDDL HEADER START
968  *
969  * The contents of this file are subject to the terms of the
970  * Common Development and Distribution License (the "License").
971  * You may not use this file except in compliance with the License.
972  *
973  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
974  * or http://www.opensolaris.org/os/licensing.
975  * See the License for the specific language governing permissions
976  * and limitations under the License.
977  *
978  * When distributing Covered Code, include this CDDL HEADER in each
979  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
980  * If applicable, add the following below this CDDL HEADER, with the
981  * fields enclosed by brackets "[]" replaced with your own identifying
982  * information: Portions Copyright [yyyy] [name of copyright owner]
983  *
984  * CDDL HEADER END
985  */
986 
987 /*
988  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
989  * Copyright 2016 Joyent, Inc.
990  *
991  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
992  * Use is subject to license terms.
993  */
994 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2
995 
996 
997 
998 
999 
1000 /*
1001  * The following have been added as a result of the ISO/IEC 9899:1999
1002  * standard. For a strictly conforming C application, visibility is
1003  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1004  * For non-strictly conforming C applications, there are no restrictions
1005  * on the C namespace.
1006  */
1007 
1008 
1009 typedef struct {
1010  long long quot;
1011  long long rem;
1012 } lldiv_t;
1013 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h"
1014 extern void _Exit(int);
1015 extern float strtof(const char *, char **);
1016 extern long double strtold(const char *, char **);
1017 
1018 
1019 extern long long atoll(const char *);
1020 extern long long llabs(long long);
1021 extern lldiv_t lldiv(long long, long long);
1022 extern long long strtoll(const char *, char **,
1023  int);
1024 extern unsigned long long strtoull(const char *,
1025  char **, int);
1026 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1
1028 /*
1029  * This file and its contents are supplied under the terms of the
1030  * Common Development and Distribution License ("CDDL"), version 1.0.
1031  * You may only use this file in accordance with the terms of version
1032  * 1.0 of the CDDL.
1033  *
1034  * A full copy of the text of the CDDL should have accompanied this
1035  * source.  A copy of the CDDL is also available via the Internet at
1036  * http://www.illumos.org/license/CDDL.
1037  */
1038 
1039 /*
1040  * Copyright 2016 Joyent, Inc.
1041  */
1042 
1043 /*
1044  * An application should not include this header directly.  Instead it
1045  * should be included only through the inclusion of other illumos headers.
1046  *
1047  * The contents of this header is limited to identifiers specified in
1048  * the C11 standard and in conflict with the C++ implementation of the
1049  * standard header.  The C++ standard may adopt the C11 standard at
1050  * which point it is expected that the symbols included here will
1051  * become part of the C++ std namespace.
1052  */
1053 
1054 
1055 
1056 
1057 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1058 /*
1059  * CDDL HEADER START
1060  *
1061  * The contents of this file are subject to the terms of the
1062  * Common Development and Distribution License (the "License").
1063  * You may not use this file except in compliance with the License.
1064  *
1065  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1066  * or http://www.opensolaris.org/os/licensing.
1067  * See the License for the specific language governing permissions
1068  * and limitations under the License.
1069  *
1070  * When distributing Covered Code, include this CDDL HEADER in each
1071  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1072  * If applicable, add the following below this CDDL HEADER, with the
1073  * fields enclosed by brackets "[]" replaced with your own identifying
1074  * information: Portions Copyright [yyyy] [name of copyright owner]
1075  *
1076  * CDDL HEADER END
1077  */
1078 
1079 /*
1080  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1081  * Copyright 2016 Joyent, Inc.
1082  *
1083  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1084  * Use is subject to license terms.
1085  */
1086 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2
1087 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1088 /*
1089  * The following have been added as a result of the ISO/IEC 9899:2011
1090  * standard. For a strictly conforming C application, visibility is
1091  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1092  * For non-strictly conforming C applications, there are no restrictions
1093  * on the C namespace.
1094  */
1095 
1096 /*
1097  * Work around fix-includes and other bad actors with using multiple headers.
1098  */
1099 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
1100 extern void *aligned_alloc(size_t, size_t);
1101 extern int at_quick_exit(void (*)(void));
1102 extern void quick_exit(int);
1103 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
1104 
1105 
1106 
1107 
1108 
1109 /*
1110  * Allow global visibility for symbols defined in
1111  * C++ "std" namespace in <iso/stdlib_iso.h>.
1112  */
1113 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1114 /*
1115  * Allow global visibility for symbols defined in
1116  * C++ "std" namespace in <iso/stdlib_c11.h>.
1117  */
1118 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1119 typedef unsigned int uid_t; /* UID type		*/
1120 
1121 
1122 /* large file compilation environment setup */
1123 
1124 
1125 
1126 
1127 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1128 #pragma redefine_extname mkstemp mkstemp64
1129 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1130 
1131 
1132 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1133 #pragma redefine_extname mkstemps mkstemps64
1134 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1135 
1136 
1137 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1138 #pragma redefine_extname mkostemp mkostemp64
1139 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1140 
1141 
1142 # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1143 #pragma redefine_extname mkostemps mkostemps64
1144 # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1145 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1146 /* In the LP64 compilation environment, all APIs are already large file */
1147 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1148 extern int rand_r(unsigned int *);
1149 
1150 
1151 extern void _exithandle(void);
1152 
1153 
1154 
1155 
1156 extern double drand48(void);
1157 extern double erand48(unsigned short *);
1158 extern long jrand48(unsigned short *);
1159 extern void lcong48(unsigned short *);
1160 extern long lrand48(void);
1161 extern long mrand48(void);
1162 extern long nrand48(unsigned short *);
1163 extern unsigned short *seed48(unsigned short *);
1164 extern void srand48(long);
1165 extern int putenv(char *);
1166 extern void setkey(const char *);
1167 
1168 
1169 /*
1170  * swab() has historically been in <stdlib.h> as delivered from AT&T
1171  * and continues to be visible in the default compilation environment.
1172  * As of Issue 4 of the X/Open Portability Guides, swab() was declared
1173  * in <unistd.h>. As a result, with respect to X/Open namespace the
1174  * swab() declaration in this header is only visible for the XPG3
1175  * environment.
1176  */
1177 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1178 typedef int ssize_t; /* (historical version) */
1179 
1180 
1181 
1182 extern void swab(const char *, char *, ssize_t);
1183 
1184 
1185 
1186 
1187 
1188 extern int mkstemp(char *);
1189 
1190 extern int mkstemps(char *, int);
1191 
1192 
1193 
1194 
1195 
1196 extern int mkstemp64(char *);
1197 
1198 extern int mkstemps64(char *, int);
1199 
1200 
1201 
1202 
1203 extern char *mkdtemp(char *);
1204 
1205 
1206 
1207 extern int mkostemp(char *, int);
1208 extern int mkostemps(char *, int, int);
1209 
1210 
1211 extern int mkostemp64(char *, int);
1212 extern int mkostemps64(char *, int, int);
1213 
1214 
1215 
1216 
1217 
1218 
1219 extern long a64l(const char *);
1220 extern char *ecvt(double, int, int *, int *);
1221 extern char *fcvt(double, int, int *, int *);
1222 extern char *gcvt(double, int, char *);
1223 extern int getsubopt(char **, char *const *, char **);
1224 extern int grantpt(int);
1225 extern char *initstate(unsigned, char *, size_t);
1226 extern char *l64a(long);
1227 extern char *mktemp(char *);
1228 extern char *ptsname(int);
1229 extern long random(void);
1230 extern char *realpath(const char *, char *);
1231 extern char *setstate(const char *);
1232 extern void srandom(unsigned);
1233 extern int unlockpt(int);
1234 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1235 
1236 extern int ttyslot(void);
1237 extern void *valloc(size_t);
1238 
1239 
1240 
1241 
1242 
1243 
1244 extern int posix_memalign(void **, size_t, size_t);
1245 extern int posix_openpt(int);
1246 extern int setenv(const char *, const char *, int);
1247 extern int unsetenv(const char *);
1248 
1249 
1250 
1251 
1252 extern char *canonicalize_file_name(const char *);
1253 extern int clearenv(void);
1254 extern void closefrom(int);
1255 extern int daemon(int, int);
1256 extern int dup2(int, int);
1257 extern int dup3(int, int, int);
1258 extern int fdwalk(int (*)(void *, int), void *);
1259 extern char *qecvt(long double, int, int *, int *);
1260 extern char *qfcvt(long double, int, int *, int *);
1261 extern char *qgcvt(long double, int, char *);
1262 extern char *getcwd(char *, size_t);
1263 extern const char *getexecname(void);
1264 
1265 
1266 
1267 
1268 
1269 
1270 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1271 #pragma redefine_extname getlogin getloginx
1272 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
1273 
1274 
1275 
1276 
1277 
1278 
1279 extern char *getlogin(void);
1280 
1281 
1282 extern int getopt(int, char *const *, const char *);
1283 extern char *optarg;
1284 extern int optind, opterr, optopt;
1285 extern char *getpass(const char *);
1286 extern char *getpassphrase(const char *);
1287 extern int getpw(uid_t, char *);
1288 extern int isatty(int);
1289 extern void *memalign(size_t, size_t);
1290 extern char *ttyname(int);
1291 extern char *mkdtemp(char *);
1292 extern const char *getprogname(void);
1293 extern void setprogname(const char *);
1294 
1295 
1296 extern char *lltostr(long long, char *);
1297 extern char *ulltostr(unsigned long long, char *);
1298 
1299 
1300 
1301 
1302 /* OpenBSD compatibility functions */
1303 
1304 
1305 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
1306 /*
1307  * CDDL HEADER START
1308  *
1309  * The contents of this file are subject to the terms of the
1310  * Common Development and Distribution License, Version 1.0 only
1311  * (the "License").  You may not use this file except in compliance
1312  * with the License.
1313  *
1314  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1315  * or http://www.opensolaris.org/os/licensing.
1316  * See the License for the specific language governing permissions
1317  * and limitations under the License.
1318  *
1319  * When distributing Covered Code, include this CDDL HEADER in each
1320  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1321  * If applicable, add the following below this CDDL HEADER, with the
1322  * fields enclosed by brackets "[]" replaced with your own identifying
1323  * information: Portions Copyright [yyyy] [name of copyright owner]
1324  *
1325  * CDDL HEADER END
1326  */
1327 /*
1328  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1329  *
1330  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
1331  * Use is subject to license terms.
1332  */
1333 
1334 
1335 
1336 
1337 /*
1338  * This file, <inttypes.h>, is specified by the ISO C standard,
1339  * standard, ISO/IEC 9899:1999 Programming language - C and is
1340  * also defined by SUSv3.
1341  *
1342  * ISO	  International Organization for Standardization.
1343  * SUSv3  Single Unix Specification, Version 3
1344  */
1345 
1346 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1347 /*
1348  * CDDL HEADER START
1349  *
1350  * The contents of this file are subject to the terms of the
1351  * Common Development and Distribution License (the "License").
1352  * You may not use this file except in compliance with the License.
1353  *
1354  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1355  * or http://www.opensolaris.org/os/licensing.
1356  * See the License for the specific language governing permissions
1357  * and limitations under the License.
1358  *
1359  * When distributing Covered Code, include this CDDL HEADER in each
1360  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1361  * If applicable, add the following below this CDDL HEADER, with the
1362  * fields enclosed by brackets "[]" replaced with your own identifying
1363  * information: Portions Copyright [yyyy] [name of copyright owner]
1364  *
1365  * CDDL HEADER END
1366  */
1367 
1368 /*
1369  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1370  * Copyright 2016 Joyent, Inc.
1371  *
1372  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1373  * Use is subject to license terms.
1374  */
1375 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
1376 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1
1377 /*
1378  * CDDL HEADER START
1379  *
1380  * The contents of this file are subject to the terms of the
1381  * Common Development and Distribution License, Version 1.0 only
1382  * (the "License").  You may not use this file except in compliance
1383  * with the License.
1384  *
1385  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1386  * or http://www.opensolaris.org/os/licensing.
1387  * See the License for the specific language governing permissions
1388  * and limitations under the License.
1389  *
1390  * When distributing Covered Code, include this CDDL HEADER in each
1391  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1392  * If applicable, add the following below this CDDL HEADER, with the
1393  * fields enclosed by brackets "[]" replaced with your own identifying
1394  * information: Portions Copyright [yyyy] [name of copyright owner]
1395  *
1396  * CDDL HEADER END
1397  */
1398 /*
1399  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
1400  * Use is subject to license terms.
1401  */
1402 
1403 
1404 
1405 
1406 #pragma ident "%Z%%M%	%I%	%E% SMI"
1407 
1408 /*
1409  * This header, <sys/inttypes.h>, contains (through nested inclusion) the
1410  * vast majority of the facilities specified for <inttypes.h> as defined
1411  * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
1412  *
1413  * Kernel/Driver developers are encouraged to include this file to access
1414  * the fixed size types, limits and utility macros. Application developers
1415  * should use the standard defined header <inttypes.h>.
1416  */
1417 
1418 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1419 /*
1420  * CDDL HEADER START
1421  *
1422  * The contents of this file are subject to the terms of the
1423  * Common Development and Distribution License (the "License").
1424  * You may not use this file except in compliance with the License.
1425  *
1426  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1427  * or http://www.opensolaris.org/os/licensing.
1428  * See the License for the specific language governing permissions
1429  * and limitations under the License.
1430  *
1431  * When distributing Covered Code, include this CDDL HEADER in each
1432  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1433  * If applicable, add the following below this CDDL HEADER, with the
1434  * fields enclosed by brackets "[]" replaced with your own identifying
1435  * information: Portions Copyright [yyyy] [name of copyright owner]
1436  *
1437  * CDDL HEADER END
1438  */
1439 
1440 /*
1441  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1442  * Copyright 2016 Joyent, Inc.
1443  *
1444  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1445  * Use is subject to license terms.
1446  */
1447 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
1448 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
1449 /*
1450  * CDDL HEADER START
1451  *
1452  * The contents of this file are subject to the terms of the
1453  * Common Development and Distribution License, Version 1.0 only
1454  * (the "License").  You may not use this file except in compliance
1455  * with the License.
1456  *
1457  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1458  * or http://www.opensolaris.org/os/licensing.
1459  * See the License for the specific language governing permissions
1460  * and limitations under the License.
1461  *
1462  * When distributing Covered Code, include this CDDL HEADER in each
1463  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1464  * If applicable, add the following below this CDDL HEADER, with the
1465  * fields enclosed by brackets "[]" replaced with your own identifying
1466  * information: Portions Copyright [yyyy] [name of copyright owner]
1467  *
1468  * CDDL HEADER END
1469  */
1470 /*
1471  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1472  *
1473  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1474  * Use is subject to license terms.
1475  */
1476 
1477 
1478 
1479 
1480 /*
1481  * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
1482  * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
1483  * Programming language - C.
1484  *
1485  * Programs/Modules should not directly include this file.  Access to the
1486  * types defined in this file should be through the inclusion of one of the
1487  * following files:
1488  *
1489  *	<sys/types.h>		Provides only the "_t" types defined in this
1490  *				file which is a subset of the contents of
1491  *				<inttypes.h>.  (This can be appropriate for
1492  *				all programs/modules except those claiming
1493  *				ANSI-C conformance.)
1494  *
1495  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
1496  *				components of <inttypes.h>.
1497  *
1498  *	<inttypes.h>		For use by applications.
1499  *
1500  * See these files for more details.
1501  */
1502 
1503 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1504 /*
1505  * CDDL HEADER START
1506  *
1507  * The contents of this file are subject to the terms of the
1508  * Common Development and Distribution License (the "License").
1509  * You may not use this file except in compliance with the License.
1510  *
1511  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1512  * or http://www.opensolaris.org/os/licensing.
1513  * See the License for the specific language governing permissions
1514  * and limitations under the License.
1515  *
1516  * When distributing Covered Code, include this CDDL HEADER in each
1517  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1518  * If applicable, add the following below this CDDL HEADER, with the
1519  * fields enclosed by brackets "[]" replaced with your own identifying
1520  * information: Portions Copyright [yyyy] [name of copyright owner]
1521  *
1522  * CDDL HEADER END
1523  */
1524 
1525 /*
1526  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1527  * Copyright 2016 Joyent, Inc.
1528  *
1529  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1530  * Use is subject to license terms.
1531  */
1532 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2
1533 
1534 
1535 
1536 
1537 
1538 /*
1539  * Basic / Extended integer types
1540  *
1541  * The following defines the basic fixed-size integer types.
1542  *
1543  * Implementations are free to typedef them to Standard C integer types or
1544  * extensions that they support. If an implementation does not support one
1545  * of the particular integer data types below, then it should not define the
1546  * typedefs and macros corresponding to that data type.  Note that int8_t
1547  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
1548  * as an unsigned entity because there is no way to define an eight bit
1549  * signed integral.
1550  */
1551 
1552 typedef char int8_t;
1553 
1554 
1555 
1556 typedef short int16_t;
1557 typedef int int32_t;
1558 
1559 
1560 
1561 
1562 
1563 
1564 typedef long long int64_t;
1565 
1566 
1567 
1568 typedef unsigned char uint8_t;
1569 typedef unsigned short uint16_t;
1570 typedef unsigned int uint32_t;
1571 
1572 
1573 
1574 
1575 typedef unsigned long long uint64_t;
1576 
1577 
1578 
1579 /*
1580  * intmax_t and uintmax_t are to be the longest (in number of bits) signed
1581  * and unsigned integer types supported by the implementation.
1582  */
1583 
1584 typedef int64_t intmax_t;
1585 typedef uint64_t uintmax_t;
1586 
1587 
1588 
1589 
1590 
1591 /*
1592  * intptr_t and uintptr_t are signed and unsigned integer types large enough
1593  * to hold any data pointer; that is, data pointers can be assigned into or
1594  * from these integer types without losing precision.
1595  */
1596 
1597 
1598 
1599 
1600 typedef int intptr_t;
1601 typedef unsigned int uintptr_t;
1602 
1603 
1604 /*
1605  * The following define the fastest integer types that can hold the
1606  * specified number of bits.
1607  */
1608 
1609 typedef char int_fast8_t;
1610 
1611 
1612 
1613 typedef int int_fast16_t;
1614 typedef int int_fast32_t;
1615 
1616 
1617 
1618 
1619 typedef long long int_fast64_t;
1620 
1621 
1622 
1623 typedef unsigned char uint_fast8_t;
1624 typedef unsigned int uint_fast16_t;
1625 typedef unsigned int uint_fast32_t;
1626 
1627 
1628 
1629 
1630 typedef unsigned long long uint_fast64_t;
1631 
1632 
1633 
1634 /*
1635  * The following define the smallest integer types that can hold the
1636  * specified number of bits.
1637  */
1638 
1639 typedef char int_least8_t;
1640 
1641 
1642 
1643 typedef short int_least16_t;
1644 typedef int int_least32_t;
1645 
1646 
1647 
1648 
1649 typedef long long int_least64_t;
1650 
1651 
1652 
1653 /*
1654  * If these are changed, please update char16_t and char32_t in head/uchar.h.
1655  */
1656 typedef unsigned char uint_least8_t;
1657 typedef unsigned short uint_least16_t;
1658 typedef unsigned int uint_least32_t;
1659 
1660 
1661 
1662 
1663 typedef unsigned long long uint_least64_t;
1664 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
1665 
1666 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
1667 /*
1668  * CDDL HEADER START
1669  *
1670  * The contents of this file are subject to the terms of the
1671  * Common Development and Distribution License, Version 1.0 only
1672  * (the "License").  You may not use this file except in compliance
1673  * with the License.
1674  *
1675  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1676  * or http://www.opensolaris.org/os/licensing.
1677  * See the License for the specific language governing permissions
1678  * and limitations under the License.
1679  *
1680  * When distributing Covered Code, include this CDDL HEADER in each
1681  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1682  * If applicable, add the following below this CDDL HEADER, with the
1683  * fields enclosed by brackets "[]" replaced with your own identifying
1684  * information: Portions Copyright [yyyy] [name of copyright owner]
1685  *
1686  * CDDL HEADER END
1687  */
1688 /*
1689  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1690  *
1691  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1692  * Use is subject to license terms.
1693  */
1694 
1695 
1696 
1697 
1698 /*
1699  * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation
1700  * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999
1701  * Programming language - C.
1702  *
1703  * Programs/Modules should not directly include this file.  Access to the
1704  * types defined in this file should be through the inclusion of one of the
1705  * following files:
1706  *
1707  *	<limits.h>		This nested inclusion is disabled for strictly
1708  *				ANSI-C conforming compilations.  The *_MIN
1709  *				definitions are not visible to POSIX or XPG
1710  *				conforming applications (due to what may be
1711  *				a bug in the specification - this is under
1712  *				investigation)
1713  *
1714  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
1715  *				components of <inttypes.h>.
1716  *
1717  *	<inttypes.h>		For use by applications.
1718  *
1719  * See these files for more details.
1720  */
1721 
1722 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1723 /*
1724  * CDDL HEADER START
1725  *
1726  * The contents of this file are subject to the terms of the
1727  * Common Development and Distribution License (the "License").
1728  * You may not use this file except in compliance with the License.
1729  *
1730  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1731  * or http://www.opensolaris.org/os/licensing.
1732  * See the License for the specific language governing permissions
1733  * and limitations under the License.
1734  *
1735  * When distributing Covered Code, include this CDDL HEADER in each
1736  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1737  * If applicable, add the following below this CDDL HEADER, with the
1738  * fields enclosed by brackets "[]" replaced with your own identifying
1739  * information: Portions Copyright [yyyy] [name of copyright owner]
1740  *
1741  * CDDL HEADER END
1742  */
1743 
1744 /*
1745  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1746  * Copyright 2016 Joyent, Inc.
1747  *
1748  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1749  * Use is subject to license terms.
1750  */
1751 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2
1752 
1753 
1754 
1755 
1756 
1757 /*
1758  * Limits
1759  *
1760  * The following define the limits for the types defined in <sys/int_types.h>.
1761  *
1762  * INTMAX_MIN (minimum value of the largest supported signed integer type),
1763  * INTMAX_MAX (maximum value of the largest supported signed integer type),
1764  * and UINTMAX_MAX (maximum value of the largest supported unsigned integer
1765  * type) can be set to implementation defined limits.
1766  *
1767  * NOTE : A programmer can test to see whether an implementation supports
1768  * a particular size of integer by testing if the macro that gives the
1769  * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
1770  * tests false, the implementation does not support unsigned 64 bit integers.
1771  *
1772  * The type of these macros is intentionally unspecified.
1773  *
1774  * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs
1775  * where the ABI specifies "char" as unsigned when the translation mode is
1776  * not ANSI-C.
1777  */
1778 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1779 /*
1780  * The following 2 macros are provided for testing whether the types
1781  * intptr_t and uintptr_t (integers large enough to hold a void *) are
1782  * defined in this header. They are needed in case the architecture can't
1783  * represent a pointer in any standard integral type.
1784  */
1785 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1786 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */
1787 
1788 
1789 
1790 
1791 
1792 
1793 /*
1794  * Maximum value of a "size_t".  SIZE_MAX was previously defined
1795  * in <limits.h>, however, the standards specify it be defined
1796  * in <stdint.h>. The <stdint.h> headers includes this header as
1797  * does <limits.h>. The value of SIZE_MAX should not deviate
1798  * from the value of ULONG_MAX defined <sys/types.h>.
1799  */
1800 
1801 
1802 
1803 
1804 
1805 
1806 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */
1807 
1808 
1809 
1810 
1811 /*
1812  * Maximum limit of wchar_t. The WCHAR_* macros are also
1813  * defined in <iso/wchar_iso.h>, but inclusion of that header
1814  * will break ISO/IEC C namespace.
1815  */
1816 
1817 
1818 
1819 
1820 /* Maximum limit of wint_t */
1821 
1822 
1823 
1824 
1825 /*
1826  * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that
1827  * when including <limits.h> that the suffix _MAX is reserved but not the
1828  * suffix _MIN.  However, until that issue is resolved....
1829  */
1830 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
1831 /* Minimum value of a pointer-holding signed integer type */
1832 
1833 
1834 
1835 
1836 
1837 
1838 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */
1839 
1840 
1841 
1842 
1843 
1844 
1845 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */
1846 
1847 
1848 
1849 
1850 /*
1851  * Minimum limit of wchar_t. The WCHAR_* macros are also
1852  * defined in <iso/wchar_iso.h>, but inclusion of that header
1853  * will break ISO/IEC C namespace.
1854  */
1855 
1856 
1857 
1858 
1859 /* Minimum limit of wint_t */
1860 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
1861 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
1862 /*
1863  * CDDL HEADER START
1864  *
1865  * The contents of this file are subject to the terms of the
1866  * Common Development and Distribution License, Version 1.0 only
1867  * (the "License").  You may not use this file except in compliance
1868  * with the License.
1869  *
1870  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1871  * or http://www.opensolaris.org/os/licensing.
1872  * See the License for the specific language governing permissions
1873  * and limitations under the License.
1874  *
1875  * When distributing Covered Code, include this CDDL HEADER in each
1876  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1877  * If applicable, add the following below this CDDL HEADER, with the
1878  * fields enclosed by brackets "[]" replaced with your own identifying
1879  * information: Portions Copyright [yyyy] [name of copyright owner]
1880  *
1881  * CDDL HEADER END
1882  */
1883 /*
1884  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1885  *
1886  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1887  * Use is subject to license terms.
1888  */
1889 
1890 
1891 
1892 
1893 /*
1894  * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation
1895  * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working
1896  * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990
1897  * Programming language - C.
1898  *
1899  * Programs/Modules should not directly include this file.  Access to the
1900  * types defined in this file should be through the inclusion of one of the
1901  * following files:
1902  *
1903  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
1904  *				components of <inttypes.h>.
1905  *
1906  *	<inttypes.h>		For use by applications.
1907  *
1908  * See these files for more details.
1909  *
1910  * Use at your own risk.  This file will track the evolution of the revision
1911  * of the current ISO C standard.  As of February 1996, the committee is
1912  * squarely behind the fixed sized types.
1913  */
1914 
1915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1916 /*
1917  * CDDL HEADER START
1918  *
1919  * The contents of this file are subject to the terms of the
1920  * Common Development and Distribution License (the "License").
1921  * You may not use this file except in compliance with the License.
1922  *
1923  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1924  * or http://www.opensolaris.org/os/licensing.
1925  * See the License for the specific language governing permissions
1926  * and limitations under the License.
1927  *
1928  * When distributing Covered Code, include this CDDL HEADER in each
1929  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1930  * If applicable, add the following below this CDDL HEADER, with the
1931  * fields enclosed by brackets "[]" replaced with your own identifying
1932  * information: Portions Copyright [yyyy] [name of copyright owner]
1933  *
1934  * CDDL HEADER END
1935  */
1936 
1937 /*
1938  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1939  * Copyright 2016 Joyent, Inc.
1940  *
1941  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1942  * Use is subject to license terms.
1943  */
1944 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2
1945 
1946 
1947 
1948 
1949 
1950 /*
1951  * Constants
1952  *
1953  * The following macros create constants of the types defined in
1954  * <sys/int_types.h>. The intent is that:
1955  *	Constants defined using these macros have a specific size and
1956  *	signedness. The suffix used for int64_t and uint64_t (ll and ull)
1957  *	are for examples only. Implementations are permitted to use other
1958  *	suffixes.
1959  *
1960  * The "CSTYLED" comments are flags to an internal code style analysis tool
1961  * telling it to silently accept the line which follows.  This internal
1962  * standard requires a space between arguments, but the historical,
1963  * non-ANSI-C ``method'' of concatenation can't tolerate those spaces.
1964  */
1965 /* CSTYLED */
1966 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
1967 /* CSTYLED */
1968 
1969 
1970 
1971 
1972 /* CSTYLED */
1973 
1974 /* CSTYLED */
1975 
1976 /* CSTYLED */
1977 
1978 
1979 
1980 
1981 
1982 
1983 /* CSTYLED */
1984 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
1985 /* CSTYLED */
1986 
1987 /* CSTYLED */
1988 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
1989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1
1990 /*
1991  * CDDL HEADER START
1992  *
1993  * The contents of this file are subject to the terms of the
1994  * Common Development and Distribution License, Version 1.0 only
1995  * (the "License").  You may not use this file except in compliance
1996  * with the License.
1997  *
1998  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1999  * or http://www.opensolaris.org/os/licensing.
2000  * See the License for the specific language governing permissions
2001  * and limitations under the License.
2002  *
2003  * When distributing Covered Code, include this CDDL HEADER in each
2004  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2005  * If applicable, add the following below this CDDL HEADER, with the
2006  * fields enclosed by brackets "[]" replaced with your own identifying
2007  * information: Portions Copyright [yyyy] [name of copyright owner]
2008  *
2009  * CDDL HEADER END
2010  */
2011 /*
2012  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2013  *
2014  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2015  * Use is subject to license terms.
2016  */
2017 
2018 
2019 
2020 
2021 /*
2022  * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
2023  * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
2024  * Programming language - C.
2025  *
2026  * ISO  International Organization for Standardization.
2027  *
2028  * Programs/Modules should not directly include this file.  Access to the
2029  * types defined in this file should be through the inclusion of one of the
2030  * following files:
2031  *
2032  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
2033  *				components of <inttypes.h>.
2034  *
2035  *	<inttypes.h>		For use by applications.
2036  *
2037  * See these files for more details.
2038  */
2039 
2040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2041 /*
2042  * CDDL HEADER START
2043  *
2044  * The contents of this file are subject to the terms of the
2045  * Common Development and Distribution License (the "License").
2046  * You may not use this file except in compliance with the License.
2047  *
2048  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2049  * or http://www.opensolaris.org/os/licensing.
2050  * See the License for the specific language governing permissions
2051  * and limitations under the License.
2052  *
2053  * When distributing Covered Code, include this CDDL HEADER in each
2054  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2055  * If applicable, add the following below this CDDL HEADER, with the
2056  * fields enclosed by brackets "[]" replaced with your own identifying
2057  * information: Portions Copyright [yyyy] [name of copyright owner]
2058  *
2059  * CDDL HEADER END
2060  */
2061 
2062 /*
2063  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2064  * Copyright 2016 Joyent, Inc.
2065  *
2066  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2067  * Use is subject to license terms.
2068  */
2069 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2
2070 
2071 
2072 
2073 
2074 
2075 /*
2076  * Formatted I/O
2077  *
2078  * The following macros can be used even when an implementation has not
2079  * extended the printf/scanf family of functions.
2080  *
2081  * The form of the names of the macros is either "PRI" for printf specifiers
2082  * or "SCN" for scanf specifiers, followed by the conversion specifier letter
2083  * followed by the datatype size. For example, PRId32 is the macro for
2084  * the printf d conversion specifier with the flags for 32 bit datatype.
2085  *
2086  * An example using one of these macros:
2087  *
2088  *	uint64_t u;
2089  *	printf("u = %016" PRIx64 "\n", u);
2090  *
2091  * For the purpose of example, the definitions of the printf/scanf macros
2092  * below have the values appropriate for a machine with 8 bit shorts, 16
2093  * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
2094  * mode, and 64 bit long longs.
2095  */
2096 
2097 /*
2098  * fprintf macros for signed integers
2099  */
2100 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2101 /*
2102  * fprintf macros for unsigned integers
2103  */
2104 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2105 /*
2106  * fprintf macros for pointers
2107  */
2108 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2109 /*
2110  * fscanf macros for signed integers
2111  */
2112 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2113 /*
2114  * fscanf macros for unsigned integers
2115  */
2116 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
2117 /*
2118  * The following macros define I/O formats for intmax_t and uintmax_t.
2119  */
2120 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
2121 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2122 
2123 
2124 
2125 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1
2126 /*
2127  * CDDL HEADER START
2128  *
2129  * The contents of this file are subject to the terms of the
2130  * Common Development and Distribution License, Version 1.0 only
2131  * (the "License").  You may not use this file except in compliance
2132  * with the License.
2133  *
2134  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2135  * or http://www.opensolaris.org/os/licensing.
2136  * See the License for the specific language governing permissions
2137  * and limitations under the License.
2138  *
2139  * When distributing Covered Code, include this CDDL HEADER in each
2140  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2141  * If applicable, add the following below this CDDL HEADER, with the
2142  * fields enclosed by brackets "[]" replaced with your own identifying
2143  * information: Portions Copyright [yyyy] [name of copyright owner]
2144  *
2145  * CDDL HEADER END
2146  */
2147 /*
2148  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
2149  * Use is subject to license terms.
2150  */
2151 
2152 
2153 
2154 
2155 #pragma ident "%Z%%M%	%I%	%E% SMI"
2156 
2157 /*
2158  * This header is included by <stdint.h> which was introduced by
2159  * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
2160  * The header is a subset of the <inttypes.h> header.
2161  */
2162 
2163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2164 /*
2165  * CDDL HEADER START
2166  *
2167  * The contents of this file are subject to the terms of the
2168  * Common Development and Distribution License, Version 1.0 only
2169  * (the "License").  You may not use this file except in compliance
2170  * with the License.
2171  *
2172  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2173  * or http://www.opensolaris.org/os/licensing.
2174  * See the License for the specific language governing permissions
2175  * and limitations under the License.
2176  *
2177  * When distributing Covered Code, include this CDDL HEADER in each
2178  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2179  * If applicable, add the following below this CDDL HEADER, with the
2180  * fields enclosed by brackets "[]" replaced with your own identifying
2181  * information: Portions Copyright [yyyy] [name of copyright owner]
2182  *
2183  * CDDL HEADER END
2184  */
2185 /*
2186  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2187  *
2188  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2189  * Use is subject to license terms.
2190  */
2191 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2192 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
2193 /*
2194  * CDDL HEADER START
2195  *
2196  * The contents of this file are subject to the terms of the
2197  * Common Development and Distribution License, Version 1.0 only
2198  * (the "License").  You may not use this file except in compliance
2199  * with the License.
2200  *
2201  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2202  * or http://www.opensolaris.org/os/licensing.
2203  * See the License for the specific language governing permissions
2204  * and limitations under the License.
2205  *
2206  * When distributing Covered Code, include this CDDL HEADER in each
2207  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2208  * If applicable, add the following below this CDDL HEADER, with the
2209  * fields enclosed by brackets "[]" replaced with your own identifying
2210  * information: Portions Copyright [yyyy] [name of copyright owner]
2211  *
2212  * CDDL HEADER END
2213  */
2214 /*
2215  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2216  *
2217  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2218  * Use is subject to license terms.
2219  */
2220 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2221 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
2222 /*
2223  * CDDL HEADER START
2224  *
2225  * The contents of this file are subject to the terms of the
2226  * Common Development and Distribution License, Version 1.0 only
2227  * (the "License").  You may not use this file except in compliance
2228  * with the License.
2229  *
2230  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2231  * or http://www.opensolaris.org/os/licensing.
2232  * See the License for the specific language governing permissions
2233  * and limitations under the License.
2234  *
2235  * When distributing Covered Code, include this CDDL HEADER in each
2236  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2237  * If applicable, add the following below this CDDL HEADER, with the
2238  * fields enclosed by brackets "[]" replaced with your own identifying
2239  * information: Portions Copyright [yyyy] [name of copyright owner]
2240  *
2241  * CDDL HEADER END
2242  */
2243 /*
2244  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2245  *
2246  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2247  * Use is subject to license terms.
2248  */
2249 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
2250 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
2251 
2252 
2253 
2254 
2255 
2256 
2257 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */
2258 
2259 /*
2260  * wchar_t is a built-in type in standard C++ and as such is not
2261  * defined here when using standard C++. However, the GNU compiler
2262  * fixincludes utility nonetheless creates its own version of this
2263  * header for use by gcc and g++. In that version it adds a redundant
2264  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
2265  * header we need to include the following magic comment:
2266  *
2267  * we must use the C++ compiler's type
2268  *
2269  * The above comment should not be removed or changed until GNU
2270  * gcc/fixinc/inclhack.def is updated to bypass this header.
2271  */
2272 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
2273 typedef struct {
2274  intmax_t quot;
2275  intmax_t rem;
2276 } imaxdiv_t;
2277 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
2278 extern intmax_t imaxabs(intmax_t);
2279 extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
2280 extern intmax_t strtoimax(const char *, char **,
2281  int);
2282 extern uintmax_t strtoumax(const char *, char **,
2283  int);
2284 extern intmax_t wcstoimax(const wchar_t *,
2285  wchar_t **, int);
2286 extern uintmax_t wcstoumax(const wchar_t *,
2287  wchar_t **, int);
2288 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
2289 extern uint32_t arc4random(void);
2290 extern void arc4random_buf(void *, size_t);
2291 extern uint32_t arc4random_uniform(uint32_t);
2292 extern void freezero(void *, size_t);
2293 extern void *recallocarray(void *, size_t, size_t, size_t);
2294 # 32 "../common/handlelocalfs.c" 2
2295 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1
2296 /*
2297  * CDDL HEADER START
2298  *
2299  * The contents of this file are subject to the terms of the
2300  * Common Development and Distribution License (the "License").
2301  * You may not use this file except in compliance with the License.
2302  *
2303  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2304  * or http://www.opensolaris.org/os/licensing.
2305  * See the License for the specific language governing permissions
2306  * and limitations under the License.
2307  *
2308  * When distributing Covered Code, include this CDDL HEADER in each
2309  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2310  * If applicable, add the following below this CDDL HEADER, with the
2311  * fields enclosed by brackets "[]" replaced with your own identifying
2312  * information: Portions Copyright [yyyy] [name of copyright owner]
2313  *
2314  * CDDL HEADER END
2315  */
2316 
2317 /*
2318  * Copyright 2014 PALO, Richard.
2319  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2320  * Copyright (c) 2013 Gary Mills
2321  *
2322  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
2323  */
2324 
2325 /*	Copyright (c) 1988 AT&T	*/
2326 /*	  All Rights Reserved  	*/
2327 
2328 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
2329 
2330 
2331 
2332 
2333 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2334 /*
2335  * CDDL HEADER START
2336  *
2337  * The contents of this file are subject to the terms of the
2338  * Common Development and Distribution License (the "License").
2339  * You may not use this file except in compliance with the License.
2340  *
2341  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2342  * or http://www.opensolaris.org/os/licensing.
2343  * See the License for the specific language governing permissions
2344  * and limitations under the License.
2345  *
2346  * When distributing Covered Code, include this CDDL HEADER in each
2347  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2348  * If applicable, add the following below this CDDL HEADER, with the
2349  * fields enclosed by brackets "[]" replaced with your own identifying
2350  * information: Portions Copyright [yyyy] [name of copyright owner]
2351  *
2352  * CDDL HEADER END
2353  */
2354 
2355 /*
2356  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2357  * Copyright 2016 Joyent, Inc.
2358  *
2359  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2360  * Use is subject to license terms.
2361  */
2362 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
2363 
2364 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
2365 /*
2366  * This file and its contents are supplied under the terms of the
2367  * Common Development and Distribution License ("CDDL"), version 1.0.
2368  * You may only use this file in accordance with the terms of version
2369  * 1.0 of the CDDL.
2370  *
2371  * A full copy of the text of the CDDL should have accompanied this
2372  * source.  A copy of the CDDL is also available via the Internet at
2373  * http://www.illumos.org/license/CDDL.
2374  */
2375 
2376 /*
2377  * Copyright 2014-2016 PALO, Richard.
2378  */
2379 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
2380 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
2381 /*
2382  * CDDL HEADER START
2383  *
2384  * The contents of this file are subject to the terms of the
2385  * Common Development and Distribution License (the "License").
2386  * You may not use this file except in compliance with the License.
2387  *
2388  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2389  * or http://www.opensolaris.org/os/licensing.
2390  * See the License for the specific language governing permissions
2391  * and limitations under the License.
2392  *
2393  * When distributing Covered Code, include this CDDL HEADER in each
2394  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2395  * If applicable, add the following below this CDDL HEADER, with the
2396  * fields enclosed by brackets "[]" replaced with your own identifying
2397  * information: Portions Copyright [yyyy] [name of copyright owner]
2398  *
2399  * CDDL HEADER END
2400  */
2401 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
2402 /*	  All Rights Reserved  	*/
2403 
2404 
2405 /*
2406  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
2407  * Use is subject to license terms.
2408  *
2409  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
2410  * Copyright 2016 Joyent, Inc.
2411  */
2412 
2413 
2414 
2415 
2416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2417 /*
2418  * CDDL HEADER START
2419  *
2420  * The contents of this file are subject to the terms of the
2421  * Common Development and Distribution License (the "License").
2422  * You may not use this file except in compliance with the License.
2423  *
2424  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2425  * or http://www.opensolaris.org/os/licensing.
2426  * See the License for the specific language governing permissions
2427  * and limitations under the License.
2428  *
2429  * When distributing Covered Code, include this CDDL HEADER in each
2430  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2431  * If applicable, add the following below this CDDL HEADER, with the
2432  * fields enclosed by brackets "[]" replaced with your own identifying
2433  * information: Portions Copyright [yyyy] [name of copyright owner]
2434  *
2435  * CDDL HEADER END
2436  */
2437 
2438 /*
2439  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2440  * Copyright 2016 Joyent, Inc.
2441  *
2442  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2443  * Use is subject to license terms.
2444  */
2445 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
2446 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
2447 /*
2448  * CDDL HEADER START
2449  *
2450  * The contents of this file are subject to the terms of the
2451  * Common Development and Distribution License (the "License").
2452  * You may not use this file except in compliance with the License.
2453  *
2454  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2455  * or http://www.opensolaris.org/os/licensing.
2456  * See the License for the specific language governing permissions
2457  * and limitations under the License.
2458  *
2459  *
2460  * When distributing Covered Code, include this CDDL HEADER in each
2461  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2462  * If applicable, add the following below this CDDL HEADER, with the
2463  * fields enclosed by brackets "[]" replaced with your own identifying
2464  * information: Portions Copyright [yyyy] [name of copyright owner]
2465  *
2466  * CDDL HEADER END
2467  */
2468 
2469 /*
2470  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
2471  * Use is subject to license terms.
2472  * Copyright 2016 Joyent, Inc.
2473  */
2474 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
2475 
2476 /*
2477  * Machine dependent definitions moved to <sys/machtypes.h>.
2478  */
2479 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1
2480 /*
2481  * CDDL HEADER START
2482  *
2483  * The contents of this file are subject to the terms of the
2484  * Common Development and Distribution License, Version 1.0 only
2485  * (the "License").  You may not use this file except in compliance
2486  * with the License.
2487  *
2488  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2489  * or http://www.opensolaris.org/os/licensing.
2490  * See the License for the specific language governing permissions
2491  * and limitations under the License.
2492  *
2493  * When distributing Covered Code, include this CDDL HEADER in each
2494  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2495  * If applicable, add the following below this CDDL HEADER, with the
2496  * fields enclosed by brackets "[]" replaced with your own identifying
2497  * information: Portions Copyright [yyyy] [name of copyright owner]
2498  *
2499  * CDDL HEADER END
2500  */
2501 /*
2502  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2503  * Use is subject to license terms.
2504  */
2505 
2506 
2507 
2508 
2509 #pragma ident "%Z%%M%	%I%	%E% SMI"
2510 
2511 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2512 /*
2513  * CDDL HEADER START
2514  *
2515  * The contents of this file are subject to the terms of the
2516  * Common Development and Distribution License (the "License").
2517  * You may not use this file except in compliance with the License.
2518  *
2519  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2520  * or http://www.opensolaris.org/os/licensing.
2521  * See the License for the specific language governing permissions
2522  * and limitations under the License.
2523  *
2524  * When distributing Covered Code, include this CDDL HEADER in each
2525  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2526  * If applicable, add the following below this CDDL HEADER, with the
2527  * fields enclosed by brackets "[]" replaced with your own identifying
2528  * information: Portions Copyright [yyyy] [name of copyright owner]
2529  *
2530  * CDDL HEADER END
2531  */
2532 
2533 /*
2534  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2535  * Copyright 2016 Joyent, Inc.
2536  *
2537  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2538  * Use is subject to license terms.
2539  */
2540 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
2541 
2542 
2543 
2544 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1
2545 /*
2546  * CDDL HEADER START
2547  *
2548  * The contents of this file are subject to the terms of the
2549  * Common Development and Distribution License (the "License").
2550  * You may not use this file except in compliance with the License.
2551  *
2552  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2553  * or http://www.opensolaris.org/os/licensing.
2554  * See the License for the specific language governing permissions
2555  * and limitations under the License.
2556  *
2557  * When distributing Covered Code, include this CDDL HEADER in each
2558  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2559  * If applicable, add the following below this CDDL HEADER, with the
2560  * fields enclosed by brackets "[]" replaced with your own identifying
2561  * information: Portions Copyright [yyyy] [name of copyright owner]
2562  *
2563  * CDDL HEADER END
2564  */
2565 /*
2566  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
2567  * Use is subject to license terms.
2568  */
2569 
2570 
2571 
2572 
2573 #pragma ident "%Z%%M%	%I%	%E% SMI"
2574 
2575 
2576 
2577 
2578 
2579 /*
2580  * Machine dependent types:
2581  *
2582  *	intel ia32 Version
2583  */
2584 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h"
2585 typedef struct _label_t { long val[6]; } label_t;
2586 
2587 
2588 
2589 typedef unsigned char lock_t; /* lock work for busy wait */
2590 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
2591 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
2592 
2593 /*
2594  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
2595  * committee's working draft for the revision of the current ISO C standard,
2596  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
2597  * required by any standard but constitute a useful, general purpose set
2598  * of type definitions which is namespace clean with respect to all standards.
2599  */
2600 
2601 
2602 
2603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
2604 /*
2605  * CDDL HEADER START
2606  *
2607  * The contents of this file are subject to the terms of the
2608  * Common Development and Distribution License, Version 1.0 only
2609  * (the "License").  You may not use this file except in compliance
2610  * with the License.
2611  *
2612  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2613  * or http://www.opensolaris.org/os/licensing.
2614  * See the License for the specific language governing permissions
2615  * and limitations under the License.
2616  *
2617  * When distributing Covered Code, include this CDDL HEADER in each
2618  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2619  * If applicable, add the following below this CDDL HEADER, with the
2620  * fields enclosed by brackets "[]" replaced with your own identifying
2621  * information: Portions Copyright [yyyy] [name of copyright owner]
2622  *
2623  * CDDL HEADER END
2624  */
2625 /*
2626  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2627  *
2628  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2629  * Use is subject to license terms.
2630  */
2631 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
2632 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2633 /*
2634  * Strictly conforming ANSI C environments prior to the 1999
2635  * revision of the C Standard (ISO/IEC 9899:1999) do not have
2636  * the long long data type.
2637  */
2638 
2639 typedef long long longlong_t;
2640 typedef unsigned long long u_longlong_t;
2641 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2642 /*
2643  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
2644  * to use them instead of int32_t and uint32_t because DEC had
2645  * shipped 64-bit wide.
2646  */
2647 
2648 
2649 
2650 
2651 typedef long t_scalar_t; /* historical versions */
2652 typedef unsigned long t_uscalar_t;
2653 
2654 
2655 /*
2656  * POSIX Extensions
2657  */
2658 typedef unsigned char uchar_t;
2659 typedef unsigned short ushort_t;
2660 typedef unsigned int uint_t;
2661 typedef unsigned long ulong_t;
2662 
2663 typedef char *caddr_t; /* ?<core address> type */
2664 typedef long daddr_t; /* <disk address> type */
2665 typedef short cnt_t; /* ?<count> type */
2666 
2667 
2668 
2669 
2670 
2671 
2672 typedef int ptrdiff_t; /* (historical version) */
2673 
2674 
2675 
2676 /*
2677  * VM-related types
2678  */
2679 typedef ulong_t pfn_t; /* page frame number */
2680 typedef ulong_t pgcnt_t; /* number of pages */
2681 typedef long spgcnt_t; /* signed number of pages */
2682 
2683 typedef uchar_t use_t; /* use count for swap.  */
2684 typedef short sysid_t;
2685 typedef short index_t;
2686 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */
2687 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */
2688 
2689 /*
2690  * The size of off_t and related types depends on the setting of
2691  * _FILE_OFFSET_BITS.  (Note that other system headers define other types
2692  * related to those defined here.)
2693  *
2694  * If _LARGEFILE64_SOURCE is defined, variants of these types that are
2695  * explicitly 64 bits wide become available.
2696  */
2697 
2698 
2699 
2700 
2701 
2702 
2703 typedef longlong_t off_t; /* offsets within files */
2704 
2705 
2706 
2707 
2708 
2709 
2710 typedef longlong_t off64_t; /* offsets within files */
2711 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2712 typedef u_longlong_t ino_t; /* expanded inode type	*/
2713 typedef longlong_t blkcnt_t; /* count of file blocks */
2714 typedef u_longlong_t fsblkcnt_t; /* count of file system blocks */
2715 typedef u_longlong_t fsfilcnt_t; /* count of files */
2716 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2717 typedef u_longlong_t ino64_t; /* expanded inode type	*/
2718 typedef longlong_t blkcnt64_t; /* count of file blocks */
2719 typedef u_longlong_t fsblkcnt64_t; /* count of file system blocks */
2720 typedef u_longlong_t fsfilcnt64_t; /* count of files */
2721 
2722 
2723 
2724 
2725 
2726 
2727 typedef long blksize_t; /* used for block sizes */
2728 
2729 
2730 
2731 
2732 
2733 typedef enum { B_FALSE, B_TRUE } boolean_t;
2734 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2735 /*
2736  * The {u,}pad64_t types can be used in structures such that those structures
2737  * may be accessed by code produced by compilation environments which don't
2738  * support a 64 bit integral datatype.  The intention is not to allow
2739  * use of these fields in such environments, but to maintain the alignment
2740  * and offsets of the structure.
2741  *
2742  * Similar comments for {u,}pad128_t.
2743  *
2744  * Note that these types do NOT generate any stronger alignment constraints
2745  * than those available in the underlying ABI.  See <sys/isa_defs.h>
2746  */
2747 
2748 typedef int64_t pad64_t;
2749 typedef uint64_t upad64_t;
2750 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2751 typedef union {
2752  long double _q;
2753  int32_t _l[4];
2754 } pad128_t;
2755 
2756 typedef union {
2757  long double _q;
2758  uint32_t _l[4];
2759 } upad128_t;
2760 
2761 typedef longlong_t offset_t;
2762 typedef u_longlong_t u_offset_t;
2763 typedef u_longlong_t len_t;
2764 typedef u_longlong_t diskaddr_t;
2765 
2766 
2767 
2768 
2769 /*
2770  * Definitions remaining from previous partial support for 64-bit file
2771  * offsets.  This partial support for devices greater than 2gb requires
2772  * compiler support for long long.
2773  */
2774 
2775 typedef union {
2776  offset_t _f; /* Full 64 bit offset value */
2777  struct {
2778   int32_t _l; /* lower 32 bits of offset value */
2779   int32_t _u; /* upper 32 bits of offset value */
2780  } _p;
2781 } lloff_t;
2782 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2783 typedef union {
2784  longlong_t _f; /* Full 64 bit disk address value */
2785  struct {
2786   int32_t _l; /* lower 32 bits of disk address value */
2787   int32_t _u; /* upper 32 bits of disk address value */
2788  } _p;
2789 } lldaddr_t;
2790 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2791 typedef uint_t k_fltset_t; /* kernel fault set type */
2792 
2793 /*
2794  * The following type is for various kinds of identifiers.  The
2795  * actual type must be the same for all since some system calls
2796  * (such as sigsend) take arguments that may be any of these
2797  * types.  The enumeration type idtype_t defined in sys/procset.h
2798  * is used to indicate what type of id is being specified --
2799  * a process id, process group id, session id, scheduling class id,
2800  * user id, group id, project id, task id or zone id.
2801  */
2802 
2803 
2804 
2805 typedef long id_t; /* (historical version) */
2806 
2807 
2808 typedef id_t lgrp_id_t; /* lgroup ID */
2809 
2810 /*
2811  * Type useconds_t is an unsigned integral type capable of storing
2812  * values at least in the range of zero to 1,000,000.
2813  */
2814 typedef uint_t useconds_t; /* Time, in microseconds */
2815 
2816 
2817 
2818 typedef long suseconds_t; /* signed # of microseconds */
2819 
2820 
2821 /*
2822  * Typedefs for dev_t components.
2823  */
2824 
2825 
2826 
2827 
2828 typedef ulong_t major_t; /* (historical version) */
2829 typedef ulong_t minor_t; /* (historical version) */
2830 
2831 
2832 /*
2833  * The data type of a thread priority.
2834  */
2835 typedef short pri_t;
2836 
2837 /*
2838  * The data type for a CPU flags field.  (Can be extended to larger unsigned
2839  * types, if needed, limited by ability to update atomically.)
2840  */
2841 typedef ushort_t cpu_flag_t;
2842 
2843 /*
2844  * For compatibility reasons the following typedefs (prefixed o_)
2845  * can't grow regardless of the EFT definition. Although,
2846  * applications should not explicitly use these typedefs
2847  * they may be included via a system header definition.
2848  * WARNING: These typedefs may be removed in a future
2849  * release.
2850  *		ex. the definitions in s5inode.h (now obsoleted)
2851  *			remained small to preserve compatibility
2852  *			in the S5 file system type.
2853  */
2854 typedef ushort_t o_mode_t; /* old file attribute type */
2855 typedef short o_dev_t; /* old device type	*/
2856 typedef ushort_t o_uid_t; /* old UID type		*/
2857 typedef o_uid_t o_gid_t; /* old GID type		*/
2858 typedef short o_nlink_t; /* old file link type	*/
2859 typedef short o_pid_t; /* old process id type	*/
2860 typedef ushort_t o_ino_t; /* old inode type	*/
2861 
2862 
2863 /*
2864  * POSIX and XOPEN Declarations
2865  */
2866 typedef int key_t; /* IPC key type		*/
2867 
2868 
2869 
2870 typedef ulong_t mode_t; /* (historical version) */
2871 
2872 
2873 
2874 
2875 
2876 
2877 
2878 typedef uid_t gid_t; /* GID type		*/
2879 
2880 typedef uint32_t datalink_id_t;
2881 typedef uint32_t vrid_t;
2882 
2883 typedef id_t taskid_t;
2884 typedef id_t projid_t;
2885 typedef id_t poolid_t;
2886 typedef id_t zoneid_t;
2887 typedef id_t ctid_t;
2888 
2889 /*
2890  * POSIX definitions are same as defined in thread.h and synch.h.
2891  * Any changes made to here should be reflected in corresponding
2892  * files as described in comments.
2893  */
2894 typedef uint_t pthread_t; /* = thread_t in thread.h */
2895 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */
2896 
2897 /* "Magic numbers" tagging synchronization object types */
2898 
2899 
2900 
2901 
2902 
2903 typedef struct _pthread_mutex { /* = mutex_t in synch.h */
2904  struct {
2905   uint16_t __pthread_mutex_flag1;
2906   uint8_t __pthread_mutex_flag2;
2907   uint8_t __pthread_mutex_ceiling;
2908   uint16_t __pthread_mutex_type;
2909   uint16_t __pthread_mutex_magic;
2910  } __pthread_mutex_flags;
2911  union {
2912   struct {
2913    uint8_t __pthread_mutex_pad[8];
2914   } __pthread_mutex_lock64;
2915   struct {
2916    uint32_t __pthread_ownerpid;
2917    uint32_t __pthread_lockword;
2918   } __pthread_mutex_lock32;
2919   upad64_t __pthread_mutex_owner64;
2920  } __pthread_mutex_lock;
2921  upad64_t __pthread_mutex_data;
2922 } pthread_mutex_t;
2923 
2924 typedef struct _pthread_cond { /* = cond_t in synch.h */
2925  struct {
2926   uint8_t __pthread_cond_flag[4];
2927   uint16_t __pthread_cond_type;
2928   uint16_t __pthread_cond_magic;
2929  } __pthread_cond_flags;
2930  upad64_t __pthread_cond_data;
2931 } pthread_cond_t;
2932 
2933 /*
2934  * UNIX 98 Extension
2935  */
2936 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */
2937  int32_t __pthread_rwlock_readers;
2938  uint16_t __pthread_rwlock_type;
2939  uint16_t __pthread_rwlock_magic;
2940  pthread_mutex_t __pthread_rwlock_mutex;
2941  pthread_cond_t __pthread_rwlock_readercv;
2942  pthread_cond_t __pthread_rwlock_writercv;
2943 } pthread_rwlock_t;
2944 
2945 /*
2946  * SUSV3
2947  */
2948 typedef struct {
2949  uint32_t __pthread_barrier_count;
2950  uint32_t __pthread_barrier_current;
2951  upad64_t __pthread_barrier_cycle;
2952  upad64_t __pthread_barrier_reserved;
2953  pthread_mutex_t __pthread_barrier_lock;
2954  pthread_cond_t __pthread_barrier_cond;
2955 } pthread_barrier_t;
2956 
2957 typedef pthread_mutex_t pthread_spinlock_t;
2958 
2959 /*
2960  * attributes for threads, dynamically allocated by library
2961  */
2962 typedef struct _pthread_attr {
2963  void *__pthread_attrp;
2964 } pthread_attr_t;
2965 
2966 /*
2967  * attributes for mutex, dynamically allocated by library
2968  */
2969 typedef struct _pthread_mutexattr {
2970  void *__pthread_mutexattrp;
2971 } pthread_mutexattr_t;
2972 
2973 /*
2974  * attributes for cond, dynamically allocated by library
2975  */
2976 typedef struct _pthread_condattr {
2977  void *__pthread_condattrp;
2978 } pthread_condattr_t;
2979 
2980 /*
2981  * pthread_once
2982  */
2983 typedef struct _once {
2984  upad64_t __pthread_once_pad[4];
2985 } pthread_once_t;
2986 
2987 /*
2988  * UNIX 98 Extensions
2989  * attributes for rwlock, dynamically allocated by library
2990  */
2991 typedef struct _pthread_rwlockattr {
2992  void *__pthread_rwlockattrp;
2993 } pthread_rwlockattr_t;
2994 
2995 /*
2996  * SUSV3
2997  * attributes for pthread_barrier_t, dynamically allocated by library
2998  */
2999 typedef struct {
3000  void *__pthread_barrierattrp;
3001 } pthread_barrierattr_t;
3002 
3003 typedef ulong_t dev_t; /* expanded device type */
3004 
3005 
3006 
3007 
3008 
3009 typedef ulong_t nlink_t; /* (historical version) */
3010 typedef long pid_t; /* (historical version) */
3011 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3012 typedef long time_t; /* time of day in seconds */
3013 
3014 
3015 
3016 
3017 typedef long clock_t; /* relative time in a specified resolution */
3018 
3019 
3020 
3021 
3022 typedef int clockid_t; /* clock identifier type */
3023 
3024 
3025 
3026 
3027 typedef int timer_t; /* timer identifier type */
3028 
3029 
3030 
3031 
3032 /* BEGIN CSTYLED */
3033 typedef unsigned char unchar;
3034 typedef unsigned short ushort;
3035 typedef unsigned int uint;
3036 typedef unsigned long ulong;
3037 /* END CSTYLED */
3038 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3039 /*
3040  * The following is the value of type id_t to use to indicate the
3041  * caller's current id.  See procset.h for the type idtype_t
3042  * which defines which kind of id is being specified.
3043  */
3044 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
3045 /*
3046  * The following value of type pfn_t is used to indicate
3047  * invalid page frame number.
3048  */
3049 
3050 
3051 
3052 /* BEGIN CSTYLED */
3053 typedef unsigned char u_char;
3054 typedef unsigned short u_short;
3055 typedef unsigned int u_int;
3056 typedef unsigned long u_long;
3057 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */
3058 typedef quad_t quad; /* used by UFS */
3059 /* END CSTYLED */
3060 
3061 /*
3062  * Nested include for BSD/sockets source compatibility.
3063  * (The select macros used to be defined here).
3064  */
3065 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
3066 /*
3067  * CDDL HEADER START
3068  *
3069  * The contents of this file are subject to the terms of the
3070  * Common Development and Distribution License (the "License").
3071  * You may not use this file except in compliance with the License.
3072  *
3073  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3074  * or http://www.opensolaris.org/os/licensing.
3075  * See the License for the specific language governing permissions
3076  * and limitations under the License.
3077  *
3078  * When distributing Covered Code, include this CDDL HEADER in each
3079  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3080  * If applicable, add the following below this CDDL HEADER, with the
3081  * fields enclosed by brackets "[]" replaced with your own identifying
3082  * information: Portions Copyright [yyyy] [name of copyright owner]
3083  *
3084  * CDDL HEADER END
3085  */
3086 
3087 /*
3088  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3089  *
3090  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3091  *
3092  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3093  * Use is subject to license terms.
3094  */
3095 
3096 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3097 /*	  All Rights Reserved	*/
3098 
3099 /*
3100  * University Copyright- Copyright (c) 1982, 1986, 1988
3101  * The Regents of the University of California
3102  * All Rights Reserved
3103  *
3104  * University Acknowledgment- Portions of this document are derived from
3105  * software developed by the University of California, Berkeley, and its
3106  * contributors.
3107  */
3108 
3109 
3110 
3111 
3112 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3113 /*
3114  * CDDL HEADER START
3115  *
3116  * The contents of this file are subject to the terms of the
3117  * Common Development and Distribution License (the "License").
3118  * You may not use this file except in compliance with the License.
3119  *
3120  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3121  * or http://www.opensolaris.org/os/licensing.
3122  * See the License for the specific language governing permissions
3123  * and limitations under the License.
3124  *
3125  * When distributing Covered Code, include this CDDL HEADER in each
3126  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3127  * If applicable, add the following below this CDDL HEADER, with the
3128  * fields enclosed by brackets "[]" replaced with your own identifying
3129  * information: Portions Copyright [yyyy] [name of copyright owner]
3130  *
3131  * CDDL HEADER END
3132  */
3133 
3134 /*
3135  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3136  * Copyright 2016 Joyent, Inc.
3137  *
3138  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3139  * Use is subject to license terms.
3140  */
3141 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3142 
3143 
3144 
3145 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
3146 /*
3147  * CDDL HEADER START
3148  *
3149  * The contents of this file are subject to the terms of the
3150  * Common Development and Distribution License, Version 1.0 only
3151  * (the "License").  You may not use this file except in compliance
3152  * with the License.
3153  *
3154  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3155  * or http://www.opensolaris.org/os/licensing.
3156  * See the License for the specific language governing permissions
3157  * and limitations under the License.
3158  *
3159  * When distributing Covered Code, include this CDDL HEADER in each
3160  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3161  * If applicable, add the following below this CDDL HEADER, with the
3162  * fields enclosed by brackets "[]" replaced with your own identifying
3163  * information: Portions Copyright [yyyy] [name of copyright owner]
3164  *
3165  * CDDL HEADER END
3166  */
3167 /*
3168  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3169  * Use is subject to license terms.
3170  */
3171 
3172 /*
3173  * Implementation-private.  This header should not be included
3174  * directly by an application.  The application should instead
3175  * include <time.h> which includes this header conditionally
3176  * depending on which feature test macros are defined. By default,
3177  * this header is included by <time.h>.  X/Open and POSIX
3178  * standards requirements result in this header being included
3179  * by <time.h> only under a restricted set of conditions.
3180  */
3181 
3182 
3183 
3184 
3185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3186 /*
3187  * CDDL HEADER START
3188  *
3189  * The contents of this file are subject to the terms of the
3190  * Common Development and Distribution License (the "License").
3191  * You may not use this file except in compliance with the License.
3192  *
3193  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3194  * or http://www.opensolaris.org/os/licensing.
3195  * See the License for the specific language governing permissions
3196  * and limitations under the License.
3197  *
3198  * When distributing Covered Code, include this CDDL HEADER in each
3199  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3200  * If applicable, add the following below this CDDL HEADER, with the
3201  * fields enclosed by brackets "[]" replaced with your own identifying
3202  * information: Portions Copyright [yyyy] [name of copyright owner]
3203  *
3204  * CDDL HEADER END
3205  */
3206 
3207 /*
3208  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3209  * Copyright 2016 Joyent, Inc.
3210  *
3211  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3212  * Use is subject to license terms.
3213  */
3214 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2
3215 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3216 /*
3217  * Time expressed in seconds and nanoseconds
3218  */
3219 
3220 typedef struct timespec { /* definition per POSIX.4 */
3221  time_t tv_sec; /* seconds */
3222  long tv_nsec; /* and nanoseconds */
3223 } timespec_t;
3224 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
3225 typedef struct timespec timestruc_t; /* definition per SVr4 */
3226 
3227 /*
3228  * The following has been left in for backward compatibility. Portable
3229  * applications should not use the structure name timestruc.
3230  */
3231 
3232 
3233 
3234 
3235 
3236 /*
3237  * Timer specification
3238  */
3239 typedef struct itimerspec { /* definition per POSIX.4 */
3240  struct timespec it_interval; /* timer period */
3241  struct timespec it_value; /* timer expiration */
3242 } itimerspec_t;
3243 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3244 
3245 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
3246 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3247 /*	  All Rights Reserved  	*/
3248 
3249 
3250 /*
3251  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
3252  * All rights reserved.  The Berkeley software License Agreement
3253  * specifies the terms and conditions for redistribution.
3254  */
3255 
3256 /*
3257  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3258  *
3259  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3260  * Use is subject to license terms.
3261  *
3262  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3263  */
3264 
3265 /*
3266  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
3267  */
3268 
3269 
3270 
3271 
3272 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3273 /*
3274  * CDDL HEADER START
3275  *
3276  * The contents of this file are subject to the terms of the
3277  * Common Development and Distribution License (the "License").
3278  * You may not use this file except in compliance with the License.
3279  *
3280  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3281  * or http://www.opensolaris.org/os/licensing.
3282  * See the License for the specific language governing permissions
3283  * and limitations under the License.
3284  *
3285  * When distributing Covered Code, include this CDDL HEADER in each
3286  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3287  * If applicable, add the following below this CDDL HEADER, with the
3288  * fields enclosed by brackets "[]" replaced with your own identifying
3289  * information: Portions Copyright [yyyy] [name of copyright owner]
3290  *
3291  * CDDL HEADER END
3292  */
3293 
3294 /*
3295  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3296  * Copyright 2016 Joyent, Inc.
3297  *
3298  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3299  * Use is subject to license terms.
3300  */
3301 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3302 
3303 /*
3304  * Structure returned by gettimeofday(2) system call,
3305  * and used in other calls.
3306  */
3307 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3308 struct timeval {
3309  time_t tv_sec; /* seconds */
3310  suseconds_t tv_usec; /* and microseconds */
3311 };
3312 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3313 struct timezone {
3314  int tz_minuteswest; /* minutes west of Greenwich */
3315  int tz_dsttime; /* type of dst correction */
3316 };
3317 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3318 /*
3319  * Needed for longlong_t type.  Placement of this due to <sys/types.h>
3320  * including <sys/select.h> which relies on the presense of the itimerval
3321  * structure.
3322  */
3323 
3324 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3325 /*
3326  * CDDL HEADER START
3327  *
3328  * The contents of this file are subject to the terms of the
3329  * Common Development and Distribution License (the "License").
3330  * You may not use this file except in compliance with the License.
3331  *
3332  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3333  * or http://www.opensolaris.org/os/licensing.
3334  * See the License for the specific language governing permissions
3335  * and limitations under the License.
3336  *
3337  * When distributing Covered Code, include this CDDL HEADER in each
3338  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3339  * If applicable, add the following below this CDDL HEADER, with the
3340  * fields enclosed by brackets "[]" replaced with your own identifying
3341  * information: Portions Copyright [yyyy] [name of copyright owner]
3342  *
3343  * CDDL HEADER END
3344  */
3345 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3346 /*	  All Rights Reserved  	*/
3347 
3348 
3349 /*
3350  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3351  * Use is subject to license terms.
3352  *
3353  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3354  * Copyright 2016 Joyent, Inc.
3355  */
3356 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3357 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3358 /*
3359  * Operations on timevals.
3360  */
3361 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3362 /*
3363  * Names of the interval timers, and structure
3364  * defining a timer setting.
3365  */
3366 
3367 
3368 
3369     /* time and when system is running on */
3370     /* behalf of the process. */
3371 
3372     /* time profiling of multithreaded */
3373     /* programs. */
3374 
3375 
3376 struct itimerval {
3377  struct timeval it_interval; /* timer interval */
3378  struct timeval it_value; /* current value */
3379 };
3380 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3381 /*
3382  *	Definitions for commonly used resolutions.
3383  */
3384 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3385 /*
3386  * Time expressed as a 64-bit nanosecond counter.
3387  */
3388 typedef longlong_t hrtime_t;
3389 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3390 int adjtime(struct timeval *, struct timeval *);
3391 
3392 
3393 
3394 
3395 int futimesat(int, const char *, const struct timeval *);
3396 
3397 
3398 
3399 
3400 
3401 int getitimer(int, struct itimerval *);
3402 int utimes(const char *, const struct timeval *);
3403 
3404 
3405 
3406 
3407 int setitimer(int, struct itimerval *,
3408  struct itimerval *);
3409 
3410 
3411 
3412 
3413 /*
3414  * gettimeofday() and settimeofday() were included in SVr4 due to their
3415  * common use in BSD based applications.  They were to be included exactly
3416  * as in BSD, with two parameters.  However, AT&T/USL noted that the second
3417  * parameter was unused and deleted it, thereby making a routine included
3418  * for compatibility, incompatible.
3419  *
3420  * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two
3421  * parameters.
3422  *
3423  * This has caused general disagreement in the application community as to
3424  * the syntax of these routines.  Solaris defaults to the XSH4.2 definition.
3425  * The flag _SVID_GETTOD may be used to force the SVID version.
3426  */
3427 
3428 
3429 
3430 
3431 
3432 int settimeofday(struct timeval *, void *);
3433 
3434 hrtime_t gethrtime(void);
3435 hrtime_t gethrvtime(void);
3436 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
3437 int gettimeofday(struct timeval *, void *);
3438 
3439 
3440 
3441 
3442 /*
3443  * The inclusion of <time.h> is historical and was added for
3444  * backward compatibility in delta 1.2 when a number of definitions
3445  * were moved out of <sys/time.h>.  More recently, the timespec and
3446  * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
3447  * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
3448  * which is now included by <time.h>.  This change was due to POSIX
3449  * 1003.1b-1993 and X/Open UNIX 98 requirements.  For non-POSIX and
3450  * non-X/Open applications, including this header will still make
3451  * visible these definitions.
3452  */
3453 
3454 
3455 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
3456 /*
3457  * CDDL HEADER START
3458  *
3459  * The contents of this file are subject to the terms of the
3460  * Common Development and Distribution License (the "License").
3461  * You may not use this file except in compliance with the License.
3462  *
3463  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3464  * or http://www.opensolaris.org/os/licensing.
3465  * See the License for the specific language governing permissions
3466  * and limitations under the License.
3467  *
3468  * When distributing Covered Code, include this CDDL HEADER in each
3469  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3470  * If applicable, add the following below this CDDL HEADER, with the
3471  * fields enclosed by brackets "[]" replaced with your own identifying
3472  * information: Portions Copyright [yyyy] [name of copyright owner]
3473  *
3474  * CDDL HEADER END
3475  */
3476 /*	Copyright (c) 1988 AT&T	*/
3477 /*	  All Rights Reserved  	*/
3478 
3479 
3480 /*
3481  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3482  *
3483  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3484  * Use is subject to license terms.
3485  */
3486 /*
3487  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
3488  * Copyright 2016 Joyent, Inc.
3489  */
3490 
3491 
3492 
3493 
3494 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3495 /*
3496  * CDDL HEADER START
3497  *
3498  * The contents of this file are subject to the terms of the
3499  * Common Development and Distribution License (the "License").
3500  * You may not use this file except in compliance with the License.
3501  *
3502  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3503  * or http://www.opensolaris.org/os/licensing.
3504  * See the License for the specific language governing permissions
3505  * and limitations under the License.
3506  *
3507  * When distributing Covered Code, include this CDDL HEADER in each
3508  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3509  * If applicable, add the following below this CDDL HEADER, with the
3510  * fields enclosed by brackets "[]" replaced with your own identifying
3511  * information: Portions Copyright [yyyy] [name of copyright owner]
3512  *
3513  * CDDL HEADER END
3514  */
3515 
3516 /*
3517  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3518  * Copyright 2016 Joyent, Inc.
3519  *
3520  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3521  * Use is subject to license terms.
3522  */
3523 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
3524 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1
3525 /*
3526  * CDDL HEADER START
3527  *
3528  * The contents of this file are subject to the terms of the
3529  * Common Development and Distribution License, Version 1.0 only
3530  * (the "License").  You may not use this file except in compliance
3531  * with the License.
3532  *
3533  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3534  * or http://www.opensolaris.org/os/licensing.
3535  * See the License for the specific language governing permissions
3536  * and limitations under the License.
3537  *
3538  * When distributing Covered Code, include this CDDL HEADER in each
3539  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3540  * If applicable, add the following below this CDDL HEADER, with the
3541  * fields enclosed by brackets "[]" replaced with your own identifying
3542  * information: Portions Copyright [yyyy] [name of copyright owner]
3543  *
3544  * CDDL HEADER END
3545  */
3546 /*	Copyright (c) 1988 AT&T	*/
3547 /*	  All Rights Reserved  	*/
3548 
3549 /*
3550  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3551  * Copyright 2014 PALO, Richard.
3552  *
3553  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3554  * Use is subject to license terms.
3555  */
3556 
3557 /*
3558  * An application should not include this header directly.  Instead it
3559  * should be included only through the inclusion of other Sun headers.
3560  *
3561  * The contents of this header is limited to identifiers specified in the
3562  * C Standard.  Any new identifiers specified in future amendments to the
3563  * C Standard must be placed in this header.  If these new identifiers
3564  * are required to also be in the C++ Standard "std" namespace, then for
3565  * anything other than macro definitions, corresponding "using" directives
3566  * must also be added to <time.h.h>.
3567  */
3568 
3569 
3570 
3571 
3572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3573 /*
3574  * CDDL HEADER START
3575  *
3576  * The contents of this file are subject to the terms of the
3577  * Common Development and Distribution License (the "License").
3578  * You may not use this file except in compliance with the License.
3579  *
3580  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3581  * or http://www.opensolaris.org/os/licensing.
3582  * See the License for the specific language governing permissions
3583  * and limitations under the License.
3584  *
3585  * When distributing Covered Code, include this CDDL HEADER in each
3586  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3587  * If applicable, add the following below this CDDL HEADER, with the
3588  * fields enclosed by brackets "[]" replaced with your own identifying
3589  * information: Portions Copyright [yyyy] [name of copyright owner]
3590  *
3591  * CDDL HEADER END
3592  */
3593 
3594 /*
3595  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3596  * Copyright 2016 Joyent, Inc.
3597  *
3598  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3599  * Use is subject to license terms.
3600  */
3601 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
3602 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
3603 /*
3604  * This file and its contents are supplied under the terms of the
3605  * Common Development and Distribution License ("CDDL"), version 1.0.
3606  * You may only use this file in accordance with the terms of version
3607  * 1.0 of the CDDL.
3608  *
3609  * A full copy of the text of the CDDL should have accompanied this
3610  * source.  A copy of the CDDL is also available via the Internet at
3611  * http://www.illumos.org/license/CDDL.
3612  */
3613 
3614 /*
3615  * Copyright 2014-2016 PALO, Richard.
3616  */
3617 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
3618 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h"
3619 struct tm { /* see ctime(3) */
3620  int tm_sec;
3621  int tm_min;
3622  int tm_hour;
3623  int tm_mday;
3624  int tm_mon;
3625  int tm_year;
3626  int tm_wday;
3627  int tm_yday;
3628  int tm_isdst;
3629 };
3630 
3631 
3632 extern char *asctime(const struct tm *);
3633 extern clock_t clock(void);
3634 extern char *ctime(const time_t *);
3635 extern double difftime(time_t, time_t);
3636 extern struct tm *gmtime(const time_t *);
3637 extern struct tm *localtime(const time_t *);
3638 extern time_t mktime(struct tm *);
3639 extern time_t time(time_t *);
3640 extern size_t strftime(char *, size_t, const char *,
3641  const struct tm *);
3642 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
3643 /*
3644  * C11 requires sys/time_impl.h for the definition of the struct timespec.
3645  */
3646 
3647 
3648 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3649 /*
3650  * CDDL HEADER START
3651  *
3652  * The contents of this file are subject to the terms of the
3653  * Common Development and Distribution License (the "License").
3654  * You may not use this file except in compliance with the License.
3655  *
3656  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3657  * or http://www.opensolaris.org/os/licensing.
3658  * See the License for the specific language governing permissions
3659  * and limitations under the License.
3660  *
3661  * When distributing Covered Code, include this CDDL HEADER in each
3662  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3663  * If applicable, add the following below this CDDL HEADER, with the
3664  * fields enclosed by brackets "[]" replaced with your own identifying
3665  * information: Portions Copyright [yyyy] [name of copyright owner]
3666  *
3667  * CDDL HEADER END
3668  */
3669 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3670 /*	  All Rights Reserved  	*/
3671 
3672 
3673 /*
3674  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3675  * Use is subject to license terms.
3676  *
3677  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3678  * Copyright 2016 Joyent, Inc.
3679  */
3680 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
3681 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
3682 /*
3683  * CDDL HEADER START
3684  *
3685  * The contents of this file are subject to the terms of the
3686  * Common Development and Distribution License, Version 1.0 only
3687  * (the "License").  You may not use this file except in compliance
3688  * with the License.
3689  *
3690  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3691  * or http://www.opensolaris.org/os/licensing.
3692  * See the License for the specific language governing permissions
3693  * and limitations under the License.
3694  *
3695  * When distributing Covered Code, include this CDDL HEADER in each
3696  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3697  * If applicable, add the following below this CDDL HEADER, with the
3698  * fields enclosed by brackets "[]" replaced with your own identifying
3699  * information: Portions Copyright [yyyy] [name of copyright owner]
3700  *
3701  * CDDL HEADER END
3702  */
3703 /*
3704  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3705  * Use is subject to license terms.
3706  */
3707 
3708 /*
3709  * Implementation-private.  This header should not be included
3710  * directly by an application.  The application should instead
3711  * include <time.h> which includes this header conditionally
3712  * depending on which feature test macros are defined. By default,
3713  * this header is included by <time.h>.  X/Open and POSIX
3714  * standards requirements result in this header being included
3715  * by <time.h> only under a restricted set of conditions.
3716  */
3717 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
3718 
3719 
3720 /*
3721  * Allow global visibility for symbols defined in
3722  * C++ "std" namespace in <iso/time_iso.h>.
3723  */
3724 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3725 extern struct tm *gmtime_r(const time_t *,
3726    struct tm *);
3727 extern struct tm *localtime_r(const time_t *,
3728    struct tm *);
3729 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3730 extern char *strptime(const char *, const char *,
3731   struct tm *);
3732 
3733 
3734 
3735 
3736 
3737 /*
3738  * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
3739  * definition of the sigevent structure.  Both require the inclusion
3740  * of <signal.h> and <time.h> when using the timer_create() function.
3741  * However, X/Open also specifies that the sigevent structure be defined
3742  * in <time.h> as described in the header <signal.h>.  This prevents
3743  * compiler warnings for applications that only include <time.h> and not
3744  * also <signal.h>.  The sigval union and the sigevent structure is
3745  * therefore defined both here and in <sys/siginfo.h> which gets included
3746  * via inclusion of <signal.h>.
3747  */
3748 
3749 
3750 union sigval {
3751  int sival_int; /* integer value */
3752  void *sival_ptr; /* pointer value */
3753 };
3754 
3755 
3756 
3757 
3758 struct sigevent {
3759  int sigev_notify; /* notification mode */
3760  int sigev_signo; /* signal number */
3761  union sigval sigev_value; /* signal value */
3762  void (*sigev_notify_function)(union sigval);
3763  pthread_attr_t *sigev_notify_attributes;
3764  int __sigev_pad2;
3765 };
3766 
3767 
3768 extern int clock_getres(clockid_t, struct timespec *);
3769 extern int clock_gettime(clockid_t, struct timespec *);
3770 extern int clock_settime(clockid_t, const struct timespec *);
3771 extern int timer_create(clockid_t, struct sigevent *,
3772   timer_t *);
3773 extern int timer_delete(timer_t);
3774 extern int timer_getoverrun(timer_t);
3775 extern int timer_gettime(timer_t, struct itimerspec *);
3776 extern int timer_settime(timer_t, int, const struct itimerspec *,
3777   struct itimerspec *);
3778 
3779 extern int nanosleep(const struct timespec *, struct timespec *);
3780 extern int clock_nanosleep(clockid_t, int,
3781  const struct timespec *, struct timespec *);
3782 
3783 
3784 
3785 
3786 
3787 
3788 extern void tzset(void);
3789 extern char *tzname[2];
3790 
3791 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */
3792 
3793 
3794 extern long _sysconf(int); /* System Private interface to sysconf() */
3795 
3796     /* 3 is _SC_CLK_TCK */
3797 
3798 
3799 
3800 
3801 
3802 extern long timezone;
3803 extern int daylight;
3804 
3805 
3806 
3807 
3808 
3809 
3810 extern time_t timegm(struct tm *);
3811 extern int cftime(char *, char *, const time_t *);
3812 extern int ascftime(char *, const char *, const struct tm *);
3813 extern long altzone;
3814 
3815 
3816 
3817 
3818 extern struct tm *getdate(const char *);
3819 
3820 
3821 
3822 
3823 
3824 extern int getdate_err;
3825 
3826 
3827 
3828 /*
3829  * ctime_r() & asctime_r() prototypes are defined here.
3830  */
3831 
3832 /*
3833  * Previous releases of Solaris, starting at 2.3, provided definitions of
3834  * various functions as specified in POSIX.1c, Draft 6.  For some of these
3835  * functions, the final POSIX 1003.1c standard had a different number of
3836  * arguments and return values.
3837  *
3838  * The following segment of this header provides support for the standard
3839  * interfaces while supporting applications written under earlier
3840  * releases.  The application defines appropriate values of the feature
3841  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
3842  * whether it was written to expect the Draft 6 or standard versions of
3843  * these interfaces, before including this header.  This header then
3844  * provides a mapping from the source version of the interface to an
3845  * appropriate binary interface.  Such mappings permit an application
3846  * to be built from libraries and objects which have mixed expectations
3847  * of the definitions of these functions.
3848  *
3849  * For applications using the Draft 6 definitions, the binary symbol is the
3850  * same as the source symbol, and no explicit mapping is needed.  For the
3851  * standard interface, the function func() is mapped to the binary symbol
3852  * _posix_func().  The preferred mechanism for the remapping is a compiler
3853  * #pragma.  If the compiler does not provide such a #pragma, the header file
3854  * defines a static function func() which calls the _posix_func() version;
3855  * this has to be done instead of #define since POSIX specifies that an
3856  * application can #undef the symbol and still be bound to the correct
3857  * implementation.  Unfortunately, the statics confuse lint so we fallback to
3858  * #define in that case.
3859  *
3860  * NOTE: Support for the Draft 6 definitions is provided for compatibility
3861  * only.  New applications/libraries should use the standard definitions.
3862  */
3863 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3864 extern char *asctime_r(const struct tm *, char *, int);
3865 extern char *ctime_r(const time_t *, char *, int);
3866 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3867 typedef struct _locale *locale_t;
3868 
3869 
3870 extern size_t strftime_l(char *, size_t,
3871  const char *, const struct tm *, locale_t);
3872 
3873 
3874 
3875 
3876 
3877 /*
3878  * Note, the C11 standard requires that all the various base values that are
3879  * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one.
3880  */
3881 
3882 
3883 extern int timespec_get(struct timespec *, int);
3884 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3885 
3886 
3887 /*
3888  * The inclusion of <sys/select.h> is needed for the FD_CLR,
3889  * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
3890  * select() prototype defined in the XOpen specifications
3891  * beginning with XSH4v2.  Placement required after definition
3892  * for itimerval.
3893  */
3894 
3895 
3896 
3897 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
3898 /*
3899  * CDDL HEADER START
3900  *
3901  * The contents of this file are subject to the terms of the
3902  * Common Development and Distribution License (the "License").
3903  * You may not use this file except in compliance with the License.
3904  *
3905  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3906  * or http://www.opensolaris.org/os/licensing.
3907  * See the License for the specific language governing permissions
3908  * and limitations under the License.
3909  *
3910  * When distributing Covered Code, include this CDDL HEADER in each
3911  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3912  * If applicable, add the following below this CDDL HEADER, with the
3913  * fields enclosed by brackets "[]" replaced with your own identifying
3914  * information: Portions Copyright [yyyy] [name of copyright owner]
3915  *
3916  * CDDL HEADER END
3917  */
3918 
3919 /*
3920  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3921  *
3922  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3923  *
3924  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3925  * Use is subject to license terms.
3926  */
3927 
3928 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3929 /*	  All Rights Reserved	*/
3930 
3931 /*
3932  * University Copyright- Copyright (c) 1982, 1986, 1988
3933  * The Regents of the University of California
3934  * All Rights Reserved
3935  *
3936  * University Acknowledgment- Portions of this document are derived from
3937  * software developed by the University of California, Berkeley, and its
3938  * contributors.
3939  */
3940 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3941 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3942 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3943 /*
3944  * The sigset_t type is defined in <sys/signal.h> and duplicated
3945  * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
3946  * now allows the visibility of signal.h in this header, however
3947  * an order of inclusion problem occurs as a result of inclusion
3948  * of <sys/select.h> in <signal.h> under certain conditions.
3949  * Rather than include <sys/signal.h> here, we've duplicated
3950  * the sigset_t type instead. This type is required for the XPG6
3951  * introduced pselect() function also declared in this header.
3952  */
3953 
3954 
3955 typedef struct { /* signal set type */
3956  unsigned int __sigbits[4];
3957 } sigset_t;
3958 
3959 
3960 
3961 
3962 /*
3963  * Select uses bit masks of file descriptors in longs.
3964  * These macros manipulate such bit fields.
3965  * FD_SETSIZE may be defined by the user, but the default here
3966  * should be >= NOFILE (param.h).
3967  */
3968 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3969 typedef long fd_mask;
3970 
3971 typedef long fds_mask;
3972 
3973 /*
3974  *  The value of _NBBY needs to be consistant with the value
3975  *  of NBBY in <sys/param.h>.
3976  */
3977 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3978 typedef struct fd_set {
3979 
3980 
3981 
3982  long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
3983 } fd_set;
3984 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3985 extern int select(int, fd_set *, fd_set *,
3986  fd_set *, struct timeval *);
3987 
3988 
3989 extern int pselect(int, fd_set *, fd_set *,
3990  fd_set *, const struct timespec *,
3991  const sigset_t *);
3992 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3993 
3994 
3995 
3996 /*
3997  * _VOID was defined to be either void or char but this is not
3998  * required because previous SunOS compilers have accepted the void
3999  * type. However, because many system header and source files use the
4000  * void keyword, the volatile keyword, and ANSI C function prototypes,
4001  * non-ANSI compilers cannot compile the system anyway. The _VOID macro
4002  * should therefore not be used and remains for source compatibility
4003  * only.
4004  */
4005 /* CSTYLED */
4006 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4007 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
4008 /*
4009  * CDDL HEADER START
4010  *
4011  * The contents of this file are subject to the terms of the
4012  * Common Development and Distribution License (the "License").
4013  * You may not use this file except in compliance with the License.
4014  *
4015  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4016  * or http://www.opensolaris.org/os/licensing.
4017  * See the License for the specific language governing permissions
4018  * and limitations under the License.
4019  *
4020  * When distributing Covered Code, include this CDDL HEADER in each
4021  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4022  * If applicable, add the following below this CDDL HEADER, with the
4023  * fields enclosed by brackets "[]" replaced with your own identifying
4024  * information: Portions Copyright [yyyy] [name of copyright owner]
4025  *
4026  * CDDL HEADER END
4027  */
4028 
4029 /*
4030  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
4031  *	  All Rights Reserved
4032  *
4033  */
4034 
4035 /*
4036  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4037  * Use is subject to license terms.
4038  */
4039 
4040 /*
4041  * WARNING: This is an implementation-specific header,
4042  * its contents are not guaranteed. Applications
4043  * should include <unistd.h> and not this header.
4044  */
4045 
4046 
4047 
4048 
4049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4050 /*
4051  * CDDL HEADER START
4052  *
4053  * The contents of this file are subject to the terms of the
4054  * Common Development and Distribution License (the "License").
4055  * You may not use this file except in compliance with the License.
4056  *
4057  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4058  * or http://www.opensolaris.org/os/licensing.
4059  * See the License for the specific language governing permissions
4060  * and limitations under the License.
4061  *
4062  * When distributing Covered Code, include this CDDL HEADER in each
4063  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4064  * If applicable, add the following below this CDDL HEADER, with the
4065  * fields enclosed by brackets "[]" replaced with your own identifying
4066  * information: Portions Copyright [yyyy] [name of copyright owner]
4067  *
4068  * CDDL HEADER END
4069  */
4070 
4071 /*
4072  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4073  * Copyright 2016 Joyent, Inc.
4074  *
4075  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4076  * Use is subject to license terms.
4077  */
4078 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2
4079 
4080 
4081 
4082 
4083 
4084 /* command names for confstr */
4085 
4086 
4087 
4088 /*
4089  * command names for large file configuration information
4090  */
4091 /* large file compilation environment configuration */
4092 
4093 
4094 
4095 
4096 /* transitional large file interface configuration */
4097 
4098 
4099 
4100 
4101 
4102 /* UNIX 98 */
4103 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4104 /* UNIX 03 */
4105 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4106 /* command names for POSIX sysconf */
4107 
4108 /* POSIX.1 names */
4109 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4110 /* SVR4 names */
4111 
4112 
4113 
4114 
4115 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
4116 
4117 
4118 
4119 
4120 /* POSIX.4 names */
4121 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4122 /* XPG4 names */
4123 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4124 /* additional XSH4/XCU4 command names for sysconf */
4125 
4126 
4127 
4128 /* additional XPG4v2 (UNIX 95) command names */
4129 
4130 
4131 
4132 
4133 
4134 /* defined for XTI (XNS Issue 5) */
4135 
4136 
4137 
4138 
4139 
4140 
4141 
4142 /*
4143  * Hardware specific items
4144  * Note that not all items are supported on all architectures
4145  */
4146 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4147 /*
4148  * POSIX.1c (pthreads) names. These values are defined above
4149  * the sub-500 range. See psarc case 1995/257.
4150  */
4151 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4152 /* UNIX 98 */
4153 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4154 /* UNIX 03 */
4155 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4156 /* command names for POSIX pathconf */
4157 
4158 /* POSIX.1 names */
4159 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4160 /* POSIX.4 names */
4161 
4162 
4163 
4164 /* UNIX 03 names */
4165 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4166 /* UNIX 08 names */
4167 
4168 
4169 /*
4170  * Large File Summit names
4171  *
4172  * This value matches the MIPS ABI choice, but leaves a large gap in the
4173  * value space.
4174  */
4175 
4176 
4177 /*
4178  * Extended attributes
4179  */
4180 
4181 
4182 
4183 /*
4184  * If you add a _PC define above 101, you must change _PC_LAST (and truss).
4185  */
4186 
4187 
4188 /*
4189  * Case sensitivity values (related to _PC_CASE_BEHAVIOR)
4190  */
4191 
4192 
4193 
4194 /*
4195  * The value of 0 is returned when
4196  * ACL's are not supported
4197  */
4198 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4199 /*
4200  * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
4201  * should not rely on this value, it has been aligned with the current
4202  * standard to avoid confusion if used.
4203  */
4204 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
4205 /* UNIX 03 names */
4206 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
4207 
4208 
4209 
4210 
4211 
4212 /* Symbolic constants for the "access" routine: */
4213 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4214 /* Symbolic constants for the "lseek" routine: */
4215 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4216 /* Path names: */
4217 
4218 
4219 
4220 
4221 /*
4222  * compile-time symbolic constants,
4223  * Support does not mean the feature is enabled.
4224  * Use pathconf/sysconf to obtain actual configuration value.
4225  */
4226 
4227 /* Values unchanged in UNIX 03 */
4228 
4229 
4230 
4231 
4232 
4233 /*
4234  * POSIX.1b compile-time symbolic constants.
4235  */
4236 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4237 /*
4238  * POSIX.1c compile-time symbolic constants.
4239  */
4240 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4241 /* New in UNIX 03 */
4242 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4243 /*
4244  * Support for the POSIX.1 mutex protocol attribute. For realtime applications
4245  * which need mutexes to support priority inheritance/ceiling.
4246  */
4247 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4248 /*
4249  * Large File Summit-related announcement macros.  The system supports both
4250  * the additional and transitional Large File Summit interfaces.  (The final
4251  * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.)
4252  */
4253 
4254 
4255 
4256 
4257 
4258 /* large file compilation environment setup */
4259 
4260 
4261 
4262 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4263 #pragma redefine_extname ftruncate ftruncate64
4264 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4265 
4266 
4267 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4268 #pragma redefine_extname lseek lseek64
4269 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4270 
4271 
4272 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4273 #pragma redefine_extname pread pread64
4274 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4275 
4276 
4277 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4278 #pragma redefine_extname pwrite pwrite64
4279 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4280 
4281 
4282 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4283 #pragma redefine_extname truncate truncate64
4284 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4285 
4286 
4287 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4288 #pragma redefine_extname lockf lockf64
4289 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4290 
4291 
4292 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4293 #pragma redefine_extname tell tell64
4294 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4295 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4296 /* In the LP64 compilation environment, the APIs are already large file */
4297 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4298 extern int access(const char *, int);
4299 
4300 extern int acct(const char *);
4301 
4302 extern unsigned alarm(unsigned);
4303 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4304 
4305 
4306 extern int brk(void *);
4307 
4308 extern int chdir(const char *);
4309 extern int chown(const char *, uid_t, gid_t);
4310 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4311 
4312 
4313 extern int chroot(const char *);
4314 
4315 extern int close(int);
4316 
4317 
4318 
4319 
4320 
4321 
4322 extern char *ctermid(char *);
4323 
4324 
4325 extern char *ctermid_r(char *);
4326 
4327 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4328 
4329 extern char *cuserid(char *);
4330 
4331 extern int dup(int);
4332 extern int dup2(int, int);
4333 extern int dup3(int, int, int);
4334 
4335 
4336 
4337 
4338 extern void endusershell(void);
4339 
4340 extern int execl(const char *, const char *, ...);
4341 extern int execle(const char *, const char *, ...);
4342 extern int execlp(const char *, const char *, ...);
4343 extern int execv(const char *, char *const *);
4344 extern int execve(const char *, char *const *, char *const *);
4345 extern int execvp(const char *, char *const *);
4346 extern void _exit(int)
4347  __attribute__((__noreturn__));
4348 /*
4349  * The following fattach prototype is duplicated in <stropts.h>. The
4350  * duplication is necessitated by XPG4.2 which requires the prototype
4351  * be defined in <stropts.h>.
4352  */
4353 
4354 extern int fattach(int, const char *);
4355 
4356 
4357 extern int fchdir(int);
4358 extern int fchown(int, uid_t, gid_t);
4359 
4360 
4361 extern int fchroot(int);
4362 
4363 
4364 
4365 extern int fdatasync(int);
4366 
4367 /*
4368  * The following fdetach prototype is duplicated in <stropts.h>. The
4369  * duplication is necessitated by XPG4.2 which requires the prototype
4370  * be defined in <stropts.h>.
4371  */
4372 
4373 extern int fdetach(const char *);
4374 
4375 extern pid_t fork(void);
4376 
4377 extern pid_t fork1(void);
4378 extern pid_t forkall(void);
4379 
4380 extern long fpathconf(int, int);
4381 
4382 
4383 extern int fsync(int);
4384 
4385 
4386 
4387 
4388 extern int ftruncate(int, off_t);
4389 
4390 extern char *getcwd(char *, size_t);
4391 
4392 
4393 extern int getdtablesize(void);
4394 
4395 extern gid_t getegid(void);
4396 extern uid_t geteuid(void);
4397 extern gid_t getgid(void);
4398 extern int getgroups(int, gid_t *);
4399 
4400 extern long gethostid(void);
4401 
4402 
4403 
4404 
4405 extern int gethostname(char *, int);
4406 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4407 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
4408 
4409 extern int getpagesize(void);
4410 
4411 extern pid_t getpgid(pid_t);
4412 
4413 extern pid_t getpid(void);
4414 extern pid_t getppid(void);
4415 extern pid_t getpgrp(void);
4416 
4417 
4418 char *gettxt(const char *, const char *);
4419 
4420 
4421 extern pid_t getsid(pid_t);
4422 
4423 extern uid_t getuid(void);
4424 
4425 extern char *getusershell(void);
4426 
4427 /*
4428  * The following ioctl prototype is duplicated in <stropts.h>. The
4429  * duplication is necessitated by XPG4.2 which requires the prototype
4430  * be defined in <stropts.h>.
4431  */
4432 
4433 extern int ioctl(int, int, ...);
4434 extern int isaexec(const char *, char *const *, char *const *);
4435 extern int issetugid(void);
4436 
4437 extern int isatty(int);
4438 
4439 extern int lchown(const char *, uid_t, gid_t);
4440 
4441 extern int link(const char *, const char *);
4442 
4443 extern offset_t llseek(int, offset_t, int);
4444 
4445 
4446 
4447 
4448 extern int lockf(int, int, off_t);
4449 
4450 extern off_t lseek(int, off_t, int);
4451 
4452 
4453 extern int nice(int);
4454 
4455 
4456 extern int mincore(caddr_t, size_t, char *);
4457 
4458 extern long pathconf(const char *, int);
4459 extern int pause(void);
4460 extern int pipe(int *);
4461 extern int pipe2(int *, int);
4462 
4463 
4464 
4465 extern ssize_t pread(int, void *, size_t, off_t);
4466 
4467 
4468 extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
4469 
4470 /*
4471  * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The
4472  * declarations are identical. A change to either one may also require
4473  * appropriate namespace updates in order to avoid redeclaration
4474  * warnings in the case where both prototypes are exposed via inclusion
4475  * of both <pthread.h> and <unistd.h>.
4476  */
4477 
4478 
4479 
4480 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
4481 
4482 
4483 
4484 extern int ptrace(int, pid_t, int, int);
4485 
4486 
4487 
4488 
4489 extern ssize_t pwrite(int, const void *, size_t, off_t);
4490 
4491 
4492 /* per RFC 3542; This is also defined in netdb.h */
4493 extern int rcmd_af(char **, unsigned short, const char *, const char *,
4494  const char *, int *, int);
4495 
4496 extern ssize_t read(int, void *, size_t);
4497 
4498 
4499 extern ssize_t readlink(const char *, char *,
4500  size_t);
4501 
4502 
4503 
4504 
4505 
4506 
4507 extern int rename(const char *, const char *);
4508 
4509 
4510 
4511 
4512 
4513 
4514 
4515 extern int resolvepath(const char *, char *, size_t);
4516 /* per RFC 3542; This is also defined in netdb.h */
4517 extern int rexec_af(char **, unsigned short, const char *, const char *,
4518  const char *, int *, int);
4519 
4520 extern int rmdir(const char *);
4521 
4522 /* per RFC 3542; This is also defined in netdb.h */
4523 extern int rresvport_af(int *, int);
4524 
4525 
4526 
4527 
4528 extern void *sbrk(intptr_t);
4529 
4530 
4531 extern int setegid(gid_t);
4532 extern int seteuid(uid_t);
4533 
4534 extern int setgid(gid_t);
4535 
4536 extern int setgroups(int, const gid_t *);
4537 extern int sethostname(char *, int);
4538 
4539 extern int setpgid(pid_t, pid_t);
4540 
4541 extern pid_t setpgrp(void);
4542 extern int setregid(gid_t, gid_t);
4543 extern int setreuid(uid_t, uid_t);
4544 
4545 extern pid_t setsid(void);
4546 extern int setuid(uid_t);
4547 
4548 extern void setusershell(void);
4549 
4550 extern unsigned sleep(unsigned);
4551 
4552 extern int stime(const time_t *);
4553 
4554 
4555 
4556 
4557 
4558 
4559 extern int symlink(const char *, const char *);
4560 extern void sync(void);
4561 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4562 extern long sysconf(int);
4563 extern pid_t tcgetpgrp(int);
4564 extern int tcsetpgrp(int, pid_t);
4565 
4566 
4567 
4568 extern off_t tell(int);
4569 
4570 
4571 
4572 
4573 extern int truncate(const char *, off_t);
4574 
4575 extern char *ttyname(int);
4576 
4577 extern useconds_t ualarm(useconds_t, useconds_t);
4578 
4579 extern int unlink(const char *);
4580 
4581 extern char *getwd(char *);
4582 extern int usleep(useconds_t);
4583 extern pid_t vfork(void) __attribute__((__returns_twice__));
4584 #pragma unknown_control_flow(vfork)
4585 
4586 
4587 extern void vhangup(void);
4588 
4589 extern ssize_t write(int, const void *, size_t);
4590 
4591 extern void yield(void);
4592 
4593 
4594 
4595 
4596  /* || defined(_XPG7) */
4597 extern int faccessat(int, const char *, int, int);
4598 extern int fchownat(int, const char *, uid_t, gid_t, int);
4599 extern int linkat(int, const char *, int, const char *, int);
4600 extern ssize_t readlinkat(int, const char *,
4601  char *, size_t);
4602 extern int renameat(int, const char *, int, const char *);
4603 extern int symlinkat(const char *, int, const char *);
4604 extern int unlinkat(int, const char *, int);
4605 
4606 
4607 extern int get_nprocs(void);
4608 extern int get_nprocs_conf(void);
4609 
4610 
4611 /* transitional large file interface versions */
4612 
4613 
4614 extern int ftruncate64(int, off64_t);
4615 extern off64_t lseek64(int, off64_t, int);
4616 extern ssize_t pread64(int, void *, size_t, off64_t);
4617 extern ssize_t pwrite64(int, const void *, size_t, off64_t);
4618 extern off64_t tell64(int);
4619 extern int truncate64(const char *, off64_t);
4620 extern int lockf64(int, int, off64_t);
4621 
4622 
4623 /*
4624  * getlogin_r() & ttyname_r() prototypes are defined here.
4625  */
4626 
4627 /*
4628  * Previous releases of Solaris, starting at 2.3, provided definitions of
4629  * various functions as specified in POSIX.1c, Draft 6.  For some of these
4630  * functions, the final POSIX 1003.1c standard had a different number of
4631  * arguments and return values.
4632  *
4633  * The following segment of this header provides support for the standard
4634  * interfaces while supporting applications written under earlier
4635  * releases.  The application defines appropriate values of the feature
4636  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
4637  * whether it was written to expect the Draft 6 or standard versions of
4638  * these interfaces, before including this header.  This header then
4639  * provides a mapping from the source version of the interface to an
4640  * appropriate binary interface.  Such mappings permit an application
4641  * to be built from libraries and objects which have mixed expectations
4642  * of the definitions of these functions.
4643  *
4644  * For applications using the Draft 6 definitions, the binary symbol is the
4645  * same as the source symbol, and no explicit mapping is needed.  For the
4646  * standard interface, the function func() is mapped to the binary symbol
4647  * _posix_func().  The preferred mechanism for the remapping is a compiler
4648  * #pragma.  If the compiler does not provide such a #pragma, the header file
4649  * defines a static function func() which calls the _posix_func() version;
4650  * this has to be done instead of #define since POSIX specifies that an
4651  * application can #undef the symbol and still be bound to the correct
4652  * implementation.  Unfortunately, the statics confuse lint so we fallback to
4653  * #define in that case.
4654  *
4655  * NOTE: Support for the Draft 6 definitions is provided for compatibility
4656  * only.  New applications/libraries should use the standard definitions.
4657  */
4658 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4659 
4660 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4661 #pragma redefine_extname getlogin_r getloginx_r
4662 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
4663 
4664 
4665 
4666 
4667 
4668 
4669 extern char *getlogin_r(char *, int);
4670 
4671 extern char *ttyname_r(int, char *, int);
4672 
4673 
4674 
4675 
4676 
4677 
4678 extern int getentropy(void *, size_t);
4679 # 33 "../common/handlelocalfs.c" 2
4680 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1
4681 /*
4682  * CDDL HEADER START
4683  *
4684  * The contents of this file are subject to the terms of the
4685  * Common Development and Distribution License, Version 1.0 only
4686  * (the "License").  You may not use this file except in compliance
4687  * with the License.
4688  *
4689  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4690  * or http://www.opensolaris.org/os/licensing.
4691  * See the License for the specific language governing permissions
4692  * and limitations under the License.
4693  *
4694  * When distributing Covered Code, include this CDDL HEADER in each
4695  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4696  * If applicable, add the following below this CDDL HEADER, with the
4697  * fields enclosed by brackets "[]" replaced with your own identifying
4698  * information: Portions Copyright [yyyy] [name of copyright owner]
4699  *
4700  * CDDL HEADER END
4701  */
4702 /*
4703  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4704  *
4705  * Copyright (c) 1995, 1996, by Sun Microsystems, Inc.
4706  * All rights reserved.
4707  */
4708 
4709 
4710 
4711 
4712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4713 /*
4714  * CDDL HEADER START
4715  *
4716  * The contents of this file are subject to the terms of the
4717  * Common Development and Distribution License (the "License").
4718  * You may not use this file except in compliance with the License.
4719  *
4720  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4721  * or http://www.opensolaris.org/os/licensing.
4722  * See the License for the specific language governing permissions
4723  * and limitations under the License.
4724  *
4725  * When distributing Covered Code, include this CDDL HEADER in each
4726  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4727  * If applicable, add the following below this CDDL HEADER, with the
4728  * fields enclosed by brackets "[]" replaced with your own identifying
4729  * information: Portions Copyright [yyyy] [name of copyright owner]
4730  *
4731  * CDDL HEADER END
4732  */
4733 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4734 /*	  All Rights Reserved  	*/
4735 
4736 
4737 /*
4738  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4739  * Use is subject to license terms.
4740  *
4741  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4742  * Copyright 2016 Joyent, Inc.
4743  */
4744 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
4745 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4746 /*
4747  * CDDL HEADER START
4748  *
4749  * The contents of this file are subject to the terms of the
4750  * Common Development and Distribution License (the "License").
4751  * You may not use this file except in compliance with the License.
4752  *
4753  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4754  * or http://www.opensolaris.org/os/licensing.
4755  * See the License for the specific language governing permissions
4756  * and limitations under the License.
4757  *
4758  * When distributing Covered Code, include this CDDL HEADER in each
4759  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4760  * If applicable, add the following below this CDDL HEADER, with the
4761  * fields enclosed by brackets "[]" replaced with your own identifying
4762  * information: Portions Copyright [yyyy] [name of copyright owner]
4763  *
4764  * CDDL HEADER END
4765  */
4766 
4767 /*
4768  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4769  * Copyright 2016 Joyent, Inc.
4770  *
4771  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4772  * Use is subject to license terms.
4773  */
4774 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
4775 
4776 
4777 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
4778 /*
4779  * CDDL HEADER START
4780  *
4781  * The contents of this file are subject to the terms of the
4782  * Common Development and Distribution License (the "License").
4783  * You may not use this file except in compliance with the License.
4784  *
4785  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4786  * or http://www.opensolaris.org/os/licensing.
4787  * See the License for the specific language governing permissions
4788  * and limitations under the License.
4789  *
4790  * When distributing Covered Code, include this CDDL HEADER in each
4791  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4792  * If applicable, add the following below this CDDL HEADER, with the
4793  * fields enclosed by brackets "[]" replaced with your own identifying
4794  * information: Portions Copyright [yyyy] [name of copyright owner]
4795  *
4796  * CDDL HEADER END
4797  */
4798 
4799 /*
4800  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4801  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
4802  */
4803 
4804 /*	Copyright (c) 1988 AT&T	*/
4805 /*	  All Rights Reserved  	*/
4806 
4807 
4808 
4809 
4810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1
4811 /*
4812  * CDDL HEADER START
4813  *
4814  * The contents of this file are subject to the terms of the
4815  * Common Development and Distribution License, Version 1.0 only
4816  * (the "License").  You may not use this file except in compliance
4817  * with the License.
4818  *
4819  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4820  * or http://www.opensolaris.org/os/licensing.
4821  * See the License for the specific language governing permissions
4822  * and limitations under the License.
4823  *
4824  * When distributing Covered Code, include this CDDL HEADER in each
4825  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4826  * If applicable, add the following below this CDDL HEADER, with the
4827  * fields enclosed by brackets "[]" replaced with your own identifying
4828  * information: Portions Copyright [yyyy] [name of copyright owner]
4829  *
4830  * CDDL HEADER END
4831  */
4832 /*	Copyright (c) 1988 AT&T	*/
4833 /*	  All Rights Reserved  	*/
4834 
4835 
4836 /*
4837  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4838  * Copyright 2014 PALO, Richard.
4839  *
4840  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
4841  * Use is subject to license terms.
4842  */
4843 
4844 /*
4845  * An application should not include this header directly.  Instead it
4846  * should be included only through the inclusion of other Sun headers.
4847  *
4848  * The contents of this header is limited to identifiers specified in the
4849  * C Standard.  Any new identifiers specified in future amendments to the
4850  * C Standard must be placed in this header.  If these new identifiers
4851  * are required to also be in the C++ Standard "std" namespace, then for
4852  * anything other than macro definitions, corresponding "using" directives
4853  * must also be added to <string.h>.
4854  */
4855 
4856 
4857 
4858 
4859 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4860 /*
4861  * CDDL HEADER START
4862  *
4863  * The contents of this file are subject to the terms of the
4864  * Common Development and Distribution License (the "License").
4865  * You may not use this file except in compliance with the License.
4866  *
4867  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4868  * or http://www.opensolaris.org/os/licensing.
4869  * See the License for the specific language governing permissions
4870  * and limitations under the License.
4871  *
4872  * When distributing Covered Code, include this CDDL HEADER in each
4873  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4874  * If applicable, add the following below this CDDL HEADER, with the
4875  * fields enclosed by brackets "[]" replaced with your own identifying
4876  * information: Portions Copyright [yyyy] [name of copyright owner]
4877  *
4878  * CDDL HEADER END
4879  */
4880 
4881 /*
4882  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4883  * Copyright 2016 Joyent, Inc.
4884  *
4885  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4886  * Use is subject to license terms.
4887  */
4888 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
4889 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
4890 /*
4891  * This file and its contents are supplied under the terms of the
4892  * Common Development and Distribution License ("CDDL"), version 1.0.
4893  * You may only use this file in accordance with the terms of version
4894  * 1.0 of the CDDL.
4895  *
4896  * A full copy of the text of the CDDL should have accompanied this
4897  * source.  A copy of the CDDL is also available via the Internet at
4898  * http://www.illumos.org/license/CDDL.
4899  */
4900 
4901 /*
4902  * Copyright 2014-2016 PALO, Richard.
4903  */
4904 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
4905 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
4906 extern int memcmp(const void *, const void *, size_t);
4907 extern void *memcpy(void *, const void *, size_t);
4908 extern void *memmove(void *, const void *, size_t);
4909 extern void *memset(void *, int, size_t);
4910 extern char *strcat(char *, const char *);
4911 extern int strcmp(const char *, const char *);
4912 extern char *strcpy(char *, const char *);
4913 extern int strcoll(const char *, const char *);
4914 extern size_t strcspn(const char *, const char *);
4915 extern char *strerror(int);
4916 extern size_t strlen(const char *);
4917 extern char *strncat(char *, const char *, size_t);
4918 extern int strncmp(const char *, const char *, size_t);
4919 extern char *strncpy(char *, const char *, size_t);
4920 extern size_t strspn(const char *, const char *);
4921 extern char *strtok(char *, const char *);
4922 extern size_t strxfrm(char *, const char *, size_t);
4923 
4924 /*
4925  * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the
4926  * function signatures for the following functions be replaced by
4927  * two declarations, both of which have the same behavior.
4928  */
4929 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
4930 extern void *memchr(const void *, int, size_t);
4931 extern char *strchr(const char *, int);
4932 extern char *strpbrk(const char *, const char *);
4933 extern char *strrchr(const char *, int);
4934 extern char *strstr(const char *, const char *);
4935 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2
4936 
4937 /*
4938  * Allow global visibility for symbols defined in
4939  * C++ "std" namespace in <iso/string_iso.h>.
4940  */
4941 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h"
4942 extern int strerror_r(int, char *, size_t);
4943 
4944 
4945 
4946 
4947 
4948 extern char *strtok_r(char *, const char *,
4949  char **);
4950 
4951 
4952 
4953 
4954 extern void *memccpy(void *, const void *,
4955   int, size_t);
4956 
4957 
4958 
4959 
4960 extern char *stpcpy(char *, const char *);
4961 extern char *stpncpy(char *, const char *, size_t);
4962 extern char *strndup(const char *, size_t);
4963 extern size_t strnlen(const char *, size_t);
4964 extern char *strsignal(int);
4965 
4966 
4967 
4968 
4969 
4970 
4971 extern int strcoll_l(const char *, const char *, locale_t);
4972 extern size_t strxfrm_l(char *, const char *,
4973     size_t, locale_t);
4974 extern int strcasecmp_l(const char *, const char *, locale_t);
4975 extern int strncasecmp_l(const char *, const char *, size_t, locale_t);
4976 extern char *strerror_l(int, locale_t);
4977 
4978 
4979 
4980 
4981 
4982 /* Note that some of these are also declared in strings.h for XPG4_2+ */
4983 extern void explicit_bzero(void *, size_t);
4984 extern int uucopy(const void *, void *, size_t);
4985 extern int uucopystr(const void *, void *, size_t);
4986 extern int ffs(int);
4987 extern int ffsl(long);
4988 extern int ffsll(long long);
4989 extern int fls(int);
4990 extern int flsl(long);
4991 extern int flsll(long long);
4992 extern void *memmem(const void *, size_t, const void *, size_t);
4993 extern char *strcasestr(const char *, const char *);
4994 extern char *strnstr(const char *, const char *, size_t);
4995 extern size_t strlcpy(char *, const char *, size_t);
4996 extern size_t strlcat(char *, const char *, size_t);
4997 extern char *strsep(char **stringp, const char *delim);
4998 extern char *strchrnul(const char *, int);
4999 extern char *strcasestr_l(const char *, const char *, locale_t);
5000 extern int strcasecmp(const char *, const char *);
5001 extern int strncasecmp(const char *, const char *, size_t);
5002 
5003 
5004 
5005 
5006 
5007 extern char *strdup(const char *);
5008 
5009 
5010 
5011 
5012 
5013 
5014 /*
5015  * gcc provides this inlining facility but Studio C does not.
5016  * We should use it exclusively once Studio C also provides it.
5017  */
5018 extern void *__builtin_alloca(size_t);
5019 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2
5020 
5021 
5022 
5023 
5024 
5025 
5026 extern int bcmp(const void *, const void *, size_t);
5027 extern void bcopy(const void *, void *, size_t);
5028 extern void bzero(void *, size_t);
5029 
5030 extern char *index(const char *, int);
5031 extern char *rindex(const char *, int);
5032 
5033 /*
5034  * X/Open System Interfaces and Headers, Issue 4, Version 2, defines
5035  * both <string.h> and <strings.h>.  The namespace requirements
5036  * do not permit the visibility of anything other than what is
5037  * specifically defined for each of these headers.  As a result,
5038  * inclusion of <string.h> would result in declarations not allowed
5039  * in <strings.h>, and making the following prototypes visible for
5040  * anything other than X/Open UNIX Extension would result in
5041  * conflicts with what is now in <string.h>.
5042  */
5043 # 34 "../common/handlelocalfs.c" 2
5044 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h" 1
5045 /*
5046  * CDDL HEADER START
5047  *
5048  * The contents of this file are subject to the terms of the
5049  * Common Development and Distribution License (the "License").
5050  * You may not use this file except in compliance with the License.
5051  *
5052  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5053  * or http://www.opensolaris.org/os/licensing.
5054  * See the License for the specific language governing permissions
5055  * and limitations under the License.
5056  *
5057  * When distributing Covered Code, include this CDDL HEADER in each
5058  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5059  * If applicable, add the following below this CDDL HEADER, with the
5060  * fields enclosed by brackets "[]" replaced with your own identifying
5061  * information: Portions Copyright [yyyy] [name of copyright owner]
5062  *
5063  * CDDL HEADER END
5064  */
5065 
5066 /*
5067  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
5068  */
5069 
5070 
5071 
5072 
5073 
5074 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 1
5075 /*
5076  * CDDL HEADER START
5077  *
5078  * The contents of this file are subject to the terms of the
5079  * Common Development and Distribution License, Version 1.0 only
5080  * (the "License").  You may not use this file except in compliance
5081  * with the License.
5082  *
5083  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5084  * or http://www.opensolaris.org/os/licensing.
5085  * See the License for the specific language governing permissions
5086  * and limitations under the License.
5087  *
5088  * When distributing Covered Code, include this CDDL HEADER in each
5089  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5090  * If applicable, add the following below this CDDL HEADER, with the
5091  * fields enclosed by brackets "[]" replaced with your own identifying
5092  * information: Portions Copyright [yyyy] [name of copyright owner]
5093  *
5094  * CDDL HEADER END
5095  */
5096 /*	Copyright (c) 1988 AT&T	*/
5097 /*	  All Rights Reserved  	*/
5098 
5099 
5100 /*
5101  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
5102  * Use is subject to license terms.
5103  */
5104 
5105 
5106 
5107 
5108 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
5109 /*
5110  * CDDL HEADER START
5111  *
5112  * The contents of this file are subject to the terms of the
5113  * Common Development and Distribution License (the "License").
5114  * You may not use this file except in compliance with the License.
5115  *
5116  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5117  * or http://www.opensolaris.org/os/licensing.
5118  * See the License for the specific language governing permissions
5119  * and limitations under the License.
5120  *
5121  *
5122  * When distributing Covered Code, include this CDDL HEADER in each
5123  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5124  * If applicable, add the following below this CDDL HEADER, with the
5125  * fields enclosed by brackets "[]" replaced with your own identifying
5126  * information: Portions Copyright [yyyy] [name of copyright owner]
5127  *
5128  * CDDL HEADER END
5129  */
5130 
5131 /*
5132  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5133  * Use is subject to license terms.
5134  * Copyright 2016 Joyent, Inc.
5135  */
5136 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2
5137 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 1
5138 /*
5139  * CDDL HEADER START
5140  *
5141  * The contents of this file are subject to the terms of the
5142  * Common Development and Distribution License, Version 1.0 only
5143  * (the "License").  You may not use this file except in compliance
5144  * with the License.
5145  *
5146  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5147  * or http://www.opensolaris.org/os/licensing.
5148  * See the License for the specific language governing permissions
5149  * and limitations under the License.
5150  *
5151  * When distributing Covered Code, include this CDDL HEADER in each
5152  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5153  * If applicable, add the following below this CDDL HEADER, with the
5154  * fields enclosed by brackets "[]" replaced with your own identifying
5155  * information: Portions Copyright [yyyy] [name of copyright owner]
5156  *
5157  * CDDL HEADER END
5158  */
5159 /*	Copyright (c) 1988 AT&T	*/
5160 /*	  All Rights Reserved  	*/
5161 
5162 
5163 /*
5164  * Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
5165  * Use is subject to license terms.
5166  */
5167 
5168 /*
5169  * Copyright 2014 PALO, Richard.
5170  * Copyright 2016 Joyent, Inc.
5171  */
5172 
5173 /*
5174  * An application should not include this header directly.  Instead it
5175  * should be included only through the inclusion of other Sun headers.
5176  *
5177  * The contents of this header is limited to identifiers specified in the
5178  * C Standard.  Any new identifiers specified in future amendments to the
5179  * C Standard must be placed in this header.  If these new identifiers
5180  * are required to also be in the C++ Standard "std" namespace, then for
5181  * anything other than macro definitions, corresponding "using" directives
5182  * must also be added to <stddef.h.h>.
5183  */
5184 
5185 
5186 
5187 
5188 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
5189 /*
5190  * CDDL HEADER START
5191  *
5192  * The contents of this file are subject to the terms of the
5193  * Common Development and Distribution License (the "License").
5194  * You may not use this file except in compliance with the License.
5195  *
5196  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5197  * or http://www.opensolaris.org/os/licensing.
5198  * See the License for the specific language governing permissions
5199  * and limitations under the License.
5200  *
5201  *
5202  * When distributing Covered Code, include this CDDL HEADER in each
5203  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5204  * If applicable, add the following below this CDDL HEADER, with the
5205  * fields enclosed by brackets "[]" replaced with your own identifying
5206  * information: Portions Copyright [yyyy] [name of copyright owner]
5207  *
5208  * CDDL HEADER END
5209  */
5210 
5211 /*
5212  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5213  * Use is subject to license terms.
5214  * Copyright 2016 Joyent, Inc.
5215  */
5216 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2
5217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
5218 /*
5219  * CDDL HEADER START
5220  *
5221  * The contents of this file are subject to the terms of the
5222  * Common Development and Distribution License (the "License").
5223  * You may not use this file except in compliance with the License.
5224  *
5225  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5226  * or http://www.opensolaris.org/os/licensing.
5227  * See the License for the specific language governing permissions
5228  * and limitations under the License.
5229  *
5230  * When distributing Covered Code, include this CDDL HEADER in each
5231  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5232  * If applicable, add the following below this CDDL HEADER, with the
5233  * fields enclosed by brackets "[]" replaced with your own identifying
5234  * information: Portions Copyright [yyyy] [name of copyright owner]
5235  *
5236  * CDDL HEADER END
5237  */
5238 
5239 /*
5240  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5241  * Copyright 2016 Joyent, Inc.
5242  *
5243  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5244  * Use is subject to license terms.
5245  */
5246 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2
5247 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
5248 /*
5249  * This file and its contents are supplied under the terms of the
5250  * Common Development and Distribution License ("CDDL"), version 1.0.
5251  * You may only use this file in accordance with the terms of version
5252  * 1.0 of the CDDL.
5253  *
5254  * A full copy of the text of the CDDL should have accompanied this
5255  * source.  A copy of the CDDL is also available via the Internet at
5256  * http://www.illumos.org/license/CDDL.
5257  */
5258 
5259 /*
5260  * Copyright 2014-2016 PALO, Richard.
5261  */
5262 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2
5263 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h"
5264 typedef long max_align_t;
5265 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2
5266 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1
5267 /*
5268  * This file and its contents are supplied under the terms of the
5269  * Common Development and Distribution License ("CDDL"), version 1.0.
5270  * You may only use this file in accordance with the terms of version
5271  * 1.0 of the CDDL.
5272  *
5273  * A full copy of the text of the CDDL should have accompanied this
5274  * source.  A copy of the CDDL is also available via the Internet at
5275  * http://www.illumos.org/license/CDDL.
5276  */
5277 
5278 /*
5279  * Copyright 2017 Toomas Soome <tsoome@me.com>
5280  */
5281 
5282 
5283 
5284 
5285 /*
5286  * Commonly used macros and definitions.
5287  */
5288 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h"
5289 /*
5290  * We must not expose container_of() to userland, but we want it
5291  * to be available for early boot and for the kernel.
5292  */
5293 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2
5294 
5295 /*
5296  * Allow global visibility for symbols defined in
5297  * C++ "std" namespace in <iso/stddef_iso.h>.
5298  */
5299 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h"
5300 /*
5301  * wchar_t is a built-in type in standard C++ and as such is not
5302  * defined here when using standard C++. However, the GNU compiler
5303  * fixincludes utility nonetheless creates its own version of this
5304  * header for use by gcc and g++. In that version it adds a redundant
5305  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
5306  * header we need to include the following magic comment:
5307  *
5308  * we must use the C++ compiler's type
5309  *
5310  * The above comment should not be removed or changed until GNU
5311  * gcc/fixinc/inclhack.def is updated to bypass this header.
5312  */
5313 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h" 2
5314 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5315 /*
5316  * CDDL HEADER START
5317  *
5318  * The contents of this file are subject to the terms of the
5319  * Common Development and Distribution License (the "License").
5320  * You may not use this file except in compliance with the License.
5321  *
5322  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5323  * or http://www.opensolaris.org/os/licensing.
5324  * See the License for the specific language governing permissions
5325  * and limitations under the License.
5326  *
5327  * When distributing Covered Code, include this CDDL HEADER in each
5328  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5329  * If applicable, add the following below this CDDL HEADER, with the
5330  * fields enclosed by brackets "[]" replaced with your own identifying
5331  * information: Portions Copyright [yyyy] [name of copyright owner]
5332  *
5333  * CDDL HEADER END
5334  */
5335 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5336 /*	  All Rights Reserved  	*/
5337 
5338 
5339 /*
5340  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5341  * Use is subject to license terms.
5342  *
5343  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5344  * Copyright 2016 Joyent, Inc.
5345  */
5346 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h" 2
5347 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libnvpair.h" 1
5348 /*
5349  * CDDL HEADER START
5350  *
5351  * The contents of this file are subject to the terms of the
5352  * Common Development and Distribution License (the "License").
5353  * You may not use this file except in compliance with the License.
5354  *
5355  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5356  * or http://www.opensolaris.org/os/licensing.
5357  * See the License for the specific language governing permissions
5358  * and limitations under the License.
5359  *
5360  * When distributing Covered Code, include this CDDL HEADER in each
5361  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5362  * If applicable, add the following below this CDDL HEADER, with the
5363  * fields enclosed by brackets "[]" replaced with your own identifying
5364  * information: Portions Copyright [yyyy] [name of copyright owner]
5365  *
5366  * CDDL HEADER END
5367  */
5368 /*
5369  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
5370  * Copyright (c) 2013, Joyent, Inc. All rights reserved.
5371  */
5372 
5373 
5374 
5375 
5376 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h" 1
5377 /*
5378  * CDDL HEADER START
5379  *
5380  * The contents of this file are subject to the terms of the
5381  * Common Development and Distribution License (the "License").
5382  * You may not use this file except in compliance with the License.
5383  *
5384  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5385  * or http://www.opensolaris.org/os/licensing.
5386  * See the License for the specific language governing permissions
5387  * and limitations under the License.
5388  *
5389  * When distributing Covered Code, include this CDDL HEADER in each
5390  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5391  * If applicable, add the following below this CDDL HEADER, with the
5392  * fields enclosed by brackets "[]" replaced with your own identifying
5393  * information: Portions Copyright [yyyy] [name of copyright owner]
5394  *
5395  * CDDL HEADER END
5396  */
5397 /*
5398  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
5399  * Copyright (c) 2012 by Delphix. All rights reserved.
5400  */
5401 
5402 
5403 
5404 
5405 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5406 /*
5407  * CDDL HEADER START
5408  *
5409  * The contents of this file are subject to the terms of the
5410  * Common Development and Distribution License (the "License").
5411  * You may not use this file except in compliance with the License.
5412  *
5413  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5414  * or http://www.opensolaris.org/os/licensing.
5415  * See the License for the specific language governing permissions
5416  * and limitations under the License.
5417  *
5418  * When distributing Covered Code, include this CDDL HEADER in each
5419  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5420  * If applicable, add the following below this CDDL HEADER, with the
5421  * fields enclosed by brackets "[]" replaced with your own identifying
5422  * information: Portions Copyright [yyyy] [name of copyright owner]
5423  *
5424  * CDDL HEADER END
5425  */
5426 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5427 /*	  All Rights Reserved  	*/
5428 
5429 
5430 /*
5431  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5432  * Use is subject to license terms.
5433  *
5434  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5435  * Copyright 2016 Joyent, Inc.
5436  */
5437 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h" 2
5438 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
5439 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5440 /*	  All Rights Reserved  	*/
5441 
5442 
5443 /*
5444  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
5445  * All rights reserved.  The Berkeley software License Agreement
5446  * specifies the terms and conditions for redistribution.
5447  */
5448 
5449 /*
5450  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5451  *
5452  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5453  * Use is subject to license terms.
5454  *
5455  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5456  */
5457 
5458 /*
5459  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
5460  */
5461 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h" 2
5462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1
5463 /*
5464  * CDDL HEADER START
5465  *
5466  * The contents of this file are subject to the terms of the
5467  * Common Development and Distribution License, Version 1.0 only
5468  * (the "License").  You may not use this file except in compliance
5469  * 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  * Copyright 2000 Sun Microsystems, Inc.  All rights reserved.
5486  * Use is subject to license terms.
5487  */
5488 
5489 /*	Copyright (c) 1983, 1984, 1985, 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 
5503 
5504 
5505 #pragma ident "%Z%%M%	%I%	%E% SMI"
5506 
5507 
5508 
5509 
5510 
5511 /*
5512  * Error codes
5513  */
5514 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5515 /* Filesystem Quotas */
5516 
5517 
5518 /* Convergent Error Returns */
5519 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5520 /* Interprocess Robust Locks */
5521 
5522 
5523 
5524 /* stream problems */
5525 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5526 /* Interprocess Robust Locks */
5527 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5528 /* shared library problems */
5529 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5530 /* BSD Networking Software */
5531  /* argument errors */
5532 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5533     /* protocol family */
5534 
5535 
5536  /* operational errors */
5537 
5538 
5539 
5540     /* of reset */
5541 
5542 
5543 
5544 
5545 
5546 /* XENIX has 135 - 142 */
5547 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
5548 /* SUN Network File System */
5549 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h" 2
5550 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
5551 /*
5552  * CDDL HEADER START
5553  *
5554  * The contents of this file are subject to the terms of the
5555  * Common Development and Distribution License, Version 1.0 only
5556  * (the "License").  You may not use this file except in compliance
5557  * with the License.
5558  *
5559  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5560  * or http://www.opensolaris.org/os/licensing.
5561  * See the License for the specific language governing permissions
5562  * and limitations under the License.
5563  *
5564  * When distributing Covered Code, include this CDDL HEADER in each
5565  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5566  * If applicable, add the following below this CDDL HEADER, with the
5567  * fields enclosed by brackets "[]" replaced with your own identifying
5568  * information: Portions Copyright [yyyy] [name of copyright owner]
5569  *
5570  * CDDL HEADER END
5571  */
5572 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5573 /*	  All Rights Reserved	*/
5574 
5575 
5576 /*
5577  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5578  *
5579  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
5580  * Use is subject to license terms.
5581  */
5582 
5583 
5584 
5585 
5586 /*
5587  * An application should not include this header directly.  Instead it
5588  * should be included only through the inclusion of other Sun headers.
5589  *
5590  * The purpose of this header is to provide the type definitions for
5591  * the va_list argument used by a number of printf and printf like
5592  * functions. The headers that define these various function prototypes
5593  * #include this header directly. These include but are not necessarily
5594  * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and
5595  * <syslog.h>. The type definitions included in this header are for
5596  * the benefit of consumers of va_list.
5597  *
5598  * Any application that accepts variable argument lists must as documented,
5599  * include either <varargs.h> or the preferred <stdarg.h>. Doing so will
5600  * pull in the appropriate compiler protocols defined in <sys/va_impl.h>
5601  * which is in turn is included by <varargs.h> and <stdarg.h>. See comments
5602  * in <sys/va_impl.h> for more detailed information regarding implementation
5603  * and compiler specific protocols.
5604  */
5605 
5606 /*
5607  * The common definitions exported by this header or compilers using
5608  * this header are:
5609  *
5610  * the identifier __builtin_va_alist for the variable list pseudo parameter
5611  * the type __va_alist_type for the variable list pseudo parameter
5612  * the type __va_list defining the type of the variable list iterator
5613  *
5614  * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros
5615  * (__GNUC__) and processor macros (e.g. __amd64) are intended to be
5616  * defined by the compilation system, not the user of the system.
5617  */
5618 
5619 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
5620 /*
5621  * CDDL HEADER START
5622  *
5623  * The contents of this file are subject to the terms of the
5624  * Common Development and Distribution License (the "License").
5625  * You may not use this file except in compliance with the License.
5626  *
5627  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5628  * or http://www.opensolaris.org/os/licensing.
5629  * See the License for the specific language governing permissions
5630  * and limitations under the License.
5631  *
5632  *
5633  * When distributing Covered Code, include this CDDL HEADER in each
5634  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5635  * If applicable, add the following below this CDDL HEADER, with the
5636  * fields enclosed by brackets "[]" replaced with your own identifying
5637  * information: Portions Copyright [yyyy] [name of copyright owner]
5638  *
5639  * CDDL HEADER END
5640  */
5641 
5642 /*
5643  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5644  * Use is subject to license terms.
5645  * Copyright 2016 Joyent, Inc.
5646  */
5647 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2
5648 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h"
5649 typedef __builtin_va_list __gnuc_va_list;
5650 /*
5651  * XX64 This seems unnecessary .. but is needed because vcmn_err is
5652  *	defined with __va_list instead of plain old va_list.
5653  *	Perhaps that should be fixed!
5654  */
5655 typedef __builtin_va_list __va_list;
5656 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h" 2
5657 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h"
5658 typedef enum {
5659  DATA_TYPE_UNKNOWN = 0,
5660  DATA_TYPE_BOOLEAN,
5661  DATA_TYPE_BYTE,
5662  DATA_TYPE_INT16,
5663  DATA_TYPE_UINT16,
5664  DATA_TYPE_INT32,
5665  DATA_TYPE_UINT32,
5666  DATA_TYPE_INT64,
5667  DATA_TYPE_UINT64,
5668  DATA_TYPE_STRING,
5669  DATA_TYPE_BYTE_ARRAY,
5670  DATA_TYPE_INT16_ARRAY,
5671  DATA_TYPE_UINT16_ARRAY,
5672  DATA_TYPE_INT32_ARRAY,
5673  DATA_TYPE_UINT32_ARRAY,
5674  DATA_TYPE_INT64_ARRAY,
5675  DATA_TYPE_UINT64_ARRAY,
5676  DATA_TYPE_STRING_ARRAY,
5677  DATA_TYPE_HRTIME,
5678  DATA_TYPE_NVLIST,
5679  DATA_TYPE_NVLIST_ARRAY,
5680  DATA_TYPE_BOOLEAN_VALUE,
5681  DATA_TYPE_INT8,
5682  DATA_TYPE_UINT8,
5683  DATA_TYPE_BOOLEAN_ARRAY,
5684  DATA_TYPE_INT8_ARRAY,
5685 
5686  DATA_TYPE_UINT8_ARRAY,
5687  DATA_TYPE_DOUBLE
5688 
5689 
5690 
5691 } data_type_t;
5692 
5693 typedef struct nvpair {
5694  int32_t nvp_size; /* size of this nvpair */
5695  int16_t nvp_name_sz; /* length of name string */
5696  int16_t nvp_reserve; /* not used */
5697  int32_t nvp_value_elem; /* number of elements for array types */
5698  data_type_t nvp_type; /* type of value */
5699  /* name string */
5700  /* aligned ptr array for string arrays */
5701  /* aligned array of data for value */
5702 } nvpair_t;
5703 
5704 /* nvlist header */
5705 typedef struct nvlist {
5706  int32_t nvl_version;
5707  uint32_t nvl_nvflag; /* persistent flags */
5708  uint64_t nvl_priv; /* ptr to private data if not packed */
5709  uint32_t nvl_flag;
5710  int32_t nvl_pad; /* currently not used, for alignment */
5711 } nvlist_t;
5712 
5713 /* nvp implementation version */
5714 
5715 
5716 /* nvlist pack encoding */
5717 
5718 
5719 
5720 /* nvlist persistent unique name flags, stored in nvl_nvflags */
5721 
5722 
5723 
5724 /* nvlist lookup pairs related flags */
5725 
5726 
5727 /* convenience macros */
5728 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/nvpair.h"
5729 /* NV allocator framework */
5730 typedef struct nv_alloc_ops nv_alloc_ops_t;
5731 
5732 typedef struct nv_alloc {
5733  const nv_alloc_ops_t *nva_ops;
5734  void *nva_arg;
5735 } nv_alloc_t;
5736 
5737 struct nv_alloc_ops {
5738  int (*nv_ao_init)(nv_alloc_t *, __va_list);
5739  void (*nv_ao_fini)(nv_alloc_t *);
5740  void *(*nv_ao_alloc)(nv_alloc_t *, size_t);
5741  void (*nv_ao_free)(nv_alloc_t *, void *, size_t);
5742  void (*nv_ao_reset)(nv_alloc_t *);
5743 };
5744 
5745 extern const nv_alloc_ops_t *nv_fixed_ops;
5746 extern nv_alloc_t *nv_alloc_nosleep;
5747 
5748 
5749 
5750 
5751 
5752 int nv_alloc_init(nv_alloc_t *, const nv_alloc_ops_t *, /* args */ ...);
5753 void nv_alloc_reset(nv_alloc_t *);
5754 void nv_alloc_fini(nv_alloc_t *);
5755 
5756 /* list management */
5757 int nvlist_alloc(nvlist_t **, uint_t, int);
5758 void nvlist_free(nvlist_t *);
5759 int nvlist_size(nvlist_t *, size_t *, int);
5760 int nvlist_pack(nvlist_t *, char **, size_t *, int, int);
5761 int nvlist_unpack(char *, size_t, nvlist_t **, int);
5762 int nvlist_dup(nvlist_t *, nvlist_t **, int);
5763 int nvlist_merge(nvlist_t *, nvlist_t *, int);
5764 
5765 uint_t nvlist_nvflag(nvlist_t *);
5766 
5767 int nvlist_xalloc(nvlist_t **, uint_t, nv_alloc_t *);
5768 int nvlist_xpack(nvlist_t *, char **, size_t *, int, nv_alloc_t *);
5769 int nvlist_xunpack(char *, size_t, nvlist_t **, nv_alloc_t *);
5770 int nvlist_xdup(nvlist_t *, nvlist_t **, nv_alloc_t *);
5771 nv_alloc_t *nvlist_lookup_nv_alloc(nvlist_t *);
5772 
5773 int nvlist_add_nvpair(nvlist_t *, nvpair_t *);
5774 int nvlist_add_boolean(nvlist_t *, const char *);
5775 int nvlist_add_boolean_value(nvlist_t *, const char *, boolean_t);
5776 int nvlist_add_byte(nvlist_t *, const char *, uchar_t);
5777 int nvlist_add_int8(nvlist_t *, const char *, int8_t);
5778 int nvlist_add_uint8(nvlist_t *, const char *, uint8_t);
5779 int nvlist_add_int16(nvlist_t *, const char *, int16_t);
5780 int nvlist_add_uint16(nvlist_t *, const char *, uint16_t);
5781 int nvlist_add_int32(nvlist_t *, const char *, int32_t);
5782 int nvlist_add_uint32(nvlist_t *, const char *, uint32_t);
5783 int nvlist_add_int64(nvlist_t *, const char *, int64_t);
5784 int nvlist_add_uint64(nvlist_t *, const char *, uint64_t);
5785 int nvlist_add_string(nvlist_t *, const char *, const char *);
5786 int nvlist_add_nvlist(nvlist_t *, const char *, nvlist_t *);
5787 int nvlist_add_boolean_array(nvlist_t *, const char *, boolean_t *, uint_t);
5788 int nvlist_add_byte_array(nvlist_t *, const char *, uchar_t *, uint_t);
5789 int nvlist_add_int8_array(nvlist_t *, const char *, int8_t *, uint_t);
5790 int nvlist_add_uint8_array(nvlist_t *, const char *, uint8_t *, uint_t);
5791 int nvlist_add_int16_array(nvlist_t *, const char *, int16_t *, uint_t);
5792 int nvlist_add_uint16_array(nvlist_t *, const char *, uint16_t *, uint_t);
5793 int nvlist_add_int32_array(nvlist_t *, const char *, int32_t *, uint_t);
5794 int nvlist_add_uint32_array(nvlist_t *, const char *, uint32_t *, uint_t);
5795 int nvlist_add_int64_array(nvlist_t *, const char *, int64_t *, uint_t);
5796 int nvlist_add_uint64_array(nvlist_t *, const char *, uint64_t *, uint_t);
5797 int nvlist_add_string_array(nvlist_t *, const char *, char *const *, uint_t);
5798 int nvlist_add_nvlist_array(nvlist_t *, const char *, nvlist_t **, uint_t);
5799 int nvlist_add_hrtime(nvlist_t *, const char *, hrtime_t);
5800 
5801 int nvlist_add_double(nvlist_t *, const char *, double);
5802 
5803 
5804 int nvlist_remove(nvlist_t *, const char *, data_type_t);
5805 int nvlist_remove_all(nvlist_t *, const char *);
5806 int nvlist_remove_nvpair(nvlist_t *, nvpair_t *);
5807 
5808 int nvlist_lookup_boolean(nvlist_t *, const char *);
5809 int nvlist_lookup_boolean_value(nvlist_t *, const char *, boolean_t *);
5810 int nvlist_lookup_byte(nvlist_t *, const char *, uchar_t *);
5811 int nvlist_lookup_int8(nvlist_t *, const char *, int8_t *);
5812 int nvlist_lookup_uint8(nvlist_t *, const char *, uint8_t *);
5813 int nvlist_lookup_int16(nvlist_t *, const char *, int16_t *);
5814 int nvlist_lookup_uint16(nvlist_t *, const char *, uint16_t *);
5815 int nvlist_lookup_int32(nvlist_t *, const char *, int32_t *);
5816 int nvlist_lookup_uint32(nvlist_t *, const char *, uint32_t *);
5817 int nvlist_lookup_int64(nvlist_t *, const char *, int64_t *);
5818 int nvlist_lookup_uint64(nvlist_t *, const char *, uint64_t *);
5819 int nvlist_lookup_string(nvlist_t *, const char *, char **);
5820 int nvlist_lookup_nvlist(nvlist_t *, const char *, nvlist_t **);
5821 int nvlist_lookup_boolean_array(nvlist_t *, const char *,
5822     boolean_t **, uint_t *);
5823 int nvlist_lookup_byte_array(nvlist_t *, const char *, uchar_t **, uint_t *);
5824 int nvlist_lookup_int8_array(nvlist_t *, const char *, int8_t **, uint_t *);
5825 int nvlist_lookup_uint8_array(nvlist_t *, const char *, uint8_t **, uint_t *);
5826 int nvlist_lookup_int16_array(nvlist_t *, const char *, int16_t **, uint_t *);
5827 int nvlist_lookup_uint16_array(nvlist_t *, const char *, uint16_t **, uint_t *);
5828 int nvlist_lookup_int32_array(nvlist_t *, const char *, int32_t **, uint_t *);
5829 int nvlist_lookup_uint32_array(nvlist_t *, const char *, uint32_t **, uint_t *);
5830 int nvlist_lookup_int64_array(nvlist_t *, const char *, int64_t **, uint_t *);
5831 int nvlist_lookup_uint64_array(nvlist_t *, const char *, uint64_t **, uint_t *);
5832 int nvlist_lookup_string_array(nvlist_t *, const char *, char ***, uint_t *);
5833 int nvlist_lookup_nvlist_array(nvlist_t *, const char *,
5834     nvlist_t ***, uint_t *);
5835 int nvlist_lookup_hrtime(nvlist_t *, const char *, hrtime_t *);
5836 int nvlist_lookup_pairs(nvlist_t *, int, ...);
5837 
5838 int nvlist_lookup_double(nvlist_t *, const char *, double *);
5839 
5840 
5841 int nvlist_lookup_nvpair(nvlist_t *, const char *, nvpair_t **);
5842 int nvlist_lookup_nvpair_embedded_index(nvlist_t *, const char *, nvpair_t **,
5843     int *, char **);
5844 boolean_t nvlist_exists(nvlist_t *, const char *);
5845 boolean_t nvlist_empty(nvlist_t *);
5846 
5847 /* processing nvpair */
5848 nvpair_t *nvlist_next_nvpair(nvlist_t *, nvpair_t *);
5849 nvpair_t *nvlist_prev_nvpair(nvlist_t *, nvpair_t *);
5850 char *nvpair_name(nvpair_t *);
5851 data_type_t nvpair_type(nvpair_t *);
5852 int nvpair_type_is_array(nvpair_t *);
5853 int nvpair_value_boolean_value(nvpair_t *, boolean_t *);
5854 int nvpair_value_byte(nvpair_t *, uchar_t *);
5855 int nvpair_value_int8(nvpair_t *, int8_t *);
5856 int nvpair_value_uint8(nvpair_t *, uint8_t *);
5857 int nvpair_value_int16(nvpair_t *, int16_t *);
5858 int nvpair_value_uint16(nvpair_t *, uint16_t *);
5859 int nvpair_value_int32(nvpair_t *, int32_t *);
5860 int nvpair_value_uint32(nvpair_t *, uint32_t *);
5861 int nvpair_value_int64(nvpair_t *, int64_t *);
5862 int nvpair_value_uint64(nvpair_t *, uint64_t *);
5863 int nvpair_value_string(nvpair_t *, char **);
5864 int nvpair_value_nvlist(nvpair_t *, nvlist_t **);
5865 int nvpair_value_boolean_array(nvpair_t *, boolean_t **, uint_t *);
5866 int nvpair_value_byte_array(nvpair_t *, uchar_t **, uint_t *);
5867 int nvpair_value_int8_array(nvpair_t *, int8_t **, uint_t *);
5868 int nvpair_value_uint8_array(nvpair_t *, uint8_t **, uint_t *);
5869 int nvpair_value_int16_array(nvpair_t *, int16_t **, uint_t *);
5870 int nvpair_value_uint16_array(nvpair_t *, uint16_t **, uint_t *);
5871 int nvpair_value_int32_array(nvpair_t *, int32_t **, uint_t *);
5872 int nvpair_value_uint32_array(nvpair_t *, uint32_t **, uint_t *);
5873 int nvpair_value_int64_array(nvpair_t *, int64_t **, uint_t *);
5874 int nvpair_value_uint64_array(nvpair_t *, uint64_t **, uint_t *);
5875 int nvpair_value_string_array(nvpair_t *, char ***, uint_t *);
5876 int nvpair_value_nvlist_array(nvpair_t *, nvlist_t ***, uint_t *);
5877 int nvpair_value_hrtime(nvpair_t *, hrtime_t *);
5878 
5879 int nvpair_value_double(nvpair_t *, double *);
5880 
5881 
5882 nvlist_t *fnvlist_alloc(void);
5883 void fnvlist_free(nvlist_t *);
5884 size_t fnvlist_size(nvlist_t *);
5885 char *fnvlist_pack(nvlist_t *, size_t *);
5886 void fnvlist_pack_free(char *, size_t);
5887 nvlist_t *fnvlist_unpack(char *, size_t);
5888 nvlist_t *fnvlist_dup(nvlist_t *);
5889 void fnvlist_merge(nvlist_t *, nvlist_t *);
5890 size_t fnvlist_num_pairs(nvlist_t *);
5891 
5892 void fnvlist_add_boolean(nvlist_t *, const char *);
5893 void fnvlist_add_boolean_value(nvlist_t *, const char *, boolean_t);
5894 void fnvlist_add_byte(nvlist_t *, const char *, uchar_t);
5895 void fnvlist_add_int8(nvlist_t *, const char *, int8_t);
5896 void fnvlist_add_uint8(nvlist_t *, const char *, uint8_t);
5897 void fnvlist_add_int16(nvlist_t *, const char *, int16_t);
5898 void fnvlist_add_uint16(nvlist_t *, const char *, uint16_t);
5899 void fnvlist_add_int32(nvlist_t *, const char *, int32_t);
5900 void fnvlist_add_uint32(nvlist_t *, const char *, uint32_t);
5901 void fnvlist_add_int64(nvlist_t *, const char *, int64_t);
5902 void fnvlist_add_uint64(nvlist_t *, const char *, uint64_t);
5903 void fnvlist_add_string(nvlist_t *, const char *, const char *);
5904 void fnvlist_add_nvlist(nvlist_t *, const char *, nvlist_t *);
5905 void fnvlist_add_nvpair(nvlist_t *, nvpair_t *);
5906 void fnvlist_add_boolean_array(nvlist_t *, const char *, boolean_t *, uint_t);
5907 void fnvlist_add_byte_array(nvlist_t *, const char *, uchar_t *, uint_t);
5908 void fnvlist_add_int8_array(nvlist_t *, const char *, int8_t *, uint_t);
5909 void fnvlist_add_uint8_array(nvlist_t *, const char *, uint8_t *, uint_t);
5910 void fnvlist_add_int16_array(nvlist_t *, const char *, int16_t *, uint_t);
5911 void fnvlist_add_uint16_array(nvlist_t *, const char *, uint16_t *, uint_t);
5912 void fnvlist_add_int32_array(nvlist_t *, const char *, int32_t *, uint_t);
5913 void fnvlist_add_uint32_array(nvlist_t *, const char *, uint32_t *, uint_t);
5914 void fnvlist_add_int64_array(nvlist_t *, const char *, int64_t *, uint_t);
5915 void fnvlist_add_uint64_array(nvlist_t *, const char *, uint64_t *, uint_t);
5916 void fnvlist_add_string_array(nvlist_t *, const char *, char * const *, uint_t);
5917 void fnvlist_add_nvlist_array(nvlist_t *, const char *, nvlist_t **, uint_t);
5918 
5919 void fnvlist_remove(nvlist_t *, const char *);
5920 void fnvlist_remove_nvpair(nvlist_t *, nvpair_t *);
5921 
5922 nvpair_t *fnvlist_lookup_nvpair(nvlist_t *nvl, const char *name);
5923 boolean_t fnvlist_lookup_boolean(nvlist_t *nvl, const char *name);
5924 boolean_t fnvlist_lookup_boolean_value(nvlist_t *nvl, const char *name);
5925 uchar_t fnvlist_lookup_byte(nvlist_t *nvl, const char *name);
5926 int8_t fnvlist_lookup_int8(nvlist_t *nvl, const char *name);
5927 int16_t fnvlist_lookup_int16(nvlist_t *nvl, const char *name);
5928 int32_t fnvlist_lookup_int32(nvlist_t *nvl, const char *name);
5929 int64_t fnvlist_lookup_int64(nvlist_t *nvl, const char *name);
5930 uint8_t fnvlist_lookup_uint8_t(nvlist_t *nvl, const char *name);
5931 uint16_t fnvlist_lookup_uint16(nvlist_t *nvl, const char *name);
5932 uint32_t fnvlist_lookup_uint32(nvlist_t *nvl, const char *name);
5933 uint64_t fnvlist_lookup_uint64(nvlist_t *nvl, const char *name);
5934 char *fnvlist_lookup_string(nvlist_t *nvl, const char *name);
5935 nvlist_t *fnvlist_lookup_nvlist(nvlist_t *nvl, const char *name);
5936 
5937 boolean_t fnvpair_value_boolean_value(nvpair_t *nvp);
5938 uchar_t fnvpair_value_byte(nvpair_t *nvp);
5939 int8_t fnvpair_value_int8(nvpair_t *nvp);
5940 int16_t fnvpair_value_int16(nvpair_t *nvp);
5941 int32_t fnvpair_value_int32(nvpair_t *nvp);
5942 int64_t fnvpair_value_int64(nvpair_t *nvp);
5943 uint8_t fnvpair_value_uint8_t(nvpair_t *nvp);
5944 uint16_t fnvpair_value_uint16(nvpair_t *nvp);
5945 uint32_t fnvpair_value_uint32(nvpair_t *nvp);
5946 uint64_t fnvpair_value_uint64(nvpair_t *nvp);
5947 char *fnvpair_value_string(nvpair_t *nvp);
5948 nvlist_t *fnvpair_value_nvlist(nvpair_t *nvp);
5949 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libnvpair.h" 2
5950 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
5951 /*
5952  * CDDL HEADER START
5953  *
5954  * The contents of this file are subject to the terms of the
5955  * Common Development and Distribution License (the "License").
5956  * You may not use this file except in compliance with the License.
5957  *
5958  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5959  * or http://www.opensolaris.org/os/licensing.
5960  * See the License for the specific language governing permissions
5961  * and limitations under the License.
5962  *
5963  * When distributing Covered Code, include this CDDL HEADER in each
5964  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5965  * If applicable, add the following below this CDDL HEADER, with the
5966  * fields enclosed by brackets "[]" replaced with your own identifying
5967  * information: Portions Copyright [yyyy] [name of copyright owner]
5968  *
5969  * CDDL HEADER END
5970  */
5971 
5972 /*
5973  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5974  * Copyright (c) 2013 Gary Mills
5975  *
5976  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
5977  */
5978 
5979 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
5980 
5981 /*	Copyright (c) 1988 AT&T	*/
5982 /*	  All Rights Reserved  	*/
5983 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libnvpair.h" 2
5984 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
5985 /*
5986  * CDDL HEADER START
5987  *
5988  * The contents of this file are subject to the terms of the
5989  * Common Development and Distribution License (the "License").
5990  * You may not use this file except in compliance with the License.
5991  *
5992  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5993  * or http://www.opensolaris.org/os/licensing.
5994  * See the License for the specific language governing permissions
5995  * and limitations under the License.
5996  *
5997  * When distributing Covered Code, include this CDDL HEADER in each
5998  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5999  * If applicable, add the following below this CDDL HEADER, with the
6000  * fields enclosed by brackets "[]" replaced with your own identifying
6001  * information: Portions Copyright [yyyy] [name of copyright owner]
6002  *
6003  * CDDL HEADER END
6004  */
6005 
6006 /*
6007  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6008  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
6009  */
6010 
6011 /*	Copyright (c) 1988 AT&T	*/
6012 /*	  All Rights Reserved  	*/
6013 
6014 /*
6015  * User-visible pieces of the ANSI C standard I/O package.
6016  */
6017 
6018 
6019 
6020 
6021 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6022 /*
6023  * CDDL HEADER START
6024  *
6025  * The contents of this file are subject to the terms of the
6026  * Common Development and Distribution License (the "License").
6027  * You may not use this file except in compliance with the License.
6028  *
6029  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6030  * or http://www.opensolaris.org/os/licensing.
6031  * See the License for the specific language governing permissions
6032  * and limitations under the License.
6033  *
6034  * When distributing Covered Code, include this CDDL HEADER in each
6035  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6036  * If applicable, add the following below this CDDL HEADER, with the
6037  * fields enclosed by brackets "[]" replaced with your own identifying
6038  * information: Portions Copyright [yyyy] [name of copyright owner]
6039  *
6040  * CDDL HEADER END
6041  */
6042 
6043 /*
6044  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6045  * Copyright 2016 Joyent, Inc.
6046  *
6047  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6048  * Use is subject to license terms.
6049  */
6050 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
6051 
6052 
6053 
6054 
6055 
6056 /*
6057  * Do all of our 'redefine_extname' processing before
6058  * declarations of the associated functions are seen.
6059  * This is necessary to keep gcc happy.
6060  */
6061 
6062 
6063 /* large file compilation environment setup */
6064 
6065 
6066 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6067 #pragma redefine_extname fopen fopen64
6068 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6069 
6070 
6071 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6072 #pragma redefine_extname freopen freopen64
6073 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6074 
6075 
6076 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6077 #pragma redefine_extname tmpfile tmpfile64
6078 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6079 
6080 
6081 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6082 #pragma redefine_extname fgetpos fgetpos64
6083 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6084 
6085 
6086 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6087 #pragma redefine_extname fsetpos fsetpos64
6088 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6089 
6090 
6091 
6092 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6093 #pragma redefine_extname fseeko fseeko64
6094 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6095 
6096 
6097 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6098 #pragma redefine_extname ftello ftello64
6099 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6100 
6101 
6102 
6103 
6104 /* In the LP64 compilation environment, all APIs are already large file */
6105 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6106 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1
6107 /*
6108  * CDDL HEADER START
6109  *
6110  * The contents of this file are subject to the terms of the
6111  * Common Development and Distribution License, Version 1.0 only
6112  * (the "License").  You may not use this file except in compliance
6113  * with the License.
6114  *
6115  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6116  * or http://www.opensolaris.org/os/licensing.
6117  * See the License for the specific language governing permissions
6118  * and limitations under the License.
6119  *
6120  * When distributing Covered Code, include this CDDL HEADER in each
6121  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6122  * If applicable, add the following below this CDDL HEADER, with the
6123  * fields enclosed by brackets "[]" replaced with your own identifying
6124  * information: Portions Copyright [yyyy] [name of copyright owner]
6125  *
6126  * CDDL HEADER END
6127  */
6128 /*
6129  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6130  * Copyright 2014 PALO, Richard.
6131  *
6132  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
6133  * Use is subject to license terms.
6134  */
6135 
6136 /*	Copyright (c) 1988 AT&T	*/
6137 /*	  All Rights Reserved  	*/
6138 
6139 /*
6140  * An application should not include this header directly.  Instead it
6141  * should be included only through the inclusion of other Sun headers.
6142  *
6143  * The contents of this header is limited to identifiers specified in the
6144  * C Standard.  Any new identifiers specified in future amendments to the
6145  * C Standard must be placed in this header.  If these new identifiers
6146  * are required to also be in the C++ Standard "std" namespace, then for
6147  * anything other than macro definitions, corresponding "using" directives
6148  * must also be added to <stdio.h>.
6149  */
6150 
6151 /*
6152  * User-visible pieces of the ANSI C standard I/O package.
6153  */
6154 
6155 
6156 
6157 
6158 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6159 /*
6160  * CDDL HEADER START
6161  *
6162  * The contents of this file are subject to the terms of the
6163  * Common Development and Distribution License (the "License").
6164  * You may not use this file except in compliance with the License.
6165  *
6166  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6167  * or http://www.opensolaris.org/os/licensing.
6168  * See the License for the specific language governing permissions
6169  * and limitations under the License.
6170  *
6171  * When distributing Covered Code, include this CDDL HEADER in each
6172  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6173  * If applicable, add the following below this CDDL HEADER, with the
6174  * fields enclosed by brackets "[]" replaced with your own identifying
6175  * information: Portions Copyright [yyyy] [name of copyright owner]
6176  *
6177  * CDDL HEADER END
6178  */
6179 
6180 /*
6181  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6182  * Copyright 2016 Joyent, Inc.
6183  *
6184  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6185  * Use is subject to license terms.
6186  */
6187 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
6188 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
6189 /*
6190  * This file and its contents are supplied under the terms of the
6191  * Common Development and Distribution License ("CDDL"), version 1.0.
6192  * You may only use this file in accordance with the terms of version
6193  * 1.0 of the CDDL.
6194  *
6195  * A full copy of the text of the CDDL should have accompanied this
6196  * source.  A copy of the CDDL is also available via the Internet at
6197  * http://www.illumos.org/license/CDDL.
6198  */
6199 
6200 /*
6201  * Copyright 2014-2016 PALO, Richard.
6202  */
6203 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
6204 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
6205 /*
6206  * CDDL HEADER START
6207  *
6208  * The contents of this file are subject to the terms of the
6209  * Common Development and Distribution License, Version 1.0 only
6210  * (the "License").  You may not use this file except in compliance
6211  * with the License.
6212  *
6213  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6214  * or http://www.opensolaris.org/os/licensing.
6215  * See the License for the specific language governing permissions
6216  * and limitations under the License.
6217  *
6218  * When distributing Covered Code, include this CDDL HEADER in each
6219  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6220  * If applicable, add the following below this CDDL HEADER, with the
6221  * fields enclosed by brackets "[]" replaced with your own identifying
6222  * information: Portions Copyright [yyyy] [name of copyright owner]
6223  *
6224  * CDDL HEADER END
6225  */
6226 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6227 /*	  All Rights Reserved	*/
6228 
6229 
6230 /*
6231  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6232  *
6233  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6234  * Use is subject to license terms.
6235  */
6236 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
6237 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1
6238 /*
6239  * CDDL HEADER START
6240  *
6241  * The contents of this file are subject to the terms of the
6242  * Common Development and Distribution License, Version 1.0 only
6243  * (the "License").  You may not use this file except in compliance
6244  * with the License.
6245  *
6246  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6247  * or http://www.opensolaris.org/os/licensing.
6248  * See the License for the specific language governing permissions
6249  * and limitations under the License.
6250  *
6251  * When distributing Covered Code, include this CDDL HEADER in each
6252  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6253  * If applicable, add the following below this CDDL HEADER, with the
6254  * fields enclosed by brackets "[]" replaced with your own identifying
6255  * information: Portions Copyright [yyyy] [name of copyright owner]
6256  *
6257  * CDDL HEADER END
6258  */
6259 /*
6260  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6261  * Use is subject to license terms.
6262  */
6263 
6264 
6265 
6266 
6267 #pragma ident "%Z%%M%	%I%	%E% SMI"
6268 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h"
6269 typedef struct __FILE __FILE;
6270 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
6271 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1
6272 /*
6273  * CDDL HEADER START
6274  *
6275  * The contents of this file are subject to the terms of the
6276  * Common Development and Distribution License (the "License").
6277  * You may not use this file except in compliance with the License.
6278  *
6279  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6280  * or http://www.opensolaris.org/os/licensing.
6281  * See the License for the specific language governing permissions
6282  * and limitations under the License.
6283  *
6284  * When distributing Covered Code, include this CDDL HEADER in each
6285  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6286  * If applicable, add the following below this CDDL HEADER, with the
6287  * fields enclosed by brackets "[]" replaced with your own identifying
6288  * information: Portions Copyright [yyyy] [name of copyright owner]
6289  *
6290  * CDDL HEADER END
6291  */
6292 
6293 /*
6294  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6295  * Use is subject to license terms.
6296  */
6297 
6298 
6299 
6300 
6301 #pragma ident "%Z%%M%	%I%	%E% SMI"
6302 
6303 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
6304 /*
6305  * CDDL HEADER START
6306  *
6307  * The contents of this file are subject to the terms of the
6308  * Common Development and Distribution License (the "License").
6309  * You may not use this file except in compliance with the License.
6310  *
6311  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6312  * or http://www.opensolaris.org/os/licensing.
6313  * See the License for the specific language governing permissions
6314  * and limitations under the License.
6315  *
6316  *
6317  * When distributing Covered Code, include this CDDL HEADER in each
6318  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6319  * If applicable, add the following below this CDDL HEADER, with the
6320  * fields enclosed by brackets "[]" replaced with your own identifying
6321  * information: Portions Copyright [yyyy] [name of copyright owner]
6322  *
6323  * CDDL HEADER END
6324  */
6325 
6326 /*
6327  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6328  * Use is subject to license terms.
6329  * Copyright 2016 Joyent, Inc.
6330  */
6331 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2
6332 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h"
6333 struct __FILE /* needs to be binary-compatible with old versions */
6334 {
6335 
6336 
6337 
6338 
6339  int _cnt; /* number of available characters in buffer */
6340  unsigned char *_ptr; /* next character from/to here in buffer */
6341 
6342  unsigned char *_base; /* the buffer */
6343  unsigned char _flag; /* the state of the stream */
6344  unsigned char _magic; /* Old home of the file descriptor */
6345     /* Only fileno(3C) can retrieve the value now */
6346  unsigned __orientation:2; /* the orientation of the stream */
6347  unsigned __ionolock:1; /* turn off implicit locking */
6348  unsigned __seekable:1; /* is file seekable? */
6349  unsigned __extendedfd:1; /* enable extended FILE */
6350  unsigned __xf_nocheck:1; /* no extended FILE runtime check */
6351  unsigned __filler:10;
6352 };
6353 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
6354 
6355 /*
6356  * If feature test macros are set that enable interfaces that use types
6357  * defined in <sys/types.h>, get those types by doing the include.
6358  *
6359  * Note that in asking for the interfaces associated with this feature test
6360  * macro one also asks for definitions of the POSIX types.
6361  */
6362 
6363 
6364 
6365 
6366 
6367 
6368 /*
6369  * The following typedefs are adopted from ones in <sys/types.h> (with leading
6370  * underscores added to avoid polluting the ANSI C name space).  See the
6371  * commentary there for further explanation.
6372  */
6373 
6374 typedef long long __longlong_t;
6375 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
6376 typedef __FILE FILE;
6377 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
6378 typedef __longlong_t fpos_t;
6379 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
6380 /*
6381  * The value of _NFILE is defined in the Processor Specific ABI.  The value
6382  * is chosen for historical reasons rather than for truly processor related
6383  * attribute.  Note that the SPARC Processor Specific ABI uses the common
6384  * UNIX historical value of 20 so it is allowed to fall through.
6385  */
6386 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
6387 extern __FILE __iob[60];
6388 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
6389 extern int remove(const char *);
6390 extern int rename(const char *, const char *);
6391 extern FILE *tmpfile(void);
6392 extern char *tmpnam(char *);
6393 extern int fclose(FILE *);
6394 extern int fflush(FILE *);
6395 extern FILE *fopen(const char *, const char *);
6396 extern FILE *freopen(const char *,
6397    const char *, FILE *);
6398 extern void setbuf(FILE *, char *);
6399 extern int setvbuf(FILE *, char *, int,
6400    size_t);
6401 /* PRINTFLIKE2 */
6402 extern int fprintf(FILE *, const char *, ...);
6403 /* SCANFLIKE2 */
6404 extern int fscanf(FILE *, const char *, ...);
6405 /* PRINTFLIKE1 */
6406 extern int printf(const char *, ...);
6407 /* SCANFLIKE1 */
6408 extern int scanf(const char *, ...);
6409 /* PRINTFLIKE2 */
6410 extern int sprintf(char *, const char *, ...);
6411 /* SCANFLIKE2 */
6412 extern int sscanf(const char *,
6413    const char *, ...);
6414 extern int vfprintf(FILE *, const char *,
6415    __va_list);
6416 extern int vprintf(const char *, __va_list);
6417 extern int vsprintf(char *, const char *,
6418    __va_list);
6419 extern int fgetc(FILE *);
6420 extern char *fgets(char *, int, FILE *);
6421 extern int fputc(int, FILE *);
6422 extern int fputs(const char *, FILE *);
6423 
6424 
6425 extern int getc(FILE *);
6426 extern int putc(int, FILE *);
6427 
6428 
6429 
6430 extern int getchar(void);
6431 extern int putchar(int);
6432 
6433 
6434 /*
6435  * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11
6436  * environment has been requested, we remove it.
6437  */
6438 
6439 extern char *gets(char *);
6440 
6441 extern int puts(const char *);
6442 extern int ungetc(int, FILE *);
6443 extern size_t fread(void *, size_t, size_t,
6444  FILE *);
6445 extern size_t fwrite(const void *, size_t, size_t,
6446  FILE *);
6447 
6448 extern int fgetpos(FILE *, fpos_t *);
6449 extern int fsetpos(FILE *, const fpos_t *);
6450 
6451 extern int fseek(FILE *, long, int);
6452 extern long ftell(FILE *);
6453 extern void rewind(FILE *);
6454 
6455 
6456 extern void clearerr(FILE *);
6457 extern int feof(FILE *);
6458 extern int ferror(FILE *);
6459 
6460 extern void perror(const char *);
6461 
6462 
6463 extern int __filbuf(FILE *);
6464 extern int __flsbuf(int, FILE *);
6465 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
6466 
6467 /*
6468  * If feature test macros are set that enable interfaces that use types
6469  * defined in <sys/types.h>, get those types by doing the include.
6470  *
6471  * Note that in asking for the interfaces associated with this feature test
6472  * macro one also asks for definitions of the POSIX types.
6473  */
6474 
6475 /*
6476  * Allow global visibility for symbols defined in
6477  * C++ "std" namespace in <iso/stdio_iso.h>.
6478  */
6479 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6480 /*
6481  * This header needs to be included here because it relies on the global
6482  * visibility of FILE and size_t in the C++ environment.
6483  */
6484 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1
6485 /*
6486  * CDDL HEADER START
6487  *
6488  * The contents of this file are subject to the terms of the
6489  * Common Development and Distribution License, Version 1.0 only
6490  * (the "License").  You may not use this file except in compliance
6491  * with the License.
6492  *
6493  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6494  * or http://www.opensolaris.org/os/licensing.
6495  * See the License for the specific language governing permissions
6496  * and limitations under the License.
6497  *
6498  * When distributing Covered Code, include this CDDL HEADER in each
6499  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6500  * If applicable, add the following below this CDDL HEADER, with the
6501  * fields enclosed by brackets "[]" replaced with your own identifying
6502  * information: Portions Copyright [yyyy] [name of copyright owner]
6503  *
6504  * CDDL HEADER END
6505  */
6506 /*
6507  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6508  *
6509  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6510  * Use is subject to license terms.
6511  */
6512 
6513 /*
6514  * An application should not include this header directly.  Instead it
6515  * should be included only through the inclusion of other Sun headers.
6516  *
6517  * The contents of this header is limited to identifiers specified in
6518  * the C99 standard and in conflict with the C++ implementation of the
6519  * standard header.  The C++ standard may adopt the C99 standard at
6520  * which point it is expected that the symbols included here will
6521  * become part of the C++ std namespace.
6522  */
6523 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
6524 /*
6525  * The following have been added as a result of the ISO/IEC 9899:1999
6526  * standard. For a strictly conforming C application, visibility is
6527  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
6528  * For non-strictly conforming C applications, there are no restrictions
6529  * on the C namespace.
6530  */
6531 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
6532 extern int vfscanf(FILE *, const char *, __va_list);
6533 extern int vscanf(const char *, __va_list);
6534 extern int vsscanf(const char *, const char *,
6535   __va_list);
6536 
6537 
6538 
6539 
6540 extern int snprintf(char *, size_t, const char *,
6541  ...);
6542 extern int vsnprintf(char *, size_t, const char *,
6543  __va_list);
6544 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
6545 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6546 typedef __longlong_t fpos64_t;
6547 
6548 
6549 
6550 /*
6551  * XPG4 requires that va_list be defined in <stdio.h> "as described in
6552  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
6553  * not be polluted with this name.
6554  */
6555 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6556 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
6557 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6558 extern unsigned char _sibuf[], _sobuf[];
6559 
6560 
6561 /* large file compilation environment setup */
6562 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6563 extern unsigned char *_bufendtab[];
6564 extern FILE *_lastbuf;
6565 
6566 
6567 /* In the LP64 compilation environment, all APIs are already large file */
6568 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6569 extern char *tmpnam_r(char *);
6570 
6571 
6572 
6573 
6574 extern int fcloseall(void);
6575 extern void setbuffer(FILE *, char *, size_t);
6576 extern int setlinebuf(FILE *);
6577 /* PRINTFLIKE2 */
6578 extern int asprintf(char **, const char *, ...);
6579 /* PRINTFLIKE2 */
6580 extern int vasprintf(char **, const char *, __va_list);
6581 
6582 
6583 
6584 
6585  /* || defined(_XPG7) */
6586 extern ssize_t getdelim(char **, size_t *,
6587  int, FILE *);
6588 extern ssize_t getline(char **, size_t *,
6589  FILE *);
6590 
6591 
6592 /*
6593  * The following are known to POSIX and XOPEN, but not to ANSI-C.
6594  */
6595 
6596 
6597 
6598 extern FILE *fdopen(int, const char *);
6599 extern char *ctermid(char *);
6600 extern int fileno(FILE *);
6601 
6602 
6603 
6604 /*
6605  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
6606  */
6607 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
6608 /*
6609  * The following are known to XOPEN, but not to ANSI-C or POSIX.
6610  */
6611 
6612 
6613 extern FILE *popen(const char *, const char *);
6614 extern char *tempnam(const char *, const char *);
6615 extern int pclose(FILE *);
6616 
6617 extern int getsubopt(char **, char *const *, char **);
6618 
6619 
6620 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
6621 
6622 extern char *cuserid(char *);
6623 extern int getopt(int, char *const *, const char *);
6624 extern char *optarg;
6625 extern int optind, opterr, optopt;
6626 extern int getw(FILE *);
6627 extern int putw(int, FILE *);
6628 
6629 
6630 
6631 
6632 /*
6633  * The following are defined as part of the Large File Summit interfaces.
6634  */
6635 
6636 extern int fseeko(FILE *, off_t, int);
6637 extern off_t ftello(FILE *);
6638 
6639 
6640 /*
6641  * The following are defined as part of the transitional Large File Summit
6642  * interfaces.
6643  */
6644 
6645 
6646 extern FILE *fopen64(const char *, const char *);
6647 extern FILE *freopen64(const char *, const char *, FILE *);
6648 extern FILE *tmpfile64(void);
6649 extern int fgetpos64(FILE *, fpos64_t *);
6650 extern int fsetpos64(FILE *, const fpos64_t *);
6651 extern int fseeko64(FILE *, off64_t, int);
6652 extern off64_t ftello64(FILE *);
6653 
6654 
6655 /*
6656  * XPG7 symbols
6657  */
6658 
6659 extern FILE *fmemopen(void *, size_t,
6660       const char *);
6661 extern FILE *open_memstream(char **, size_t *);
6662 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libnvpair.h" 2
6663 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 1
6664 /*
6665  * CDDL HEADER START
6666  *
6667  * The contents of this file are subject to the terms of the
6668  * Common Development and Distribution License, Version 1.0 only
6669  * (the "License").  You may not use this file except in compliance
6670  * with the License.
6671  *
6672  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6673  * or http://www.opensolaris.org/os/licensing.
6674  * See the License for the specific language governing permissions
6675  * and limitations under the License.
6676  *
6677  * When distributing Covered Code, include this CDDL HEADER in each
6678  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6679  * If applicable, add the following below this CDDL HEADER, with the
6680  * fields enclosed by brackets "[]" replaced with your own identifying
6681  * information: Portions Copyright [yyyy] [name of copyright owner]
6682  *
6683  * CDDL HEADER END
6684  */
6685 /*
6686  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6687  *
6688  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
6689  * Use is subject to license terms.
6690  */
6691 
6692 /*
6693  * Copyright 1989, 1994 by Mortice Kern Systems Inc.
6694  * All rights reserved.
6695  */
6696 /*
6697  * Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
6698  * Use is subject to license terms.
6699  */
6700 
6701 
6702 
6703 
6704 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
6705 /*
6706  * CDDL HEADER START
6707  *
6708  * The contents of this file are subject to the terms of the
6709  * Common Development and Distribution License (the "License").
6710  * You may not use this file except in compliance with the License.
6711  *
6712  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6713  * or http://www.opensolaris.org/os/licensing.
6714  * See the License for the specific language governing permissions
6715  * and limitations under the License.
6716  *
6717  * When distributing Covered Code, include this CDDL HEADER in each
6718  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6719  * If applicable, add the following below this CDDL HEADER, with the
6720  * fields enclosed by brackets "[]" replaced with your own identifying
6721  * information: Portions Copyright [yyyy] [name of copyright owner]
6722  *
6723  * CDDL HEADER END
6724  */
6725 
6726 /*
6727  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
6728  * Copyright 2016 Joyent, Inc.
6729  *
6730  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
6731  * Use is subject to license terms.
6732  */
6733 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2
6734 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
6735 /*
6736  * CDDL HEADER START
6737  *
6738  * The contents of this file are subject to the terms of the
6739  * Common Development and Distribution License (the "License").
6740  * You may not use this file except in compliance with the License.
6741  *
6742  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6743  * or http://www.opensolaris.org/os/licensing.
6744  * See the License for the specific language governing permissions
6745  * and limitations under the License.
6746  *
6747  * When distributing Covered Code, include this CDDL HEADER in each
6748  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6749  * If applicable, add the following below this CDDL HEADER, with the
6750  * fields enclosed by brackets "[]" replaced with your own identifying
6751  * information: Portions Copyright [yyyy] [name of copyright owner]
6752  *
6753  * CDDL HEADER END
6754  */
6755 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
6756 /*	  All Rights Reserved  	*/
6757 
6758 
6759 /*
6760  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6761  * Use is subject to license terms.
6762  *
6763  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
6764  * Copyright 2016 Joyent, Inc.
6765  */
6766 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2
6767 
6768 
6769 
6770 
6771 
6772 
6773 /*
6774  * wchar_t is a built-in type in standard C++ and as such is not
6775  * defined here when using standard C++. However, the GNU compiler
6776  * fixincludes utility nonetheless creates its own version of this
6777  * header for use by gcc and g++. In that version it adds a redundant
6778  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
6779  * header we need to include the following magic comment:
6780  *
6781  * we must use the C++ compiler's type
6782  *
6783  * The above comment should not be removed or changed until GNU
6784  * gcc/fixinc/inclhack.def is updated to bypass this header.
6785  */
6786 # 73 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h"
6787 typedef ssize_t regoff_t;
6788 
6789 /* regcomp flags */
6790 
6791 
6792 
6793 
6794 
6795 
6796 
6797 /* non-standard flags - note that most of these are not supported */
6798 
6799 
6800 
6801 
6802 
6803 /* FreeBSD additions */
6804 
6805 
6806 
6807 
6808 
6809 /* internal flags */
6810 
6811 
6812 /* regexec flags */
6813 
6814 
6815 
6816 
6817 /* regcomp and regexec return codes */
6818 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h"
6819 typedef struct { /* regcomp() data saved for regexec() */
6820  size_t re_nsub; /* # of subexpressions in RE pattern */
6821 
6822  /*
6823 	 * Internal use only.  Note that any changes to this structure
6824 	 * have to preserve sizing, as it is baked into applications.
6825 	 */
6826  struct re_guts *re_g;
6827  int re_magic;
6828  const char *re_endp;
6829 
6830  /* here for compat */
6831  size_t re_len; /* # wchar_t chars in compiled pattern */
6832  struct _regex_ext_t *re_sc; /* for binary compatibility */
6833 } regex_t;
6834 
6835 /* subexpression positions */
6836 typedef struct {
6837  const char *rm_sp, *rm_ep; /* Start pointer, end pointer */
6838  regoff_t rm_so, rm_eo; /* Start offset, end offset */
6839  int rm_ss, rm_es; /* Used internally */
6840 } regmatch_t;
6841 
6842 
6843 /*
6844  * Additional API and structs to support regular expression manipulations
6845  * on wide characters.
6846  */
6847 
6848 extern int regcomp(regex_t *, const char *, int);
6849 extern int regexec(const regex_t *, const char *,
6850  size_t, regmatch_t *, int);
6851 extern size_t regerror(int, const regex_t *,
6852  char *, size_t);
6853 extern void regfree(regex_t *);
6854 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libnvpair.h" 2
6855 
6856 
6857 
6858 
6859 
6860 /*
6861  * All interfaces described in this file are private to Solaris, and
6862  * are subject to change at any time and without notice.  The public
6863  * nvlist/nvpair interfaces, as documented in manpage sections 3NVPAIR,
6864  * are all imported from <sys/nvpair.h> included above.
6865  */
6866 
6867 extern int nvpair_value_match(nvpair_t *, int, char *, char **);
6868 extern int nvpair_value_match_regex(nvpair_t *, int, char *, regex_t *,
6869     char **);
6870 
6871 extern void nvlist_print(FILE *, nvlist_t *);
6872 extern int nvlist_print_json(FILE *, nvlist_t *);
6873 extern void dump_nvlist(nvlist_t *, int);
6874 
6875 /*
6876  * Private nvlist printing interface that allows the caller some control
6877  * over output rendering (as opposed to nvlist_print and dump_nvlist).
6878  *
6879  * Obtain an opaque nvlist_prtctl_t cookie using nvlist_prtctl_alloc
6880  * (NULL on failure);  on return the cookie is set up for default formatting
6881  * and rendering.  Quote the cookie in subsequent customisation functions and
6882  * then pass the cookie to nvlist_prt to render the nvlist.  Finally,
6883  * use nvlist_prtctl_free to release the cookie.
6884  *
6885  * For all nvlist_lookup_xxx and nvlist_lookup_xxx_array functions
6886  * we have a corresponding brace of functions that appoint replacement
6887  * rendering functions:
6888  *
6889  *	extern void nvlist_prtctl_xxx(nvlist_prtctl_t,
6890  *	    void (*)(nvlist_prtctl_t ctl, void *private, const char *name,
6891  *	    xxxtype value))
6892  *
6893  *	and
6894  *
6895  *	extern void nvlist_prtctl_xxx_array(nvlist_prtctl_t,
6896  *	    void (*)(nvlist_prtctl_t ctl, void *private, const char *name,
6897  *	    xxxtype value, uint_t count))
6898  *
6899  * where xxxtype is the C datatype corresponding to xxx, eg int8_t for "int8"
6900  * and char * for "string".  The function that is appointed to render the
6901  * specified datatype receives as arguments the cookie, the nvlist
6902  * member name, the value of that member (or a pointer for array function),
6903  * and (for array rendering functions) a count of the number of elements.
6904  */
6905 
6906 typedef struct nvlist_prtctl *nvlist_prtctl_t; /* opaque */
6907 
6908 enum nvlist_indent_mode {
6909  NVLIST_INDENT_ABS, /* Absolute indentation */
6910  NVLIST_INDENT_TABBED /* Indent with tabstops */
6911 };
6912 
6913 extern nvlist_prtctl_t nvlist_prtctl_alloc(void);
6914 extern void nvlist_prtctl_free(nvlist_prtctl_t);
6915 extern void nvlist_prt(nvlist_t *, nvlist_prtctl_t);
6916 
6917 /* Output stream */
6918 extern void nvlist_prtctl_setdest(nvlist_prtctl_t, FILE *);
6919 extern FILE *nvlist_prtctl_getdest(nvlist_prtctl_t);
6920 
6921 /* Indentation mode, start indent, indent increment; default tabbed/0/1 */
6922 extern void nvlist_prtctl_setindent(nvlist_prtctl_t, enum nvlist_indent_mode,
6923     int, int);
6924 extern void nvlist_prtctl_doindent(nvlist_prtctl_t, int);
6925 
6926 enum nvlist_prtctl_fmt {
6927  NVLIST_FMT_MEMBER_NAME, /* name fmt; default "%s = " */
6928  NVLIST_FMT_MEMBER_POSTAMBLE, /* after nvlist member; default "\n" */
6929  NVLIST_FMT_BTWN_ARRAY /* between array members; default " " */
6930 };
6931 
6932 extern void nvlist_prtctl_setfmt(nvlist_prtctl_t, enum nvlist_prtctl_fmt,
6933     const char *);
6934 extern void nvlist_prtctl_dofmt(nvlist_prtctl_t, enum nvlist_prtctl_fmt, ...);
6935 
6936 /*
6937  * Function prototypes for interfaces that appoint a new rendering function
6938  * for single-valued nvlist members.
6939  *
6940  * A replacement function receives arguments as follows:
6941  *
6942  *	nvlist_prtctl_t	Print control structure; do not change preferences
6943  *			for this object from a print callback function.
6944  *
6945  *	void *		The function-private cookie argument registered
6946  *			when the replacement function was appointed.
6947  *
6948  *	nvlist_t *	The full nvlist that is being processed.  The
6949  *			rendering function is called to render a single
6950  *			member (name and value passed as below) but it may
6951  *			want to reference or incorporate other aspects of
6952  *			the full nvlist.
6953  *
6954  *	const char *	Member name to render
6955  *
6956  *	valtype		Value of the member to render
6957  *
6958  * The function must return non-zero if it has rendered output for this
6959  * member, or 0 if it wants to default to standard rendering for this
6960  * one member.
6961  */
6962 
6963 
6964 
6965 
6966 
6967 
6968 extern void nvlist_prtctlop_boolean(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int), void *);
6969 extern void nvlist_prtctlop_boolean_value(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, boolean_t), void *);
6970 extern void nvlist_prtctlop_byte(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uchar_t), void *);
6971 extern void nvlist_prtctlop_int8(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int8_t), void *);
6972 extern void nvlist_prtctlop_uint8(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint8_t), void *);
6973 extern void nvlist_prtctlop_int16(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int16_t), void *);
6974 extern void nvlist_prtctlop_uint16(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint16_t), void *);
6975 extern void nvlist_prtctlop_int32(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int32_t), void *);
6976 extern void nvlist_prtctlop_uint32(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint32_t), void *);
6977 extern void nvlist_prtctlop_int64(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int64_t), void *);
6978 extern void nvlist_prtctlop_uint64(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint64_t), void *);
6979 extern void nvlist_prtctlop_double(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, double), void *);
6980 extern void nvlist_prtctlop_string(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, char *), void *);
6981 extern void nvlist_prtctlop_hrtime(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, hrtime_t), void *);
6982 extern void nvlist_prtctlop_nvlist(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, nvlist_t *), void *);
6983 
6984 
6985 
6986 /*
6987  * Function prototypes for interfaces that appoint a new rendering function
6988  * for array-valued nvlist members.
6989  *
6990  * One additional argument is taken: uint_t for the number of array elements
6991  *
6992  * Return values as above.
6993  */
6994 
6995 
6996 
6997 
6998 
6999 extern void nvlist_prtctlop_boolean_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, boolean_t *, uint_t), void *);
7000 extern void nvlist_prtctlop_byte_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uchar_t *, uint_t), void *);
7001 extern void nvlist_prtctlop_int8_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int8_t *, uint_t), void *);
7002 extern void nvlist_prtctlop_uint8_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint8_t *, uint_t), void *);
7003 extern void nvlist_prtctlop_int16_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int16_t *, uint_t), void *);
7004 extern void nvlist_prtctlop_uint16_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint16_t *, uint_t), void *);
7005 extern void nvlist_prtctlop_int32_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int32_t *, uint_t), void *);
7006 extern void nvlist_prtctlop_uint32_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint32_t *, uint_t), void *);
7007 extern void nvlist_prtctlop_int64_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, int64_t *, uint_t), void *);
7008 extern void nvlist_prtctlop_uint64_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, uint64_t *, uint_t), void *);
7009 extern void nvlist_prtctlop_string_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, char **, uint_t), void *);
7010 extern void nvlist_prtctlop_nvlist_array(nvlist_prtctl_t, int (*)(nvlist_prtctl_t, void *, nvlist_t *, const char *, nvlist_t **, uint_t), void *);
7011 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h" 2
7012 
7013 
7014 
7015 
7016 
7017 typedef struct scf_version *scf_version_t;
7018 
7019 
7020 /*
7021  * Opaque structures
7022  */
7023 typedef struct scf_handle scf_handle_t;
7024 typedef struct scf_scope scf_scope_t;
7025 typedef struct scf_service scf_service_t;
7026 typedef struct scf_instance scf_instance_t;
7027 typedef struct scf_propertygroup scf_propertygroup_t;
7028 typedef struct scf_property scf_property_t;
7029 
7030 typedef struct scf_snapshot scf_snapshot_t;
7031 typedef struct scf_snaplevel scf_snaplevel_t;
7032 
7033 typedef struct scf_transaction scf_transaction_t;
7034 typedef struct scf_transaction_entry scf_transaction_entry_t;
7035 typedef struct scf_value scf_value_t;
7036 
7037 typedef struct scf_iter scf_iter_t;
7038 
7039 typedef struct scf_pg_tmpl scf_pg_tmpl_t;
7040 typedef struct scf_prop_tmpl scf_prop_tmpl_t;
7041 typedef struct scf_tmpl_errors scf_tmpl_errors_t;
7042 
7043 typedef struct scf_simple_app_props scf_simple_app_props_t;
7044 typedef struct scf_simple_prop scf_simple_prop_t;
7045 
7046 /*
7047  * Types
7048  */
7049 typedef enum {
7050  SCF_TYPE_INVALID = 0,
7051 
7052  SCF_TYPE_BOOLEAN,
7053  SCF_TYPE_COUNT,
7054  SCF_TYPE_INTEGER,
7055  SCF_TYPE_TIME,
7056  SCF_TYPE_ASTRING,
7057  SCF_TYPE_OPAQUE,
7058 
7059  SCF_TYPE_USTRING = 100,
7060 
7061  SCF_TYPE_URI = 200,
7062  SCF_TYPE_FMRI,
7063 
7064  SCF_TYPE_HOST = 300,
7065  SCF_TYPE_HOSTNAME,
7066  SCF_TYPE_NET_ADDR_V4,
7067  SCF_TYPE_NET_ADDR_V6,
7068  SCF_TYPE_NET_ADDR
7069 } scf_type_t;
7070 
7071 typedef struct scf_time {
7072  int64_t t_seconds;
7073  int32_t t_ns;
7074 } scf_time_t;
7075 
7076 /*
7077  * There is no explicit initializer for this structure.  Functions
7078  * which set or populate this structure assume that it is either
7079  * uninitialized or destroyed.
7080  */
7081 typedef struct scf_values {
7082  scf_type_t value_type;
7083  void *reserved; /* reserved for future use */
7084  int value_count;
7085  char **values_as_strings;
7086  union {
7087   uint64_t *v_count;
7088   uint8_t *v_boolean;
7089   int64_t *v_integer;
7090   char **v_astring;
7091   char **v_ustring;
7092   char **v_opaque;
7093   scf_time_t *v_time;
7094  } values;
7095 } scf_values_t;
7096 
7097 typedef struct scf_count_ranges {
7098  int scr_num_ranges;
7099  uint64_t *scr_min;
7100  uint64_t *scr_max;
7101 } scf_count_ranges_t;
7102 
7103 typedef struct scf_int_ranges {
7104  int sir_num_ranges;
7105  int64_t *sir_min;
7106  int64_t *sir_max;
7107 } scf_int_ranges_t;
7108 
7109 /*
7110  * Return codes
7111  */
7112 
7113 
7114 
7115 
7116 typedef enum scf_error {
7117  SCF_ERROR_NONE = 1000, /* no error */
7118  SCF_ERROR_NOT_BOUND, /* handle not bound */
7119  SCF_ERROR_NOT_SET, /* cannot use unset argument */
7120  SCF_ERROR_NOT_FOUND, /* nothing of that name found */
7121  SCF_ERROR_TYPE_MISMATCH, /* type does not match value */
7122  SCF_ERROR_IN_USE, /* cannot modify while in-use */
7123  SCF_ERROR_CONNECTION_BROKEN, /* repository connection gone */
7124  SCF_ERROR_INVALID_ARGUMENT, /* bad argument */
7125  SCF_ERROR_NO_MEMORY, /* no memory available */
7126  SCF_ERROR_CONSTRAINT_VIOLATED, /* required constraint not met */
7127  SCF_ERROR_EXISTS, /* object already exists */
7128  SCF_ERROR_NO_SERVER, /* repository server unavailable */
7129  SCF_ERROR_NO_RESOURCES, /* server has insufficient resources */
7130  SCF_ERROR_PERMISSION_DENIED, /* insufficient privileges for action */
7131  SCF_ERROR_BACKEND_ACCESS, /* backend refused access */
7132  SCF_ERROR_HANDLE_MISMATCH, /* mismatched SCF handles */
7133  SCF_ERROR_HANDLE_DESTROYED, /* object bound to destroyed handle */
7134  SCF_ERROR_VERSION_MISMATCH, /* incompatible SCF version */
7135  SCF_ERROR_BACKEND_READONLY, /* backend is read-only */
7136  SCF_ERROR_DELETED, /* object has been deleted */
7137  SCF_ERROR_TEMPLATE_INVALID, /* template data is invalid */
7138 
7139  SCF_ERROR_CALLBACK_FAILED = 1080, /* user callback function failed */
7140 
7141  SCF_ERROR_INTERNAL = 1101 /* internal error */
7142 } scf_error_t;
7143 
7144 /*
7145  * This enum MUST be kept in sync with
7146  * struct _scf_tmpl_error_desc em_desc() in scf_tmpl.c
7147  */
7148 typedef enum scf_tmpl_error_type {
7149  SCF_TERR_MISSING_PG, /* property group missing */
7150  SCF_TERR_WRONG_PG_TYPE, /* property group type incorrect */
7151  SCF_TERR_MISSING_PROP, /* missing required property */
7152  SCF_TERR_WRONG_PROP_TYPE, /* property type incorrect */
7153  SCF_TERR_CARDINALITY_VIOLATION, /* wrong number of values */
7154  SCF_TERR_VALUE_CONSTRAINT_VIOLATED, /* constraint violated for value */
7155  SCF_TERR_RANGE_VIOLATION, /* value violated specified range */
7156  SCF_TERR_PG_REDEFINE, /* global or restarter pg_pattern */
7157      /* redefined by the instance */
7158  SCF_TERR_PROP_TYPE_MISMATCH, /* property and value type mismatch */
7159  SCF_TERR_VALUE_OUT_OF_RANGE, /* value is out of range in template */
7160  SCF_TERR_INVALID_VALUE, /* value is not valid for the */
7161      /* template */
7162  SCF_TERR_PG_PATTERN_CONFLICT, /* pg_pattern conflicts with higher */
7163      /* level definition */
7164  SCF_TERR_PROP_PATTERN_CONFLICT, /* prop_pattern conflicts with higher */
7165      /* level definition */
7166  SCF_TERR_GENERAL_REDEFINE, /* global or restarter template */
7167      /* redefined */
7168  SCF_TERR_INCLUDE_VALUES, /* No supporting constraints or */
7169      /* values for include_values */
7170  SCF_TERR_PG_PATTERN_INCOMPLETE, /* Required pg_pattern is missing */
7171      /* name or type attribute. */
7172  SCF_TERR_PROP_PATTERN_INCOMPLETE /* Required prop_pattern is */
7173          /* missing a type attribute. */
7174 } scf_tmpl_error_type_t;
7175 
7176 typedef struct scf_tmpl_error scf_tmpl_error_t;
7177 
7178 /*
7179  * scf_tmpl_strerror() human readable flag
7180  */
7181 
7182 
7183 /*
7184  * Standard services
7185  */
7186 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7187 /*
7188  * Major milestones
7189  */
7190 
7191 
7192 
7193 
7194 
7195 
7196 
7197 /*
7198  * standard scope names
7199  */
7200 
7201 
7202 /*
7203  * Property group types
7204  */
7205 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7206 /*
7207  * Dependency types
7208  */
7209 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7210 /*
7211  * Standard property group names
7212  */
7213 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7214 /*
7215  * Template property group names and prefixes
7216  */
7217 
7218 
7219 
7220 
7221 
7222 
7223 /*
7224  * Standard property names
7225  */
7226 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7227 /*
7228  * Template property names
7229  */
7230 # 377 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7231 /*
7232  * Templates wildcard string
7233  */
7234 
7235 
7236 /*
7237  * Strings used by restarters for state and next_state properties.
7238  * MAX_SCF_STATE_STRING holds the max length of a state string, including the
7239  * terminating null.
7240  */
7241 # 407 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7242 /*
7243  * software fma svc-transition class
7244  */
7245 # 422 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7246 /*
7247  * Useful transition macros
7248  */
7249 # 433 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7250 /*
7251  * Prefixes for states in state transition notification
7252  */
7253 # 448 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libscf.h"
7254 scf_error_t scf_error(void);
7255 const char *scf_strerror(scf_error_t);
7256 
7257 ssize_t scf_limit(uint32_t code);
7258 
7259 
7260 
7261 
7262 
7263 scf_handle_t *scf_handle_create(scf_version_t);
7264 
7265 int scf_handle_decorate(scf_handle_t *, const char *, scf_value_t *);
7266 
7267 
7268 int scf_handle_bind(scf_handle_t *);
7269 int scf_handle_unbind(scf_handle_t *);
7270 void scf_handle_destroy(scf_handle_t *);
7271 
7272 int scf_type_base_type(scf_type_t type, scf_type_t *out);
7273 const char *scf_type_to_string(scf_type_t);
7274 scf_type_t scf_string_to_type(const char *);
7275 
7276 /* values */
7277 scf_value_t *scf_value_create(scf_handle_t *);
7278 scf_handle_t *scf_value_handle(const scf_value_t *);
7279 void scf_value_destroy(scf_value_t *);
7280 
7281 scf_type_t scf_value_base_type(const scf_value_t *);
7282 scf_type_t scf_value_type(const scf_value_t *);
7283 int scf_value_is_type(const scf_value_t *, scf_type_t);
7284 
7285 void scf_value_reset(scf_value_t *);
7286 
7287 int scf_value_get_boolean(const scf_value_t *, uint8_t *);
7288 int scf_value_get_count(const scf_value_t *, uint64_t *);
7289 int scf_value_get_integer(const scf_value_t *, int64_t *);
7290 int scf_value_get_time(const scf_value_t *, int64_t *, int32_t *);
7291 ssize_t scf_value_get_astring(const scf_value_t *, char *, size_t);
7292 ssize_t scf_value_get_ustring(const scf_value_t *, char *, size_t);
7293 ssize_t scf_value_get_opaque(const scf_value_t *, void *, size_t);
7294 
7295 void scf_value_set_boolean(scf_value_t *, uint8_t);
7296 void scf_value_set_count(scf_value_t *, uint64_t);
7297 void scf_value_set_integer(scf_value_t *, int64_t);
7298 int scf_value_set_time(scf_value_t *, int64_t, int32_t);
7299 int scf_value_set_astring(scf_value_t *, const char *);
7300 int scf_value_set_ustring(scf_value_t *, const char *);
7301 int scf_value_set_opaque(scf_value_t *, const void *, size_t);
7302 
7303 ssize_t scf_value_get_as_string(const scf_value_t *, char *, size_t);
7304 ssize_t scf_value_get_as_string_typed(const scf_value_t *, scf_type_t,
7305     char *, size_t);
7306 int scf_value_set_from_string(scf_value_t *, scf_type_t, const char *);
7307 
7308 scf_iter_t *scf_iter_create(scf_handle_t *);
7309 scf_handle_t *scf_iter_handle(const scf_iter_t *);
7310 void scf_iter_reset(scf_iter_t *);
7311 void scf_iter_destroy(scf_iter_t *);
7312 
7313 int scf_iter_handle_scopes(scf_iter_t *, const scf_handle_t *);
7314 int scf_iter_scope_services(scf_iter_t *, const scf_scope_t *);
7315 int scf_iter_service_instances(scf_iter_t *, const scf_service_t *);
7316 int scf_iter_service_pgs(scf_iter_t *, const scf_service_t *);
7317 int scf_iter_instance_pgs(scf_iter_t *, const scf_instance_t *);
7318 int scf_iter_instance_pgs_composed(scf_iter_t *, const scf_instance_t *,
7319     const scf_snapshot_t *);
7320 int scf_iter_service_pgs_typed(scf_iter_t *, const scf_service_t *,
7321     const char *);
7322 int scf_iter_instance_pgs_typed(scf_iter_t *, const scf_instance_t *,
7323     const char *);
7324 int scf_iter_instance_pgs_typed_composed(scf_iter_t *, const scf_instance_t *,
7325     const scf_snapshot_t *, const char *);
7326 int scf_iter_snaplevel_pgs(scf_iter_t *, const scf_snaplevel_t *);
7327 int scf_iter_snaplevel_pgs_typed(scf_iter_t *, const scf_snaplevel_t *,
7328     const char *);
7329 int scf_iter_instance_snapshots(scf_iter_t *, const scf_instance_t *);
7330 int scf_iter_pg_properties(scf_iter_t *, const scf_propertygroup_t *);
7331 int scf_iter_property_values(scf_iter_t *, const scf_property_t *);
7332 
7333 int scf_iter_next_scope(scf_iter_t *, scf_scope_t *);
7334 int scf_iter_next_service(scf_iter_t *, scf_service_t *);
7335 int scf_iter_next_instance(scf_iter_t *, scf_instance_t *);
7336 int scf_iter_next_pg(scf_iter_t *, scf_propertygroup_t *);
7337 int scf_iter_next_property(scf_iter_t *, scf_property_t *);
7338 int scf_iter_next_snapshot(scf_iter_t *, scf_snapshot_t *);
7339 int scf_iter_next_value(scf_iter_t *, scf_value_t *);
7340 
7341 scf_scope_t *scf_scope_create(scf_handle_t *);
7342 scf_handle_t *scf_scope_handle(const scf_scope_t *);
7343 
7344 /* XXX eventually remove this */
7345 
7346 
7347 
7348 int scf_handle_get_scope(scf_handle_t *, const char *, scf_scope_t *);
7349 void scf_scope_destroy(scf_scope_t *);
7350 ssize_t scf_scope_get_name(const scf_scope_t *, char *, size_t);
7351 
7352 ssize_t scf_scope_to_fmri(const scf_scope_t *, char *, size_t);
7353 
7354 scf_service_t *scf_service_create(scf_handle_t *);
7355 scf_handle_t *scf_service_handle(const scf_service_t *);
7356 void scf_service_destroy(scf_service_t *);
7357 int scf_scope_get_parent(const scf_scope_t *, scf_scope_t *);
7358 ssize_t scf_service_get_name(const scf_service_t *, char *, size_t);
7359 ssize_t scf_service_to_fmri(const scf_service_t *, char *, size_t);
7360 int scf_service_get_parent(const scf_service_t *, scf_scope_t *);
7361 int scf_scope_get_service(const scf_scope_t *, const char *, scf_service_t *);
7362 int scf_scope_add_service(const scf_scope_t *, const char *, scf_service_t *);
7363 int scf_service_delete(scf_service_t *);
7364 
7365 scf_instance_t *scf_instance_create(scf_handle_t *);
7366 scf_handle_t *scf_instance_handle(const scf_instance_t *);
7367 void scf_instance_destroy(scf_instance_t *);
7368 ssize_t scf_instance_get_name(const scf_instance_t *, char *, size_t);
7369 ssize_t scf_instance_to_fmri(const scf_instance_t *, char *, size_t);
7370 int scf_service_get_instance(const scf_service_t *, const char *,
7371     scf_instance_t *);
7372 int scf_service_add_instance(const scf_service_t *, const char *,
7373     scf_instance_t *);
7374 int scf_instance_delete(scf_instance_t *);
7375 
7376 scf_snapshot_t *scf_snapshot_create(scf_handle_t *);
7377 scf_handle_t *scf_snapshot_handle(const scf_snapshot_t *);
7378 void scf_snapshot_destroy(scf_snapshot_t *);
7379 ssize_t scf_snapshot_get_name(const scf_snapshot_t *, char *, size_t);
7380 int scf_snapshot_get_parent(const scf_snapshot_t *, scf_instance_t *);
7381 int scf_instance_get_snapshot(const scf_instance_t *, const char *,
7382     scf_snapshot_t *);
7383 int scf_snapshot_update(scf_snapshot_t *);
7384 
7385 scf_snaplevel_t *scf_snaplevel_create(scf_handle_t *);
7386 scf_handle_t *scf_snaplevel_handle(const scf_snaplevel_t *);
7387 void scf_snaplevel_destroy(scf_snaplevel_t *);
7388 int scf_snaplevel_get_parent(const scf_snaplevel_t *, scf_snapshot_t *);
7389 ssize_t scf_snaplevel_get_scope_name(const scf_snaplevel_t *, char *, size_t);
7390 ssize_t scf_snaplevel_get_service_name(const scf_snaplevel_t *, char *, size_t);
7391 ssize_t scf_snaplevel_get_instance_name(const scf_snaplevel_t *, char *,
7392     size_t);
7393 int scf_snaplevel_get_pg(const scf_snaplevel_t *, const char *,
7394     scf_propertygroup_t *pg);
7395 int scf_snapshot_get_base_snaplevel(const scf_snapshot_t *, scf_snaplevel_t *);
7396 int scf_snaplevel_get_next_snaplevel(const scf_snaplevel_t *,
7397     scf_snaplevel_t *);
7398 
7399 scf_propertygroup_t *scf_pg_create(scf_handle_t *);
7400 scf_handle_t *scf_pg_handle(const scf_propertygroup_t *);
7401 void scf_pg_destroy(scf_propertygroup_t *);
7402 ssize_t scf_pg_to_fmri(const scf_propertygroup_t *, char *, size_t);
7403 ssize_t scf_pg_get_name(const scf_propertygroup_t *, char *, size_t);
7404 ssize_t scf_pg_get_type(const scf_propertygroup_t *, char *, size_t);
7405 int scf_pg_get_flags(const scf_propertygroup_t *, uint32_t *);
7406 int scf_pg_get_parent_service(const scf_propertygroup_t *, scf_service_t *);
7407 int scf_pg_get_parent_instance(const scf_propertygroup_t *, scf_instance_t *);
7408 int scf_pg_get_parent_snaplevel(const scf_propertygroup_t *, scf_snaplevel_t *);
7409 int scf_service_get_pg(const scf_service_t *, const char *,
7410     scf_propertygroup_t *);
7411 int scf_instance_get_pg(const scf_instance_t *, const char *,
7412     scf_propertygroup_t *);
7413 int scf_instance_get_pg_composed(const scf_instance_t *, const scf_snapshot_t *,
7414     const char *, scf_propertygroup_t *);
7415 int scf_service_add_pg(const scf_service_t *, const char *, const char *,
7416     uint32_t, scf_propertygroup_t *);
7417 int scf_instance_add_pg(const scf_instance_t *, const char *, const char *,
7418     uint32_t, scf_propertygroup_t *);
7419 int scf_pg_delete(scf_propertygroup_t *);
7420 
7421 int scf_pg_get_underlying_pg(const scf_propertygroup_t *,
7422     scf_propertygroup_t *);
7423 int scf_instance_get_parent(const scf_instance_t *, scf_service_t *);
7424 
7425 int scf_pg_update(scf_propertygroup_t *);
7426 
7427 scf_property_t *scf_property_create(scf_handle_t *);
7428 scf_handle_t *scf_property_handle(const scf_property_t *);
7429 void scf_property_destroy(scf_property_t *);
7430 int scf_property_is_type(const scf_property_t *, scf_type_t);
7431 int scf_property_type(const scf_property_t *, scf_type_t *);
7432 ssize_t scf_property_get_name(const scf_property_t *, char *, size_t);
7433 int scf_property_get_value(const scf_property_t *, scf_value_t *);
7434 ssize_t scf_property_to_fmri(const scf_property_t *, char *, size_t);
7435 int scf_pg_get_property(const scf_propertygroup_t *, const char *,
7436     scf_property_t *);
7437 
7438 scf_transaction_t *scf_transaction_create(scf_handle_t *);
7439 scf_handle_t *scf_transaction_handle(const scf_transaction_t *);
7440 int scf_transaction_start(scf_transaction_t *, scf_propertygroup_t *);
7441 void scf_transaction_destroy(scf_transaction_t *);
7442 void scf_transaction_destroy_children(scf_transaction_t *);
7443 
7444 void scf_transaction_reset(scf_transaction_t *);
7445 void scf_transaction_reset_all(scf_transaction_t *);
7446 
7447 int scf_transaction_commit(scf_transaction_t *);
7448 
7449 scf_transaction_entry_t *scf_entry_create(scf_handle_t *);
7450 scf_handle_t *scf_entry_handle(const scf_transaction_entry_t *);
7451 void scf_entry_reset(scf_transaction_entry_t *);
7452 void scf_entry_destroy(scf_transaction_entry_t *);
7453 void scf_entry_destroy_children(scf_transaction_entry_t *);
7454 
7455 int scf_transaction_property_change(scf_transaction_t *,
7456     scf_transaction_entry_t *, const char *, scf_type_t);
7457 int scf_transaction_property_delete(scf_transaction_t *,
7458     scf_transaction_entry_t *, const char *);
7459 int scf_transaction_property_new(scf_transaction_t *,
7460     scf_transaction_entry_t *, const char *, scf_type_t);
7461 int scf_transaction_property_change_type(scf_transaction_t *,
7462     scf_transaction_entry_t *, const char *, scf_type_t);
7463 
7464 int scf_entry_add_value(scf_transaction_entry_t *, scf_value_t *);
7465 
7466 int scf_handle_decode_fmri(scf_handle_t *, const char *, scf_scope_t *,
7467     scf_service_t *, scf_instance_t *, scf_propertygroup_t *, scf_property_t *,
7468     int);
7469 
7470 
7471 
7472 
7473 
7474 ssize_t scf_myname(scf_handle_t *, char *, size_t);
7475 
7476 /*
7477  * Property group template interfaces.
7478  */
7479 scf_pg_tmpl_t *scf_tmpl_pg_create(scf_handle_t *);
7480 void scf_tmpl_pg_destroy(scf_pg_tmpl_t *);
7481 void scf_tmpl_pg_reset(scf_pg_tmpl_t *);
7482 int scf_tmpl_get_by_pg(scf_propertygroup_t *, scf_pg_tmpl_t *, int);
7483 int scf_tmpl_get_by_pg_name(const char *, const char *,
7484     const char *, const char *, scf_pg_tmpl_t *, int);
7485 int scf_tmpl_iter_pgs(scf_pg_tmpl_t *, const char *, const char *,
7486     const char *, int);
7487 
7488 
7489 
7490 
7491 ssize_t scf_tmpl_pg_name(const scf_pg_tmpl_t *, char **);
7492 ssize_t scf_tmpl_pg_common_name(const scf_pg_tmpl_t *, const char *, char **);
7493 ssize_t scf_tmpl_pg_description(const scf_pg_tmpl_t *, const char *, char **);
7494 ssize_t scf_tmpl_pg_type(const scf_pg_tmpl_t *, char **);
7495 
7496 ssize_t scf_tmpl_pg_target(const scf_pg_tmpl_t *, char **);
7497 
7498 
7499 
7500 
7501 
7502 int scf_tmpl_pg_required(const scf_pg_tmpl_t *, uint8_t *);
7503 
7504 /*
7505  * Property template interfaces.
7506  */
7507 scf_prop_tmpl_t *scf_tmpl_prop_create(scf_handle_t *);
7508 void scf_tmpl_prop_destroy(scf_prop_tmpl_t *);
7509 void scf_tmpl_prop_reset(scf_prop_tmpl_t *);
7510 int scf_tmpl_get_by_prop(scf_pg_tmpl_t *, const char *,
7511     scf_prop_tmpl_t *, int);
7512 int scf_tmpl_iter_props(scf_pg_tmpl_t *, scf_prop_tmpl_t *, int);
7513 
7514 
7515 ssize_t scf_tmpl_prop_name(const scf_prop_tmpl_t *, char **);
7516 int scf_tmpl_prop_type(const scf_prop_tmpl_t *, scf_type_t *);
7517 int scf_tmpl_prop_required(const scf_prop_tmpl_t *, uint8_t *);
7518 ssize_t scf_tmpl_prop_common_name(const scf_prop_tmpl_t *, const char *,
7519     char **);
7520 ssize_t scf_tmpl_prop_description(const scf_prop_tmpl_t *, const char *,
7521     char **);
7522 ssize_t scf_tmpl_prop_units(const scf_prop_tmpl_t *, const char *, char **);
7523 int scf_tmpl_prop_cardinality(const scf_prop_tmpl_t *prop, uint64_t *,
7524     uint64_t *);
7525 int scf_tmpl_prop_internal_seps(const scf_prop_tmpl_t *, scf_values_t *);
7526 
7527 int scf_tmpl_prop_visibility(const scf_prop_tmpl_t *, uint8_t *);
7528 
7529 
7530 
7531 
7532 const char *scf_tmpl_visibility_to_string(uint8_t);
7533 
7534 
7535 
7536 
7537 int scf_tmpl_value_name_constraints(const scf_prop_tmpl_t *prop,
7538     scf_values_t *vals);
7539 void scf_count_ranges_destroy(scf_count_ranges_t *);
7540 void scf_int_ranges_destroy(scf_int_ranges_t *);
7541 int scf_tmpl_value_count_range_constraints(const scf_prop_tmpl_t *,
7542     scf_count_ranges_t *);
7543 int scf_tmpl_value_int_range_constraints(const scf_prop_tmpl_t *,
7544     scf_int_ranges_t *);
7545 int scf_tmpl_value_count_range_choices(const scf_prop_tmpl_t *,
7546     scf_count_ranges_t *);
7547 int scf_tmpl_value_int_range_choices(const scf_prop_tmpl_t *,
7548     scf_int_ranges_t *);
7549 int scf_tmpl_value_name_choices(const scf_prop_tmpl_t *prop,
7550     scf_values_t *vals);
7551 
7552 void scf_values_destroy(scf_values_t *);
7553 
7554 ssize_t scf_tmpl_value_common_name(const scf_prop_tmpl_t *, const char *,
7555     const char *, char **);
7556 ssize_t scf_tmpl_value_description(const scf_prop_tmpl_t *, const char *,
7557     const char *, char **);
7558 
7559 int scf_tmpl_value_in_constraint(const scf_prop_tmpl_t *pt, scf_value_t *value,
7560     scf_tmpl_errors_t **errs);
7561 
7562 /*
7563  * Template validation interfaces
7564  */
7565 int scf_tmpl_validate_fmri(scf_handle_t *, const char *,
7566     const char *, scf_tmpl_errors_t **, int);
7567 
7568 
7569 void scf_tmpl_errors_destroy(scf_tmpl_errors_t *errs);
7570 scf_tmpl_error_t *scf_tmpl_next_error(scf_tmpl_errors_t *);
7571 void scf_tmpl_reset_errors(scf_tmpl_errors_t *errs);
7572 int scf_tmpl_strerror(scf_tmpl_error_t *err, char *s, size_t n, int flag);
7573 int scf_tmpl_error_source_fmri(const scf_tmpl_error_t *, char **);
7574 int scf_tmpl_error_type(const scf_tmpl_error_t *, scf_tmpl_error_type_t *);
7575 int scf_tmpl_error_pg_tmpl(const scf_tmpl_error_t *, char **, char **);
7576 int scf_tmpl_error_pg(const scf_tmpl_error_t *, char **, char **);
7577 int scf_tmpl_error_prop_tmpl(const scf_tmpl_error_t *, char **, char **);
7578 int scf_tmpl_error_prop(const scf_tmpl_error_t *, char **, char **);
7579 int scf_tmpl_error_value(const scf_tmpl_error_t *, char **);
7580 
7581 /*
7582  * Simplified calls
7583  */
7584 int smf_enable_instance(const char *, int);
7585 int smf_disable_instance(const char *, int);
7586 int smf_refresh_instance(const char *);
7587 int smf_restart_instance(const char *);
7588 int smf_maintain_instance(const char *, int);
7589 int smf_degrade_instance(const char *, int);
7590 int smf_restore_instance(const char *);
7591 char *smf_get_state(const char *);
7592 
7593 int scf_simple_walk_instances(uint_t, void *,
7594     int (*inst_callback)(scf_handle_t *, scf_instance_t *, void *));
7595 
7596 scf_simple_prop_t *scf_simple_prop_get(scf_handle_t *, const char *,
7597     const char *, const char *);
7598 void scf_simple_prop_free(scf_simple_prop_t *);
7599 scf_simple_app_props_t *scf_simple_app_props_get(scf_handle_t *, const char *);
7600 void scf_simple_app_props_free(scf_simple_app_props_t *);
7601 const scf_simple_prop_t *scf_simple_app_props_next(
7602     const scf_simple_app_props_t *, scf_simple_prop_t *);
7603 const scf_simple_prop_t *scf_simple_app_props_search(
7604     const scf_simple_app_props_t *, const char *, const char *);
7605 ssize_t scf_simple_prop_numvalues(const scf_simple_prop_t *);
7606 scf_type_t scf_simple_prop_type(const scf_simple_prop_t *);
7607 char *scf_simple_prop_name(const scf_simple_prop_t *);
7608 char *scf_simple_prop_pgname(const scf_simple_prop_t *);
7609 uint8_t *scf_simple_prop_next_boolean(scf_simple_prop_t *);
7610 uint64_t *scf_simple_prop_next_count(scf_simple_prop_t *);
7611 int64_t *scf_simple_prop_next_integer(scf_simple_prop_t *);
7612 int64_t *scf_simple_prop_next_time(scf_simple_prop_t *, int32_t *);
7613 char *scf_simple_prop_next_astring(scf_simple_prop_t *);
7614 char *scf_simple_prop_next_ustring(scf_simple_prop_t *);
7615 void *scf_simple_prop_next_opaque(scf_simple_prop_t *, size_t *);
7616 void scf_simple_prop_next_reset(scf_simple_prop_t *);
7617 
7618 /*
7619  * smf_state_from_string()
7620  * return SCF_STATE_* value for the input
7621  * -1 on error. String "all" maps to SCF_STATE_ALL macro
7622  */
7623 int32_t smf_state_from_string(const char *);
7624 
7625 /*
7626  * smf_state_to_string()
7627  * return SCF_STATE_STRING* value for the input
7628  * NULL on error.
7629  */
7630 const char *smf_state_to_string(int32_t);
7631 
7632 /*
7633  * Notification interfaces
7634  */
7635 int smf_notify_set_params(const char *, nvlist_t *);
7636 int smf_notify_get_params(nvlist_t **, nvlist_t *);
7637 int smf_notify_del_params(const char *, const char *, int32_t);
7638 
7639 /*
7640  * SMF exit status definitions
7641  */
7642 # 35 "../common/handlelocalfs.c" 2
7643 
7644 
7645 static boolean_t fs_temporarily_enabled = B_FALSE;
7646 char svm_core_svcs[] = "system/filesystem/local:default";
7647 
7648 /*
7649  * Name:	enable_local_fs
7650  * Description: If the SMF service system/filesystem/local:default is not
7651  *		enabled, then this function enables the service, so that,
7652  *		all the local filesystems are mounted.
7653  * Arguments:	None
7654  * Returns:	B_TRUE on success; B_FALSE on error.
7655  */
7656 boolean_t
7657 enable_local_fs(void)
7658 {
7659  char *cur_smf_state;
7660  int i;
7661  boolean_t fs_enabled_here = B_FALSE;
7662 
7663  if (fs_temporarily_enabled) {
7664   return (B_TRUE);
7665  }
7666 
7667  if ((cur_smf_state = smf_get_state(svm_core_svcs)) != 0) {
7668   if (strcmp(cur_smf_state, ((const char *)"disabled")) == 0) {
7669    if (smf_enable_instance(svm_core_svcs, 0x2)
7670     != 0) {
7671     free(cur_smf_state);
7672     return (B_FALSE);
7673    }
7674 
7675    fs_enabled_here = B_TRUE;
7676 
7677   } else if (strcmp(cur_smf_state, ((const char *)"online"))
7678     == 0) {
7679    free(cur_smf_state);
7680    return (B_TRUE);
7681   } else if (strcmp(cur_smf_state, ((const char *)"offline"))
7682     != 0) {
7683    free(cur_smf_state);
7684    return (B_FALSE);
7685   }
7686 
7687   free(cur_smf_state);
7688 
7689  } else {
7690   return (B_FALSE);
7691  }
7692 
7693  for (i = 0; i < 15; i++) {
7694   if ((cur_smf_state = smf_get_state(svm_core_svcs)) != 0) {
7695    if (strcmp(cur_smf_state, ((const char *)"online"))
7696     == 0) {
7697     free(cur_smf_state);
7698     if (fs_enabled_here) {
7699      fs_temporarily_enabled = B_TRUE;
7700     }
7701     return (B_TRUE);
7702    } else if ((strcmp(cur_smf_state,
7703     ((const char *)"offline")) == 0) ||
7704   (strcmp(cur_smf_state, ((const char *)"disabled")) == 0)) {
7705     (void) sleep(1);
7706     free(cur_smf_state);
7707    } else {
7708     free(cur_smf_state);
7709     return (B_FALSE);
7710    }
7711   } else {
7712    return (B_FALSE);
7713   }
7714  }
7715 
7716  return (B_FALSE);
7717 }
7718 
7719 /*
7720  * Name:	restore_local_fs
7721  * Description: If the SMF service system/filesystem/local:default was
7722  *		enabled using enable_local_fs(), then this function disables
7723  *		the service.
7724  * Arguments:	None
7725  * Returns:	B_TRUE on success; B_FALSE on error.
7726  */
7727 boolean_t
7728 restore_local_fs(void)
7729 {
7730  int i;
7731  char *cur_smf_state;
7732 
7733  if (!fs_temporarily_enabled) {
7734   return (B_TRUE);
7735  }
7736 
7737  if (smf_disable_instance(svm_core_svcs, 0x2) != 0) {
7738   return (B_FALSE);
7739  }
7740 
7741  for (i = 0; i < 15; i++) {
7742   if ((cur_smf_state = smf_get_state(svm_core_svcs)) != 0) {
7743    if (strcmp(cur_smf_state, ((const char *)"disabled"))
7744     == 0) {
7745     fs_temporarily_enabled = B_FALSE;
7746     free(cur_smf_state);
7747     break;
7748    }
7749    (void) sleep(1);
7750 
7751    free(cur_smf_state);
7752   } else {
7753    return (B_FALSE);
7754   }
7755  }
7756 
7757  return (!fs_temporarily_enabled);
7758 }
7759