1 # 1 "is_local_host.c"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "is_local_host.c"
5 /*
6  * CDDL HEADER START
7  *
8  * The contents of this file are subject to the terms of the
9  * Common Development and Distribution License (the "License").
10  * You may not use this file except in compliance with the License.
11  *
12  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13  * or http://www.opensolaris.org/os/licensing.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  *
17  * When distributing Covered Code, include this CDDL HEADER in each
18  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19  * If applicable, add the following below this CDDL HEADER, with the
20  * fields enclosed by brackets "[]" replaced with your own identifying
21  * information: Portions Copyright [yyyy] [name of copyright owner]
22  *
23  * CDDL HEADER END
24  */
25 
26 /*
27  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
28  * Use is subject to license terms.
29  */
30 
31 
32 
33 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1
34 /*
35  * CDDL HEADER START
36  *
37  * The contents of this file are subject to the terms of the
38  * Common Development and Distribution License (the "License").
39  * You may not use this file except in compliance with the License.
40  *
41  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
42  * or http://www.opensolaris.org/os/licensing.
43  * See the License for the specific language governing permissions
44  * and limitations under the License.
45  *
46  * When distributing Covered Code, include this CDDL HEADER in each
47  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
48  * If applicable, add the following below this CDDL HEADER, with the
49  * fields enclosed by brackets "[]" replaced with your own identifying
50  * information: Portions Copyright [yyyy] [name of copyright owner]
51  *
52  * CDDL HEADER END
53  */
54 
55 /*
56  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
57  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
58  */
59 
60 /*	Copyright (c) 1988 AT&T	*/
61 /*	  All Rights Reserved  	*/
62 
63 /*
64  * User-visible pieces of the ANSI C standard I/O package.
65  */
66 
67 
68 
69 
70 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
71 /*
72  * CDDL HEADER START
73  *
74  * The contents of this file are subject to the terms of the
75  * Common Development and Distribution License (the "License").
76  * You may not use this file except in compliance with the License.
77  *
78  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
79  * or http://www.opensolaris.org/os/licensing.
80  * See the License for the specific language governing permissions
81  * and limitations under the License.
82  *
83  * When distributing Covered Code, include this CDDL HEADER in each
84  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
85  * If applicable, add the following below this CDDL HEADER, with the
86  * fields enclosed by brackets "[]" replaced with your own identifying
87  * information: Portions Copyright [yyyy] [name of copyright owner]
88  *
89  * CDDL HEADER END
90  */
91 
92 /*
93  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
94  * Copyright 2016 Joyent, Inc.
95  *
96  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
97  * Use is subject to license terms.
98  */
99 
100 
101 
102 
103 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1
104 /*
105  * CDDL HEADER START
106  *
107  * The contents of this file are subject to the terms of the
108  * Common Development and Distribution License, Version 1.0 only
109  * (the "License").  You may not use this file except in compliance
110  * with the License.
111  *
112  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
113  * or http://www.opensolaris.org/os/licensing.
114  * See the License for the specific language governing permissions
115  * and limitations under the License.
116  *
117  * When distributing Covered Code, include this CDDL HEADER in each
118  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
119  * If applicable, add the following below this CDDL HEADER, with the
120  * fields enclosed by brackets "[]" replaced with your own identifying
121  * information: Portions Copyright [yyyy] [name of copyright owner]
122  *
123  * CDDL HEADER END
124  */
125 /*
126  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
127  * Use is subject to license terms.
128  */
129 /*
130  * Copyright 2015 EveryCity Ltd. All rights reserved.
131  */
132 
133 
134 
135 
136 /*
137  * This file contains definitions designed to enable different compilers
138  * to be used harmoniously on Solaris systems.
139  */
140 
141 
142 
143 
144 
145 /*
146  * Allow for version tests for compiler bugs and features.
147  */
148 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
149 /*
150  * analogous to lint's PRINTFLIKEn
151  */
152 
153 
154 
155 
156 
157 /*
158  * Handle the kernel printf routines that can take '%b' too
159  */
160 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
161 /*
162  * This one's pretty obvious -- the function never returns
163  */
164 
165 
166 /*
167  * The function is 'extern inline' and expects GNU C89 behaviour, not C99
168  * behaviour.
169  *
170  * Should only be used on 'extern inline' definitions for GCC.
171  */
172 
173 
174 
175 
176 
177 
178 /*
179  * The function has control flow such that it may return multiple times (in
180  * the manner of setjmp or vfork)
181  */
182 
183 
184 
185 
186 
187 
188 /*
189  * This is an appropriate label for functions that do not
190  * modify their arguments, e.g. strlen()
191  */
192 
193 
194 /*
195  * This is a stronger form of __pure__. Can be used for functions
196  * that do not modify their arguments and don't depend on global
197  * memory.
198  */
199 
200 
201 
202 
203 /*
204  * This attribute, attached to a variable, means that the variable is meant to
205  * be possibly unused. GCC will not produce a warning for this variable.
206  */
207 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h"
208 /*
209  * Shorthand versions for readability
210  */
211 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
212 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
213 /*
214  * CDDL HEADER START
215  *
216  * The contents of this file are subject to the terms of the
217  * Common Development and Distribution License (the "License").
218  * You may not use this file except in compliance with the License.
219  *
220  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
221  * or http://www.opensolaris.org/os/licensing.
222  * See the License for the specific language governing permissions
223  * and limitations under the License.
224  *
225  *
226  * When distributing Covered Code, include this CDDL HEADER in each
227  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
228  * If applicable, add the following below this CDDL HEADER, with the
229  * fields enclosed by brackets "[]" replaced with your own identifying
230  * information: Portions Copyright [yyyy] [name of copyright owner]
231  *
232  * CDDL HEADER END
233  */
234 
235 /*
236  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
237  * Use is subject to license terms.
238  * Copyright 2016 Joyent, Inc.
239  */
240 
241 
242 
243 
244 /*
245  * This header file serves to group a set of well known defines and to
246  * set these for each instruction set architecture.  These defines may
247  * be divided into two groups;  characteristics of the processor and
248  * implementation choices for Solaris on a processor.
249  *
250  * Processor Characteristics:
251  *
252  * _LITTLE_ENDIAN / _BIG_ENDIAN:
253  *	The natural byte order of the processor.  A pointer to an int points
254  *	to the least/most significant byte of that int.
255  *
256  * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
257  *	The processor specific direction of stack growth.  A push onto the
258  *	stack increases/decreases the stack pointer, so it stores data at
259  *	successively higher/lower addresses.  (Stackless machines ignored
260  *	without regrets).
261  *
262  * _LONG_LONG_HTOL / _LONG_LONG_LTOH:
263  *	A pointer to a long long points to the most/least significant long
264  *	within that long long.
265  *
266  * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
267  *	The C compiler assigns bit fields from the high/low to the low/high end
268  *	of an int (most to least significant vs. least to most significant).
269  *
270  * _IEEE_754:
271  *	The processor (or supported implementations of the processor)
272  *	supports the ieee-754 floating point standard.  No other floating
273  *	point standards are supported (or significant).  Any other supported
274  *	floating point formats are expected to be cased on the ISA processor
275  *	symbol.
276  *
277  * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
278  *	The C Compiler implements objects of type `char' as `unsigned' or
279  *	`signed' respectively.  This is really an implementation choice of
280  *	the compiler writer, but it is specified in the ABI and tends to
281  *	be uniform across compilers for an instruction set architecture.
282  *	Hence, it has the properties of a processor characteristic.
283  *
284  * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
285  * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
286  * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
287  *	The ABI defines alignment requirements of each of the primitive
288  *	object types.  Some, if not all, may be hardware requirements as
289  * 	well.  The values are expressed in "byte-alignment" units.
290  *
291  * _MAX_ALIGNMENT:
292  *	The most stringent alignment requirement as specified by the ABI.
293  *	Equal to the maximum of all the above _XXX_ALIGNMENT values.
294  *
295  * _MAX_ALIGNMENT_TYPE:
296  * 	The name of the C type that has the value descried in _MAX_ALIGNMENT.
297  *
298  * _ALIGNMENT_REQUIRED:
299  *	True or false (1 or 0) whether or not the hardware requires the ABI
300  *	alignment.
301  *
302  * _LONG_LONG_ALIGNMENT_32
303  *	The 32-bit ABI supported by a 64-bit kernel may have different
304  *	alignment requirements for primitive object types.  The value of this
305  *	identifier is expressed in "byte-alignment" units.
306  *
307  * _HAVE_CPUID_INSN
308  *	This indicates that the architecture supports the 'cpuid'
309  *	instruction as defined by Intel.  (Intel allows other vendors
310  *	to extend the instruction for their own purposes.)
311  *
312  *
313  * Implementation Choices:
314  *
315  * _ILP32 / _LP64:
316  *	This specifies the compiler data type implementation as specified in
317  *	the relevant ABI.  The choice between these is strongly influenced
318  *	by the underlying hardware, but is not absolutely tied to it.
319  *	Currently only two data type models are supported:
320  *
321  *	_ILP32:
322  *		Int/Long/Pointer are 32 bits.  This is the historical UNIX
323  *		and Solaris implementation.  Due to its historical standing,
324  *		this is the default case.
325  *
326  *	_LP64:
327  *		Long/Pointer are 64 bits, Int is 32 bits.  This is the chosen
328  *		implementation for 64-bit ABIs such as SPARC V9.
329  *
330  *	_I32LPx:
331  *		A compilation environment where 'int' is 32-bit, and
332  *		longs and pointers are simply the same size.
333  *
334  *	In all cases, Char is 8 bits and Short is 16 bits.
335  *
336  * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
337  *	This specifies the form of the disk VTOC (or label):
338  *
339  *	_SUNOS_VTOC_8:
340  *		This is a VTOC form which is upwardly compatible with the
341  *		SunOS 4.x disk label and allows 8 partitions per disk.
342  *
343  *	_SUNOS_VTOC_16:
344  *		In this format the incore vtoc image matches the ondisk
345  *		version.  It allows 16 slices per disk, and is not
346  *		compatible with the SunOS 4.x disk label.
347  *
348  *	Note that these are not the only two VTOC forms possible and
349  *	additional forms may be added.  One possible form would be the
350  *	SVr4 VTOC form.  The symbol for that is reserved now, although
351  *	it is not implemented.
352  *
353  *	_SVR4_VTOC_16:
354  *		This VTOC form is compatible with the System V Release 4
355  *		VTOC (as implemented on the SVr4 Intel and 3b ports) with
356  *		16 partitions per disk.
357  *
358  *
359  * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
360  *	This describes the type of addresses used by system DMA:
361  *
362  *	_DMA_USES_PHYSADDR:
363  *		This type of DMA, used in the x86 implementation,
364  *		requires physical addresses for DMA buffers.  The 24-bit
365  *		addresses used by some legacy boards is the source of the
366  *		"low-memory" (<16MB) requirement for some devices using DMA.
367  *
368  *	_DMA_USES_VIRTADDR:
369  *		This method of DMA allows the use of virtual addresses for
370  *		DMA transfers.
371  *
372  * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
373  *      This indicates the presence/absence of an fdisk table.
374  *
375  *      _FIRMWARE_NEEDS_FDISK
376  *              The fdisk table is required by system firmware.  If present,
377  *              it allows a disk to be subdivided into multiple fdisk
378  *              partitions, each of which is equivalent to a separate,
379  *              virtual disk.  This enables the co-existence of multiple
380  *              operating systems on a shared hard disk.
381  *
382  *      _NO_FDISK_PRESENT
383  *              If the fdisk table is absent, it is assumed that the entire
384  *              media is allocated for a single operating system.
385  *
386  * _HAVE_TEM_FIRMWARE
387  *	Defined if this architecture has the (fallback) option of
388  *	using prom_* calls for doing I/O if a suitable kernel driver
389  *	is not available to do it.
390  *
391  * _DONT_USE_1275_GENERIC_NAMES
392  *		Controls whether or not device tree node names should
393  *		comply with the IEEE 1275 "Generic Names" Recommended
394  *		Practice. With _DONT_USE_GENERIC_NAMES, device-specific
395  *		names identifying the particular device will be used.
396  *
397  * __i386_COMPAT
398  *	This indicates whether the i386 ABI is supported as a *non-native*
399  *	mode for the platform.  When this symbol is defined:
400  *	-	32-bit xstat-style system calls are enabled
401  *	-	32-bit xmknod-style system calls are enabled
402  *	-	32-bit system calls use i386 sizes -and- alignments
403  *
404  *	Note that this is NOT defined for the i386 native environment!
405  *
406  * __x86
407  *	This is ONLY a synonym for defined(__i386) || defined(__amd64)
408  *	which is useful only insofar as these two architectures share
409  *	common attributes.  Analogous to __sparc.
410  *
411  * _PSM_MODULES
412  *	This indicates whether or not the implementation uses PSM
413  *	modules for processor support, reading /etc/mach from inside
414  *	the kernel to extract a list.
415  *
416  * _RTC_CONFIG
417  *	This indicates whether or not the implementation uses /etc/rtc_config
418  *	to configure the real-time clock in the kernel.
419  *
420  * _UNIX_KRTLD
421  *	This indicates that the implementation uses a dynamically
422  *	linked unix + krtld to form the core kernel image at boot
423  *	time, or (in the absence of this symbol) a prelinked kernel image.
424  *
425  * _OBP
426  *	This indicates the firmware interface is OBP.
427  *
428  * _SOFT_HOSTID
429  *	This indicates that the implementation obtains the hostid
430  *	from the file /etc/hostid, rather than from hardware.
431  */
432 
433 
434 
435 
436 
437 /*
438  * The following set of definitions characterize Solaris on AMD's
439  * 64-bit systems.
440  */
441 # 305 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
442 /*
443  * Define the appropriate "processor characteristics"
444  */
445 # 333 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
446 /*
447  * Define the appropriate "implementation choices".
448  */
449 # 351 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h"
450 /*
451  * The following set of definitions characterize the Solaris on SPARC systems.
452  *
453  * The symbol __sparc indicates any of the SPARC family of processor
454  * architectures.  This includes SPARC V7, SPARC V8 and SPARC V9.
455  *
456  * The symbol __sparcv8 indicates the 32-bit SPARC V8 architecture as defined
457  * by Version 8 of the SPARC Architecture Manual.  (SPARC V7 is close enough
458  * to SPARC V8 for the former to be subsumed into the latter definition.)
459  *
460  * The symbol __sparcv9 indicates the 64-bit SPARC V9 architecture as defined
461  * by Version 9 of the SPARC Architecture Manual.
462  *
463  * The symbols __sparcv8 and __sparcv9 are mutually exclusive, and are only
464  * relevant when the symbol __sparc is defined.
465  */
466 /*
467  * XXX Due to the existence of 5110166, "defined(__sparcv9)" needs to be added
468  * to support backwards builds.  This workaround should be removed in s10_71.
469  */
470 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2
471 
472 
473 
474 
475 
476 /*
477  * Values of _POSIX_C_SOURCE
478  *
479  *		undefined   not a POSIX compilation
480  *		1	    POSIX.1-1990 compilation
481  *		2	    POSIX.2-1992 compilation
482  *		199309L	    POSIX.1b-1993 compilation (Real Time)
483  *		199506L	    POSIX.1c-1995 compilation (POSIX Threads)
484  *		200112L	    POSIX.1-2001 compilation (Austin Group Revision)
485  *		200809L     POSIX.1-2008 compilation
486  */
487 
488 
489 
490 
491 /*
492  * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
493  * and _STDC_C99 are Sun implementation specific macros created in order to
494  * compress common standards specified feature test macros for easier reading.
495  * These macros should not be used by the application developer as
496  * unexpected results may occur. Instead, the user should reference
497  * standards(5) for correct usage of the standards feature test macros.
498  *
499  * __XOPEN_OR_POSIX     Used in cases where a symbol is defined by both
500  *                      X/Open or POSIX or in the negative, when neither
501  *                      X/Open or POSIX defines a symbol.
502  *
503  * _STRICT_STDC         __STDC__ is specified by the C Standards and defined
504  *                      by the compiler. For Sun compilers the value of
505  *                      __STDC__ is either 1, 0, or not defined based on the
506  *                      compilation mode (see cc(1)). When the value of
507  *                      __STDC__ is 1 and in the absence of any other feature
508  *                      test macros, the namespace available to the application
509  *                      is limited to only those symbols defined by the C
510  *                      Standard. _STRICT_STDC provides a more readable means
511  *                      of identifying symbols defined by the standard, or in
512  *                      the negative, symbols that are extensions to the C
513  *                      Standard. See additional comments for GNU C differences.
514  *
515  * _STDC_C99            __STDC_VERSION__ is specified by the C standards and
516  *                      defined by the compiler and indicates the version of
517  *                      the C standard. A value of 199901L indicates a
518  *                      compiler that complies with ISO/IEC 9899:1999, other-
519  *                      wise known as the C99 standard.
520  *
521  * _STDC_C11		Like _STDC_C99 except that the value of __STDC_VERSION__
522  *                      is 201112L indicating a compiler that compiles with
523  *                      ISO/IEXC 9899:2011, otherwise known as the C11 standard.
524  *
525  * _STRICT_SYMBOLS	Used in cases where symbol visibility is restricted
526  *                      by the standards, and the user has not explicitly
527  *                      relaxed the strictness via __EXTENSIONS__.
528  */
529 
530 
531 
532 
533 
534 /*
535  * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
536  * 99899:2011 specify the following predefined macro name:
537  *
538  * __STDC__	The integer constant 1, intended to indicate a conforming
539  *		implementation.
540  *
541  * Furthermore, a strictly conforming program shall use only those features
542  * of the language and library specified in these standards. A conforming
543  * implementation shall accept any strictly conforming program.
544  *
545  * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
546  * strictly conforming environments and __STDC__ to 0 for environments that
547  * use ANSI C semantics but allow extensions to the C standard. For non-ANSI
548  * C semantics, Sun's C compiler does not define __STDC__.
549  *
550  * The GNU C project interpretation is that __STDC__ should always be defined
551  * to 1 for compilation modes that accept ANSI C syntax regardless of whether
552  * or not extensions to the C standard are used. Violations of conforming
553  * behavior are conditionally flagged as warnings via the use of the
554  * -pedantic option. In addition to defining __STDC__ to 1, the GNU C
555  * compiler also defines __STRICT_ANSI__ as a means of specifying strictly
556  * conforming environments using the -ansi or -std=<standard> options.
557  *
558  * In the absence of any other compiler options, Sun and GNU set the value
559  * of __STDC__ as follows when using the following options:
560  *
561  *				Value of __STDC__  __STRICT_ANSI__
562  *
563  * cc -Xa (default)			0	      undefined
564  * cc -Xt (transitional)		0             undefined
565  * cc -Xc (strictly conforming)		1	      undefined
566  * cc -Xs (K&R C)		    undefined	      undefined
567  *
568  * gcc (default)			1	      undefined
569  * gcc -ansi, -std={c89, c99,...)  	1              defined
570  * gcc -traditional (K&R)	    undefined	      undefined
571  *
572  * The default compilation modes for Sun C compilers versus GNU C compilers
573  * results in a differing value for __STDC__ which results in a more
574  * restricted namespace when using Sun compilers. To allow both GNU and Sun
575  * interpretations to peacefully co-exist, we use the following Sun
576  * implementation _STRICT_STDC_ macro:
577  */
578 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
579 /*
580  * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
581  */
582 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
583 /*
584  * Use strict symbol visibility.
585  */
586 
587 
588 
589 
590 
591 /*
592  * Large file interfaces:
593  *
594  *	_LARGEFILE_SOURCE
595  *		1		large file-related additions to POSIX
596  *				interfaces requested (fseeko, etc.)
597  *	_LARGEFILE64_SOURCE
598  *		1		transitional large-file-related interfaces
599  *				requested (seek64, stat64, etc.)
600  *
601  * The corresponding announcement macros are respectively:
602  *	_LFS_LARGEFILE
603  *	_LFS64_LARGEFILE
604  * (These are set in <unistd.h>.)
605  *
606  * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
607  * well.
608  *
609  * The large file interfaces are made visible regardless of the initial values
610  * of the feature test macros under certain circumstances:
611  *    -	If no explicit standards-conforming environment is requested (neither
612  *	of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
613  *	__STDC__ does not imply standards conformance).
614  *    -	Extended system interfaces are explicitly requested (__EXTENSIONS__
615  * 	is defined).
616  *    -	Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
617  *	defined).  (Note that this dependency is an artifact of the current
618  *	kernel implementation and may change in future releases.)
619  */
620 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
621 /*
622  * Large file compilation environment control:
623  *
624  * The setting of _FILE_OFFSET_BITS controls the size of various file-related
625  * types and governs the mapping between file-related source function symbol
626  * names and the corresponding binary entry points.
627  *
628  * In the 32-bit environment, the default value is 32; if not set, set it to
629  * the default here, to simplify tests in other headers.
630  *
631  * In the 64-bit compilation environment, the only value allowed is 64.
632  */
633 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
634 /*
635  * Use of _XOPEN_SOURCE
636  *
637  * The following X/Open specifications are supported:
638  *
639  * X/Open Portability Guide, Issue 3 (XPG3)
640  * X/Open CAE Specification, Issue 4 (XPG4)
641  * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
642  * X/Open CAE Specification, Issue 5 (XPG5)
643  * Open Group Technical Standard, Issue 6 (XPG6), also referred to as
644  *    IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
645  * Open Group Technical Standard, Issue 7 (XPG7), also referred to as
646  *    IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
647  *
648  * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
649  * XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
650  *     Version 2 (SUSv2)
651  * XPG6 is the result of a merge of the X/Open and POSIX specifications
652  *     and as such is also referred to as IEEE Std. 1003.1-2001 in
653  *     addition to UNIX 03 and SUSv3.
654  * XPG7 is also referred to as UNIX 08 and SUSv4.
655  *
656  * When writing a conforming X/Open application, as per the specification
657  * requirements, the appropriate feature test macros must be defined at
658  * compile time. These are as follows. For more info, see standards(5).
659  *
660  * Feature Test Macro				     Specification
661  * ------------------------------------------------  -------------
662  * _XOPEN_SOURCE                                         XPG3
663  * _XOPEN_SOURCE && _XOPEN_VERSION = 4                   XPG4
664  * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1           XPG4v2
665  * _XOPEN_SOURCE = 500                                   XPG5
666  * _XOPEN_SOURCE = 600  (or POSIX_C_SOURCE=200112L)      XPG6
667  * _XOPEN_SOURCE = 700  (or POSIX_C_SOURCE=200809L)      XPG7
668  *
669  * In order to simplify the guards within the headers, the following
670  * implementation private test macros have been created. Applications
671  * must NOT use these private test macros as unexpected results will
672  * occur.
673  *
674  * Note that in general, the use of these private macros is cumulative.
675  * For example, the use of _XPG3 with no other restrictions on the X/Open
676  * namespace will make the symbols visible for XPG3 through XPG6
677  * compilation environments. The use of _XPG4_2 with no other X/Open
678  * namespace restrictions indicates that the symbols were introduced in
679  * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
680  * environments, but not for XPG3 or XPG4 compilation environments.
681  *
682  * _XPG3    X/Open Portability Guide, Issue 3 (XPG3)
683  * _XPG4    X/Open CAE Specification, Issue 4 (XPG4)
684  * _XPG4_2  X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
685  * _XPG5    X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
686  * _XPG6    Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
687  * _XPG7    Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
688  */
689 
690 /* X/Open Portability Guide, Issue 3 */
691 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
692 /*
693  * _XOPEN_VERSION is defined by the X/Open specifications and is not
694  * normally defined by the application, except in the case of an XPG4
695  * application.  On the implementation side, _XOPEN_VERSION defined with
696  * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
697  * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
698  * _XOPEN_VERSION  defined with a value of 500 indicates an XPG5 (UNIX 98)
699  * application and with a value of 600 indicates an XPG6 (UNIX 03)
700  * application and with a value of 700 indicates an XPG7 (UNIX 08).
701  * The appropriate version is determined by the use of the
702  * feature test macros described earlier.  The value of _XOPEN_VERSION
703  * defaults to 3 otherwise indicating support for XPG3 applications.
704  */
705 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
706 /*
707  * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
708  * conforming environments.  ISO 9899:1999 says it does.
709  *
710  * The presence of _LONGLONG_TYPE says "long long exists" which is therefore
711  * defined in all but strictly conforming environments that disallow it.
712  */
713 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
714 /*
715  * The following macro defines a value for the ISO C99 restrict
716  * keyword so that _RESTRICT_KYWD resolves to "restrict" if
717  * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
718  * if any other compiler is used. This allows for the use of single
719  * prototype declarations regardless of compiler version.
720  */
721 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h"
722 /*
723  * The following macro defines a value for the ISO C11 _Noreturn
724  * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
725  * an ISO C11 compiler is used and "" (null string) if any other
726  * compiler is used. This allows for the use of single prototype
727  * declarations regardless of compiler version.
728  */
729 
730 
731 
732 
733 
734 
735 
736 /*
737  * The following macro indicates header support for the ANSI C++
738  * standard.  The ISO/IEC designation for this is ISO/IEC FDIS 14882.
739  */
740 
741 
742 /*
743  * The following macro indicates header support for the C99 standard,
744  * ISO/IEC 9899:1999, Programming Languages - C.
745  */
746 
747 
748 /*
749  * The following macro indicates header support for the C99 standard,
750  * ISO/IEC 9899:2011, Programming Languages - C.
751  */
752 
753 
754 /*
755  * The following macro indicates header support for DTrace. The value is an
756  * integer that corresponds to the major version number for DTrace.
757  */
758 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
759 
760 
761 
762 
763 
764 /*
765  * Do all of our 'redefine_extname' processing before
766  * declarations of the associated functions are seen.
767  * This is necessary to keep gcc happy.
768  */
769 
770 
771 /* large file compilation environment setup */
772 
773 
774 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
775 #pragma redefine_extname fopen fopen64
776 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
777 
778 
779 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
780 #pragma redefine_extname freopen freopen64
781 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
782 
783 
784 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
785 #pragma redefine_extname tmpfile tmpfile64
786 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
787 
788 
789 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
790 #pragma redefine_extname fgetpos fgetpos64
791 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
792 
793 
794 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
795 #pragma redefine_extname fsetpos fsetpos64
796 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
797 
798 
799 
800 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
801 #pragma redefine_extname fseeko fseeko64
802 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
803 
804 
805 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
806 #pragma redefine_extname ftello ftello64
807 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
808 
809 
810 
811 
812 /* In the LP64 compilation environment, all APIs are already large file */
813 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
814 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1
815 /*
816  * CDDL HEADER START
817  *
818  * The contents of this file are subject to the terms of the
819  * Common Development and Distribution License, Version 1.0 only
820  * (the "License").  You may not use this file except in compliance
821  * with the License.
822  *
823  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
824  * or http://www.opensolaris.org/os/licensing.
825  * See the License for the specific language governing permissions
826  * and limitations under the License.
827  *
828  * When distributing Covered Code, include this CDDL HEADER in each
829  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
830  * If applicable, add the following below this CDDL HEADER, with the
831  * fields enclosed by brackets "[]" replaced with your own identifying
832  * information: Portions Copyright [yyyy] [name of copyright owner]
833  *
834  * CDDL HEADER END
835  */
836 /*
837  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
838  * Copyright 2014 PALO, Richard.
839  *
840  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
841  * Use is subject to license terms.
842  */
843 
844 /*	Copyright (c) 1988 AT&T	*/
845 /*	  All Rights Reserved  	*/
846 
847 /*
848  * An application should not include this header directly.  Instead it
849  * should be included only through the inclusion of other Sun headers.
850  *
851  * The contents of this header is limited to identifiers specified in the
852  * C Standard.  Any new identifiers specified in future amendments to the
853  * C Standard must be placed in this header.  If these new identifiers
854  * are required to also be in the C++ Standard "std" namespace, then for
855  * anything other than macro definitions, corresponding "using" directives
856  * must also be added to <stdio.h>.
857  */
858 
859 /*
860  * User-visible pieces of the ANSI C standard I/O package.
861  */
862 
863 
864 
865 
866 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
867 /*
868  * CDDL HEADER START
869  *
870  * The contents of this file are subject to the terms of the
871  * Common Development and Distribution License (the "License").
872  * You may not use this file except in compliance with the License.
873  *
874  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
875  * or http://www.opensolaris.org/os/licensing.
876  * See the License for the specific language governing permissions
877  * and limitations under the License.
878  *
879  * When distributing Covered Code, include this CDDL HEADER in each
880  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
881  * If applicable, add the following below this CDDL HEADER, with the
882  * fields enclosed by brackets "[]" replaced with your own identifying
883  * information: Portions Copyright [yyyy] [name of copyright owner]
884  *
885  * CDDL HEADER END
886  */
887 
888 /*
889  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
890  * Copyright 2016 Joyent, Inc.
891  *
892  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
893  * Use is subject to license terms.
894  */
895 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
896 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
897 /*
898  * This file and its contents are supplied under the terms of the
899  * Common Development and Distribution License ("CDDL"), version 1.0.
900  * You may only use this file in accordance with the terms of version
901  * 1.0 of the CDDL.
902  *
903  * A full copy of the text of the CDDL should have accompanied this
904  * source.  A copy of the CDDL is also available via the Internet at
905  * http://www.illumos.org/license/CDDL.
906  */
907 
908 /*
909  * Copyright 2014-2016 PALO, Richard.
910  */
911 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
912 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1
913 /*
914  * CDDL HEADER START
915  *
916  * The contents of this file are subject to the terms of the
917  * Common Development and Distribution License, Version 1.0 only
918  * (the "License").  You may not use this file except in compliance
919  * with the License.
920  *
921  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
922  * or http://www.opensolaris.org/os/licensing.
923  * See the License for the specific language governing permissions
924  * and limitations under the License.
925  *
926  * When distributing Covered Code, include this CDDL HEADER in each
927  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
928  * If applicable, add the following below this CDDL HEADER, with the
929  * fields enclosed by brackets "[]" replaced with your own identifying
930  * information: Portions Copyright [yyyy] [name of copyright owner]
931  *
932  * CDDL HEADER END
933  */
934 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
935 /*	  All Rights Reserved	*/
936 
937 
938 /*
939  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
940  *
941  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
942  * Use is subject to license terms.
943  */
944 
945 
946 
947 
948 /*
949  * An application should not include this header directly.  Instead it
950  * should be included only through the inclusion of other Sun headers.
951  *
952  * The purpose of this header is to provide the type definitions for
953  * the va_list argument used by a number of printf and printf like
954  * functions. The headers that define these various function prototypes
955  * #include this header directly. These include but are not necessarily
956  * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and
957  * <syslog.h>. The type definitions included in this header are for
958  * the benefit of consumers of va_list.
959  *
960  * Any application that accepts variable argument lists must as documented,
961  * include either <varargs.h> or the preferred <stdarg.h>. Doing so will
962  * pull in the appropriate compiler protocols defined in <sys/va_impl.h>
963  * which is in turn is included by <varargs.h> and <stdarg.h>. See comments
964  * in <sys/va_impl.h> for more detailed information regarding implementation
965  * and compiler specific protocols.
966  */
967 
968 /*
969  * The common definitions exported by this header or compilers using
970  * this header are:
971  *
972  * the identifier __builtin_va_alist for the variable list pseudo parameter
973  * the type __va_alist_type for the variable list pseudo parameter
974  * the type __va_list defining the type of the variable list iterator
975  *
976  * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros
977  * (__GNUC__) and processor macros (e.g. __amd64) are intended to be
978  * defined by the compilation system, not the user of the system.
979  */
980 
981 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
982 /*
983  * CDDL HEADER START
984  *
985  * The contents of this file are subject to the terms of the
986  * Common Development and Distribution License (the "License").
987  * You may not use this file except in compliance with the License.
988  *
989  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
990  * or http://www.opensolaris.org/os/licensing.
991  * See the License for the specific language governing permissions
992  * and limitations under the License.
993  *
994  *
995  * When distributing Covered Code, include this CDDL HEADER in each
996  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
997  * If applicable, add the following below this CDDL HEADER, with the
998  * fields enclosed by brackets "[]" replaced with your own identifying
999  * information: Portions Copyright [yyyy] [name of copyright owner]
1000  *
1001  * CDDL HEADER END
1002  */
1003 
1004 /*
1005  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1006  * Use is subject to license terms.
1007  * Copyright 2016 Joyent, Inc.
1008  */
1009 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2
1010 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h"
1011 typedef __builtin_va_list __gnuc_va_list;
1012 /*
1013  * XX64 This seems unnecessary .. but is needed because vcmn_err is
1014  *	defined with __va_list instead of plain old va_list.
1015  *	Perhaps that should be fixed!
1016  */
1017 typedef __builtin_va_list __va_list;
1018 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1019 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1
1020 /*
1021  * CDDL HEADER START
1022  *
1023  * The contents of this file are subject to the terms of the
1024  * Common Development and Distribution License, Version 1.0 only
1025  * (the "License").  You may not use this file except in compliance
1026  * with the License.
1027  *
1028  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1029  * or http://www.opensolaris.org/os/licensing.
1030  * See the License for the specific language governing permissions
1031  * and limitations under the License.
1032  *
1033  * When distributing Covered Code, include this CDDL HEADER in each
1034  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1035  * If applicable, add the following below this CDDL HEADER, with the
1036  * fields enclosed by brackets "[]" replaced with your own identifying
1037  * information: Portions Copyright [yyyy] [name of copyright owner]
1038  *
1039  * CDDL HEADER END
1040  */
1041 /*
1042  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1043  * Use is subject to license terms.
1044  */
1045 
1046 
1047 
1048 
1049 #pragma ident "%Z%%M%	%I%	%E% SMI"
1050 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h"
1051 typedef struct __FILE __FILE;
1052 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1053 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1
1054 /*
1055  * CDDL HEADER START
1056  *
1057  * The contents of this file are subject to the terms of the
1058  * Common Development and Distribution License (the "License").
1059  * You may not use this file except in compliance with the License.
1060  *
1061  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1062  * or http://www.opensolaris.org/os/licensing.
1063  * See the License for the specific language governing permissions
1064  * and limitations under the License.
1065  *
1066  * When distributing Covered Code, include this CDDL HEADER in each
1067  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1068  * If applicable, add the following below this CDDL HEADER, with the
1069  * fields enclosed by brackets "[]" replaced with your own identifying
1070  * information: Portions Copyright [yyyy] [name of copyright owner]
1071  *
1072  * CDDL HEADER END
1073  */
1074 
1075 /*
1076  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1077  * Use is subject to license terms.
1078  */
1079 
1080 
1081 
1082 
1083 #pragma ident "%Z%%M%	%I%	%E% SMI"
1084 
1085 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1086 /*
1087  * CDDL HEADER START
1088  *
1089  * The contents of this file are subject to the terms of the
1090  * Common Development and Distribution License (the "License").
1091  * You may not use this file except in compliance with the License.
1092  *
1093  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1094  * or http://www.opensolaris.org/os/licensing.
1095  * See the License for the specific language governing permissions
1096  * and limitations under the License.
1097  *
1098  *
1099  * When distributing Covered Code, include this CDDL HEADER in each
1100  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1101  * If applicable, add the following below this CDDL HEADER, with the
1102  * fields enclosed by brackets "[]" replaced with your own identifying
1103  * information: Portions Copyright [yyyy] [name of copyright owner]
1104  *
1105  * CDDL HEADER END
1106  */
1107 
1108 /*
1109  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1110  * Use is subject to license terms.
1111  * Copyright 2016 Joyent, Inc.
1112  */
1113 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2
1114 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h"
1115 struct __FILE /* needs to be binary-compatible with old versions */
1116 {
1117 
1118 
1119 
1120 
1121  int _cnt; /* number of available characters in buffer */
1122  unsigned char *_ptr; /* next character from/to here in buffer */
1123 
1124  unsigned char *_base; /* the buffer */
1125  unsigned char _flag; /* the state of the stream */
1126  unsigned char _magic; /* Old home of the file descriptor */
1127     /* Only fileno(3C) can retrieve the value now */
1128  unsigned __orientation:2; /* the orientation of the stream */
1129  unsigned __ionolock:1; /* turn off implicit locking */
1130  unsigned __seekable:1; /* is file seekable? */
1131  unsigned __extendedfd:1; /* enable extended FILE */
1132  unsigned __xf_nocheck:1; /* no extended FILE runtime check */
1133  unsigned __filler:10;
1134 };
1135 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2
1136 
1137 /*
1138  * If feature test macros are set that enable interfaces that use types
1139  * defined in <sys/types.h>, get those types by doing the include.
1140  *
1141  * Note that in asking for the interfaces associated with this feature test
1142  * macro one also asks for definitions of the POSIX types.
1143  */
1144 
1145 
1146 
1147 
1148 
1149 
1150 /*
1151  * The following typedefs are adopted from ones in <sys/types.h> (with leading
1152  * underscores added to avoid polluting the ANSI C name space).  See the
1153  * commentary there for further explanation.
1154  */
1155 
1156 typedef long long __longlong_t;
1157 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1158 typedef __FILE FILE;
1159 
1160 
1161 
1162 
1163 
1164 
1165 
1166 typedef unsigned int size_t; /* (historical version) */
1167 
1168 
1169 
1170 
1171 
1172 
1173 typedef __longlong_t fpos_t;
1174 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1175 /*
1176  * The value of _NFILE is defined in the Processor Specific ABI.  The value
1177  * is chosen for historical reasons rather than for truly processor related
1178  * attribute.  Note that the SPARC Processor Specific ABI uses the common
1179  * UNIX historical value of 20 so it is allowed to fall through.
1180  */
1181 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1182 extern __FILE __iob[60];
1183 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h"
1184 extern int remove(const char *);
1185 extern int rename(const char *, const char *);
1186 extern FILE *tmpfile(void);
1187 extern char *tmpnam(char *);
1188 extern int fclose(FILE *);
1189 extern int fflush(FILE *);
1190 extern FILE *fopen(const char *, const char *);
1191 extern FILE *freopen(const char *,
1192    const char *, FILE *);
1193 extern void setbuf(FILE *, char *);
1194 extern int setvbuf(FILE *, char *, int,
1195    size_t);
1196 /* PRINTFLIKE2 */
1197 extern int fprintf(FILE *, const char *, ...);
1198 /* SCANFLIKE2 */
1199 extern int fscanf(FILE *, const char *, ...);
1200 /* PRINTFLIKE1 */
1201 extern int printf(const char *, ...);
1202 /* SCANFLIKE1 */
1203 extern int scanf(const char *, ...);
1204 /* PRINTFLIKE2 */
1205 extern int sprintf(char *, const char *, ...);
1206 /* SCANFLIKE2 */
1207 extern int sscanf(const char *,
1208    const char *, ...);
1209 extern int vfprintf(FILE *, const char *,
1210    __va_list);
1211 extern int vprintf(const char *, __va_list);
1212 extern int vsprintf(char *, const char *,
1213    __va_list);
1214 extern int fgetc(FILE *);
1215 extern char *fgets(char *, int, FILE *);
1216 extern int fputc(int, FILE *);
1217 extern int fputs(const char *, FILE *);
1218 
1219 
1220 extern int getc(FILE *);
1221 extern int putc(int, FILE *);
1222 
1223 
1224 
1225 extern int getchar(void);
1226 extern int putchar(int);
1227 
1228 
1229 /*
1230  * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11
1231  * environment has been requested, we remove it.
1232  */
1233 
1234 extern char *gets(char *);
1235 
1236 extern int puts(const char *);
1237 extern int ungetc(int, FILE *);
1238 extern size_t fread(void *, size_t, size_t,
1239  FILE *);
1240 extern size_t fwrite(const void *, size_t, size_t,
1241  FILE *);
1242 
1243 extern int fgetpos(FILE *, fpos_t *);
1244 extern int fsetpos(FILE *, const fpos_t *);
1245 
1246 extern int fseek(FILE *, long, int);
1247 extern long ftell(FILE *);
1248 extern void rewind(FILE *);
1249 
1250 
1251 extern void clearerr(FILE *);
1252 extern int feof(FILE *);
1253 extern int ferror(FILE *);
1254 
1255 extern void perror(const char *);
1256 
1257 
1258 extern int __filbuf(FILE *);
1259 extern int __flsbuf(int, FILE *);
1260 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1261 
1262 /*
1263  * If feature test macros are set that enable interfaces that use types
1264  * defined in <sys/types.h>, get those types by doing the include.
1265  *
1266  * Note that in asking for the interfaces associated with this feature test
1267  * macro one also asks for definitions of the POSIX types.
1268  */
1269 
1270 /*
1271  * Allow global visibility for symbols defined in
1272  * C++ "std" namespace in <iso/stdio_iso.h>.
1273  */
1274 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1275 /*
1276  * This header needs to be included here because it relies on the global
1277  * visibility of FILE and size_t in the C++ environment.
1278  */
1279 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1
1280 /*
1281  * CDDL HEADER START
1282  *
1283  * The contents of this file are subject to the terms of the
1284  * Common Development and Distribution License, Version 1.0 only
1285  * (the "License").  You may not use this file except in compliance
1286  * with the License.
1287  *
1288  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1289  * or http://www.opensolaris.org/os/licensing.
1290  * See the License for the specific language governing permissions
1291  * and limitations under the License.
1292  *
1293  * When distributing Covered Code, include this CDDL HEADER in each
1294  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1295  * If applicable, add the following below this CDDL HEADER, with the
1296  * fields enclosed by brackets "[]" replaced with your own identifying
1297  * information: Portions Copyright [yyyy] [name of copyright owner]
1298  *
1299  * CDDL HEADER END
1300  */
1301 /*
1302  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1303  *
1304  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1305  * Use is subject to license terms.
1306  */
1307 
1308 /*
1309  * An application should not include this header directly.  Instead it
1310  * should be included only through the inclusion of other Sun headers.
1311  *
1312  * The contents of this header is limited to identifiers specified in
1313  * the C99 standard and in conflict with the C++ implementation of the
1314  * standard header.  The C++ standard may adopt the C99 standard at
1315  * which point it is expected that the symbols included here will
1316  * become part of the C++ std namespace.
1317  */
1318 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1319 /*
1320  * The following have been added as a result of the ISO/IEC 9899:1999
1321  * standard. For a strictly conforming C application, visibility is
1322  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
1323  * For non-strictly conforming C applications, there are no restrictions
1324  * on the C namespace.
1325  */
1326 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h"
1327 extern int vfscanf(FILE *, const char *, __va_list);
1328 extern int vscanf(const char *, __va_list);
1329 extern int vsscanf(const char *, const char *,
1330   __va_list);
1331 
1332 
1333 
1334 
1335 extern int snprintf(char *, size_t, const char *,
1336  ...);
1337 extern int vsnprintf(char *, size_t, const char *,
1338  __va_list);
1339 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2
1340 # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1341 typedef __longlong_t off_t;
1342 
1343 
1344 
1345 
1346 
1347 typedef __longlong_t off64_t;
1348 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1349 typedef __longlong_t fpos64_t;
1350 
1351 
1352 
1353 /*
1354  * XPG4 requires that va_list be defined in <stdio.h> "as described in
1355  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
1356  * not be polluted with this name.
1357  */
1358 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1359 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1360 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1361 extern unsigned char _sibuf[], _sobuf[];
1362 
1363 
1364 /* large file compilation environment setup */
1365 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1366 extern unsigned char *_bufendtab[];
1367 extern FILE *_lastbuf;
1368 
1369 
1370 /* In the LP64 compilation environment, all APIs are already large file */
1371 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1372 typedef int ssize_t; /* (historical version) */
1373 
1374 
1375 
1376 
1377 
1378 
1379 extern char *tmpnam_r(char *);
1380 
1381 
1382 
1383 
1384 extern int fcloseall(void);
1385 extern void setbuffer(FILE *, char *, size_t);
1386 extern int setlinebuf(FILE *);
1387 /* PRINTFLIKE2 */
1388 extern int asprintf(char **, const char *, ...);
1389 /* PRINTFLIKE2 */
1390 extern int vasprintf(char **, const char *, __va_list);
1391 
1392 
1393 
1394 
1395  /* || defined(_XPG7) */
1396 extern ssize_t getdelim(char **, size_t *,
1397  int, FILE *);
1398 extern ssize_t getline(char **, size_t *,
1399  FILE *);
1400 
1401 
1402 /*
1403  * The following are known to POSIX and XOPEN, but not to ANSI-C.
1404  */
1405 
1406 
1407 
1408 extern FILE *fdopen(int, const char *);
1409 extern char *ctermid(char *);
1410 extern int fileno(FILE *);
1411 
1412 
1413 
1414 /*
1415  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
1416  */
1417 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h"
1418 /*
1419  * The following are known to XOPEN, but not to ANSI-C or POSIX.
1420  */
1421 
1422 
1423 extern FILE *popen(const char *, const char *);
1424 extern char *tempnam(const char *, const char *);
1425 extern int pclose(FILE *);
1426 
1427 extern int getsubopt(char **, char *const *, char **);
1428 
1429 
1430 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
1431 
1432 extern char *cuserid(char *);
1433 extern int getopt(int, char *const *, const char *);
1434 extern char *optarg;
1435 extern int optind, opterr, optopt;
1436 extern int getw(FILE *);
1437 extern int putw(int, FILE *);
1438 
1439 
1440 
1441 
1442 /*
1443  * The following are defined as part of the Large File Summit interfaces.
1444  */
1445 
1446 extern int fseeko(FILE *, off_t, int);
1447 extern off_t ftello(FILE *);
1448 
1449 
1450 /*
1451  * The following are defined as part of the transitional Large File Summit
1452  * interfaces.
1453  */
1454 
1455 
1456 extern FILE *fopen64(const char *, const char *);
1457 extern FILE *freopen64(const char *, const char *, FILE *);
1458 extern FILE *tmpfile64(void);
1459 extern int fgetpos64(FILE *, fpos64_t *);
1460 extern int fsetpos64(FILE *, const fpos64_t *);
1461 extern int fseeko64(FILE *, off64_t, int);
1462 extern off64_t ftello64(FILE *);
1463 
1464 
1465 /*
1466  * XPG7 symbols
1467  */
1468 
1469 extern FILE *fmemopen(void *, size_t,
1470       const char *);
1471 extern FILE *open_memstream(char **, size_t *);
1472 # 30 "is_local_host.c" 2
1473 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
1474 /*
1475  * CDDL HEADER START
1476  *
1477  * The contents of this file are subject to the terms of the
1478  * Common Development and Distribution License (the "License").
1479  * You may not use this file except in compliance with the License.
1480  *
1481  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1482  * or http://www.opensolaris.org/os/licensing.
1483  * See the License for the specific language governing permissions
1484  * and limitations under the License.
1485  *
1486  * When distributing Covered Code, include this CDDL HEADER in each
1487  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1488  * If applicable, add the following below this CDDL HEADER, with the
1489  * fields enclosed by brackets "[]" replaced with your own identifying
1490  * information: Portions Copyright [yyyy] [name of copyright owner]
1491  *
1492  * CDDL HEADER END
1493  */
1494 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
1495 /*	  All Rights Reserved  	*/
1496 
1497 
1498 /*
1499  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
1500  * Use is subject to license terms.
1501  *
1502  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
1503  * Copyright 2016 Joyent, Inc.
1504  */
1505 
1506 
1507 
1508 
1509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1510 /*
1511  * CDDL HEADER START
1512  *
1513  * The contents of this file are subject to the terms of the
1514  * Common Development and Distribution License (the "License").
1515  * You may not use this file except in compliance with the License.
1516  *
1517  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1518  * or http://www.opensolaris.org/os/licensing.
1519  * See the License for the specific language governing permissions
1520  * and limitations under the License.
1521  *
1522  * When distributing Covered Code, include this CDDL HEADER in each
1523  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1524  * If applicable, add the following below this CDDL HEADER, with the
1525  * fields enclosed by brackets "[]" replaced with your own identifying
1526  * information: Portions Copyright [yyyy] [name of copyright owner]
1527  *
1528  * CDDL HEADER END
1529  */
1530 
1531 /*
1532  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1533  * Copyright 2016 Joyent, Inc.
1534  *
1535  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1536  * Use is subject to license terms.
1537  */
1538 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
1539 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
1540 /*
1541  * CDDL HEADER START
1542  *
1543  * The contents of this file are subject to the terms of the
1544  * Common Development and Distribution License (the "License").
1545  * You may not use this file except in compliance with the License.
1546  *
1547  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1548  * or http://www.opensolaris.org/os/licensing.
1549  * See the License for the specific language governing permissions
1550  * and limitations under the License.
1551  *
1552  *
1553  * When distributing Covered Code, include this CDDL HEADER in each
1554  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1555  * If applicable, add the following below this CDDL HEADER, with the
1556  * fields enclosed by brackets "[]" replaced with your own identifying
1557  * information: Portions Copyright [yyyy] [name of copyright owner]
1558  *
1559  * CDDL HEADER END
1560  */
1561 
1562 /*
1563  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
1564  * Use is subject to license terms.
1565  * Copyright 2016 Joyent, Inc.
1566  */
1567 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
1568 
1569 /*
1570  * Machine dependent definitions moved to <sys/machtypes.h>.
1571  */
1572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1
1573 /*
1574  * CDDL HEADER START
1575  *
1576  * The contents of this file are subject to the terms of the
1577  * Common Development and Distribution License, Version 1.0 only
1578  * (the "License").  You may not use this file except in compliance
1579  * with the License.
1580  *
1581  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1582  * or http://www.opensolaris.org/os/licensing.
1583  * See the License for the specific language governing permissions
1584  * and limitations under the License.
1585  *
1586  * When distributing Covered Code, include this CDDL HEADER in each
1587  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1588  * If applicable, add the following below this CDDL HEADER, with the
1589  * fields enclosed by brackets "[]" replaced with your own identifying
1590  * information: Portions Copyright [yyyy] [name of copyright owner]
1591  *
1592  * CDDL HEADER END
1593  */
1594 /*
1595  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1596  * Use is subject to license terms.
1597  */
1598 
1599 
1600 
1601 
1602 #pragma ident "%Z%%M%	%I%	%E% SMI"
1603 
1604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1605 /*
1606  * CDDL HEADER START
1607  *
1608  * The contents of this file are subject to the terms of the
1609  * Common Development and Distribution License (the "License").
1610  * You may not use this file except in compliance with the License.
1611  *
1612  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1613  * or http://www.opensolaris.org/os/licensing.
1614  * See the License for the specific language governing permissions
1615  * and limitations under the License.
1616  *
1617  * When distributing Covered Code, include this CDDL HEADER in each
1618  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1619  * If applicable, add the following below this CDDL HEADER, with the
1620  * fields enclosed by brackets "[]" replaced with your own identifying
1621  * information: Portions Copyright [yyyy] [name of copyright owner]
1622  *
1623  * CDDL HEADER END
1624  */
1625 
1626 /*
1627  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1628  * Copyright 2016 Joyent, Inc.
1629  *
1630  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1631  * Use is subject to license terms.
1632  */
1633 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
1634 
1635 
1636 
1637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1
1638 /*
1639  * CDDL HEADER START
1640  *
1641  * The contents of this file are subject to the terms of the
1642  * Common Development and Distribution License (the "License").
1643  * You may not use this file except in compliance with the License.
1644  *
1645  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1646  * or http://www.opensolaris.org/os/licensing.
1647  * See the License for the specific language governing permissions
1648  * and limitations under the License.
1649  *
1650  * When distributing Covered Code, include this CDDL HEADER in each
1651  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1652  * If applicable, add the following below this CDDL HEADER, with the
1653  * fields enclosed by brackets "[]" replaced with your own identifying
1654  * information: Portions Copyright [yyyy] [name of copyright owner]
1655  *
1656  * CDDL HEADER END
1657  */
1658 /*
1659  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
1660  * Use is subject to license terms.
1661  */
1662 
1663 
1664 
1665 
1666 #pragma ident "%Z%%M%	%I%	%E% SMI"
1667 
1668 
1669 
1670 
1671 
1672 /*
1673  * Machine dependent types:
1674  *
1675  *	intel ia32 Version
1676  */
1677 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h"
1678 typedef struct _label_t { long val[6]; } label_t;
1679 
1680 
1681 
1682 typedef unsigned char lock_t; /* lock work for busy wait */
1683 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2
1684 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
1685 
1686 /*
1687  * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
1688  * committee's working draft for the revision of the current ISO C standard,
1689  * ISO/IEC 9899:1990 Programming language - C.  These are not currently
1690  * required by any standard but constitute a useful, general purpose set
1691  * of type definitions which is namespace clean with respect to all standards.
1692  */
1693 
1694 
1695 
1696 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
1697 /*
1698  * CDDL HEADER START
1699  *
1700  * The contents of this file are subject to the terms of the
1701  * Common Development and Distribution License, Version 1.0 only
1702  * (the "License").  You may not use this file except in compliance
1703  * with the License.
1704  *
1705  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1706  * or http://www.opensolaris.org/os/licensing.
1707  * See the License for the specific language governing permissions
1708  * and limitations under the License.
1709  *
1710  * When distributing Covered Code, include this CDDL HEADER in each
1711  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1712  * If applicable, add the following below this CDDL HEADER, with the
1713  * fields enclosed by brackets "[]" replaced with your own identifying
1714  * information: Portions Copyright [yyyy] [name of copyright owner]
1715  *
1716  * CDDL HEADER END
1717  */
1718 /*
1719  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
1720  *
1721  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
1722  * Use is subject to license terms.
1723  */
1724 
1725 
1726 
1727 
1728 /*
1729  * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
1730  * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
1731  * Programming language - C.
1732  *
1733  * Programs/Modules should not directly include this file.  Access to the
1734  * types defined in this file should be through the inclusion of one of the
1735  * following files:
1736  *
1737  *	<sys/types.h>		Provides only the "_t" types defined in this
1738  *				file which is a subset of the contents of
1739  *				<inttypes.h>.  (This can be appropriate for
1740  *				all programs/modules except those claiming
1741  *				ANSI-C conformance.)
1742  *
1743  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
1744  *				components of <inttypes.h>.
1745  *
1746  *	<inttypes.h>		For use by applications.
1747  *
1748  * See these files for more details.
1749  */
1750 
1751 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
1752 /*
1753  * CDDL HEADER START
1754  *
1755  * The contents of this file are subject to the terms of the
1756  * Common Development and Distribution License (the "License").
1757  * You may not use this file except in compliance with the License.
1758  *
1759  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1760  * or http://www.opensolaris.org/os/licensing.
1761  * See the License for the specific language governing permissions
1762  * and limitations under the License.
1763  *
1764  * When distributing Covered Code, include this CDDL HEADER in each
1765  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1766  * If applicable, add the following below this CDDL HEADER, with the
1767  * fields enclosed by brackets "[]" replaced with your own identifying
1768  * information: Portions Copyright [yyyy] [name of copyright owner]
1769  *
1770  * CDDL HEADER END
1771  */
1772 
1773 /*
1774  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
1775  * Copyright 2016 Joyent, Inc.
1776  *
1777  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
1778  * Use is subject to license terms.
1779  */
1780 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2
1781 
1782 
1783 
1784 
1785 
1786 /*
1787  * Basic / Extended integer types
1788  *
1789  * The following defines the basic fixed-size integer types.
1790  *
1791  * Implementations are free to typedef them to Standard C integer types or
1792  * extensions that they support. If an implementation does not support one
1793  * of the particular integer data types below, then it should not define the
1794  * typedefs and macros corresponding to that data type.  Note that int8_t
1795  * is not defined in -Xs mode on ISAs for which the ABI specifies "char"
1796  * as an unsigned entity because there is no way to define an eight bit
1797  * signed integral.
1798  */
1799 
1800 typedef char int8_t;
1801 
1802 
1803 
1804 typedef short int16_t;
1805 typedef int int32_t;
1806 
1807 
1808 
1809 
1810 
1811 
1812 typedef long long int64_t;
1813 
1814 
1815 
1816 typedef unsigned char uint8_t;
1817 typedef unsigned short uint16_t;
1818 typedef unsigned int uint32_t;
1819 
1820 
1821 
1822 
1823 typedef unsigned long long uint64_t;
1824 
1825 
1826 
1827 /*
1828  * intmax_t and uintmax_t are to be the longest (in number of bits) signed
1829  * and unsigned integer types supported by the implementation.
1830  */
1831 
1832 typedef int64_t intmax_t;
1833 typedef uint64_t uintmax_t;
1834 
1835 
1836 
1837 
1838 
1839 /*
1840  * intptr_t and uintptr_t are signed and unsigned integer types large enough
1841  * to hold any data pointer; that is, data pointers can be assigned into or
1842  * from these integer types without losing precision.
1843  */
1844 
1845 
1846 
1847 
1848 typedef int intptr_t;
1849 typedef unsigned int uintptr_t;
1850 
1851 
1852 /*
1853  * The following define the fastest integer types that can hold the
1854  * specified number of bits.
1855  */
1856 
1857 typedef char int_fast8_t;
1858 
1859 
1860 
1861 typedef int int_fast16_t;
1862 typedef int int_fast32_t;
1863 
1864 
1865 
1866 
1867 typedef long long int_fast64_t;
1868 
1869 
1870 
1871 typedef unsigned char uint_fast8_t;
1872 typedef unsigned int uint_fast16_t;
1873 typedef unsigned int uint_fast32_t;
1874 
1875 
1876 
1877 
1878 typedef unsigned long long uint_fast64_t;
1879 
1880 
1881 
1882 /*
1883  * The following define the smallest integer types that can hold the
1884  * specified number of bits.
1885  */
1886 
1887 typedef char int_least8_t;
1888 
1889 
1890 
1891 typedef short int_least16_t;
1892 typedef int int_least32_t;
1893 
1894 
1895 
1896 
1897 typedef long long int_least64_t;
1898 
1899 
1900 
1901 /*
1902  * If these are changed, please update char16_t and char32_t in head/uchar.h.
1903  */
1904 typedef unsigned char uint_least8_t;
1905 typedef unsigned short uint_least16_t;
1906 typedef unsigned int uint_least32_t;
1907 
1908 
1909 
1910 
1911 typedef unsigned long long uint_least64_t;
1912 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
1913 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
1914 /*
1915  * Strictly conforming ANSI C environments prior to the 1999
1916  * revision of the C Standard (ISO/IEC 9899:1999) do not have
1917  * the long long data type.
1918  */
1919 
1920 typedef long long longlong_t;
1921 typedef unsigned long long u_longlong_t;
1922 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
1923 /*
1924  * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
1925  * to use them instead of int32_t and uint32_t because DEC had
1926  * shipped 64-bit wide.
1927  */
1928 
1929 
1930 
1931 
1932 typedef long t_scalar_t; /* historical versions */
1933 typedef unsigned long t_uscalar_t;
1934 
1935 
1936 /*
1937  * POSIX Extensions
1938  */
1939 typedef unsigned char uchar_t;
1940 typedef unsigned short ushort_t;
1941 typedef unsigned int uint_t;
1942 typedef unsigned long ulong_t;
1943 
1944 typedef char *caddr_t; /* ?<core address> type */
1945 typedef long daddr_t; /* <disk address> type */
1946 typedef short cnt_t; /* ?<count> type */
1947 
1948 
1949 
1950 
1951 
1952 
1953 typedef int ptrdiff_t; /* (historical version) */
1954 
1955 
1956 
1957 /*
1958  * VM-related types
1959  */
1960 typedef ulong_t pfn_t; /* page frame number */
1961 typedef ulong_t pgcnt_t; /* number of pages */
1962 typedef long spgcnt_t; /* signed number of pages */
1963 
1964 typedef uchar_t use_t; /* use count for swap.  */
1965 typedef short sysid_t;
1966 typedef short index_t;
1967 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */
1968 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */
1969 
1970 /*
1971  * The size of off_t and related types depends on the setting of
1972  * _FILE_OFFSET_BITS.  (Note that other system headers define other types
1973  * related to those defined here.)
1974  *
1975  * If _LARGEFILE64_SOURCE is defined, variants of these types that are
1976  * explicitly 64 bits wide become available.
1977  */
1978 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
1979 typedef u_longlong_t ino_t; /* expanded inode type	*/
1980 typedef longlong_t blkcnt_t; /* count of file blocks */
1981 typedef u_longlong_t fsblkcnt_t; /* count of file system blocks */
1982 typedef u_longlong_t fsfilcnt_t; /* count of files */
1983 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
1984 typedef u_longlong_t ino64_t; /* expanded inode type	*/
1985 typedef longlong_t blkcnt64_t; /* count of file blocks */
1986 typedef u_longlong_t fsblkcnt64_t; /* count of file system blocks */
1987 typedef u_longlong_t fsfilcnt64_t; /* count of files */
1988 
1989 
1990 
1991 
1992 
1993 
1994 typedef long blksize_t; /* used for block sizes */
1995 
1996 
1997 
1998 
1999 
2000 typedef enum { B_FALSE, B_TRUE } boolean_t;
2001 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2002 /*
2003  * The {u,}pad64_t types can be used in structures such that those structures
2004  * may be accessed by code produced by compilation environments which don't
2005  * support a 64 bit integral datatype.  The intention is not to allow
2006  * use of these fields in such environments, but to maintain the alignment
2007  * and offsets of the structure.
2008  *
2009  * Similar comments for {u,}pad128_t.
2010  *
2011  * Note that these types do NOT generate any stronger alignment constraints
2012  * than those available in the underlying ABI.  See <sys/isa_defs.h>
2013  */
2014 
2015 typedef int64_t pad64_t;
2016 typedef uint64_t upad64_t;
2017 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2018 typedef union {
2019  long double _q;
2020  int32_t _l[4];
2021 } pad128_t;
2022 
2023 typedef union {
2024  long double _q;
2025  uint32_t _l[4];
2026 } upad128_t;
2027 
2028 typedef longlong_t offset_t;
2029 typedef u_longlong_t u_offset_t;
2030 typedef u_longlong_t len_t;
2031 typedef u_longlong_t diskaddr_t;
2032 
2033 
2034 
2035 
2036 /*
2037  * Definitions remaining from previous partial support for 64-bit file
2038  * offsets.  This partial support for devices greater than 2gb requires
2039  * compiler support for long long.
2040  */
2041 
2042 typedef union {
2043  offset_t _f; /* Full 64 bit offset value */
2044  struct {
2045   int32_t _l; /* lower 32 bits of offset value */
2046   int32_t _u; /* upper 32 bits of offset value */
2047  } _p;
2048 } lloff_t;
2049 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2050 typedef union {
2051  longlong_t _f; /* Full 64 bit disk address value */
2052  struct {
2053   int32_t _l; /* lower 32 bits of disk address value */
2054   int32_t _u; /* upper 32 bits of disk address value */
2055  } _p;
2056 } lldaddr_t;
2057 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2058 typedef uint_t k_fltset_t; /* kernel fault set type */
2059 
2060 /*
2061  * The following type is for various kinds of identifiers.  The
2062  * actual type must be the same for all since some system calls
2063  * (such as sigsend) take arguments that may be any of these
2064  * types.  The enumeration type idtype_t defined in sys/procset.h
2065  * is used to indicate what type of id is being specified --
2066  * a process id, process group id, session id, scheduling class id,
2067  * user id, group id, project id, task id or zone id.
2068  */
2069 
2070 
2071 
2072 typedef long id_t; /* (historical version) */
2073 
2074 
2075 typedef id_t lgrp_id_t; /* lgroup ID */
2076 
2077 /*
2078  * Type useconds_t is an unsigned integral type capable of storing
2079  * values at least in the range of zero to 1,000,000.
2080  */
2081 typedef uint_t useconds_t; /* Time, in microseconds */
2082 
2083 
2084 
2085 typedef long suseconds_t; /* signed # of microseconds */
2086 
2087 
2088 /*
2089  * Typedefs for dev_t components.
2090  */
2091 
2092 
2093 
2094 
2095 typedef ulong_t major_t; /* (historical version) */
2096 typedef ulong_t minor_t; /* (historical version) */
2097 
2098 
2099 /*
2100  * The data type of a thread priority.
2101  */
2102 typedef short pri_t;
2103 
2104 /*
2105  * The data type for a CPU flags field.  (Can be extended to larger unsigned
2106  * types, if needed, limited by ability to update atomically.)
2107  */
2108 typedef ushort_t cpu_flag_t;
2109 
2110 /*
2111  * For compatibility reasons the following typedefs (prefixed o_)
2112  * can't grow regardless of the EFT definition. Although,
2113  * applications should not explicitly use these typedefs
2114  * they may be included via a system header definition.
2115  * WARNING: These typedefs may be removed in a future
2116  * release.
2117  *		ex. the definitions in s5inode.h (now obsoleted)
2118  *			remained small to preserve compatibility
2119  *			in the S5 file system type.
2120  */
2121 typedef ushort_t o_mode_t; /* old file attribute type */
2122 typedef short o_dev_t; /* old device type	*/
2123 typedef ushort_t o_uid_t; /* old UID type		*/
2124 typedef o_uid_t o_gid_t; /* old GID type		*/
2125 typedef short o_nlink_t; /* old file link type	*/
2126 typedef short o_pid_t; /* old process id type	*/
2127 typedef ushort_t o_ino_t; /* old inode type	*/
2128 
2129 
2130 /*
2131  * POSIX and XOPEN Declarations
2132  */
2133 typedef int key_t; /* IPC key type		*/
2134 
2135 
2136 
2137 typedef ulong_t mode_t; /* (historical version) */
2138 
2139 
2140 
2141 
2142 typedef unsigned int uid_t; /* UID type		*/
2143 
2144 
2145 typedef uid_t gid_t; /* GID type		*/
2146 
2147 typedef uint32_t datalink_id_t;
2148 typedef uint32_t vrid_t;
2149 
2150 typedef id_t taskid_t;
2151 typedef id_t projid_t;
2152 typedef id_t poolid_t;
2153 typedef id_t zoneid_t;
2154 typedef id_t ctid_t;
2155 
2156 /*
2157  * POSIX definitions are same as defined in thread.h and synch.h.
2158  * Any changes made to here should be reflected in corresponding
2159  * files as described in comments.
2160  */
2161 typedef uint_t pthread_t; /* = thread_t in thread.h */
2162 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */
2163 
2164 /* "Magic numbers" tagging synchronization object types */
2165 
2166 
2167 
2168 
2169 
2170 typedef struct _pthread_mutex { /* = mutex_t in synch.h */
2171  struct {
2172   uint16_t __pthread_mutex_flag1;
2173   uint8_t __pthread_mutex_flag2;
2174   uint8_t __pthread_mutex_ceiling;
2175   uint16_t __pthread_mutex_type;
2176   uint16_t __pthread_mutex_magic;
2177  } __pthread_mutex_flags;
2178  union {
2179   struct {
2180    uint8_t __pthread_mutex_pad[8];
2181   } __pthread_mutex_lock64;
2182   struct {
2183    uint32_t __pthread_ownerpid;
2184    uint32_t __pthread_lockword;
2185   } __pthread_mutex_lock32;
2186   upad64_t __pthread_mutex_owner64;
2187  } __pthread_mutex_lock;
2188  upad64_t __pthread_mutex_data;
2189 } pthread_mutex_t;
2190 
2191 typedef struct _pthread_cond { /* = cond_t in synch.h */
2192  struct {
2193   uint8_t __pthread_cond_flag[4];
2194   uint16_t __pthread_cond_type;
2195   uint16_t __pthread_cond_magic;
2196  } __pthread_cond_flags;
2197  upad64_t __pthread_cond_data;
2198 } pthread_cond_t;
2199 
2200 /*
2201  * UNIX 98 Extension
2202  */
2203 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */
2204  int32_t __pthread_rwlock_readers;
2205  uint16_t __pthread_rwlock_type;
2206  uint16_t __pthread_rwlock_magic;
2207  pthread_mutex_t __pthread_rwlock_mutex;
2208  pthread_cond_t __pthread_rwlock_readercv;
2209  pthread_cond_t __pthread_rwlock_writercv;
2210 } pthread_rwlock_t;
2211 
2212 /*
2213  * SUSV3
2214  */
2215 typedef struct {
2216  uint32_t __pthread_barrier_count;
2217  uint32_t __pthread_barrier_current;
2218  upad64_t __pthread_barrier_cycle;
2219  upad64_t __pthread_barrier_reserved;
2220  pthread_mutex_t __pthread_barrier_lock;
2221  pthread_cond_t __pthread_barrier_cond;
2222 } pthread_barrier_t;
2223 
2224 typedef pthread_mutex_t pthread_spinlock_t;
2225 
2226 /*
2227  * attributes for threads, dynamically allocated by library
2228  */
2229 typedef struct _pthread_attr {
2230  void *__pthread_attrp;
2231 } pthread_attr_t;
2232 
2233 /*
2234  * attributes for mutex, dynamically allocated by library
2235  */
2236 typedef struct _pthread_mutexattr {
2237  void *__pthread_mutexattrp;
2238 } pthread_mutexattr_t;
2239 
2240 /*
2241  * attributes for cond, dynamically allocated by library
2242  */
2243 typedef struct _pthread_condattr {
2244  void *__pthread_condattrp;
2245 } pthread_condattr_t;
2246 
2247 /*
2248  * pthread_once
2249  */
2250 typedef struct _once {
2251  upad64_t __pthread_once_pad[4];
2252 } pthread_once_t;
2253 
2254 /*
2255  * UNIX 98 Extensions
2256  * attributes for rwlock, dynamically allocated by library
2257  */
2258 typedef struct _pthread_rwlockattr {
2259  void *__pthread_rwlockattrp;
2260 } pthread_rwlockattr_t;
2261 
2262 /*
2263  * SUSV3
2264  * attributes for pthread_barrier_t, dynamically allocated by library
2265  */
2266 typedef struct {
2267  void *__pthread_barrierattrp;
2268 } pthread_barrierattr_t;
2269 
2270 typedef ulong_t dev_t; /* expanded device type */
2271 
2272 
2273 
2274 
2275 
2276 typedef ulong_t nlink_t; /* (historical version) */
2277 typedef long pid_t; /* (historical version) */
2278 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2279 typedef long time_t; /* time of day in seconds */
2280 
2281 
2282 
2283 
2284 typedef long clock_t; /* relative time in a specified resolution */
2285 
2286 
2287 
2288 
2289 typedef int clockid_t; /* clock identifier type */
2290 
2291 
2292 
2293 
2294 typedef int timer_t; /* timer identifier type */
2295 
2296 
2297 
2298 
2299 /* BEGIN CSTYLED */
2300 typedef unsigned char unchar;
2301 typedef unsigned short ushort;
2302 typedef unsigned int uint;
2303 typedef unsigned long ulong;
2304 /* END CSTYLED */
2305 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2306 /*
2307  * The following is the value of type id_t to use to indicate the
2308  * caller's current id.  See procset.h for the type idtype_t
2309  * which defines which kind of id is being specified.
2310  */
2311 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h"
2312 /*
2313  * The following value of type pfn_t is used to indicate
2314  * invalid page frame number.
2315  */
2316 
2317 
2318 
2319 /* BEGIN CSTYLED */
2320 typedef unsigned char u_char;
2321 typedef unsigned short u_short;
2322 typedef unsigned int u_int;
2323 typedef unsigned long u_long;
2324 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */
2325 typedef quad_t quad; /* used by UFS */
2326 /* END CSTYLED */
2327 
2328 /*
2329  * Nested include for BSD/sockets source compatibility.
2330  * (The select macros used to be defined here).
2331  */
2332 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
2333 /*
2334  * CDDL HEADER START
2335  *
2336  * The contents of this file are subject to the terms of the
2337  * Common Development and Distribution License (the "License").
2338  * You may not use this file except in compliance with the License.
2339  *
2340  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2341  * or http://www.opensolaris.org/os/licensing.
2342  * See the License for the specific language governing permissions
2343  * and limitations under the License.
2344  *
2345  * When distributing Covered Code, include this CDDL HEADER in each
2346  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2347  * If applicable, add the following below this CDDL HEADER, with the
2348  * fields enclosed by brackets "[]" replaced with your own identifying
2349  * information: Portions Copyright [yyyy] [name of copyright owner]
2350  *
2351  * CDDL HEADER END
2352  */
2353 
2354 /*
2355  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2356  *
2357  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
2358  *
2359  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
2360  * Use is subject to license terms.
2361  */
2362 
2363 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
2364 /*	  All Rights Reserved	*/
2365 
2366 /*
2367  * University Copyright- Copyright (c) 1982, 1986, 1988
2368  * The Regents of the University of California
2369  * All Rights Reserved
2370  *
2371  * University Acknowledgment- Portions of this document are derived from
2372  * software developed by the University of California, Berkeley, and its
2373  * contributors.
2374  */
2375 
2376 
2377 
2378 
2379 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2380 /*
2381  * CDDL HEADER START
2382  *
2383  * The contents of this file are subject to the terms of the
2384  * Common Development and Distribution License (the "License").
2385  * You may not use this file except in compliance with the License.
2386  *
2387  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2388  * or http://www.opensolaris.org/os/licensing.
2389  * See the License for the specific language governing permissions
2390  * and limitations under the License.
2391  *
2392  * When distributing Covered Code, include this CDDL HEADER in each
2393  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2394  * If applicable, add the following below this CDDL HEADER, with the
2395  * fields enclosed by brackets "[]" replaced with your own identifying
2396  * information: Portions Copyright [yyyy] [name of copyright owner]
2397  *
2398  * CDDL HEADER END
2399  */
2400 
2401 /*
2402  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2403  * Copyright 2016 Joyent, Inc.
2404  *
2405  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2406  * Use is subject to license terms.
2407  */
2408 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
2409 
2410 
2411 
2412 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
2413 /*
2414  * CDDL HEADER START
2415  *
2416  * The contents of this file are subject to the terms of the
2417  * Common Development and Distribution License, Version 1.0 only
2418  * (the "License").  You may not use this file except in compliance
2419  * with the License.
2420  *
2421  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2422  * or http://www.opensolaris.org/os/licensing.
2423  * See the License for the specific language governing permissions
2424  * and limitations under the License.
2425  *
2426  * When distributing Covered Code, include this CDDL HEADER in each
2427  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2428  * If applicable, add the following below this CDDL HEADER, with the
2429  * fields enclosed by brackets "[]" replaced with your own identifying
2430  * information: Portions Copyright [yyyy] [name of copyright owner]
2431  *
2432  * CDDL HEADER END
2433  */
2434 /*
2435  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2436  * Use is subject to license terms.
2437  */
2438 
2439 /*
2440  * Implementation-private.  This header should not be included
2441  * directly by an application.  The application should instead
2442  * include <time.h> which includes this header conditionally
2443  * depending on which feature test macros are defined. By default,
2444  * this header is included by <time.h>.  X/Open and POSIX
2445  * standards requirements result in this header being included
2446  * by <time.h> only under a restricted set of conditions.
2447  */
2448 
2449 
2450 
2451 
2452 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2453 /*
2454  * CDDL HEADER START
2455  *
2456  * The contents of this file are subject to the terms of the
2457  * Common Development and Distribution License (the "License").
2458  * You may not use this file except in compliance with the License.
2459  *
2460  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2461  * or http://www.opensolaris.org/os/licensing.
2462  * See the License for the specific language governing permissions
2463  * and limitations under the License.
2464  *
2465  * When distributing Covered Code, include this CDDL HEADER in each
2466  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2467  * If applicable, add the following below this CDDL HEADER, with the
2468  * fields enclosed by brackets "[]" replaced with your own identifying
2469  * information: Portions Copyright [yyyy] [name of copyright owner]
2470  *
2471  * CDDL HEADER END
2472  */
2473 
2474 /*
2475  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2476  * Copyright 2016 Joyent, Inc.
2477  *
2478  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2479  * Use is subject to license terms.
2480  */
2481 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2
2482 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
2483 /*
2484  * Time expressed in seconds and nanoseconds
2485  */
2486 
2487 typedef struct timespec { /* definition per POSIX.4 */
2488  time_t tv_sec; /* seconds */
2489  long tv_nsec; /* and nanoseconds */
2490 } timespec_t;
2491 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h"
2492 typedef struct timespec timestruc_t; /* definition per SVr4 */
2493 
2494 /*
2495  * The following has been left in for backward compatibility. Portable
2496  * applications should not use the structure name timestruc.
2497  */
2498 
2499 
2500 
2501 
2502 
2503 /*
2504  * Timer specification
2505  */
2506 typedef struct itimerspec { /* definition per POSIX.4 */
2507  struct timespec it_interval; /* timer period */
2508  struct timespec it_value; /* timer expiration */
2509 } itimerspec_t;
2510 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
2511 
2512 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
2513 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
2514 /*	  All Rights Reserved  	*/
2515 
2516 
2517 /*
2518  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
2519  * All rights reserved.  The Berkeley software License Agreement
2520  * specifies the terms and conditions for redistribution.
2521  */
2522 
2523 /*
2524  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2525  *
2526  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
2527  * Use is subject to license terms.
2528  *
2529  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
2530  */
2531 
2532 /*
2533  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
2534  */
2535 
2536 
2537 
2538 
2539 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2540 /*
2541  * CDDL HEADER START
2542  *
2543  * The contents of this file are subject to the terms of the
2544  * Common Development and Distribution License (the "License").
2545  * You may not use this file except in compliance with the License.
2546  *
2547  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2548  * or http://www.opensolaris.org/os/licensing.
2549  * See the License for the specific language governing permissions
2550  * and limitations under the License.
2551  *
2552  * When distributing Covered Code, include this CDDL HEADER in each
2553  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2554  * If applicable, add the following below this CDDL HEADER, with the
2555  * fields enclosed by brackets "[]" replaced with your own identifying
2556  * information: Portions Copyright [yyyy] [name of copyright owner]
2557  *
2558  * CDDL HEADER END
2559  */
2560 
2561 /*
2562  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2563  * Copyright 2016 Joyent, Inc.
2564  *
2565  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2566  * Use is subject to license terms.
2567  */
2568 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
2569 
2570 /*
2571  * Structure returned by gettimeofday(2) system call,
2572  * and used in other calls.
2573  */
2574 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2575 struct timeval {
2576  time_t tv_sec; /* seconds */
2577  suseconds_t tv_usec; /* and microseconds */
2578 };
2579 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2580 struct timezone {
2581  int tz_minuteswest; /* minutes west of Greenwich */
2582  int tz_dsttime; /* type of dst correction */
2583 };
2584 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2585 /*
2586  * Needed for longlong_t type.  Placement of this due to <sys/types.h>
2587  * including <sys/select.h> which relies on the presense of the itimerval
2588  * structure.
2589  */
2590 
2591 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
2592 /*
2593  * CDDL HEADER START
2594  *
2595  * The contents of this file are subject to the terms of the
2596  * Common Development and Distribution License (the "License").
2597  * You may not use this file except in compliance with the License.
2598  *
2599  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2600  * or http://www.opensolaris.org/os/licensing.
2601  * See the License for the specific language governing permissions
2602  * and limitations under the License.
2603  *
2604  * When distributing Covered Code, include this CDDL HEADER in each
2605  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2606  * If applicable, add the following below this CDDL HEADER, with the
2607  * fields enclosed by brackets "[]" replaced with your own identifying
2608  * information: Portions Copyright [yyyy] [name of copyright owner]
2609  *
2610  * CDDL HEADER END
2611  */
2612 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
2613 /*	  All Rights Reserved  	*/
2614 
2615 
2616 /*
2617  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
2618  * Use is subject to license terms.
2619  *
2620  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
2621  * Copyright 2016 Joyent, Inc.
2622  */
2623 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
2624 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2625 /*
2626  * Operations on timevals.
2627  */
2628 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2629 /*
2630  * Names of the interval timers, and structure
2631  * defining a timer setting.
2632  */
2633 
2634 
2635 
2636     /* time and when system is running on */
2637     /* behalf of the process. */
2638 
2639     /* time profiling of multithreaded */
2640     /* programs. */
2641 
2642 
2643 struct itimerval {
2644  struct timeval it_interval; /* timer interval */
2645  struct timeval it_value; /* current value */
2646 };
2647 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2648 /*
2649  *	Definitions for commonly used resolutions.
2650  */
2651 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2652 /*
2653  * Time expressed as a 64-bit nanosecond counter.
2654  */
2655 typedef longlong_t hrtime_t;
2656 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2657 int adjtime(struct timeval *, struct timeval *);
2658 
2659 
2660 
2661 
2662 int futimesat(int, const char *, const struct timeval *);
2663 
2664 
2665 
2666 
2667 
2668 int getitimer(int, struct itimerval *);
2669 int utimes(const char *, const struct timeval *);
2670 
2671 
2672 
2673 
2674 int setitimer(int, struct itimerval *,
2675  struct itimerval *);
2676 
2677 
2678 
2679 
2680 /*
2681  * gettimeofday() and settimeofday() were included in SVr4 due to their
2682  * common use in BSD based applications.  They were to be included exactly
2683  * as in BSD, with two parameters.  However, AT&T/USL noted that the second
2684  * parameter was unused and deleted it, thereby making a routine included
2685  * for compatibility, incompatible.
2686  *
2687  * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two
2688  * parameters.
2689  *
2690  * This has caused general disagreement in the application community as to
2691  * the syntax of these routines.  Solaris defaults to the XSH4.2 definition.
2692  * The flag _SVID_GETTOD may be used to force the SVID version.
2693  */
2694 
2695 
2696 
2697 
2698 
2699 int settimeofday(struct timeval *, void *);
2700 
2701 hrtime_t gethrtime(void);
2702 hrtime_t gethrvtime(void);
2703 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h"
2704 int gettimeofday(struct timeval *, void *);
2705 
2706 
2707 
2708 
2709 /*
2710  * The inclusion of <time.h> is historical and was added for
2711  * backward compatibility in delta 1.2 when a number of definitions
2712  * were moved out of <sys/time.h>.  More recently, the timespec and
2713  * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
2714  * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
2715  * which is now included by <time.h>.  This change was due to POSIX
2716  * 1003.1b-1993 and X/Open UNIX 98 requirements.  For non-POSIX and
2717  * non-X/Open applications, including this header will still make
2718  * visible these definitions.
2719  */
2720 
2721 
2722 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1
2723 /*
2724  * CDDL HEADER START
2725  *
2726  * The contents of this file are subject to the terms of the
2727  * Common Development and Distribution License (the "License").
2728  * You may not use this file except in compliance with the License.
2729  *
2730  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2731  * or http://www.opensolaris.org/os/licensing.
2732  * See the License for the specific language governing permissions
2733  * and limitations under the License.
2734  *
2735  * When distributing Covered Code, include this CDDL HEADER in each
2736  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2737  * If applicable, add the following below this CDDL HEADER, with the
2738  * fields enclosed by brackets "[]" replaced with your own identifying
2739  * information: Portions Copyright [yyyy] [name of copyright owner]
2740  *
2741  * CDDL HEADER END
2742  */
2743 /*	Copyright (c) 1988 AT&T	*/
2744 /*	  All Rights Reserved  	*/
2745 
2746 
2747 /*
2748  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2749  *
2750  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
2751  * Use is subject to license terms.
2752  */
2753 /*
2754  * Copyright 2010 Nexenta Systems, Inc.  Al rights reserved.
2755  * Copyright 2016 Joyent, Inc.
2756  */
2757 
2758 
2759 
2760 
2761 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2762 /*
2763  * CDDL HEADER START
2764  *
2765  * The contents of this file are subject to the terms of the
2766  * Common Development and Distribution License (the "License").
2767  * You may not use this file except in compliance with the License.
2768  *
2769  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2770  * or http://www.opensolaris.org/os/licensing.
2771  * See the License for the specific language governing permissions
2772  * and limitations under the License.
2773  *
2774  * When distributing Covered Code, include this CDDL HEADER in each
2775  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2776  * If applicable, add the following below this CDDL HEADER, with the
2777  * fields enclosed by brackets "[]" replaced with your own identifying
2778  * information: Portions Copyright [yyyy] [name of copyright owner]
2779  *
2780  * CDDL HEADER END
2781  */
2782 
2783 /*
2784  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2785  * Copyright 2016 Joyent, Inc.
2786  *
2787  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2788  * Use is subject to license terms.
2789  */
2790 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
2791 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1
2792 /*
2793  * CDDL HEADER START
2794  *
2795  * The contents of this file are subject to the terms of the
2796  * Common Development and Distribution License, Version 1.0 only
2797  * (the "License").  You may not use this file except in compliance
2798  * with the License.
2799  *
2800  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2801  * or http://www.opensolaris.org/os/licensing.
2802  * See the License for the specific language governing permissions
2803  * and limitations under the License.
2804  *
2805  * When distributing Covered Code, include this CDDL HEADER in each
2806  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2807  * If applicable, add the following below this CDDL HEADER, with the
2808  * fields enclosed by brackets "[]" replaced with your own identifying
2809  * information: Portions Copyright [yyyy] [name of copyright owner]
2810  *
2811  * CDDL HEADER END
2812  */
2813 /*	Copyright (c) 1988 AT&T	*/
2814 /*	  All Rights Reserved  	*/
2815 
2816 /*
2817  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2818  * Copyright 2014 PALO, Richard.
2819  *
2820  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
2821  * Use is subject to license terms.
2822  */
2823 
2824 /*
2825  * An application should not include this header directly.  Instead it
2826  * should be included only through the inclusion of other Sun headers.
2827  *
2828  * The contents of this header is limited to identifiers specified in the
2829  * C Standard.  Any new identifiers specified in future amendments to the
2830  * C Standard must be placed in this header.  If these new identifiers
2831  * are required to also be in the C++ Standard "std" namespace, then for
2832  * anything other than macro definitions, corresponding "using" directives
2833  * must also be added to <time.h.h>.
2834  */
2835 
2836 
2837 
2838 
2839 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
2840 /*
2841  * CDDL HEADER START
2842  *
2843  * The contents of this file are subject to the terms of the
2844  * Common Development and Distribution License (the "License").
2845  * You may not use this file except in compliance with the License.
2846  *
2847  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2848  * or http://www.opensolaris.org/os/licensing.
2849  * See the License for the specific language governing permissions
2850  * and limitations under the License.
2851  *
2852  * When distributing Covered Code, include this CDDL HEADER in each
2853  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2854  * If applicable, add the following below this CDDL HEADER, with the
2855  * fields enclosed by brackets "[]" replaced with your own identifying
2856  * information: Portions Copyright [yyyy] [name of copyright owner]
2857  *
2858  * CDDL HEADER END
2859  */
2860 
2861 /*
2862  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
2863  * Copyright 2016 Joyent, Inc.
2864  *
2865  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2866  * Use is subject to license terms.
2867  */
2868 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
2869 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
2870 /*
2871  * This file and its contents are supplied under the terms of the
2872  * Common Development and Distribution License ("CDDL"), version 1.0.
2873  * You may only use this file in accordance with the terms of version
2874  * 1.0 of the CDDL.
2875  *
2876  * A full copy of the text of the CDDL should have accompanied this
2877  * source.  A copy of the CDDL is also available via the Internet at
2878  * http://www.illumos.org/license/CDDL.
2879  */
2880 
2881 /*
2882  * Copyright 2014-2016 PALO, Richard.
2883  */
2884 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2
2885 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h"
2886 struct tm { /* see ctime(3) */
2887  int tm_sec;
2888  int tm_min;
2889  int tm_hour;
2890  int tm_mday;
2891  int tm_mon;
2892  int tm_year;
2893  int tm_wday;
2894  int tm_yday;
2895  int tm_isdst;
2896 };
2897 
2898 
2899 extern char *asctime(const struct tm *);
2900 extern clock_t clock(void);
2901 extern char *ctime(const time_t *);
2902 extern double difftime(time_t, time_t);
2903 extern struct tm *gmtime(const time_t *);
2904 extern struct tm *localtime(const time_t *);
2905 extern time_t mktime(struct tm *);
2906 extern time_t time(time_t *);
2907 extern size_t strftime(char *, size_t, const char *,
2908  const struct tm *);
2909 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
2910 /*
2911  * C11 requires sys/time_impl.h for the definition of the struct timespec.
2912  */
2913 
2914 
2915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
2916 /*
2917  * CDDL HEADER START
2918  *
2919  * The contents of this file are subject to the terms of the
2920  * Common Development and Distribution License (the "License").
2921  * You may not use this file except in compliance with the License.
2922  *
2923  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2924  * or http://www.opensolaris.org/os/licensing.
2925  * See the License for the specific language governing permissions
2926  * and limitations under the License.
2927  *
2928  * When distributing Covered Code, include this CDDL HEADER in each
2929  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2930  * If applicable, add the following below this CDDL HEADER, with the
2931  * fields enclosed by brackets "[]" replaced with your own identifying
2932  * information: Portions Copyright [yyyy] [name of copyright owner]
2933  *
2934  * CDDL HEADER END
2935  */
2936 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
2937 /*	  All Rights Reserved  	*/
2938 
2939 
2940 /*
2941  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
2942  * Use is subject to license terms.
2943  *
2944  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
2945  * Copyright 2016 Joyent, Inc.
2946  */
2947 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
2948 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1
2949 /*
2950  * CDDL HEADER START
2951  *
2952  * The contents of this file are subject to the terms of the
2953  * Common Development and Distribution License, Version 1.0 only
2954  * (the "License").  You may not use this file except in compliance
2955  * with the License.
2956  *
2957  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2958  * or http://www.opensolaris.org/os/licensing.
2959  * See the License for the specific language governing permissions
2960  * and limitations under the License.
2961  *
2962  * When distributing Covered Code, include this CDDL HEADER in each
2963  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2964  * If applicable, add the following below this CDDL HEADER, with the
2965  * fields enclosed by brackets "[]" replaced with your own identifying
2966  * information: Portions Copyright [yyyy] [name of copyright owner]
2967  *
2968  * CDDL HEADER END
2969  */
2970 /*
2971  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2972  * Use is subject to license terms.
2973  */
2974 
2975 /*
2976  * Implementation-private.  This header should not be included
2977  * directly by an application.  The application should instead
2978  * include <time.h> which includes this header conditionally
2979  * depending on which feature test macros are defined. By default,
2980  * this header is included by <time.h>.  X/Open and POSIX
2981  * standards requirements result in this header being included
2982  * by <time.h> only under a restricted set of conditions.
2983  */
2984 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2
2985 
2986 
2987 /*
2988  * Allow global visibility for symbols defined in
2989  * C++ "std" namespace in <iso/time_iso.h>.
2990  */
2991 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
2992 extern struct tm *gmtime_r(const time_t *,
2993    struct tm *);
2994 extern struct tm *localtime_r(const time_t *,
2995    struct tm *);
2996 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
2997 extern char *strptime(const char *, const char *,
2998   struct tm *);
2999 
3000 
3001 
3002 
3003 
3004 /*
3005  * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
3006  * definition of the sigevent structure.  Both require the inclusion
3007  * of <signal.h> and <time.h> when using the timer_create() function.
3008  * However, X/Open also specifies that the sigevent structure be defined
3009  * in <time.h> as described in the header <signal.h>.  This prevents
3010  * compiler warnings for applications that only include <time.h> and not
3011  * also <signal.h>.  The sigval union and the sigevent structure is
3012  * therefore defined both here and in <sys/siginfo.h> which gets included
3013  * via inclusion of <signal.h>.
3014  */
3015 
3016 
3017 union sigval {
3018  int sival_int; /* integer value */
3019  void *sival_ptr; /* pointer value */
3020 };
3021 
3022 
3023 
3024 
3025 struct sigevent {
3026  int sigev_notify; /* notification mode */
3027  int sigev_signo; /* signal number */
3028  union sigval sigev_value; /* signal value */
3029  void (*sigev_notify_function)(union sigval);
3030  pthread_attr_t *sigev_notify_attributes;
3031  int __sigev_pad2;
3032 };
3033 
3034 
3035 extern int clock_getres(clockid_t, struct timespec *);
3036 extern int clock_gettime(clockid_t, struct timespec *);
3037 extern int clock_settime(clockid_t, const struct timespec *);
3038 extern int timer_create(clockid_t, struct sigevent *,
3039   timer_t *);
3040 extern int timer_delete(timer_t);
3041 extern int timer_getoverrun(timer_t);
3042 extern int timer_gettime(timer_t, struct itimerspec *);
3043 extern int timer_settime(timer_t, int, const struct itimerspec *,
3044   struct itimerspec *);
3045 
3046 extern int nanosleep(const struct timespec *, struct timespec *);
3047 extern int clock_nanosleep(clockid_t, int,
3048  const struct timespec *, struct timespec *);
3049 
3050 
3051 
3052 
3053 
3054 
3055 extern void tzset(void);
3056 extern char *tzname[2];
3057 
3058 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */
3059 
3060 
3061 extern long _sysconf(int); /* System Private interface to sysconf() */
3062 
3063     /* 3 is _SC_CLK_TCK */
3064 
3065 
3066 
3067 
3068 
3069 extern long timezone;
3070 extern int daylight;
3071 
3072 
3073 
3074 
3075 
3076 
3077 extern time_t timegm(struct tm *);
3078 extern int cftime(char *, char *, const time_t *);
3079 extern int ascftime(char *, const char *, const struct tm *);
3080 extern long altzone;
3081 
3082 
3083 
3084 
3085 extern struct tm *getdate(const char *);
3086 
3087 
3088 
3089 
3090 
3091 extern int getdate_err;
3092 
3093 
3094 
3095 /*
3096  * ctime_r() & asctime_r() prototypes are defined here.
3097  */
3098 
3099 /*
3100  * Previous releases of Solaris, starting at 2.3, provided definitions of
3101  * various functions as specified in POSIX.1c, Draft 6.  For some of these
3102  * functions, the final POSIX 1003.1c standard had a different number of
3103  * arguments and return values.
3104  *
3105  * The following segment of this header provides support for the standard
3106  * interfaces while supporting applications written under earlier
3107  * releases.  The application defines appropriate values of the feature
3108  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
3109  * whether it was written to expect the Draft 6 or standard versions of
3110  * these interfaces, before including this header.  This header then
3111  * provides a mapping from the source version of the interface to an
3112  * appropriate binary interface.  Such mappings permit an application
3113  * to be built from libraries and objects which have mixed expectations
3114  * of the definitions of these functions.
3115  *
3116  * For applications using the Draft 6 definitions, the binary symbol is the
3117  * same as the source symbol, and no explicit mapping is needed.  For the
3118  * standard interface, the function func() is mapped to the binary symbol
3119  * _posix_func().  The preferred mechanism for the remapping is a compiler
3120  * #pragma.  If the compiler does not provide such a #pragma, the header file
3121  * defines a static function func() which calls the _posix_func() version;
3122  * this has to be done instead of #define since POSIX specifies that an
3123  * application can #undef the symbol and still be bound to the correct
3124  * implementation.  Unfortunately, the statics confuse lint so we fallback to
3125  * #define in that case.
3126  *
3127  * NOTE: Support for the Draft 6 definitions is provided for compatibility
3128  * only.  New applications/libraries should use the standard definitions.
3129  */
3130 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3131 extern char *asctime_r(const struct tm *, char *, int);
3132 extern char *ctime_r(const time_t *, char *, int);
3133 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h"
3134 typedef struct _locale *locale_t;
3135 
3136 
3137 extern size_t strftime_l(char *, size_t,
3138  const char *, const struct tm *, locale_t);
3139 
3140 
3141 
3142 
3143 
3144 /*
3145  * Note, the C11 standard requires that all the various base values that are
3146  * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one.
3147  */
3148 
3149 
3150 extern int timespec_get(struct timespec *, int);
3151 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3152 
3153 
3154 /*
3155  * The inclusion of <sys/select.h> is needed for the FD_CLR,
3156  * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
3157  * select() prototype defined in the XOpen specifications
3158  * beginning with XSH4v2.  Placement required after definition
3159  * for itimerval.
3160  */
3161 
3162 
3163 
3164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1
3165 /*
3166  * CDDL HEADER START
3167  *
3168  * The contents of this file are subject to the terms of the
3169  * Common Development and Distribution License (the "License").
3170  * You may not use this file except in compliance with the License.
3171  *
3172  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3173  * or http://www.opensolaris.org/os/licensing.
3174  * See the License for the specific language governing permissions
3175  * and limitations under the License.
3176  *
3177  * When distributing Covered Code, include this CDDL HEADER in each
3178  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3179  * If applicable, add the following below this CDDL HEADER, with the
3180  * fields enclosed by brackets "[]" replaced with your own identifying
3181  * information: Portions Copyright [yyyy] [name of copyright owner]
3182  *
3183  * CDDL HEADER END
3184  */
3185 
3186 /*
3187  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3188  *
3189  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3190  *
3191  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3192  * Use is subject to license terms.
3193  */
3194 
3195 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3196 /*	  All Rights Reserved	*/
3197 
3198 /*
3199  * University Copyright- Copyright (c) 1982, 1986, 1988
3200  * The Regents of the University of California
3201  * All Rights Reserved
3202  *
3203  * University Acknowledgment- Portions of this document are derived from
3204  * software developed by the University of California, Berkeley, and its
3205  * contributors.
3206  */
3207 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2
3208 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2
3209 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3210 /*
3211  * The sigset_t type is defined in <sys/signal.h> and duplicated
3212  * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
3213  * now allows the visibility of signal.h in this header, however
3214  * an order of inclusion problem occurs as a result of inclusion
3215  * of <sys/select.h> in <signal.h> under certain conditions.
3216  * Rather than include <sys/signal.h> here, we've duplicated
3217  * the sigset_t type instead. This type is required for the XPG6
3218  * introduced pselect() function also declared in this header.
3219  */
3220 
3221 
3222 typedef struct { /* signal set type */
3223  unsigned int __sigbits[4];
3224 } sigset_t;
3225 
3226 
3227 
3228 
3229 /*
3230  * Select uses bit masks of file descriptors in longs.
3231  * These macros manipulate such bit fields.
3232  * FD_SETSIZE may be defined by the user, but the default here
3233  * should be >= NOFILE (param.h).
3234  */
3235 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3236 typedef long fd_mask;
3237 
3238 typedef long fds_mask;
3239 
3240 /*
3241  *  The value of _NBBY needs to be consistant with the value
3242  *  of NBBY in <sys/param.h>.
3243  */
3244 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3245 typedef struct fd_set {
3246 
3247 
3248 
3249  long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
3250 } fd_set;
3251 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h"
3252 extern int select(int, fd_set *, fd_set *,
3253  fd_set *, struct timeval *);
3254 
3255 
3256 extern int pselect(int, fd_set *, fd_set *,
3257  fd_set *, const struct timespec *,
3258  const sigset_t *);
3259 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2
3260 
3261 
3262 
3263 /*
3264  * _VOID was defined to be either void or char but this is not
3265  * required because previous SunOS compilers have accepted the void
3266  * type. However, because many system header and source files use the
3267  * void keyword, the volatile keyword, and ANSI C function prototypes,
3268  * non-ANSI compilers cannot compile the system anyway. The _VOID macro
3269  * should therefore not be used and remains for source compatibility
3270  * only.
3271  */
3272 /* CSTYLED */
3273 # 31 "is_local_host.c" 2
3274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
3275 /*
3276  * CDDL HEADER START
3277  *
3278  * The contents of this file are subject to the terms of the
3279  * Common Development and Distribution License (the "License").
3280  * You may not use this file except in compliance with the License.
3281  *
3282  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3283  * or http://www.opensolaris.org/os/licensing.
3284  * See the License for the specific language governing permissions
3285  * and limitations under the License.
3286  *
3287  * When distributing Covered Code, include this CDDL HEADER in each
3288  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3289  * If applicable, add the following below this CDDL HEADER, with the
3290  * fields enclosed by brackets "[]" replaced with your own identifying
3291  * information: Portions Copyright [yyyy] [name of copyright owner]
3292  *
3293  * CDDL HEADER END
3294  */
3295 /*
3296  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3297  *
3298  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
3299  */
3300 
3301 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
3302 /*	  All Rights Reserved	*/
3303 
3304 /*
3305  * University Copyright- Copyright (c) 1982, 1986, 1988
3306  * The Regents of the University of California
3307  * All Rights Reserved
3308  *
3309  * University Acknowledgment- Portions of this document are derived from
3310  * software developed by the University of California, Berkeley, and its
3311  * contributors.
3312  */
3313 
3314 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
3315 
3316 
3317 
3318 
3319 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3320 /*
3321  * CDDL HEADER START
3322  *
3323  * The contents of this file are subject to the terms of the
3324  * Common Development and Distribution License (the "License").
3325  * You may not use this file except in compliance with the License.
3326  *
3327  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3328  * or http://www.opensolaris.org/os/licensing.
3329  * See the License for the specific language governing permissions
3330  * and limitations under the License.
3331  *
3332  * When distributing Covered Code, include this CDDL HEADER in each
3333  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3334  * If applicable, add the following below this CDDL HEADER, with the
3335  * fields enclosed by brackets "[]" replaced with your own identifying
3336  * information: Portions Copyright [yyyy] [name of copyright owner]
3337  *
3338  * CDDL HEADER END
3339  */
3340 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3341 /*	  All Rights Reserved  	*/
3342 
3343 
3344 /*
3345  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3346  * Use is subject to license terms.
3347  *
3348  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3349  * Copyright 2016 Joyent, Inc.
3350  */
3351 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
3352 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1
3353 /*
3354  * CDDL HEADER START
3355  *
3356  * The contents of this file are subject to the terms of the
3357  * Common Development and Distribution License (the "License").
3358  * You may not use this file except in compliance with the License.
3359  *
3360  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3361  * or http://www.opensolaris.org/os/licensing.
3362  * See the License for the specific language governing permissions
3363  * and limitations under the License.
3364  *
3365  * When distributing Covered Code, include this CDDL HEADER in each
3366  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3367  * If applicable, add the following below this CDDL HEADER, with the
3368  * fields enclosed by brackets "[]" replaced with your own identifying
3369  * information: Portions Copyright [yyyy] [name of copyright owner]
3370  *
3371  * CDDL HEADER END
3372  */
3373 /*
3374  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3375  *
3376  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
3377  * Use is subject to license terms.
3378  *
3379  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3380  * Copyright (c) 2015, Joyent, Inc.  All rights reserved.
3381  */
3382 
3383 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3384 /*	  All Rights Reserved  	*/
3385 
3386 /*
3387  * University Copyright- Copyright (c) 1982, 1986, 1988
3388  * The Regents of the University of California
3389  * All Rights Reserved
3390  *
3391  * University Acknowledgment- Portions of this document are derived from
3392  * software developed by the University of California, Berkeley, and its
3393  * contributors.
3394  */
3395 
3396 
3397 
3398 
3399 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3400 /*
3401  * CDDL HEADER START
3402  *
3403  * The contents of this file are subject to the terms of the
3404  * Common Development and Distribution License (the "License").
3405  * You may not use this file except in compliance with the License.
3406  *
3407  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3408  * or http://www.opensolaris.org/os/licensing.
3409  * See the License for the specific language governing permissions
3410  * and limitations under the License.
3411  *
3412  * When distributing Covered Code, include this CDDL HEADER in each
3413  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3414  * If applicable, add the following below this CDDL HEADER, with the
3415  * fields enclosed by brackets "[]" replaced with your own identifying
3416  * information: Portions Copyright [yyyy] [name of copyright owner]
3417  *
3418  * CDDL HEADER END
3419  */
3420 
3421 /*
3422  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3423  * Copyright 2016 Joyent, Inc.
3424  *
3425  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3426  * Use is subject to license terms.
3427  */
3428 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
3429 
3430 
3431 
3432 
3433 
3434 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
3435 /*
3436  * CDDL HEADER START
3437  *
3438  * The contents of this file are subject to the terms of the
3439  * Common Development and Distribution License (the "License").
3440  * You may not use this file except in compliance with the License.
3441  *
3442  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3443  * or http://www.opensolaris.org/os/licensing.
3444  * See the License for the specific language governing permissions
3445  * and limitations under the License.
3446  *
3447  * When distributing Covered Code, include this CDDL HEADER in each
3448  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3449  * If applicable, add the following below this CDDL HEADER, with the
3450  * fields enclosed by brackets "[]" replaced with your own identifying
3451  * information: Portions Copyright [yyyy] [name of copyright owner]
3452  *
3453  * CDDL HEADER END
3454  */
3455 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3456 /*	  All Rights Reserved  	*/
3457 
3458 
3459 /*
3460  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3461  * Use is subject to license terms.
3462  *
3463  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
3464  * Copyright 2016 Joyent, Inc.
3465  */
3466 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2
3467 
3468 /*
3469  * I/O parameter information.  A uio structure describes the I/O which
3470  * is to be performed by an operation.  Typically the data movement will
3471  * be performed by a routine such as uiomove(), which updates the uio
3472  * structure to reflect what was done.
3473  */
3474 
3475 
3476 
3477 
3478 
3479 
3480 
3481 typedef struct iovec {
3482  caddr_t iov_base;
3483 
3484 
3485 
3486  long iov_len;
3487 
3488 } iovec_t;
3489 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3490 /*
3491  * Segment flag values.
3492  */
3493 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t;
3494 
3495 typedef struct uio {
3496  iovec_t *uio_iov; /* pointer to array of iovecs */
3497  int uio_iovcnt; /* number of iovecs */
3498  lloff_t _uio_offset; /* file offset */
3499  uio_seg_t uio_segflg; /* address space (kernel or user) */
3500  uint16_t uio_fmode; /* file mode flags */
3501  uint16_t uio_extflg; /* extended flags */
3502  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
3503  ssize_t uio_resid; /* residual count */
3504 } uio_t;
3505 
3506 /*
3507  * Extended uio_t uioa_t used for asynchronous uio.
3508  *
3509  * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c"
3510  *	 as there isn't a formal definition of IOV_MAX for the kernel.
3511  */
3512 
3513 
3514 typedef struct uioa_page_s { /* locked uio_iov state */
3515  int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */
3516  void **uioa_ppp; /* page_t or pfn_t arrary */
3517  caddr_t uioa_base; /* address base */
3518  size_t uioa_len; /* span length */
3519 } uioa_page_t;
3520 
3521 typedef struct uioa_s {
3522  iovec_t *uio_iov; /* pointer to array of iovecs */
3523  int uio_iovcnt; /* number of iovecs */
3524  lloff_t _uio_offset; /* file offset */
3525  uio_seg_t uio_segflg; /* address space (kernel or user) */
3526  uint16_t uio_fmode; /* file mode flags */
3527  uint16_t uio_extflg; /* extended flags */
3528  lloff_t _uio_limit; /* u-limit (maximum byte offset) */
3529  ssize_t uio_resid; /* residual count */
3530  /*
3531 	 * uioa extended members.
3532 	 */
3533  uint32_t uioa_state; /* state of asynch i/o */
3534  ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */
3535  uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */
3536  void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */
3537  void *uioa_hwst[4]; /* opaque hardware state */
3538  uioa_page_t uioa_locked[16]; /* Per iov locked pages */
3539 } uioa_t;
3540 
3541 /*
3542  * uio extensions
3543  *
3544  * PSARC 2009/478: Copy Reduction Interfaces
3545  */
3546 typedef enum xuio_type {
3547  UIOTYPE_ASYNCIO,
3548  UIOTYPE_ZEROCOPY
3549 } xuio_type_t;
3550 
3551 typedef struct xuio {
3552  uio_t xu_uio; /* Embedded UIO structure */
3553 
3554  /* Extended uio fields */
3555  enum xuio_type xu_type; /* What kind of uio structure? */
3556  union {
3557   /* Async I/O Support, intend to replace uioa_t. */
3558   struct {
3559    uint32_t xu_a_state; /* state of async i/o */
3560    /* bytes that have been uioamove()ed */
3561    ssize_t xu_a_mbytes;
3562    uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */
3563    /* pointer into lcur->uioa_ppp[] */
3564    void **xu_a_lppp;
3565    void *xu_a_hwst[4]; /* opaque hardware state */
3566    /* Per iov locked pages */
3567    uioa_page_t xu_a_locked[16];
3568   } xu_aio;
3569 
3570   /*
3571 		 * Copy Reduction Support -- facilate loaning / returning of
3572 		 * filesystem cache buffers.
3573 		 */
3574   struct {
3575    int xu_zc_rw; /* read or write buffer */
3576    void *xu_zc_priv; /* fs specific */
3577   } xu_zc;
3578  } xu_ext;
3579 } xuio_t;
3580 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3581 /*
3582  * I/O direction.
3583  */
3584 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t;
3585 
3586 /*
3587  * uio_extflg: extended flags
3588  *
3589  * NOTE: This flag will be used in uiomove to determine if non-temporal
3590  * access, ie, access bypassing caches, should be used.  Filesystems that
3591  * don't initialize this field could experience suboptimal performance due to
3592  * the random data the field contains.
3593  *
3594  * NOTE: This flag is also used by uioasync callers to pass an extended
3595  * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all
3596  * consumers of a uioa_t require the uio_extflg to be initialized.
3597  */
3598 
3599 
3600 
3601 
3602 
3603 
3604 /*
3605  * Global uioasync capability shadow state.
3606  */
3607 typedef struct uioasync_s {
3608  boolean_t enabled; /* Is uioasync enabled? */
3609  size_t mincnt; /* Minimum byte count for use of */
3610 } uioasync_t;
3611 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3612 extern ssize_t readv(int, const struct iovec *, int);
3613 extern ssize_t writev(int, const struct iovec *, int);
3614 
3615 /*
3616  * When in the large file compilation environment,
3617  * map preadv/pwritev to their 64 bit offset versions
3618  */
3619 
3620 
3621 
3622 # 266 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3623 #pragma redefine_extname preadv preadv64
3624 # 266 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3625 
3626 
3627 # 267 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3628 #pragma redefine_extname pwritev pwritev64
3629 # 267 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3630 
3631 
3632 
3633 
3634 
3635 
3636 
3637 /* In the LP64 compilation environment, the APIs are already large file */
3638 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h"
3639 extern ssize_t preadv(int, const struct iovec *, int, off_t);
3640 extern ssize_t pwritev(int, const struct iovec *, int, off_t);
3641 
3642 /*
3643  * preadv64 and pwritev64 should be defined when:
3644  * - Using the transitional compilation environment, and not
3645  *     the large file compilation environment.
3646  */
3647 
3648 
3649 extern ssize_t preadv64(int, const struct iovec *, int, off64_t);
3650 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t);
3651 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
3652 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
3653 /*
3654  * CDDL HEADER START
3655  *
3656  * The contents of this file are subject to the terms of the
3657  * Common Development and Distribution License (the "License").
3658  * You may not use this file except in compliance with the License.
3659  *
3660  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3661  * or http://www.opensolaris.org/os/licensing.
3662  * See the License for the specific language governing permissions
3663  * and limitations under the License.
3664  *
3665  * When distributing Covered Code, include this CDDL HEADER in each
3666  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3667  * If applicable, add the following below this CDDL HEADER, with the
3668  * fields enclosed by brackets "[]" replaced with your own identifying
3669  * information: Portions Copyright [yyyy] [name of copyright owner]
3670  *
3671  * CDDL HEADER END
3672  */
3673 
3674 /*
3675  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
3676  * Copyright 2016 Joyent, Inc.
3677  *
3678  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3679  * Use is subject to license terms.
3680  */
3681 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
3682 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
3683 /*
3684  * CDDL HEADER START
3685  *
3686  * The contents of this file are subject to the terms of the
3687  * Common Development and Distribution License (the "License").
3688  * You may not use this file except in compliance 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 2009 Sun Microsystems, Inc.  All rights reserved.
3705  * Use is subject to license terms.
3706  */
3707 
3708 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
3709 /*	  All Rights Reserved	*/
3710 
3711 /*
3712  * Portions of this source code were derived from Berkeley 4.3 BSD
3713  * under license from the Regents of the University of California.
3714  */
3715 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h"
3716 typedef uint16_t sa_family_t;
3717 
3718 
3719 /*
3720  * Structure used by kernel to store most
3721  * addresses.
3722  */
3723 struct sockaddr {
3724  sa_family_t sa_family; /* address family */
3725  char sa_data[14]; /* up to 14 bytes of direct address */
3726 };
3727 
3728 
3729 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1
3730 /*
3731  * CDDL HEADER START
3732  *
3733  * The contents of this file are subject to the terms of the
3734  * Common Development and Distribution License (the "License").
3735  * You may not use this file except in compliance with the License.
3736  *
3737  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3738  * or http://www.opensolaris.org/os/licensing.
3739  * See the License for the specific language governing permissions
3740  * and limitations under the License.
3741  *
3742  * When distributing Covered Code, include this CDDL HEADER in each
3743  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3744  * If applicable, add the following below this CDDL HEADER, with the
3745  * fields enclosed by brackets "[]" replaced with your own identifying
3746  * information: Portions Copyright [yyyy] [name of copyright owner]
3747  *
3748  * CDDL HEADER END
3749  */
3750 /*
3751  * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
3752  */
3753 
3754 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
3755 /*	  All Rights Reserved  	*/
3756 
3757 /*
3758  * University Copyright- Copyright (c) 1982, 1986, 1988
3759  * The Regents of the University of California
3760  * All Rights Reserved
3761  *
3762  * University Acknowledgment- Portions of this document are derived from
3763  * software developed by the University of California, Berkeley, and its
3764  * contributors.
3765  */
3766 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
3767 /*
3768  * Definitions for UNIX IPC domain.
3769  */
3770 struct sockaddr_un {
3771  sa_family_t sun_family; /* AF_UNIX */
3772  char sun_path[108]; /* path name (gag) */
3773 };
3774 
3775 
3776 
3777 /*
3778  * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to
3779  * change.
3780  *
3781  * Also, include a strlen() prototype, and we have to protect it w.r.t.
3782  * UNIX{98,03}.  And because there's strlen, we need size_t as well.
3783  */
3784 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h"
3785 extern size_t strlen(const char *);
3786 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
3787 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1
3788 /*
3789  * Copyright 1993-2003 Sun Microsystems, Inc.  All rights reserved.
3790  * Use is subject to license terms.
3791  */
3792 /*
3793  * Copyright (c) 1990, 1993
3794  *	The Regents of the University of California.  All rights reserved.
3795  *
3796  * Redistribution and use in source and binary forms, with or without
3797  * modification, are permitted provided that the following conditions
3798  * are met:
3799  * 1. Redistributions of source code must retain the above copyright
3800  *    notice, this list of conditions and the following disclaimer.
3801  * 2. Redistributions in binary form must reproduce the above copyright
3802  *    notice, this list of conditions and the following disclaimer in the
3803  *    documentation and/or other materials provided with the distribution.
3804  * 3. All advertising materials mentioning features or use of this software
3805  *    must display the following acknowledgement:
3806  *	This product includes software developed by the University of
3807  *	California, Berkeley and its contributors.
3808  * 4. Neither the name of the University nor the names of its contributors
3809  *    may be used to endorse or promote products derived from this software
3810  *    without specific prior written permission.
3811  *
3812  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
3813  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3814  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3815  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
3816  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3817  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3818  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3819  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3820  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3821  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3822  * SUCH DAMAGE.
3823  */
3824 
3825 
3826 
3827 
3828 #pragma ident "%Z%%M%	%I%	%E% SMI"
3829 /* from UCB 8.1 (Berkeley) 6/10/93 */
3830 
3831 
3832 
3833 
3834 
3835 /*
3836  * A Link-Level Sockaddr may specify the interface in one of two
3837  * ways: either by means of a system-provided index number (computed
3838  * anew and possibly differently on every reboot), or by a human-readable
3839  * string such as "il0" (for managerial convenience).
3840  *
3841  * Census taking actions, such as something akin to SIOCGCONF would return
3842  * both the index and the human name.
3843  *
3844  * High volume transactions (such as giving a link-level ``from'' address
3845  * in a recvfrom or recvmsg call) may be likely only to provide the indexed
3846  * form, (which requires fewer copy operations and less space).
3847  *
3848  * The form and interpretation  of the link-level address is purely a matter
3849  * of convention between the device driver and its consumers; however, it is
3850  * expected that all drivers for an interface of a given if_type will agree.
3851  */
3852 
3853 /*
3854  * Structure of a Link-Level sockaddr:
3855  */
3856 struct sockaddr_dl {
3857  ushort_t sdl_family; /* AF_LINK */
3858  ushort_t sdl_index; /* if != 0, system given index for interface */
3859  uchar_t sdl_type; /* interface type */
3860  uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */
3861  uchar_t sdl_alen; /* link level address length */
3862  uchar_t sdl_slen; /* link layer selector length */
3863  char sdl_data[244]; /* contains both if name and ll address */
3864 };
3865 
3866 
3867 
3868 
3869 extern char *_link_ntoa(const unsigned char *, char *, int, int);
3870 extern unsigned char *_link_aton(const char *, int *);
3871 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2
3872 
3873 
3874 
3875 /*
3876  * sockaddr_storage:
3877  * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr
3878  * structures. Has sufficient size and alignment for those sockaddrs.
3879  */
3880 
3881 /*
3882  * Desired maximum size, alignment size and related types.
3883  */
3884 
3885 
3886 /*
3887  * To represent desired sockaddr max alignment for platform, a
3888  * type is chosen which may depend on implementation platform architecture.
3889  * Type chosen based on alignment size restrictions from <sys/isa_defs.h>.
3890  * We desire to force up to (but no more than) 64-bit (8 byte) alignment,
3891  * on platforms where it is possible to do so. (e.g not possible on ia32).
3892  * For all currently supported platforms by our implementation
3893  * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64)
3894  * type "double" is suitable for that intent.
3895  *
3896  * Note: Type "double" is chosen over the more obvious integer type int64_t.
3897  *   int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32.
3898  */
3899 typedef double sockaddr_maxalign_t;
3900 
3901 
3902 
3903 /*
3904  * Definitions used for sockaddr_storage structure paddings design.
3905  */
3906 
3907 
3908 
3909 
3910 struct sockaddr_storage {
3911  sa_family_t ss_family; /* Address family */
3912  /* Following fields are implementation specific */
3913  char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))];
3914  sockaddr_maxalign_t _ss_align;
3915  char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))];
3916 };
3917 
3918 
3919 /*
3920  * To be compatible with the Linux interfaces used, this structure is
3921  * placed in socket_impl.h so that an include for <sys/socket.h> will
3922  * pickup this structure. This structure is for use with PF_PACKET
3923  * sockets.
3924  */
3925 struct sockaddr_ll {
3926  uint16_t sll_family;
3927  uint16_t sll_protocol;
3928  int32_t sll_ifindex;
3929  uint16_t sll_hatype;
3930  uint8_t sll_pkttype;
3931  uint8_t sll_halen;
3932  uint8_t sll_addr[8];
3933 };
3934 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
3935 
3936 
3937 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1
3938 /*
3939  * CDDL HEADER START
3940  *
3941  * The contents of this file are subject to the terms of the
3942  * Common Development and Distribution License, Version 1.0 only
3943  * (the "License").  You may not use this file except in compliance
3944  * with the License.
3945  *
3946  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3947  * or http://www.opensolaris.org/os/licensing.
3948  * See the License for the specific language governing permissions
3949  * and limitations under the License.
3950  *
3951  * When distributing Covered Code, include this CDDL HEADER in each
3952  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3953  * If applicable, add the following below this CDDL HEADER, with the
3954  * fields enclosed by brackets "[]" replaced with your own identifying
3955  * information: Portions Copyright [yyyy] [name of copyright owner]
3956  *
3957  * CDDL HEADER END
3958  */
3959 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
3960 /*	  All Rights Reserved  	*/
3961 
3962 
3963 /*
3964  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
3965  *
3966  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3967  * Use is subject to license terms.
3968  */
3969 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
3970 struct netconfig {
3971  char *nc_netid; /* network identifier		*/
3972  unsigned int nc_semantics; /* defined below		*/
3973  unsigned int nc_flag; /* defined below		*/
3974  char *nc_protofmly; /* protocol family name		*/
3975  char *nc_proto; /* protocol name		*/
3976  char *nc_device; /* device name for network id	*/
3977  unsigned int nc_nlookups; /* # of entries in nc_lookups	*/
3978  char **nc_lookups; /* list of lookup directories	*/
3979  unsigned int nc_unused[8]; /* borrowed for lockd etc.	*/
3980 };
3981 
3982 typedef struct {
3983  struct netconfig **nc_head;
3984  struct netconfig **nc_curr;
3985 } NCONF_HANDLE;
3986 
3987 /*
3988  *	Values of nc_semantics
3989  */
3990 
3991 
3992 
3993 
3994 
3995 /*
3996  * NOT FOR PUBLIC USE, Solaris internal only.
3997  * This value of nc_semantics is strictly for use of Remote Direct
3998  * Memory Access provider interfaces in Solaris only and not for
3999  * general use. Do not use this value for general purpose user or
4000  * kernel programming. If used the behavior is undefined.
4001  * This is a PRIVATE interface to be used by Solaris kRPC only.
4002  */
4003 
4004 
4005 /*
4006  *	Values of nc_flag
4007  */
4008 
4009 
4010 
4011 
4012 
4013 /*
4014  *	Values of nc_protofmly
4015  */
4016 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h"
4017 /*
4018  * NOT FOR PUBLIC USE, Solaris internal only.
4019  * This value of nc_semantics is strictly for use of Remote Direct
4020  * Memory Access provider interfaces in Solaris only and not for
4021  * general use. Do not use this value for general purpose user or
4022  * kernel programming. If used the behavior is undefined.
4023  * This is a PRIVATE interface to be used by Solaris kRPC only.
4024  */
4025 
4026 
4027 /*
4028  *	Values for nc_proto
4029  */
4030 
4031 
4032 
4033 
4034 
4035 
4036 /*
4037  * 	Values for nc_proto for "rdma" protofmly
4038  */
4039 
4040 
4041 
4042 
4043 extern void *setnetconfig(void);
4044 extern int endnetconfig(void *);
4045 extern struct netconfig *getnetconfig(void *);
4046 extern struct netconfig *getnetconfigent(const char *);
4047 extern void freenetconfigent(struct netconfig *);
4048 extern void *setnetpath(void);
4049 extern int endnetpath(void *);
4050 extern struct netconfig *getnetpath(void *);
4051 extern void nc_perror(const char *);
4052 extern char *nc_sperror(void);
4053 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
4054 
4055 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
4056 /*
4057  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4058  * Use is subject to license terms.
4059  *
4060  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
4061  */
4062 /*
4063  * Copyright (c) 1982, 1986 Regents of the University of California.
4064  * All rights reserved.
4065  *
4066  * Redistribution and use in source and binary forms are permitted
4067  * provided that this notice is preserved and that due credit is given
4068  * to the University of California at Berkeley. The name of the University
4069  * may not be used to endorse or promote products derived from this
4070  * software without specific prior written permission. This software
4071  * is provided ``as is'' without express or implied warranty.
4072  */
4073 
4074 /*
4075  * Constants and structures defined by the internet system,
4076  * according to following documents
4077  *
4078  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
4079  *	http://www.iana.org/assignments/protocol-numbers
4080  *	http://www.iana.org/assignments/port-numbers
4081  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
4082  *
4083  */
4084 
4085 
4086 
4087 
4088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4089 /*
4090  * CDDL HEADER START
4091  *
4092  * The contents of this file are subject to the terms of the
4093  * Common Development and Distribution License (the "License").
4094  * You may not use this file except in compliance with the License.
4095  *
4096  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4097  * or http://www.opensolaris.org/os/licensing.
4098  * See the License for the specific language governing permissions
4099  * and limitations under the License.
4100  *
4101  * When distributing Covered Code, include this CDDL HEADER in each
4102  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4103  * If applicable, add the following below this CDDL HEADER, with the
4104  * fields enclosed by brackets "[]" replaced with your own identifying
4105  * information: Portions Copyright [yyyy] [name of copyright owner]
4106  *
4107  * CDDL HEADER END
4108  */
4109 
4110 /*
4111  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
4112  * Copyright 2016 Joyent, Inc.
4113  *
4114  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
4115  * Use is subject to license terms.
4116  */
4117 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
4118 
4119 
4120 
4121 
4122 
4123 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4124 /*
4125  * CDDL HEADER START
4126  *
4127  * The contents of this file are subject to the terms of the
4128  * Common Development and Distribution License (the "License").
4129  * You may not use this file except in compliance with the License.
4130  *
4131  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4132  * or http://www.opensolaris.org/os/licensing.
4133  * See the License for the specific language governing permissions
4134  * and limitations under the License.
4135  *
4136  * When distributing Covered Code, include this CDDL HEADER in each
4137  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4138  * If applicable, add the following below this CDDL HEADER, with the
4139  * fields enclosed by brackets "[]" replaced with your own identifying
4140  * information: Portions Copyright [yyyy] [name of copyright owner]
4141  *
4142  * CDDL HEADER END
4143  */
4144 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4145 /*	  All Rights Reserved  	*/
4146 
4147 
4148 /*
4149  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4150  * Use is subject to license terms.
4151  *
4152  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4153  * Copyright 2016 Joyent, Inc.
4154  */
4155 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
4156 
4157 
4158 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1
4159 /*
4160  * CDDL HEADER START
4161  *
4162  * The contents of this file are subject to the terms of the
4163  * Common Development and Distribution License (the "License").
4164  * You may not use this file except in compliance with the License.
4165  *
4166  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4167  * or http://www.opensolaris.org/os/licensing.
4168  * See the License for the specific language governing permissions
4169  * and limitations under the License.
4170  *
4171  * When distributing Covered Code, include this CDDL HEADER in each
4172  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4173  * If applicable, add the following below this CDDL HEADER, with the
4174  * fields enclosed by brackets "[]" replaced with your own identifying
4175  * information: Portions Copyright [yyyy] [name of copyright owner]
4176  *
4177  * CDDL HEADER END
4178  */
4179 /*
4180  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4181  * Use is subject to license terms.
4182  */
4183 
4184 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
4185 /*	  All Rights Reserved	*/
4186 
4187 /*
4188  * Portions of this source code were derived from Berkeley 4.3 BSD
4189  * under license from the Regents of the University of California.
4190  */
4191 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
4192 
4193 
4194 
4195 
4196 
4197 /*
4198  * The socklen definitions are reproduced here from sys/socket.h so as to
4199  * not introduce that namespace into existing users of netinet/in.h.
4200  */
4201 
4202 
4203 
4204 typedef uint32_t socklen_t;
4205 
4206 
4207 
4208 
4209 
4210 typedef void *Psocklen_t;
4211 
4212 
4213 
4214 
4215 
4216 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1
4217 /*
4218  * CDDL HEADER START
4219  *
4220  * The contents of this file are subject to the terms of the
4221  * Common Development and Distribution License (the "License").
4222  * You may not use this file except in compliance with the License.
4223  *
4224  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4225  * or http://www.opensolaris.org/os/licensing.
4226  * See the License for the specific language governing permissions
4227  * and limitations under the License.
4228  *
4229  * When distributing Covered Code, include this CDDL HEADER in each
4230  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4231  * If applicable, add the following below this CDDL HEADER, with the
4232  * fields enclosed by brackets "[]" replaced with your own identifying
4233  * information: Portions Copyright [yyyy] [name of copyright owner]
4234  *
4235  * CDDL HEADER END
4236  */
4237 /*
4238  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4239  * Use is subject to license terms.
4240  */
4241 
4242 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4243 /*	  All Rights Reserved  	*/
4244 
4245 
4246 
4247 
4248 
4249 /*
4250  * For source compatibility
4251  */
4252 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
4253 /*
4254  * CDDL HEADER START
4255  *
4256  * The contents of this file are subject to the terms of the
4257  * Common Development and Distribution License (the "License").
4258  * You may not use this file except in compliance with the License.
4259  *
4260  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4261  * or http://www.opensolaris.org/os/licensing.
4262  * See the License for the specific language governing permissions
4263  * and limitations under the License.
4264  *
4265  *
4266  * When distributing Covered Code, include this CDDL HEADER in each
4267  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4268  * If applicable, add the following below this CDDL HEADER, with the
4269  * fields enclosed by brackets "[]" replaced with your own identifying
4270  * information: Portions Copyright [yyyy] [name of copyright owner]
4271  *
4272  * CDDL HEADER END
4273  */
4274 
4275 /*
4276  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
4277  * Use is subject to license terms.
4278  * Copyright 2016 Joyent, Inc.
4279  */
4280 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
4281 
4282 
4283 
4284 
4285 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1
4286 /*
4287  * CDDL HEADER START
4288  *
4289  * The contents of this file are subject to the terms of the
4290  * Common Development and Distribution License, Version 1.0 only
4291  * (the "License").  You may not use this file except in compliance
4292  * with the License.
4293  *
4294  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4295  * or http://www.opensolaris.org/os/licensing.
4296  * See the License for the specific language governing permissions
4297  * and limitations under the License.
4298  *
4299  * When distributing Covered Code, include this CDDL HEADER in each
4300  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4301  * If applicable, add the following below this CDDL HEADER, with the
4302  * fields enclosed by brackets "[]" replaced with your own identifying
4303  * information: Portions Copyright [yyyy] [name of copyright owner]
4304  *
4305  * CDDL HEADER END
4306  */
4307 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4308 /*	  All Rights Reserved  	*/
4309 
4310 
4311 /*
4312  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4313  *
4314  * Copyright (c) 1995, 1998 by Sun Microsystems, Inc.
4315  * All rights reserved.
4316  */
4317 
4318 /*
4319  * Copyright 2015, Joyent, Inc.
4320  */
4321 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
4322 /*
4323  * Structure of file descriptor/event pairs supplied in
4324  * the poll arrays.
4325  */
4326 typedef struct pollfd {
4327  int fd; /* file desc to poll */
4328  short events; /* events of interest on fd */
4329  short revents; /* events that occurred on fd */
4330 } pollfd_t;
4331 
4332 typedef unsigned long nfds_t;
4333 
4334 /*
4335  * Testable select events
4336  */
4337 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
4338 /*
4339  * Non-testable poll events (may not be specified in events field,
4340  * but may be returned in revents field).
4341  */
4342 
4343 
4344 
4345 
4346 /*
4347  * These events will never be specified in revents, but may be specified in
4348  * events to control /dev/poll behavior.
4349  */
4350 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h"
4351 int poll(struct pollfd *, nfds_t, int);
4352 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
4353 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1
4354 /*
4355  * CDDL HEADER START
4356  *
4357  * The contents of this file are subject to the terms of the
4358  * Common Development and Distribution License, Version 1.0 only
4359  * (the "License").  You may not use this file except in compliance
4360  * with the License.
4361  *
4362  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4363  * or http://www.opensolaris.org/os/licensing.
4364  * See the License for the specific language governing permissions
4365  * and limitations under the License.
4366  *
4367  * When distributing Covered Code, include this CDDL HEADER in each
4368  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4369  * If applicable, add the following below this CDDL HEADER, with the
4370  * fields enclosed by brackets "[]" replaced with your own identifying
4371  * information: Portions Copyright [yyyy] [name of copyright owner]
4372  *
4373  * CDDL HEADER END
4374  */
4375 /*
4376  * Copyright (c) 1997-1998 by Sun Microsystems, Inc.
4377  * All rights reserved.
4378  */
4379 
4380 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4381 /*	  All Rights Reserved  	*/
4382 
4383 
4384 
4385 
4386 
4387 #pragma ident "%Z%%M%	%I%	%E% SMI"
4388 
4389 
4390 
4391 
4392 
4393 /*
4394  * This file contains all machine-dependent declarations
4395  * in STREAMS.
4396  */
4397 
4398 /*
4399  * Copy data from one data buffer to another.
4400  * The addresses must be word aligned - if not, use bcopy!
4401  */
4402 
4403 
4404 /*
4405  * save the address of the calling function on the 3b2 to
4406  * enable tracking of who is allocating message blocks
4407  */
4408 
4409 
4410 /*
4411  * macro to check pointer alignment
4412  * (true if alignment is sufficient for worst case)
4413  */
4414 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
4415 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1
4416 /*
4417  * CDDL HEADER START
4418  *
4419  * The contents of this file are subject to the terms of the
4420  * Common Development and Distribution License (the "License").
4421  * You may not use this file except in compliance with the License.
4422  *
4423  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4424  * or http://www.opensolaris.org/os/licensing.
4425  * See the License for the specific language governing permissions
4426  * and limitations under the License.
4427  *
4428  * When distributing Covered Code, include this CDDL HEADER in each
4429  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4430  * If applicable, add the following below this CDDL HEADER, with the
4431  * fields enclosed by brackets "[]" replaced with your own identifying
4432  * information: Portions Copyright [yyyy] [name of copyright owner]
4433  *
4434  * CDDL HEADER END
4435  */
4436 /*
4437  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4438  * Use is subject to license terms.
4439  */
4440 
4441 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
4442 /*	  All Rights Reserved  	*/
4443 
4444 /*
4445  * Portions of this source code were derived from Berkeley 4.3 BSD
4446  * under license from the Regents of the University of California.
4447  */
4448 
4449 
4450 
4451 
4452 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4453 /*
4454  * CDDL HEADER START
4455  *
4456  * The contents of this file are subject to the terms of the
4457  * Common Development and Distribution License (the "License").
4458  * You may not use this file except in compliance with the License.
4459  *
4460  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4461  * or http://www.opensolaris.org/os/licensing.
4462  * See the License for the specific language governing permissions
4463  * and limitations under the License.
4464  *
4465  * When distributing Covered Code, include this CDDL HEADER in each
4466  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4467  * If applicable, add the following below this CDDL HEADER, with the
4468  * fields enclosed by brackets "[]" replaced with your own identifying
4469  * information: Portions Copyright [yyyy] [name of copyright owner]
4470  *
4471  * CDDL HEADER END
4472  */
4473 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4474 /*	  All Rights Reserved  	*/
4475 
4476 
4477 /*
4478  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4479  * Use is subject to license terms.
4480  *
4481  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4482  * Copyright 2016 Joyent, Inc.
4483  */
4484 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2
4485 
4486 
4487 
4488 
4489 
4490 /*
4491  * The credential is an opaque kernel private data structure defined in
4492  * <sys/cred_impl.h>.
4493  */
4494 
4495 typedef struct cred cred_t;
4496 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
4497 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1
4498 /*
4499  * CDDL HEADER START
4500  *
4501  * The contents of this file are subject to the terms of the
4502  * Common Development and Distribution License, Version 1.0 only
4503  * (the "License").  You may not use this file except in compliance
4504  * with the License.
4505  *
4506  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4507  * or http://www.opensolaris.org/os/licensing.
4508  * See the License for the specific language governing permissions
4509  * and limitations under the License.
4510  *
4511  * When distributing Covered Code, include this CDDL HEADER in each
4512  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4513  * If applicable, add the following below this CDDL HEADER, with the
4514  * fields enclosed by brackets "[]" replaced with your own identifying
4515  * information: Portions Copyright [yyyy] [name of copyright owner]
4516  *
4517  * CDDL HEADER END
4518  */
4519 /*
4520  * Copyright (c) 1991-1998 by Sun Microsystems, Inc.
4521  * All rights reserved.
4522  */
4523 
4524 /*
4525  * t_lock.h:	Prototypes for disp_locks, plus include files
4526  *		that describe the interfaces to kernel synch.
4527  *		objects.
4528  */
4529 
4530 
4531 
4532 
4533 #pragma ident "%Z%%M%	%I%	%E% SMI"
4534 
4535 
4536 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1
4537 /*
4538  * CDDL HEADER START
4539  *
4540  * The contents of this file are subject to the terms of the
4541  * Common Development and Distribution License (the "License").
4542  * You may not use this file except in compliance with the License.
4543  *
4544  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4545  * or http://www.opensolaris.org/os/licensing.
4546  * See the License for the specific language governing permissions
4547  * and limitations under the License.
4548  *
4549  * When distributing Covered Code, include this CDDL HEADER in each
4550  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4551  * If applicable, add the following below this CDDL HEADER, with the
4552  * fields enclosed by brackets "[]" replaced with your own identifying
4553  * information: Portions Copyright [yyyy] [name of copyright owner]
4554  *
4555  * CDDL HEADER END
4556  */
4557 /*
4558  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
4559  * Use is subject to license terms.
4560  * Copyright 2016 Joyent, Inc.
4561  */
4562 
4563 
4564 
4565 
4566 #pragma ident "%Z%%M%	%I%	%E% SMI"
4567 
4568 
4569 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4570 /*
4571  * CDDL HEADER START
4572  *
4573  * The contents of this file are subject to the terms of the
4574  * Common Development and Distribution License (the "License").
4575  * You may not use this file except in compliance with the License.
4576  *
4577  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4578  * or http://www.opensolaris.org/os/licensing.
4579  * See the License for the specific language governing permissions
4580  * and limitations under the License.
4581  *
4582  * When distributing Covered Code, include this CDDL HEADER in each
4583  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4584  * If applicable, add the following below this CDDL HEADER, with the
4585  * fields enclosed by brackets "[]" replaced with your own identifying
4586  * information: Portions Copyright [yyyy] [name of copyright owner]
4587  *
4588  * CDDL HEADER END
4589  */
4590 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4591 /*	  All Rights Reserved  	*/
4592 
4593 
4594 /*
4595  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4596  * Use is subject to license terms.
4597  *
4598  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4599  * Copyright 2016 Joyent, Inc.
4600  */
4601 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
4602 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
4603 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4604 /*	  All Rights Reserved  	*/
4605 
4606 
4607 /*
4608  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
4609  * All rights reserved.  The Berkeley software License Agreement
4610  * specifies the terms and conditions for redistribution.
4611  */
4612 
4613 /*
4614  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
4615  *
4616  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4617  * Use is subject to license terms.
4618  *
4619  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4620  */
4621 
4622 /*
4623  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
4624  */
4625 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2
4626 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
4627 typedef lock_t disp_lock_t; /* dispatcher lock type */
4628 
4629 /*
4630  * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or
4631  * an adaptive mutex, depending on what interrupt levels use it.
4632  */
4633 
4634 
4635 /*
4636  * Macro to control loops which spin on a lock and then check state
4637  * periodically.  Its passed an integer, and returns a boolean value
4638  * that if true indicates its a good time to get the scheduler lock and
4639  * check the state of the current owner of the lock.
4640  */
4641 
4642 
4643 /*
4644  * Externs for CLOCK_LOCK and clock resolution
4645  */
4646 extern volatile uint32_t hres_lock;
4647 extern hrtime_t hrtime_base;
4648 extern int clock_res;
4649 
4650 
4651 
4652 /*
4653  * The definitions of the symbolic interrupt levels:
4654  *
4655  *   CLOCK_LEVEL =>  The level at which one must be to block the clock.
4656  *
4657  *   LOCK_LEVEL  =>  The highest level at which one may block (and thus the
4658  *                   highest level at which one may acquire adaptive locks)
4659  *                   Also the highest level at which one may be preempted.
4660  *
4661  *   DISP_LEVEL  =>  The level at which one must be to perform dispatcher
4662  *                   operations.
4663  *
4664  * The constraints on the platform:
4665  *
4666  *  - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL
4667  *  - LOCK_LEVEL must be less than DISP_LEVEL
4668  *  - DISP_LEVEL should be as close to LOCK_LEVEL as possible
4669  *
4670  * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal;
4671  * changing this relationship is probably possible but not advised.
4672  *
4673  */
4674 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h"
4675 /*
4676  * The following mask is for the cpu_intr_actv bits corresponding to
4677  * high-level PILs. It should equal:
4678  * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1)
4679  */
4680 
4681 
4682 /*
4683  * The semaphore code depends on being able to represent a lock plus
4684  * owner in a single 32-bit word.  (Mutexes used to have a similar
4685  * dependency, but no longer.)  Thus the owner must contain at most
4686  * 24 significant bits.  At present only threads and semaphores
4687  * must be aware of this vile constraint.  Different ISAs may handle this
4688  * differently depending on their capabilities (e.g. compare-and-swap)
4689  * and limitations (e.g. constraints on alignment and/or KERNELBASE).
4690  */
4691 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
4692 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1
4693 /*
4694  * CDDL HEADER START
4695  *
4696  * The contents of this file are subject to the terms of the
4697  * Common Development and Distribution License (the "License").
4698  * You may not use this file except in compliance with the License.
4699  *
4700  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4701  * or http://www.opensolaris.org/os/licensing.
4702  * See the License for the specific language governing permissions
4703  * and limitations under the License.
4704  *
4705  * When distributing Covered Code, include this CDDL HEADER in each
4706  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4707  * If applicable, add the following below this CDDL HEADER, with the
4708  * fields enclosed by brackets "[]" replaced with your own identifying
4709  * information: Portions Copyright [yyyy] [name of copyright owner]
4710  *
4711  * CDDL HEADER END
4712  */
4713 
4714 /*
4715  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
4716  * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
4717  */
4718 
4719 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
4720 /*	  All Rights Reserved  	*/
4721 
4722 /*
4723  * University Copyright- Copyright (c) 1982, 1986, 1988
4724  * The Regents of the University of California
4725  * All Rights Reserved
4726  *
4727  * University Acknowledgment- Portions of this document are derived from
4728  * software developed by the University of California, Berkeley, and its
4729  * contributors.
4730  */
4731 
4732 
4733 
4734 
4735 
4736 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
4737 /*
4738  * CDDL HEADER START
4739  *
4740  * The contents of this file are subject to the terms of the
4741  * Common Development and Distribution License (the "License").
4742  * You may not use this file except in compliance with the License.
4743  *
4744  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4745  * or http://www.opensolaris.org/os/licensing.
4746  * See the License for the specific language governing permissions
4747  * and limitations under the License.
4748  *
4749  * When distributing Covered Code, include this CDDL HEADER in each
4750  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4751  * If applicable, add the following below this CDDL HEADER, with the
4752  * fields enclosed by brackets "[]" replaced with your own identifying
4753  * information: Portions Copyright [yyyy] [name of copyright owner]
4754  *
4755  * CDDL HEADER END
4756  */
4757 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
4758 /*	  All Rights Reserved  	*/
4759 
4760 
4761 /*
4762  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4763  * Use is subject to license terms.
4764  *
4765  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
4766  * Copyright 2016 Joyent, Inc.
4767  */
4768 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
4769 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
4770 /*
4771  * CDDL HEADER START
4772  *
4773  * The contents of this file are subject to the terms of the
4774  * Common Development and Distribution License (the "License").
4775  * You may not use this file except in compliance with the License.
4776  *
4777  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4778  * or http://www.opensolaris.org/os/licensing.
4779  * See the License for the specific language governing permissions
4780  * and limitations under the License.
4781  *
4782  *
4783  * When distributing Covered Code, include this CDDL HEADER in each
4784  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4785  * If applicable, add the following below this CDDL HEADER, with the
4786  * fields enclosed by brackets "[]" replaced with your own identifying
4787  * information: Portions Copyright [yyyy] [name of copyright owner]
4788  *
4789  * CDDL HEADER END
4790  */
4791 
4792 /*
4793  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
4794  * Use is subject to license terms.
4795  * Copyright 2016 Joyent, Inc.
4796  */
4797 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
4798 
4799 
4800 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
4801 /*
4802  * This file and its contents are supplied under the terms of the
4803  * Common Development and Distribution License ("CDDL"), version 1.0.
4804  * You may only use this file in accordance with the terms of version
4805  * 1.0 of the CDDL.
4806  *
4807  * A full copy of the text of the CDDL should have accompanied this
4808  * source.  A copy of the CDDL is also available via the Internet at
4809  * http://www.illumos.org/license/CDDL.
4810  */
4811 
4812 /*
4813  * Copyright 2014-2016 PALO, Richard.
4814  */
4815 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
4816 
4817 
4818 
4819 
4820 
4821 /*
4822  * Fundamental variables; don't change too often.
4823  */
4824 
4825 /*
4826  * _POSIX_VDISABLE has historically been defined in <sys/param.h> since
4827  * an early merge with AT&T source.  It has also historically been defined
4828  * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially
4829  * required the existence of _POSIX_VDISABLE in <sys/termios.h>.
4830  * Subsequent versions of the IEEE Standard as well as the X/Open
4831  * specifications required that _POSIX_VDISABLE be defined in <unistd.h>
4832  * while still allowing for it's existence in other headers.  With the
4833  * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>.
4834  */
4835 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4836     /* compatibility purposes only	*/
4837     /* and will be removed in a	*/
4838     /* later release		*/
4839 
4840 /*
4841  * These define the maximum and minimum allowable values of the
4842  * configurable parameter NGROUPS_MAX.
4843  */
4844 
4845 
4846 
4847 
4848 /*
4849  * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h.
4850  */
4851 
4852 
4853 /*
4854  * Default process priority.  Keep it in sync with limits.h.
4855  */
4856 
4857 
4858 /*
4859  * Fundamental constants of the implementation--cannot be changed easily.
4860  */
4861 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4862 /* REMOTE -- whether machine is primary, secondary, or regular */
4863 
4864 
4865 
4866 /*
4867  * MAXPATHLEN defines the longest permissible path length,
4868  * including the terminating null, after expanding symbolic links.
4869  * TYPICALMAXPATHLEN is used in a few places as an optimization
4870  * with a local buffer on the stack to avoid kmem_alloc().
4871  * MAXSYMLINKS defines the maximum number of symbolic links
4872  * that may be expanded in a path name. It should be set high
4873  * enough to allow all legitimate uses, but halt infinite loops
4874  * reasonably quickly.
4875  * MAXNAMELEN is the length (including the terminating null) of
4876  * the longest permissible file (component) name.
4877  */
4878 
4879 
4880 
4881 
4882 
4883 /*
4884  * MAXLINKNAMELEN defines the longest possible permitted datalink name,
4885  * including the terminating NUL.  Note that this must not be larger
4886  * than related networking constants such as LIFNAMSIZ.
4887  */
4888 
4889 
4890 
4891 
4892 
4893 
4894 /*
4895  * The following are defined to be the same as
4896  * defined in /usr/include/limits.h.  They are
4897  * needed for pipe and FIFO compatibility.
4898  */
4899 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4900 /* macros replacing interleaving functions */
4901 
4902 
4903 
4904 /*
4905  * File system parameters and macros.
4906  *
4907  * The file system is made out of blocks of at most MAXBSIZE units,
4908  * with smaller units (fragments) only in the last direct block.
4909  * MAXBSIZE primarily determines the size of buffers in the buffer
4910  * pool. It may be made larger without any effect on existing
4911  * file systems; however making it smaller make make some file
4912  * systems unmountable.
4913  *
4914  * Note that the blocked devices are assumed to have DEV_BSIZE
4915  * "sectors" and that fragments must be some multiple of this size.
4916  */
4917 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4918 /*	64 bit versions of btodb and dbtob */
4919 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4920 /*
4921  * Size of arg list passed in by user.
4922  */
4923 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4924 /*
4925  * Scale factor for scaled integers used to count
4926  * %cpu time and load averages.
4927  */
4928 
4929 
4930 
4931 /*
4932  * Delay units are in microseconds.
4933  *
4934  * XXX	These macros are not part of the DDI!
4935  */
4936 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4937 /*
4938  * The following is to free utilities from machine dependencies within
4939  * an architecture. Must be included after definition of DEV_BSIZE.
4940  */
4941 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h"
4942 /*
4943  * The following are assorted machine dependent values which can be
4944  * obtained in a machine independent manner through sysconf(2) or
4945  * sysinfo(2). In order to guarantee that these provide the expected
4946  * value at all times, the System Private interface (leading underscore)
4947  * is used.
4948  */
4949 
4950 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
4951 /*
4952  * CDDL HEADER START
4953  *
4954  * The contents of this file are subject to the terms of the
4955  * Common Development and Distribution License (the "License").
4956  * You may not use this file except in compliance with the License.
4957  *
4958  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4959  * or http://www.opensolaris.org/os/licensing.
4960  * See the License for the specific language governing permissions
4961  * and limitations under the License.
4962  *
4963  * When distributing Covered Code, include this CDDL HEADER in each
4964  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4965  * If applicable, add the following below this CDDL HEADER, with the
4966  * fields enclosed by brackets "[]" replaced with your own identifying
4967  * information: Portions Copyright [yyyy] [name of copyright owner]
4968  *
4969  * CDDL HEADER END
4970  */
4971 
4972 /*
4973  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
4974  *	  All Rights Reserved
4975  *
4976  */
4977 
4978 /*
4979  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
4980  * Use is subject to license terms.
4981  */
4982 
4983 /*
4984  * WARNING: This is an implementation-specific header,
4985  * its contents are not guaranteed. Applications
4986  * should include <unistd.h> and not this header.
4987  */
4988 
4989 
4990 
4991 
4992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
4993 /*
4994  * CDDL HEADER START
4995  *
4996  * The contents of this file are subject to the terms of the
4997  * Common Development and Distribution License (the "License").
4998  * You may not use this file except in compliance with the License.
4999  *
5000  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5001  * or http://www.opensolaris.org/os/licensing.
5002  * See the License for the specific language governing permissions
5003  * and limitations under the License.
5004  *
5005  * When distributing Covered Code, include this CDDL HEADER in each
5006  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5007  * If applicable, add the following below this CDDL HEADER, with the
5008  * fields enclosed by brackets "[]" replaced with your own identifying
5009  * information: Portions Copyright [yyyy] [name of copyright owner]
5010  *
5011  * CDDL HEADER END
5012  */
5013 
5014 /*
5015  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
5016  * Copyright 2016 Joyent, Inc.
5017  *
5018  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
5019  * Use is subject to license terms.
5020  */
5021 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2
5022 
5023 
5024 
5025 
5026 
5027 /* command names for confstr */
5028 
5029 
5030 
5031 /*
5032  * command names for large file configuration information
5033  */
5034 /* large file compilation environment configuration */
5035 
5036 
5037 
5038 
5039 /* transitional large file interface configuration */
5040 
5041 
5042 
5043 
5044 
5045 /* UNIX 98 */
5046 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5047 /* UNIX 03 */
5048 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5049 /* command names for POSIX sysconf */
5050 
5051 /* POSIX.1 names */
5052 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5053 /* SVR4 names */
5054 
5055 
5056 
5057 
5058 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */
5059 
5060 
5061 
5062 
5063 /* POSIX.4 names */
5064 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5065 /* XPG4 names */
5066 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5067 /* additional XSH4/XCU4 command names for sysconf */
5068 
5069 
5070 
5071 /* additional XPG4v2 (UNIX 95) command names */
5072 
5073 
5074 
5075 
5076 
5077 /* defined for XTI (XNS Issue 5) */
5078 
5079 
5080 
5081 
5082 
5083 
5084 
5085 /*
5086  * Hardware specific items
5087  * Note that not all items are supported on all architectures
5088  */
5089 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5090 /*
5091  * POSIX.1c (pthreads) names. These values are defined above
5092  * the sub-500 range. See psarc case 1995/257.
5093  */
5094 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5095 /* UNIX 98 */
5096 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5097 /* UNIX 03 */
5098 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5099 /* command names for POSIX pathconf */
5100 
5101 /* POSIX.1 names */
5102 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5103 /* POSIX.4 names */
5104 
5105 
5106 
5107 /* UNIX 03 names */
5108 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5109 /* UNIX 08 names */
5110 
5111 
5112 /*
5113  * Large File Summit names
5114  *
5115  * This value matches the MIPS ABI choice, but leaves a large gap in the
5116  * value space.
5117  */
5118 
5119 
5120 /*
5121  * Extended attributes
5122  */
5123 
5124 
5125 
5126 /*
5127  * If you add a _PC define above 101, you must change _PC_LAST (and truss).
5128  */
5129 
5130 
5131 /*
5132  * Case sensitivity values (related to _PC_CASE_BEHAVIOR)
5133  */
5134 
5135 
5136 
5137 /*
5138  * The value of 0 is returned when
5139  * ACL's are not supported
5140  */
5141 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5142 /*
5143  * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications
5144  * should not rely on this value, it has been aligned with the current
5145  * standard to avoid confusion if used.
5146  */
5147 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h"
5148 /* UNIX 03 names */
5149 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2
5150 
5151 
5152 
5153 
5154 
5155 
5156 extern long _sysconf(int); /* System Private interface to sysconf() */
5157 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
5158 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1
5159 /*
5160  * CDDL HEADER START
5161  *
5162  * The contents of this file are subject to the terms of the
5163  * Common Development and Distribution License (the "License").
5164  * You may not use this file except in compliance with the License.
5165  *
5166  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5167  * or http://www.opensolaris.org/os/licensing.
5168  * See the License for the specific language governing permissions
5169  * and limitations under the License.
5170  *
5171  * When distributing Covered Code, include this CDDL HEADER in each
5172  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5173  * If applicable, add the following below this CDDL HEADER, with the
5174  * fields enclosed by brackets "[]" replaced with your own identifying
5175  * information: Portions Copyright [yyyy] [name of copyright owner]
5176  *
5177  * CDDL HEADER END
5178  */
5179 /*
5180  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
5181  */
5182 
5183 
5184 
5185 
5186 
5187 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5188 /*
5189  * CDDL HEADER START
5190  *
5191  * The contents of this file are subject to the terms of the
5192  * Common Development and Distribution License (the "License").
5193  * You may not use this file except in compliance with the License.
5194  *
5195  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5196  * or http://www.opensolaris.org/os/licensing.
5197  * See the License for the specific language governing permissions
5198  * and limitations under the License.
5199  *
5200  * When distributing Covered Code, include this CDDL HEADER in each
5201  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5202  * If applicable, add the following below this CDDL HEADER, with the
5203  * fields enclosed by brackets "[]" replaced with your own identifying
5204  * information: Portions Copyright [yyyy] [name of copyright owner]
5205  *
5206  * CDDL HEADER END
5207  */
5208 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5209 /*	  All Rights Reserved  	*/
5210 
5211 
5212 /*
5213  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5214  * Use is subject to license terms.
5215  *
5216  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5217  * Copyright 2016 Joyent, Inc.
5218  */
5219 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2
5220 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h"
5221 /*
5222  * Public interface to mutual exclusion locks.  See mutex(9F) for details.
5223  *
5224  * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used
5225  * in almost all of the kernel.  MUTEX_SPIN provides interrupt blocking
5226  * and must be used in interrupt handlers above LOCK_LEVEL.  The iblock
5227  * cookie argument to mutex_init() encodes the interrupt level to block.
5228  * The iblock cookie must be NULL for adaptive locks.
5229  *
5230  * MUTEX_DEFAULT is the type usually specified (except in drivers) to
5231  * mutex_init().  It is identical to MUTEX_ADAPTIVE.
5232  *
5233  * MUTEX_DRIVER is always used by drivers.  mutex_init() converts this to
5234  * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie.
5235  *
5236  * Mutex statistics can be gathered on the fly, without rebooting or
5237  * recompiling the kernel, via the lockstat driver (lockstat(7D)).
5238  */
5239 typedef enum {
5240  MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */
5241  MUTEX_SPIN = 1, /* block interrupts and spin */
5242  MUTEX_DRIVER = 4, /* driver (DDI) mutex */
5243  MUTEX_DEFAULT = 6 /* kernel default mutex */
5244 } kmutex_type_t;
5245 
5246 typedef struct mutex {
5247 
5248 
5249 
5250  void *_opaque[2];
5251 
5252 } kmutex_t;
5253 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
5254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1
5255 /*
5256  * CDDL HEADER START
5257  *
5258  * The contents of this file are subject to the terms of the
5259  * Common Development and Distribution License (the "License").
5260  * You may not use this file except in compliance with the License.
5261  *
5262  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5263  * or http://www.opensolaris.org/os/licensing.
5264  * See the License for the specific language governing permissions
5265  * and limitations under the License.
5266  *
5267  * When distributing Covered Code, include this CDDL HEADER in each
5268  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5269  * If applicable, add the following below this CDDL HEADER, with the
5270  * fields enclosed by brackets "[]" replaced with your own identifying
5271  * information: Portions Copyright [yyyy] [name of copyright owner]
5272  *
5273  * CDDL HEADER END
5274  */
5275 /*
5276  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5277  * Use is subject to license terms.
5278  */
5279 
5280 /*
5281  * Copyright (c) 2013, Joyent, Inc.  All rights reserved.
5282  */
5283 
5284 
5285 
5286 
5287 /*
5288  * Public interface to readers/writer locks.  See rwlock(9F) for details.
5289  */
5290 
5291 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5292 /*
5293  * CDDL HEADER START
5294  *
5295  * The contents of this file are subject to the terms of the
5296  * Common Development and Distribution License (the "License").
5297  * You may not use this file except in compliance with the License.
5298  *
5299  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5300  * or http://www.opensolaris.org/os/licensing.
5301  * See the License for the specific language governing permissions
5302  * and limitations under the License.
5303  *
5304  * When distributing Covered Code, include this CDDL HEADER in each
5305  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5306  * If applicable, add the following below this CDDL HEADER, with the
5307  * fields enclosed by brackets "[]" replaced with your own identifying
5308  * information: Portions Copyright [yyyy] [name of copyright owner]
5309  *
5310  * CDDL HEADER END
5311  */
5312 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5313 /*	  All Rights Reserved  	*/
5314 
5315 
5316 /*
5317  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5318  * Use is subject to license terms.
5319  *
5320  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5321  * Copyright 2016 Joyent, Inc.
5322  */
5323 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2
5324 
5325 
5326 
5327 
5328 
5329 
5330 
5331 typedef enum {
5332  RW_DRIVER = 2, /* driver (DDI) rwlock */
5333  RW_DEFAULT = 4 /* kernel default rwlock */
5334 } krw_type_t;
5335 
5336 typedef enum {
5337  RW_WRITER,
5338  RW_READER,
5339  RW_READER_STARVEWRITER
5340 } krw_t;
5341 
5342 typedef struct _krwlock {
5343  void *_opaque[1];
5344 } krwlock_t;
5345 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
5346 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1
5347 /*
5348  * CDDL HEADER START
5349  *
5350  * The contents of this file are subject to the terms of the
5351  * Common Development and Distribution License, Version 1.0 only
5352  * (the "License").  You may not use this file except in compliance
5353  * 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) 1993-1998 by Sun Microsystems, Inc.
5370  * All rights reserved.
5371  */
5372 
5373 
5374 
5375 
5376 #pragma ident "%Z%%M%	%I%	%E% SMI"
5377 
5378 /*
5379  * Public interface to semaphores.  See semaphore(9F) for details.
5380  */
5381 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h"
5382 typedef enum {
5383  SEMA_DEFAULT,
5384  SEMA_DRIVER
5385 } ksema_type_t;
5386 
5387 typedef struct _ksema {
5388  void * _opaque[2]; /* 2 words on 4 byte alignment */
5389 } ksema_t;
5390 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
5391 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1
5392 /*
5393  * CDDL HEADER START
5394  *
5395  * The contents of this file are subject to the terms of the
5396  * Common Development and Distribution License (the "License").
5397  * You may not use this file except in compliance with the License.
5398  *
5399  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5400  * or http://www.opensolaris.org/os/licensing.
5401  * See the License for the specific language governing permissions
5402  * and limitations under the License.
5403  *
5404  * When distributing Covered Code, include this CDDL HEADER in each
5405  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5406  * If applicable, add the following below this CDDL HEADER, with the
5407  * fields enclosed by brackets "[]" replaced with your own identifying
5408  * information: Portions Copyright [yyyy] [name of copyright owner]
5409  *
5410  * CDDL HEADER END
5411  */
5412 /*
5413  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5414  * Use is subject to license terms.
5415  */
5416 
5417 /*
5418  * Copyright (c) 2012 by Delphix. All rights reserved.
5419  */
5420 
5421 /*
5422  * condvar.h:
5423  *
5424  * definitions for thread synchronization primitives: condition variables
5425  * This is the public part of the interface to condition variables. The
5426  * private (implementation-specific) part is in <arch>/sys/condvar_impl.h.
5427  */
5428 
5429 
5430 
5431 
5432 
5433 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
5434 /*
5435  * CDDL HEADER START
5436  *
5437  * The contents of this file are subject to the terms of the
5438  * Common Development and Distribution License (the "License").
5439  * You may not use this file except in compliance with the License.
5440  *
5441  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5442  * or http://www.opensolaris.org/os/licensing.
5443  * See the License for the specific language governing permissions
5444  * and limitations under the License.
5445  *
5446  * When distributing Covered Code, include this CDDL HEADER in each
5447  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5448  * If applicable, add the following below this CDDL HEADER, with the
5449  * fields enclosed by brackets "[]" replaced with your own identifying
5450  * information: Portions Copyright [yyyy] [name of copyright owner]
5451  *
5452  * CDDL HEADER END
5453  */
5454 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5455 /*	  All Rights Reserved  	*/
5456 
5457 
5458 /*
5459  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5460  * Use is subject to license terms.
5461  *
5462  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5463  * Copyright 2016 Joyent, Inc.
5464  */
5465 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
5466 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1
5467 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
5468 /*	  All Rights Reserved  	*/
5469 
5470 
5471 /*
5472  * Copyright (c) 1982, 1986, 1993 Regents of the University of California.
5473  * All rights reserved.  The Berkeley software License Agreement
5474  * specifies the terms and conditions for redistribution.
5475  */
5476 
5477 /*
5478  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
5479  *
5480  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
5481  * Use is subject to license terms.
5482  *
5483  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
5484  */
5485 
5486 /*
5487  * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
5488  */
5489 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2
5490 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h"
5491 /*
5492  * Condtion variables.
5493  */
5494 
5495 typedef struct _kcondvar {
5496  ushort_t _opaque;
5497 } kcondvar_t;
5498 
5499 typedef enum {
5500  CV_DEFAULT,
5501  CV_DRIVER
5502 } kcv_type_t;
5503 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2
5504 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h"
5505 /*
5506  * Mutual exclusion locks described in common/sys/mutex.h.
5507  *
5508  * Semaphores described in common/sys/semaphore.h.
5509  *
5510  * Readers/Writer locks described in common/sys/rwlock.h.
5511  *
5512  * Condition variables described in common/sys/condvar.h
5513  */
5514 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
5515 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1
5516 /*
5517  * CDDL HEADER START
5518  *
5519  * The contents of this file are subject to the terms of the
5520  * Common Development and Distribution License, Version 1.0 only
5521  * (the "License").  You may not use this file except in compliance
5522  * with the License.
5523  *
5524  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5525  * or http://www.opensolaris.org/os/licensing.
5526  * See the License for the specific language governing permissions
5527  * and limitations under the License.
5528  *
5529  * When distributing Covered Code, include this CDDL HEADER in each
5530  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5531  * If applicable, add the following below this CDDL HEADER, with the
5532  * fields enclosed by brackets "[]" replaced with your own identifying
5533  * information: Portions Copyright [yyyy] [name of copyright owner]
5534  *
5535  * CDDL HEADER END
5536  */
5537 /*
5538  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
5539  * Use is subject to license terms.
5540  */
5541 
5542 
5543 
5544 
5545 #pragma ident "%Z%%M%	%I%	%E% SMI"
5546 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
5547 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
5548 /*
5549  * CDDL HEADER START
5550  *
5551  * The contents of this file are subject to the terms of the
5552  * Common Development and Distribution License (the "License").
5553  * You may not use this file except in compliance with the License.
5554  *
5555  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5556  * or http://www.opensolaris.org/os/licensing.
5557  * See the License for the specific language governing permissions
5558  * and limitations under the License.
5559  *
5560  *
5561  * When distributing Covered Code, include this CDDL HEADER in each
5562  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5563  * If applicable, add the following below this CDDL HEADER, with the
5564  * fields enclosed by brackets "[]" replaced with your own identifying
5565  * information: Portions Copyright [yyyy] [name of copyright owner]
5566  *
5567  * CDDL HEADER END
5568  */
5569 
5570 /*
5571  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5572  * Use is subject to license terms.
5573  * Copyright 2016 Joyent, Inc.
5574  */
5575 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2
5576 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h"
5577 /*
5578  * XXX	Ick.  This type needs to be visible outside the above guard because
5579  * the proc structure is visible outside the _KERNEL | _KMEMUSER guard.
5580  * If we can make proc internals less visible, (which we obviously should)
5581  * then this can be invisible too.
5582  */
5583 typedef unsigned int model_t;
5584 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2
5585 
5586 
5587 
5588 
5589 
5590 /*
5591  * Data queue.
5592  *
5593  * NOTE: The *only* public fields are documented in queue(9S).
5594  *       Everything else is implementation-private.
5595  *
5596  * The locking rules for the queue_t structure are extremely subtle and vary
5597  * widely depending on the field in question.  As such, each field is
5598  * annotated according to the following legend:
5599  *
5600  *   Q9S: The field is documented in queue(9S) and may be accessed without
5601  *        locks by a STREAMS module when inside an entry point (e.g., put(9E)).
5602  *        However, no fields can be directly modified unless q_lock is held
5603  *        (which is not possible in a DDI compliant STREAMS module), with the
5604  *        following exceptions:
5605  *
5606  *	   - q_ptr: can be modified as per the rules of the STREAMS module.
5607  *		    The STREAMS framework ignores q_ptr and thus imposes *no*
5608  *		    locking rules on it.
5609  *         - q_qinfo: can be modified before qprocson().
5610  *
5611  *	   - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the
5612  *		    rules of the STREAMS module.  The STREAMS framework never
5613  *		    modifies these fields, and is tolerant of temporarily
5614  *		    stale field values.
5615  *
5616  *	  In general, the STREAMS framework employs one of the following
5617  *	  techniques to ensure STREAMS modules can safely access Q9S fields:
5618  *
5619  *	   - The field is only modified by the framework when the stream is
5620  *	     locked with strlock() (q_next).
5621  *
5622  *	   - The field is modified by the framework, but the modifies are
5623  *	     atomic, and temporarily stale values are harmless (q_count,
5624  *	     q_first, q_last).
5625  *
5626  *	   - The field is modified by the framework, but the field's visible
5627  *	     values are either constant or directly under the control
5628  *	     of the STREAMS module itself (q_flag).
5629  *
5630  *   QLK: The field must be accessed or modified under q_lock, except when
5631  *        the stream has been locked with strlock().  If multiple q_locks must
5632  *        be acquired, q_locks at higher addresses must be taken first.
5633  *
5634  *   STR: The field can be accessed without a lock, but must be modified under
5635  *	  strlock().
5636  *
5637  *   SQLK: The field must be accessed or modified under SQLOCK().
5638  *
5639  *   NOLK: The field can be accessed without a lock, but can only be modified
5640  *	   when the queue_t is not known to any other threads.
5641  *
5642  *   SVLK: The field must be accessed or modified under the service_queue lock.
5643  *         Note that service_lock must be taken after any needed q_locks,
5644  *	   and that no other lock should be taken while service_lock is held.
5645  *
5646  * In addition, it is always acceptable to modify a field that is not yet
5647  * known to any other threads -- and other special case exceptions exist in
5648  * the code.  Also, q_lock is used with q_wait to implement a stream head
5649  * monitor for reads and writes.
5650  */
5651 typedef struct queue {
5652  struct qinit *q_qinfo; /* Q9S: Q processing procedure  */
5653  struct msgb *q_first; /* Q9S: first message in Q	*/
5654  struct msgb *q_last; /* Q9S: last message in Q	*/
5655  struct queue *q_next; /* Q9S: next Q in stream	*/
5656  struct queue *q_link; /* SVLK: next Q for scheduling	*/
5657  void *q_ptr; /* Q9S: module-specific data	*/
5658  size_t q_count; /* Q9S: number of bytes on Q	*/
5659  uint_t q_flag; /* Q9S: Q state			*/
5660  ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */
5661  ssize_t q_maxpsz; /* Q9S: largest packet OK on Q	*/
5662  size_t q_hiwat; /* Q9S: Q high water mark	*/
5663  size_t q_lowat; /* Q9S: Q low water mark	*/
5664  struct qband *q_bandp; /* QLK: band flow information	*/
5665  kmutex_t q_lock; /* NOLK: structure lock		*/
5666  struct stdata *q_stream; /* NOLK: stream backpointer	*/
5667  struct syncq *q_syncq; /* NOLK: associated syncq 	*/
5668  unsigned char q_nband; /* QLK: number of bands		*/
5669  kcondvar_t q_wait; /* NOLK: read/write sleep CV	*/
5670  struct queue *q_nfsrv; /* STR: next Q with svc routine */
5671  ushort_t q_draining; /* QLK: Q is draining		*/
5672  short q_struiot; /* QLK: sync streams Q UIO mode	*/
5673  clock_t q_qtstamp; /* QLK: when Q was enabled	*/
5674  size_t q_mblkcnt; /* QLK: mblk count		*/
5675  uint_t q_syncqmsgs; /* QLK: syncq message count	*/
5676  size_t q_rwcnt; /* QLK: # threads in rwnext()	*/
5677  pri_t q_spri; /* QLK: Q scheduling priority	*/
5678 
5679  /*
5680 	 * Syncq scheduling
5681 	 */
5682  struct msgb *q_sqhead; /* QLK: first syncq message	*/
5683  struct msgb *q_sqtail; /* QLK: last syncq message 	*/
5684  struct queue *q_sqnext; /* SQLK: next Q on syncq list	*/
5685  struct queue *q_sqprev; /* SQLK: prev Q on syncq list 	*/
5686  uint_t q_sqflags; /* SQLK: syncq flags		*/
5687  clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */
5688 
5689  /*
5690 	 * NOLK: Reference to the queue's module's implementation
5691 	 * structure. This will be NULL for queues associated with drivers.
5692 	 */
5693  struct fmodsw_impl *q_fp;
5694 } queue_t;
5695 
5696 /*
5697  * Queue flags; unused flags not documented in queue(9S) can be recycled.
5698  */
5699 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
5700 /*	UNUSED		0x00000200	   was QHLIST			*/
5701 /* 	UNUSED 		0x00000400	   was QUNSAFE			*/
5702 
5703 
5704 
5705 
5706 
5707 
5708      /* all MT type flags		*/
5709 
5710 
5711 
5712 
5713 
5714 
5715 /*	UNUSED		0x00400000	   was QHOT			*/
5716 /*	UNUSED		0x00800000	   was QNEXTHOT			*/
5717 /* 	UNUSED		0x01000000	   was _QNEXTLESS		*/
5718 
5719 
5720 
5721 
5722      /* direct interface to/from sockfs */
5723 
5724 /* queue sqflags (protected by SQLOCK). */
5725 
5726 
5727      /* This is also noted by the	*/
5728      /* q_draining field, but this one is */
5729      /* protected by SQLOCK */
5730 
5731 /*
5732  * Structure that describes the separate information
5733  * for each priority band in the queue.
5734  */
5735 typedef struct qband {
5736  struct qband *qb_next; /* next band's info */
5737  size_t qb_count; /* number of bytes in band */
5738  struct msgb *qb_first; /* beginning of band's data */
5739  struct msgb *qb_last; /* end of band's data */
5740  size_t qb_hiwat; /* high water mark for band */
5741  size_t qb_lowat; /* low water mark for band */
5742  uint_t qb_flag; /* see below */
5743  size_t qb_mblkcnt; /* mblk counter for runaway msgs */
5744 } qband_t;
5745 
5746 /*
5747  * qband flags
5748  */
5749 
5750 
5751 
5752 
5753 /*
5754  * Maximum number of bands.
5755  */
5756 
5757 
5758 /*
5759  * Fields that can be manipulated through strqset() and strqget().
5760  */
5761 typedef enum qfields {
5762  QHIWAT = 0, /* q_hiwat or qb_hiwat */
5763  QLOWAT = 1, /* q_lowat or qb_lowat */
5764  QMAXPSZ = 2, /* q_maxpsz */
5765  QMINPSZ = 3, /* q_minpsz */
5766  QCOUNT = 4, /* q_count or qb_count */
5767  QFIRST = 5, /* q_first or qb_first */
5768  QLAST = 6, /* q_last or qb_last */
5769  QFLAG = 7, /* q_flag or qb_flag */
5770  QSTRUIOT = 8, /* q_struiot */
5771  QBAD = 9
5772 } qfields_t;
5773 
5774 /*
5775  * Module information structure
5776  */
5777 struct module_info {
5778  ushort_t mi_idnum; /* module id number */
5779  char *mi_idname; /* module name */
5780  ssize_t mi_minpsz; /* min packet size accepted */
5781  ssize_t mi_maxpsz; /* max packet size accepted */
5782  size_t mi_hiwat; /* hi-water mark */
5783  size_t mi_lowat; /* lo-water mark */
5784 };
5785 
5786 /*
5787  * queue information structure (with Synchronous STREAMS extensions)
5788  */
5789 struct qinit {
5790  int (*qi_putp)(); /* put procedure */
5791  int (*qi_srvp)(); /* service procedure */
5792  int (*qi_qopen)(); /* called on startup */
5793  int (*qi_qclose)(); /* called on finish */
5794  int (*qi_qadmin)(); /* for future use */
5795  struct module_info *qi_minfo; /* module information structure */
5796  struct module_stat *qi_mstat; /* module statistics structure */
5797  int (*qi_rwp)(); /* r/w procedure */
5798  int (*qi_infop)(); /* information procedure */
5799  int qi_struiot; /* stream uio type for struio() */
5800 };
5801 
5802 /*
5803  * Values for qi_struiot and q_struiot:
5804  */
5805 
5806 
5807 
5808 
5809 /*
5810  * Streamtab (used in cdevsw and fmodsw to point to module or driver)
5811  */
5812 struct streamtab {
5813  struct qinit *st_rdinit;
5814  struct qinit *st_wrinit;
5815  struct qinit *st_muxrinit;
5816  struct qinit *st_muxwinit;
5817 };
5818 
5819 /*
5820  * Structure sent to mux drivers to indicate a link.
5821  */
5822 struct linkblk {
5823  queue_t *l_qtop; /* lowest level write queue of upper stream */
5824     /* (set to NULL for persistent links) */
5825  queue_t *l_qbot; /* highest level write queue of lower stream */
5826  int l_index; /* index for lower stream. */
5827 };
5828 
5829 /*
5830  * Esballoc data buffer freeing routine
5831  */
5832 typedef struct free_rtn {
5833  void (*free_func)();
5834  caddr_t free_arg;
5835 } frtn_t;
5836 
5837 /*
5838  * Data block descriptor
5839  *
5840  * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields,
5841  * as described in datab(9S).  Everything else is implementation-private.
5842  */
5843 
5844 
5845 
5846 typedef struct datab {
5847  frtn_t *db_frtnp;
5848  unsigned char *db_base;
5849  unsigned char *db_lim;
5850  unsigned char db_ref;
5851  unsigned char db_type;
5852  unsigned char db_flags;
5853  unsigned char db_struioflag;
5854  pid_t db_cpid; /* cached pid, needs verification */
5855  void *db_cache; /* kmem cache descriptor */
5856  struct msgb *db_mblk;
5857  void (*db_free)(struct msgb *, struct datab *);
5858  void (*db_lastfree)(struct msgb *, struct datab *);
5859  intptr_t db_cksumstart;
5860  intptr_t db_cksumend;
5861  intptr_t db_cksumstuff;
5862  union {
5863   double enforce_alignment;
5864   unsigned char data[8];
5865   struct {
5866    union {
5867     uint32_t u32;
5868     uint16_t u16;
5869    } cksum_val; /* used to store calculated cksum */
5870    uint16_t flags;
5871    uint16_t pad;
5872   } cksum;
5873   /*
5874 		 * Union used for future extensions (pointer to data ?).
5875 		 */
5876  } db_struioun;
5877  struct fthdr *db_fthdr;
5878  cred_t *db_credp; /* credential */
5879 } dblk_t;
5880 
5881 
5882 
5883 
5884 /*
5885  * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>).
5886  */
5887 
5888 
5889 
5890 /*
5891  * Used by GLDv2 to store the TCI information.
5892  */
5893 
5894 
5895 /*
5896  * Message block descriptor
5897  */
5898 typedef struct msgb {
5899  struct msgb *b_next;
5900  struct msgb *b_prev;
5901  struct msgb *b_cont;
5902  unsigned char *b_rptr;
5903  unsigned char *b_wptr;
5904  struct datab *b_datap;
5905  unsigned char b_band;
5906  unsigned char b_tag;
5907  unsigned short b_flag;
5908  queue_t *b_queue; /* for sync queues */
5909 } mblk_t;
5910 
5911 /*
5912  * bcache descriptor
5913  */
5914 typedef struct bcache {
5915  kmutex_t mutex;
5916  struct kmem_cache *buffer_cache;
5917  struct kmem_cache *dblk_cache;
5918  int alloc;
5919  int destroy;
5920  size_t size;
5921  uint_t align;
5922 } bcache_t;
5923 
5924 /*
5925  * db_flags values (all implementation private!)
5926  */
5927 
5928 
5929 
5930 
5931 /*
5932  * db_struioflag values:
5933  */
5934 
5935 
5936 
5937 
5938 
5939 
5940 /*
5941  * Message flags.  These are interpreted by the stream head.
5942  */
5943 
5944 
5945     /* write side of stream */
5946 
5947 /*	UNUSED		0x08	   was MSGNOGET (can be recycled) */
5948 
5949 
5950 
5951 
5952 /*
5953  * Streams message types.
5954  */
5955 
5956 /*
5957  * Data and protocol messages (regular and priority)
5958  */
5959 
5960 
5961 
5962 
5963 /*
5964  * Control messages (regular and priority)
5965  */
5966 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
5967 /*
5968  * Control messages (high priority; go to head of queue)
5969  */
5970 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
5971 /*
5972  * Queue message class definitions.
5973  */
5974 
5975 
5976 
5977 /*
5978  *  IOCTL structure - this structure is the format of the M_IOCTL message type.
5979  */
5980 # 488 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
5981 struct iocblk {
5982  int ioc_cmd; /* ioctl command type */
5983  cred_t *ioc_cr; /* full credentials */
5984  uint_t ioc_id; /* ioctl id */
5985  size_t ioc_count; /* count of bytes in data field */
5986  int ioc_error; /* error code */
5987  int ioc_rval; /* return value  */
5988  int ioc_fill1;
5989  uint_t ioc_flag; /* see below */
5990  int ioc_filler[2]; /* reserved for future use */
5991 };
5992 
5993 
5994 typedef struct iocblk *IOCP;
5995 
5996 /* {ioc,cp}_flags values */
5997 
5998 
5999 
6000 
6001 
6002 
6003 
6004 /*
6005  *	Is the ioctl data formatted for our native model?
6006  */
6007 
6008 
6009 
6010 /*
6011  * structure for the M_COPYIN and M_COPYOUT message types.
6012  */
6013 # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
6014 struct copyreq {
6015  int cq_cmd; /* ioctl command (from ioc_cmd) */
6016  cred_t *cq_cr; /* full credentials */
6017  uint_t cq_id; /* ioctl id (from ioc_id) */
6018  caddr_t cq_addr; /* address to copy data to/from */
6019  size_t cq_size; /* number of bytes to copy */
6020  uint_t cq_flag; /* must be zero */
6021  mblk_t *cq_private; /* private state information */
6022  int cq_filler[4]; /* reserved for future use */
6023 };
6024 
6025 
6026 /*
6027  * structure for the M_IOCDATA message type.
6028  */
6029 # 557 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
6030 struct copyresp {
6031  int cp_cmd; /* ioctl command (from ioc_cmd) */
6032  cred_t *cp_cr; /* full credentials */
6033  uint_t cp_id; /* ioctl id (from ioc_id) */
6034  caddr_t cp_rval; /* status of request: 0 -> success */
6035      /* 		non-zero -> failure */
6036  size_t cp_pad1;
6037  uint_t cp_pad2;
6038  mblk_t *cp_private; /* private state information */
6039  uint_t cp_flag; /* datamodel IOC_ flags; see above */
6040  int cp_filler[3];
6041 };
6042 
6043 
6044 /*
6045  * Since these structures are all intended to travel in the same message
6046  * at different stages of a STREAMS ioctl, this union is used to determine
6047  * the message size in strdoioctl().
6048  */
6049 union ioctypes {
6050  struct iocblk iocblk;
6051  struct copyreq copyreq;
6052  struct copyresp copyresp;
6053 };
6054 
6055 /*
6056  * Options structure for M_SETOPTS message.  This is sent upstream
6057  * by a module or driver to set stream head options.
6058  */
6059 struct stroptions {
6060  uint_t so_flags; /* options to set */
6061  short so_readopt; /* read option */
6062  ushort_t so_wroff; /* write offset */
6063  ssize_t so_minpsz; /* minimum read packet size */
6064  ssize_t so_maxpsz; /* maximum read packet size */
6065  size_t so_hiwat; /* read queue high water mark */
6066  size_t so_lowat; /* read queue low water mark */
6067  unsigned char so_band; /* band for water marks */
6068  ushort_t so_erropt; /* error option */
6069  ssize_t so_maxblk; /* maximum message block size */
6070  ushort_t so_copyopt; /* copy options (see stropts.h) */
6071  ushort_t so_tail; /* space available at the end */
6072 };
6073 
6074 /* flags for stream options set message */
6075 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h"
6076 /*
6077  * Miscellaneous parameters and flags.
6078  */
6079 
6080 /*
6081  * Values for stream flag in open to indicate module open, clone open,
6082  * and the return value for failure.
6083  */
6084 
6085 
6086 
6087 
6088 /*
6089  * Priority definitions for block allocation.
6090  */
6091 
6092 
6093 
6094 
6095 /*
6096  * Value for packet size that denotes infinity
6097  */
6098 
6099 
6100 /*
6101  * Flags for flushq()
6102  */
6103 
6104 
6105 
6106 /*
6107  * Flag for transparent ioctls
6108  */
6109 
6110 
6111 /*
6112  * Stream head default high/low water marks
6113  */
6114 
6115 
6116 
6117 /*
6118  * qwriter perimeter types
6119  */
6120 
6121 
6122 
6123 /*
6124  * Definitions of Streams macros and function interfaces.
6125  */
6126 
6127 /*
6128  * canenable - check if queue can be enabled by putq().
6129  */
6130 
6131 
6132 /*
6133  * Test if data block type is one of the data messages (i.e. not a control
6134  * message).
6135  */
6136 
6137 
6138 
6139 
6140 
6141 
6142 
6143 /*
6144  * Extract queue class of message block.
6145  */
6146 
6147 
6148 /*
6149  * Align address on next lower word boundary.
6150  */
6151 
6152 
6153 /*
6154  * Find the max size of data block.
6155  */
6156 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
6157 
6158 /*
6159  * Symbols such as htonl() are required to be exposed through this file,
6160  * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h>
6161  */
6162 
6163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1
6164 /*
6165  * CDDL HEADER START
6166  *
6167  * The contents of this file are subject to the terms of the
6168  * Common Development and Distribution License (the "License").
6169  * You may not use this file except in compliance with the License.
6170  *
6171  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6172  * or http://www.opensolaris.org/os/licensing.
6173  * See the License for the specific language governing permissions
6174  * and limitations under the License.
6175  *
6176  * When distributing Covered Code, include this CDDL HEADER in each
6177  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6178  * If applicable, add the following below this CDDL HEADER, with the
6179  * fields enclosed by brackets "[]" replaced with your own identifying
6180  * information: Portions Copyright [yyyy] [name of copyright owner]
6181  *
6182  * CDDL HEADER END
6183  */
6184 
6185 /*
6186  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
6187  * Use is subject to license terms.
6188  */
6189 
6190 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
6191 /*	  All Rights Reserved  	*/
6192 
6193 /*
6194  * University Copyright- Copyright (c) 1982, 1986, 1988
6195  * The Regents of the University of California
6196  * All Rights Reserved
6197  *
6198  * University Acknowledgment- Portions of this document are derived from
6199  * software developed by the University of California, Berkeley, and its
6200  * contributors.
6201  */
6202 
6203 
6204 
6205 
6206 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
6207 /*
6208  * CDDL HEADER START
6209  *
6210  * The contents of this file are subject to the terms of the
6211  * Common Development and Distribution License (the "License").
6212  * You may not use this file except in compliance with the License.
6213  *
6214  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6215  * or http://www.opensolaris.org/os/licensing.
6216  * See the License for the specific language governing permissions
6217  * and limitations under the License.
6218  *
6219  *
6220  * When distributing Covered Code, include this CDDL HEADER in each
6221  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6222  * If applicable, add the following below this CDDL HEADER, with the
6223  * fields enclosed by brackets "[]" replaced with your own identifying
6224  * information: Portions Copyright [yyyy] [name of copyright owner]
6225  *
6226  * CDDL HEADER END
6227  */
6228 
6229 /*
6230  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6231  * Use is subject to license terms.
6232  * Copyright 2016 Joyent, Inc.
6233  */
6234 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
6235 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
6236 /*
6237  * CDDL HEADER START
6238  *
6239  * The contents of this file are subject to the terms of the
6240  * Common Development and Distribution License, Version 1.0 only
6241  * (the "License").  You may not use this file except in compliance
6242  * with the License.
6243  *
6244  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6245  * or http://www.opensolaris.org/os/licensing.
6246  * See the License for the specific language governing permissions
6247  * and limitations under the License.
6248  *
6249  * When distributing Covered Code, include this CDDL HEADER in each
6250  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6251  * If applicable, add the following below this CDDL HEADER, with the
6252  * fields enclosed by brackets "[]" replaced with your own identifying
6253  * information: Portions Copyright [yyyy] [name of copyright owner]
6254  *
6255  * CDDL HEADER END
6256  */
6257 /*
6258  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
6259  *
6260  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
6261  * Use is subject to license terms.
6262  */
6263 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2
6264 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6265 /*
6266  * macros for conversion between host and (internet) network byte order
6267  */
6268 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6269 typedef uint16_t in_port_t;
6270 
6271 
6272 
6273 
6274 typedef uint32_t in_addr_t;
6275 
6276 
6277 
6278 extern uint32_t htonl(uint32_t);
6279 extern uint16_t htons(uint16_t);
6280 extern uint32_t ntohl(uint32_t);
6281 extern uint16_t ntohs(uint16_t);
6282 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6283 extern uint64_t htonll(uint64_t);
6284 extern uint64_t ntohll(uint64_t);
6285 
6286 
6287 
6288 
6289 
6290 
6291 /*
6292  * Macros to reverse byte order
6293  */
6294 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6295 /*
6296  * Macros to convert from a specific byte order to/from native byte order
6297  */
6298 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6299 /*
6300  * Macros to read unaligned values from a specific byte order to
6301  * native byte order
6302  */
6303 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h"
6304 /*
6305  * Macros to write unaligned values from native byte order to a specific byte
6306  * order.
6307  */
6308 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2
6309 
6310 
6311 
6312 
6313 
6314 
6315 
6316 /*
6317  * Note: IPv4 address data structures usage conventions.
6318  * The "in_addr_t" type below (required by Unix standards)
6319  * is NOT a typedef of "struct in_addr" and violates the usual
6320  * conventions where "struct <name>" and <name>_t are corresponding
6321  * typedefs.
6322  * To minimize confusion, kernel data structures/usage prefers use
6323  * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t"
6324  * The user level APIs continue to follow the historic popular
6325  * practice of using "struct in_addr".
6326  */
6327 
6328 
6329 
6330 
6331 
6332 
6333 
6334 typedef uint32_t ipaddr_t;
6335 
6336 
6337 
6338 
6339 struct in6_addr {
6340  union {
6341   /*
6342 		 * Note: Static initalizers of "union" type assume
6343 		 * the constant on the RHS is the type of the first member
6344 		 * of union.
6345 		 * To make static initializers (and efficient usage) work,
6346 		 * the order of members exposed to user and kernel view of
6347 		 * this data structure is different.
6348 		 * User environment sees specified uint8_t type as first
6349 		 * member whereas kernel sees most efficient type as
6350 		 * first member.
6351 		 */
6352 
6353 
6354 
6355 
6356   uint8_t _S6_u8[16]; /* IPv6 address */
6357   uint32_t _S6_u32[4]; /* IPv6 address */
6358 
6359   uint32_t __S6_align; /* Align on 32 bit boundary */
6360  } _S6_un;
6361 };
6362 
6363 
6364 
6365 
6366 
6367 
6368 
6369 typedef struct in6_addr in6_addr_t;
6370 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6371 /*
6372  * Protocols
6373  *
6374  * Some of these constant names are copied for the DTrace IP provider in
6375  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
6376  * in sync.
6377  */
6378 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6379       /* Transmission Protocol */
6380 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6381 /*
6382  * Port/socket numbers: network standard functions
6383  *
6384  * Entries should exist here for each port number compiled into an ON
6385  * component, such as snoop.
6386  */
6387 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6388 /*
6389  * Port/socket numbers: host specific functions
6390  */
6391 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6392 /*
6393  * Internet Key Exchange (IKE) ports
6394  */
6395 
6396 
6397 
6398 /*
6399  * UNIX TCP sockets
6400  */
6401 
6402 
6403 
6404 
6405 
6406 
6407 /*
6408  * UNIX UDP sockets
6409  */
6410 
6411 
6412 
6413 
6414 
6415 
6416 
6417 /*
6418  * DHCPv6 UDP ports
6419  */
6420 
6421 
6422 
6423 
6424 
6425 /*
6426  * Ports < IPPORT_RESERVED are reserved for
6427  * privileged processes (e.g. root).
6428  * Ports > IPPORT_USERRESERVED are reserved
6429  * for servers, not necessarily privileged.
6430  */
6431 
6432 
6433 
6434 /*
6435  * Link numbers
6436  */
6437 
6438 
6439 
6440 
6441 /*
6442  * IPv4 Internet address
6443  *	This definition contains obsolete fields for compatibility
6444  *	with SunOS 3.x and 4.2bsd.  The presence of subnets renders
6445  *	divisions into fixed fields misleading at best.  New code
6446  *	should use only the s_addr field.
6447  */
6448 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6449 struct in_addr {
6450  union {
6451   struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b;
6452   struct { uint16_t s_w1, s_w2; } S_un_w;
6453 
6454   uint32_t S_addr;
6455 
6456 
6457 
6458  } S_un;
6459 
6460 
6461 
6462 
6463 
6464 
6465 };
6466 
6467 /*
6468  * Definitions of bits in internet address integers.
6469  * On subnets, the decomposition of addresses to host and net parts
6470  * is done according to subnet mask, not the masks here.
6471  *
6472  * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB,
6473  * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto
6474  * obsolete". IN_MULTICAST macro should be used to test if a address
6475  * is a multicast address.
6476  */
6477 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6478 /*
6479  * We have removed CLASS E checks from the kernel
6480  * But we preserve these defines for userland in order
6481  * to avoid compile  breakage of some 3rd party piece of software
6482  */
6483 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6484 /* Scoped IPv4 prefixes (in host byte-order) */
6485 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6486 /* RFC 3927 IPv4 link local address (i in host byte-order) */
6487 
6488 
6489 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */
6490 
6491 
6492 
6493 
6494 
6495 
6496 /*
6497  * Define a macro to stuff the loopback address into an Internet address
6498  */
6499 
6500 
6501 
6502 
6503 
6504 
6505 /*
6506  * IPv4 Socket address.
6507  */
6508 struct sockaddr_in {
6509  sa_family_t sin_family;
6510  in_port_t sin_port;
6511  struct in_addr sin_addr;
6512 
6513  char sin_zero[8];
6514 
6515 
6516 
6517 };
6518 
6519 
6520 /*
6521  * IPv6 socket address.
6522  */
6523 struct sockaddr_in6 {
6524  sa_family_t sin6_family;
6525  in_port_t sin6_port;
6526  uint32_t sin6_flowinfo;
6527  struct in6_addr sin6_addr;
6528  uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */
6529  uint32_t __sin6_src_id; /* Impl. specific - UDP replies */
6530 };
6531 
6532 /*
6533  * Macros for accessing the traffic class and flow label fields from
6534  * sin6_flowinfo.
6535  * These are designed to be applied to a 32-bit value.
6536  */
6537 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6538 /* masks */
6539 
6540 
6541 
6542 
6543 
6544 /*
6545  * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for
6546  * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t)
6547  * only. They need to be different for User/Kernel versions because union
6548  * component data structure is defined differently (it is identical at
6549  * binary representation level).
6550  *
6551  * const struct in6_addr IN6ADDR_ANY_INIT;
6552  * const struct in6_addr IN6ADDR_LOOPBACK_INIT;
6553  */
6554 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6555 /*
6556  * RFC 2553 specifies the following macros. Their type is defined
6557  * as "int" in the RFC but they only have boolean significance
6558  * (zero or non-zero). For the purposes of our comment notation,
6559  * we assume a hypothetical type "bool" defined as follows to
6560  * write the prototypes assumed for macros in our comments better.
6561  *
6562  * typedef int bool;
6563  */
6564 
6565 /*
6566  * IN6 macros used to test for special IPv6 addresses
6567  * (Mostly from spec)
6568  *
6569  * bool  IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *);
6570  * bool  IN6_IS_ADDR_LOOPBACK    (const struct in6_addr *);
6571  * bool  IN6_IS_ADDR_MULTICAST   (const struct in6_addr *);
6572  * bool  IN6_IS_ADDR_LINKLOCAL   (const struct in6_addr *);
6573  * bool  IN6_IS_ADDR_SITELOCAL   (const struct in6_addr *);
6574  * bool  IN6_IS_ADDR_V4MAPPED    (const struct in6_addr *);
6575  * bool  IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553
6576  * bool  IN6_IS_ADDR_V4COMPAT    (const struct in6_addr *);
6577  * bool  IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553
6578  * bool  IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
6579  * bool  IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
6580  * bool  IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
6581  * bool  IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *);
6582  * bool  IN6_IS_ADDR_MC_GLOBAL   (const struct in6_addr *);
6583  * bool  IN6_IS_ADDR_6TO4	 (const struct in6_addr *); -- Not from RFC2553
6584  * bool  IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *,
6585  *	     const struct in6_addr *);			    -- Not from RFC2553
6586  * bool  IN6_IS_ADDR_LINKSCOPE	 (const struct in6addr  *); -- Not from RFC2553
6587  */
6588 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6589 /*
6590  * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY
6591  * Note: This macro is currently NOT defined in RFC2553 specification
6592  * and not a standard macro that portable applications should use.
6593  */
6594 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6595 /* Exclude loopback and unspecified address */
6596 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6597 /*
6598  * Note:
6599  * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553
6600  * specification and not a standard macro that portable applications
6601  * should use.
6602  */
6603 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6604 /*
6605  * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or
6606  * RFC, and shouldn't be used by portable applications.  It is used to see
6607  * if an address is a solicited-node multicast address, which is prefixed
6608  * with ff02:0:0:0:0:1:ff00::/104.
6609  */
6610 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6611 /*
6612  * Macros to a) test for 6to4 IPv6 address, and b) to test if two
6613  * 6to4 addresses have the same /48 prefix, and, hence, are from the
6614  * same 6to4 site.
6615  */
6616 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6617 /*
6618  * IN6_IS_ADDR_LINKSCOPE
6619  * Identifies an address as being either link-local, link-local multicast or
6620  * node-local multicast.  All types of addresses are considered to be unique
6621  * within the scope of a given link.
6622  */
6623 
6624 
6625 
6626 
6627 /*
6628  * Useful utility macros for operations with IPv6 addresses
6629  * Note: These macros are NOT defined in the RFC2553 or any other
6630  * standard specification and are not standard macros that portable
6631  * applications should use.
6632  */
6633 
6634 /*
6635  * IN6_V4MAPPED_TO_INADDR
6636  * IN6_V4MAPPED_TO_IPADDR
6637  *	Assign a IPv4-Mapped IPv6 address to an IPv4 address.
6638  *	Note: These macros are NOT defined in RFC2553 or any other standard
6639  *	specification and are not macros that portable applications should
6640  *	use.
6641  *
6642  * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4);
6643  * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4);
6644  *
6645  */
6646 
6647 
6648 
6649 
6650 
6651 /*
6652  * IN6_INADDR_TO_V4MAPPED
6653  * IN6_IPADDR_TO_V4MAPPED
6654  *	Assign a IPv4 address address to an IPv6 address as a IPv4-mapped
6655  *	address.
6656  *	Note: These macros are NOT defined in RFC2553 or any other standard
6657  *	specification and are not macros that portable applications should
6658  *	use.
6659  *
6660  * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6);
6661  * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6);
6662  *
6663  */
6664 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6665 /*
6666  * IN6_6TO4_TO_V4ADDR
6667  *	Extract the embedded IPv4 address from the prefix to a 6to4 IPv6
6668  *      address.
6669  *	Note: This macro is NOT defined in RFC2553 or any other standard
6670  *	specification and is not a macro that portable applications should
6671  *	use.
6672  *	Note: we don't use the IPADDR form of the macro because we need
6673  *	to do a bytewise copy; the V4ADDR in the 6to4 address is not
6674  *	32-bit aligned.
6675  *
6676  * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4);
6677  *
6678  */
6679 
6680 
6681 
6682 
6683 
6684 
6685 /*
6686  * IN6_V4ADDR_TO_6TO4
6687  *	Given an IPv4 address and an IPv6 address for output, a 6to4 address
6688  *	will be created from the IPv4 Address.
6689  *	Note:  This method for creating 6to4 addresses is not standardized
6690  *	outside of Solaris.  The newly created 6to4 address will be of the form
6691  *	2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and
6692  *	HOSTID will equal 1.
6693  *
6694  * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6)
6695  *
6696  */
6697 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6698 /*
6699  * IN6_ARE_ADDR_EQUAL (defined in RFC2292)
6700  *	 Compares if IPv6 addresses are equal.
6701  * Note: Compares in order of high likelyhood of a miss so we minimize
6702  * compares. (Current heuristic order, compare in reverse order of
6703  * uint32_t units)
6704  *
6705  * bool  IN6_ARE_ADDR_EQUAL(const struct in6_addr *,
6706  *			    const struct in6_addr *);
6707  */
6708 
6709 
6710 
6711 
6712 
6713 
6714 /*
6715  * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs)
6716  *	Compares if prefixed parts of IPv6 addresses are equal.
6717  *
6718  * uint32_t IN6_MASK_FROM_PREFIX(int, int);
6719  * bool     IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *,
6720  *				       const struct in6_addr *,
6721  *				       int);
6722  */
6723 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6724 /*
6725  * Options for use with [gs]etsockopt at the IP level.
6726  *
6727  * Note: Some of the IP_ namespace has conflict with and
6728  * and is exposed through <xti.h>. (It also requires exposing
6729  * options not implemented). The options with potential
6730  * for conflicts use #ifndef guards.
6731  */
6732 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6733 /*
6734  * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in
6735  * is used to differentiate b/w the two.
6736  */
6737 
6738 
6739 
6740 
6741 
6742 /*
6743  * Different preferences that can be requested from IPSEC protocols.
6744  */
6745 
6746 
6747 
6748 
6749 /*
6750  * This can be used with the setsockopt() call to set per socket security
6751  * options. When the application uses per-socket API, we will reflect
6752  * the request on both outbound and inbound packets.
6753  */
6754 
6755 typedef struct ipsec_req {
6756  uint_t ipsr_ah_req; /* AH request */
6757  uint_t ipsr_esp_req; /* ESP request */
6758  uint_t ipsr_self_encap_req; /* Self-Encap request */
6759  uint8_t ipsr_auth_alg; /* Auth algs for AH */
6760  uint8_t ipsr_esp_alg; /* Encr algs for ESP */
6761  uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */
6762 } ipsec_req_t;
6763 
6764 /*
6765  * MCAST_* options are protocol-independent.  The actual definitions
6766  * are with the v6 options below; this comment is here to note the
6767  * namespace usage.
6768  *
6769  * #define	MCAST_JOIN_GROUP	0x29
6770  * #define	MCAST_LEAVE_GROUP	0x2a
6771  * #define	MCAST_BLOCK_SOURCE	0x2b
6772  * #define	MCAST_UNBLOCK_SOURCE	0x2c
6773  * #define	MCAST_JOIN_SOURCE_GROUP	0x2d
6774  * #define	MCAST_LEAVE_SOURCE_GROUP 0x2e
6775  */
6776 
6777 
6778 /*
6779  * SunOS private (potentially not portable) IP_ option names
6780  */
6781 
6782 
6783 
6784 /* can be reused		0x44 */
6785 
6786 
6787 /*
6788  * Option values and names (when !_XPG5) shared with <xti_inet.h>
6789  */
6790 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6791 /*
6792  * The following option values are reserved by <xti_inet.h>
6793  *
6794  * T_IP_OPTIONS	0x107	 -  IP per-packet options
6795  * T_IP_TOS	0x108	 -  IP per packet type of service
6796  */
6797 
6798 /*
6799  * Default value constants for multicast attributes controlled by
6800  * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options.
6801  */
6802 
6803 
6804 
6805 
6806 /*
6807  * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
6808  */
6809 struct ip_mreq {
6810  struct in_addr imr_multiaddr; /* IP multicast address of group */
6811  struct in_addr imr_interface; /* local IP address of interface */
6812 };
6813 
6814 /*
6815  * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE,
6816  * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP.
6817  */
6818 struct ip_mreq_source {
6819  struct in_addr imr_multiaddr; /* IP address of group */
6820  struct in_addr imr_sourceaddr; /* IP address of source */
6821  struct in_addr imr_interface; /* IP address of interface */
6822 };
6823 
6824 /*
6825  * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on
6826  * IPv6 addresses.
6827  */
6828 struct ipv6_mreq {
6829  struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */
6830  unsigned int ipv6mr_interface; /* interface index */
6831 };
6832 
6833 /*
6834  * Use #pragma pack() construct to force 32-bit alignment on amd64.
6835  * This is needed to keep the structure size and offsets consistent
6836  * between a 32-bit app and the 64-bit amd64 kernel in structures
6837  * where 64-bit alignment would create gaps (in this case, structures
6838  * which have a uint32_t followed by a struct sockaddr_storage).
6839  */
6840 
6841 
6842 
6843 
6844 /*
6845  * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP.
6846  */
6847 struct group_req {
6848  uint32_t gr_interface; /* interface index */
6849  struct sockaddr_storage gr_group; /* group address */
6850 };
6851 
6852 /*
6853  * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE,
6854  * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP.
6855  */
6856 struct group_source_req {
6857  uint32_t gsr_interface; /* interface index */
6858  struct sockaddr_storage gsr_group; /* group address */
6859  struct sockaddr_storage gsr_source; /* source address */
6860 };
6861 
6862 /*
6863  * Argument for SIOC[GS]MSFILTER ioctls
6864  */
6865 struct group_filter {
6866  uint32_t gf_interface; /* interface index */
6867  struct sockaddr_storage gf_group; /* multicast address */
6868  uint32_t gf_fmode; /* filter mode */
6869  uint32_t gf_numsrc; /* number of sources */
6870  struct sockaddr_storage gf_slist[1]; /* source address */
6871 };
6872 # 1078 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
6873 /*
6874  * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific)
6875  */
6876 struct ip_msfilter {
6877  struct in_addr imsf_multiaddr; /* IP multicast address of group */
6878  struct in_addr imsf_interface; /* local IP address of interface */
6879  uint32_t imsf_fmode; /* filter mode */
6880  uint32_t imsf_numsrc; /* number of sources in src_list */
6881  struct in_addr imsf_slist[1]; /* start of source list */
6882 };
6883 
6884 
6885 
6886 
6887 
6888 /*
6889  * Multicast source filter manipulation functions in libsocket;
6890  * defined in RFC 3678.
6891  */
6892 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t,
6893    uint_t, struct sockaddr_storage *);
6894 
6895 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *,
6896    uint_t *, struct sockaddr_storage *);
6897 
6898 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t,
6899    uint32_t, struct in_addr *);
6900 
6901 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *,
6902    uint32_t *, struct in_addr *);
6903 
6904 /*
6905  * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter()
6906  */
6907 
6908 
6909 
6910 /*
6911  * Argument struct for IP_PKTINFO option
6912  */
6913 typedef struct in_pktinfo {
6914  unsigned int ipi_ifindex; /* send/recv interface index */
6915  struct in_addr ipi_spec_dst; /* matched source address */
6916  struct in_addr ipi_addr; /* src/dst address in IP hdr */
6917 } in_pktinfo_t;
6918 
6919 /*
6920  * Argument struct for IPV6_PKTINFO option
6921  */
6922 struct in6_pktinfo {
6923  struct in6_addr ipi6_addr; /* src/dst IPv6 address */
6924  unsigned int ipi6_ifindex; /* send/recv interface index */
6925 };
6926 
6927 /*
6928  * Argument struct for IPV6_MTUINFO option
6929  */
6930 struct ip6_mtuinfo {
6931  struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
6932  uint32_t ip6m_mtu; /* path MTU in host byte order */
6933 };
6934 
6935 /*
6936  * IPv6 routing header types
6937  */
6938 
6939 
6940 extern socklen_t inet6_rth_space(int type, int segments);
6941 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments);
6942 extern int inet6_rth_add(void *bp, const struct in6_addr *addr);
6943 extern int inet6_rth_reverse(const void *in, void *out);
6944 extern int inet6_rth_segments(const void *bp);
6945 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index);
6946 
6947 extern int inet6_opt_init(void *extbuf, socklen_t extlen);
6948 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset,
6949  uint8_t type, socklen_t len, uint_t align, void **databufp);
6950 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset);
6951 extern int inet6_opt_set_val(void *databuf, int offset, void *val,
6952  socklen_t vallen);
6953 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset,
6954  uint8_t *typep, socklen_t *lenp, void **databufp);
6955 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset,
6956  uint8_t type, socklen_t *lenp, void **databufp);
6957 extern int inet6_opt_get_val(void *databuf, int offset, void *val,
6958  socklen_t vallen);
6959 
6960 
6961 /*
6962  * Argument structure for IP_ADD_PROXY_ADDR.
6963  * Note that this is an unstable, experimental interface. It may change
6964  * later. Don't use it unless you know what it is.
6965  */
6966 typedef struct {
6967  struct in_addr in_prefix_addr;
6968  unsigned int in_prefix_len;
6969 } in_prefix_t;
6970 
6971 
6972 
6973 /*
6974  * IPv6 options
6975  */
6976 
6977      /* packets. */
6978      /* argument type: uint_t */
6979 
6980      /* multicast packets. */
6981      /* argument type: struct in6_addr */
6982 
6983      /* multicast packets. */
6984      /* argument type: uint_t */
6985 
6986      /* multicast packets on same socket. */
6987      /* argument type: uint_t */
6988 
6989      /* argument type: struct ipv6_mreq */
6990 
6991      /* argument type: struct ipv6_mreq */
6992 
6993 /*
6994  * Other XPG6 constants.
6995  */
6996 
6997      /* decimal notation. */
6998 
6999      /* standard colon-hex notation. */
7000 
7001 
7002 
7003 
7004 
7005 /*
7006  * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept
7007  * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP
7008  * and IPV6_LEAVE_GROUP respectively.
7009  */
7010 
7011      /* argument type: struct ipv6_mreq */
7012 
7013      /* argument type: struct ipv6_mreq */
7014 
7015 
7016      /* arg type: "struct in6_pktingo" - */
7017 
7018 
7019 
7020 
7021      /* the routing header */
7022 
7023 
7024      /* the routing header */
7025 
7026 
7027 
7028 
7029 /*
7030  * This options exists for backwards compatability and should no longer be
7031  * used.  Use IPV6_RECVDSTOPTS instead.
7032  */
7033 
7034 
7035 
7036 
7037 /*
7038  * enable/disable IPV6_RTHDRDSTOPTS.  Now obsolete.  IPV6_RECVDSTOPTS enables
7039  * the receipt of both headers.
7040  */
7041 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
7042 /*
7043  * enable/disable receipt of both both IPV6_DSTOPTS headers.
7044  */
7045 
7046 
7047 /*
7048  * protocol-independent multicast membership options.
7049  */
7050 
7051 
7052 
7053 
7054 
7055 
7056 
7057 /* 32Bit field for IPV6_SRC_PREFERENCES */
7058 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h"
7059 /*
7060  * SunOS private (potentially not portable) IPV6_ option names
7061  */
7062 
7063 
7064      /* unspecified (all zeros) */
7065 
7066 /*
7067  * Miscellaneous IPv6 constants.
7068  */
7069 
7070 
7071 
7072 
7073 /*
7074  * Extern declarations for pre-defined global const variables
7075  */
7076 
7077 
7078 
7079 extern const struct in6_addr in6addr_any;
7080 extern const struct in6_addr in6addr_loopback;
7081 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2
7082 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7083 /*
7084  * Definitions related to sockets: types, address families, options.
7085  */
7086 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7087 /*
7088  * Types
7089  */
7090 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7091 /*
7092  * Flags for socket() and accept4()
7093  */
7094 
7095 
7096 
7097 
7098 /*
7099  * Option flags per-socket.
7100  */
7101 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7102 /*
7103  * Socket options are passed using a signed integer, but it is also rare
7104  * for more than one to ever be passed at the same time with setsockopt
7105  * and only one at a time can be retrieved with getsockopt.
7106  *
7107  * Since the lower numbers cannot be renumbered for compatibility reasons,
7108  * it would seem that we need to start a new number space (0x40000000 -
7109  * 0x7fffffff) for those that don't need to be stored as a bit flag
7110  * somewhere. This limits the flag options to 30 but that seems to be
7111  * plenty, anyway. 0x40000000 is reserved for future use.
7112  */
7113 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7114 /*
7115  * N.B.: The following definition is present only for compatibility
7116  * with release 3.0.  It will disappear in later releases.
7117  */
7118 
7119 
7120 /*
7121  * Additional options, not kept in so_options.
7122  */
7123 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7124 /* "Socket"-level control message types: */
7125 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7126 /*
7127  * Socket filter options
7128  */
7129 
7130 
7131 
7132 
7133 
7134 /*
7135  * Structure returned by FIL_LIST
7136  */
7137 struct fil_info {
7138  int fi_flags; /* see below (FILF_*) */
7139  int fi_pos; /* position (0 is bottom) */
7140  char fi_name[32]; /* filter name */
7141 };
7142 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7143 /*
7144  * Structure used for manipulating linger option.
7145  */
7146 struct linger {
7147  int l_onoff; /* option on/off */
7148  int l_linger; /* linger time */
7149 };
7150 
7151 /*
7152  * Levels for (get/set)sockopt() that don't apply to a specific protocol.
7153  */
7154 
7155 
7156 
7157 
7158 
7159 
7160 
7161 /*
7162  * Address families.
7163  *
7164  * Some of these constant names are copied for the DTrace IP provider in
7165  * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept
7166  * in sync.
7167  */
7168 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7169 /*
7170  * Protocol families, same as address families for now.
7171  */
7172 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7173 /*
7174  * Maximum queue length specifiable by listen.
7175  */
7176 
7177 
7178 /*
7179  * Message header for recvmsg and sendmsg calls.
7180  */
7181 struct msghdr {
7182  void *msg_name; /* optional address */
7183  socklen_t msg_namelen; /* size of address */
7184  struct iovec *msg_iov; /* scatter/gather array */
7185  int msg_iovlen; /* # elements in msg_iov */
7186 
7187 
7188 
7189 
7190 
7191 
7192  caddr_t msg_accrights; /* access rights sent/received */
7193  int msg_accrightslen;
7194 
7195 };
7196 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7197 /* Added for XPGv2 compliance */
7198 
7199 
7200 
7201 
7202 
7203      /* with left over data */
7204 /* End of XPGv2 compliance */
7205 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7206 /* Added for XPGv2 compliance */
7207 
7208 
7209 
7210 
7211 struct cmsghdr {
7212  socklen_t cmsg_len; /* data byte count, including hdr */
7213  int cmsg_level; /* originating protocol */
7214  int cmsg_type; /* protocol-specific type */
7215 };
7216 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h"
7217 extern int accept(int, struct sockaddr *, Psocklen_t);
7218 extern int accept4(int, struct sockaddr *, Psocklen_t, int);
7219 extern int bind(int, const struct sockaddr *, socklen_t);
7220 extern int connect(int, const struct sockaddr *, socklen_t);
7221 extern int getpeername(int, struct sockaddr *, Psocklen_t);
7222 extern int getsockname(int, struct sockaddr *, Psocklen_t);
7223 extern int getsockopt(int, int, int, void *, Psocklen_t);
7224 extern int listen(int, int); /* XXX - fixme???  where do I go */
7225 extern int socketpair(int, int, int, int *);
7226 extern ssize_t recv(int, void *, size_t, int);
7227 extern ssize_t recvfrom(int, void *, size_t, int,
7228  struct sockaddr *, Psocklen_t);
7229 extern ssize_t recvmsg(int, struct msghdr *, int);
7230 extern ssize_t send(int, const void *, size_t, int);
7231 extern ssize_t sendmsg(int, const struct msghdr *, int);
7232 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *,
7233  socklen_t);
7234 extern int setsockopt(int, int, int, const void *, socklen_t);
7235 extern int shutdown(int, int);
7236 extern int socket(int, int, int);
7237 
7238 
7239 extern int sockatmark(int);
7240 # 32 "is_local_host.c" 2
7241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 1
7242 /*
7243  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7244  *
7245  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7246  * Use is subject to license terms.
7247  */
7248 
7249 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
7250 /*	  All Rights Reserved  	*/
7251 
7252 /*
7253  * BIND 4.9.3:
7254  *
7255  * Copyright (c) 1980, 1983, 1988, 1993
7256  *	The Regents of the University of California.  All rights reserved.
7257  *
7258  * Redistribution and use in source and binary forms, with or without
7259  * modification, are permitted provided that the following conditions
7260  * are met:
7261  * 1. Redistributions of source code must retain the above copyright
7262  *    notice, this list of conditions and the following disclaimer.
7263  * 2. Redistributions in binary form must reproduce the above copyright
7264  *    notice, this list of conditions and the following disclaimer in the
7265  *    documentation and/or other materials provided with the distribution.
7266  * 3. All advertising materials mentioning features or use of this software
7267  *    must display the following acknowledgement:
7268  *	This product includes software developed by the University of
7269  *	California, Berkeley and its contributors.
7270  * 4. Neither the name of the University nor the names of its contributors
7271  *    may be used to endorse or promote products derived from this software
7272  *    without specific prior written permission.
7273  *
7274  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
7275  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
7276  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
7277  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
7278  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
7279  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
7280  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
7281  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
7282  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
7283  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
7284  * SUCH DAMAGE.
7285  * -
7286  * Portions Copyright (c) 1993 by Digital Equipment Corporation.
7287  *
7288  * Permission to use, copy, modify, and distribute this software for any
7289  * purpose with or without fee is hereby granted, provided that the above
7290  * copyright notice and this permission notice appear in all copies, and that
7291  * the name of Digital Equipment Corporation not be used in advertising or
7292  * publicity pertaining to distribution of the document or software without
7293  * specific, written prior permission.
7294  *
7295  * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
7296  * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
7297  * OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
7298  * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
7299  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
7300  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
7301  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
7302  * SOFTWARE.
7303  * --Copyright--
7304  *
7305  * End BIND 4.9.3
7306  */
7307 
7308 /*
7309  * Structures returned by network data base library.
7310  * All addresses are supplied in host order, and
7311  * returned in network order (suitable for use in system calls).
7312  */
7313 
7314 
7315 
7316 
7317 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7318 /*
7319  * CDDL HEADER START
7320  *
7321  * The contents of this file are subject to the terms of the
7322  * Common Development and Distribution License (the "License").
7323  * You may not use this file except in compliance with the License.
7324  *
7325  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7326  * or http://www.opensolaris.org/os/licensing.
7327  * See the License for the specific language governing permissions
7328  * and limitations under the License.
7329  *
7330  * When distributing Covered Code, include this CDDL HEADER in each
7331  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7332  * If applicable, add the following below this CDDL HEADER, with the
7333  * fields enclosed by brackets "[]" replaced with your own identifying
7334  * information: Portions Copyright [yyyy] [name of copyright owner]
7335  *
7336  * CDDL HEADER END
7337  */
7338 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7339 /*	  All Rights Reserved  	*/
7340 
7341 
7342 /*
7343  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7344  * Use is subject to license terms.
7345  *
7346  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7347  * Copyright 2016 Joyent, Inc.
7348  */
7349 # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 2
7350 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
7351 /*
7352  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7353  * Use is subject to license terms.
7354  *
7355  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
7356  */
7357 /*
7358  * Copyright (c) 1982, 1986 Regents of the University of California.
7359  * All rights reserved.
7360  *
7361  * Redistribution and use in source and binary forms are permitted
7362  * provided that this notice is preserved and that due credit is given
7363  * to the University of California at Berkeley. The name of the University
7364  * may not be used to endorse or promote products derived from this
7365  * software without specific prior written permission. This software
7366  * is provided ``as is'' without express or implied warranty.
7367  */
7368 
7369 /*
7370  * Constants and structures defined by the internet system,
7371  * according to following documents
7372  *
7373  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
7374  *	http://www.iana.org/assignments/protocol-numbers
7375  *	http://www.iana.org/assignments/port-numbers
7376  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
7377  *
7378  */
7379 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 2
7380 
7381 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
7382 /*
7383  * CDDL HEADER START
7384  *
7385  * The contents of this file are subject to the terms of the
7386  * Common Development and Distribution License (the "License").
7387  * You may not use this file except in compliance with the License.
7388  *
7389  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7390  * or http://www.opensolaris.org/os/licensing.
7391  * See the License for the specific language governing permissions
7392  * and limitations under the License.
7393  *
7394  * When distributing Covered Code, include this CDDL HEADER in each
7395  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7396  * If applicable, add the following below this CDDL HEADER, with the
7397  * fields enclosed by brackets "[]" replaced with your own identifying
7398  * information: Portions Copyright [yyyy] [name of copyright owner]
7399  *
7400  * CDDL HEADER END
7401  */
7402 /*
7403  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7404  *
7405  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
7406  */
7407 
7408 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
7409 /*	  All Rights Reserved	*/
7410 
7411 /*
7412  * University Copyright- Copyright (c) 1982, 1986, 1988
7413  * The Regents of the University of California
7414  * All Rights Reserved
7415  *
7416  * University Acknowledgment- Portions of this document are derived from
7417  * software developed by the University of California, Berkeley, and its
7418  * contributors.
7419  */
7420 
7421 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
7422 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 2
7423 
7424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7425 /*
7426  * CDDL HEADER START
7427  *
7428  * The contents of this file are subject to the terms of the
7429  * Common Development and Distribution License (the "License").
7430  * You may not use this file except in compliance with the License.
7431  *
7432  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7433  * or http://www.opensolaris.org/os/licensing.
7434  * See the License for the specific language governing permissions
7435  * and limitations under the License.
7436  *
7437  * When distributing Covered Code, include this CDDL HEADER in each
7438  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7439  * If applicable, add the following below this CDDL HEADER, with the
7440  * fields enclosed by brackets "[]" replaced with your own identifying
7441  * information: Portions Copyright [yyyy] [name of copyright owner]
7442  *
7443  * CDDL HEADER END
7444  */
7445 
7446 /*
7447  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7448  * Copyright 2016 Joyent, Inc.
7449  *
7450  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7451  * Use is subject to license terms.
7452  */
7453 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h" 2
7454 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h"
7455 struct hostent {
7456  char *h_name; /* official name of host */
7457  char **h_aliases; /* alias list */
7458  int h_addrtype; /* host address type */
7459  int h_length; /* length of address */
7460  char **h_addr_list; /* list of addresses from name server */
7461 
7462 };
7463 
7464 
7465 /*
7466  * addrinfo introduced with IPv6 for Protocol-Independent Hostname
7467  * and Service Name Translation.
7468  */
7469 
7470 
7471 struct addrinfo {
7472  int ai_flags; /* AI_PASSIVE, AI_CANONNAME, ... */
7473  int ai_family; /* PF_xxx */
7474  int ai_socktype; /* SOCK_xxx */
7475  int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
7476 
7477 
7478 
7479  socklen_t ai_addrlen;
7480  char *ai_canonname; /* canonical name for hostname */
7481  struct sockaddr *ai_addr; /* binary address */
7482  struct addrinfo *ai_next; /* next structure in linked list */
7483 };
7484 
7485 /*
7486  * The flag 0x8000 is currently reserved for private use between libnsl and
7487  * libsocket. See lib/libsocket/inet/getaddrinfo.c for more information.
7488  */
7489 /* addrinfo flags */
7490 
7491 
7492 
7493 
7494 
7495 /* getipnodebyname() flags */
7496 
7497 
7498 
7499 
7500 
7501 /*
7502  * These were defined in RFC 2553 but not SUSv3
7503  * or RFC 3493 which obsoleted 2553.
7504  */
7505 
7506 
7507 
7508 /* addrinfo errors */
7509 # 166 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h"
7510 /* getnameinfo flags */
7511 
7512 
7513 
7514 
7515 
7516 
7517 
7518 /* Not listed in any standards document */
7519 
7520 
7521 
7522 /* getnameinfo max sizes as defined in RFC 2553 obsoleted in RFC 3493 */
7523 
7524 
7525 
7526 
7527 
7528 /*
7529  * Scope delimit character
7530  */
7531 
7532 
7533 
7534 /*
7535  * Algorithm entry for /etc/inet/ipsecalgs which defines IPsec protocols
7536  * and algorithms.
7537  */
7538 
7539 typedef struct ipsecalgent {
7540  char **a_names; /* algorithm names */
7541  int a_proto_num; /* protocol number */
7542  int a_alg_num; /* algorithm number */
7543  char *a_mech_name; /* encryption framework mechanism name */
7544  int *a_block_sizes; /* supported block sizes */
7545  int *a_key_sizes; /* supported key sizes */
7546  int a_key_increment; /* key size increment */
7547  int *a_mech_params; /* mechanism specific parameters */
7548  int a_alg_flags; /* algorithm flags */
7549 } ipsecalgent_t;
7550 
7551 /* well-known IPsec protocol numbers */
7552 
7553 
7554 
7555 
7556 
7557 /*
7558  * Assumption here is that a network number
7559  * fits in 32 bits -- probably a poor one.
7560  */
7561 struct netent {
7562  char *n_name; /* official name of net */
7563  char **n_aliases; /* alias list */
7564  int n_addrtype; /* net address type */
7565  in_addr_t n_net; /* network # */
7566 };
7567 
7568 struct protoent {
7569  char *p_name; /* official protocol name */
7570  char **p_aliases; /* alias list */
7571  int p_proto; /* protocol # */
7572 };
7573 
7574 struct servent {
7575  char *s_name; /* official service name */
7576  char **s_aliases; /* alias list */
7577  int s_port; /* port # */
7578  char *s_proto; /* protocol to use */
7579 };
7580 
7581 
7582 struct hostent *gethostbyname_r
7583  (const char *, struct hostent *, char *, int, int *h_errnop);
7584 struct hostent *gethostbyaddr_r
7585  (const char *, int, int, struct hostent *, char *, int, int *h_errnop);
7586 struct hostent *getipnodebyname(const char *, int, int, int *);
7587 struct hostent *getipnodebyaddr(const void *, size_t, int, int *);
7588 void freehostent(struct hostent *);
7589 struct hostent *gethostent_r(struct hostent *, char *, int, int *h_errnop);
7590 
7591 struct servent *getservbyname_r
7592  (const char *name, const char *, struct servent *, char *, int);
7593 struct servent *getservbyport_r
7594  (int port, const char *, struct servent *, char *, int);
7595 struct servent *getservent_r(struct servent *, char *, int);
7596 
7597 struct netent *getnetbyname_r
7598  (const char *, struct netent *, char *, int);
7599 struct netent *getnetbyaddr_r(long, int, struct netent *, char *, int);
7600 struct netent *getnetent_r(struct netent *, char *, int);
7601 
7602 struct protoent *getprotobyname_r
7603  (const char *, struct protoent *, char *, int);
7604 struct protoent *getprotobynumber_r
7605  (int, struct protoent *, char *, int);
7606 struct protoent *getprotoent_r(struct protoent *, char *, int);
7607 
7608 int getnetgrent_r(char **, char **, char **, char *, int);
7609 int innetgr(const char *, const char *, const char *, const char *);
7610 
7611 
7612 /* Old interfaces that return a pointer to a static area;  MT-unsafe */
7613 struct hostent *gethostbyname(const char *);
7614 struct hostent *gethostent(void);
7615 struct netent *getnetbyaddr(in_addr_t, int);
7616 struct netent *getnetbyname(const char *);
7617 struct netent *getnetent(void);
7618 struct protoent *getprotobyname(const char *);
7619 struct protoent *getprotobynumber(int);
7620 struct protoent *getprotoent(void);
7621 struct servent *getservbyname(const char *, const char *);
7622 struct servent *getservbyport(int, const char *);
7623 struct servent *getservent(void);
7624 
7625 /* gethostbyaddr() second argument is a size_t only in unix95/unix98 */
7626 
7627 struct hostent *gethostbyaddr(const void *, socklen_t, int);
7628 
7629 
7630 
7631 
7632 
7633 int endhostent(void);
7634 int endnetent(void);
7635 int endprotoent(void);
7636 int endservent(void);
7637 int sethostent(int);
7638 int setnetent(int);
7639 int setprotoent(int);
7640 int setservent(int);
7641 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h"
7642 int getaddrinfo(const char *,
7643    const char *,
7644    const struct addrinfo *,
7645    struct addrinfo **);
7646 void freeaddrinfo(struct addrinfo *);
7647 const char *gai_strerror(int);
7648 int getnameinfo(const struct sockaddr *,
7649    socklen_t, char *, socklen_t,
7650    char *, socklen_t, int);
7651 
7652 
7653 
7654 int getnetgrent(char **, char **, char **);
7655 int setnetgrent(const char *);
7656 int endnetgrent(void);
7657 int rcmd(char **, unsigned short,
7658  const char *, const char *, const char *, int *);
7659 int rcmd_af(char **, unsigned short,
7660  const char *, const char *, const char *, int *, int);
7661 int rresvport_af(int *, int);
7662 int rresvport_addr(int *, struct sockaddr_storage *);
7663 int rexec(char **, unsigned short,
7664  const char *, const char *, const char *, int *);
7665 int rexec_af(char **, unsigned short,
7666  const char *, const char *, const char *, int *, int);
7667 int rresvport(int *);
7668 int ruserok(const char *, int, const char *, const char *);
7669 /* BIND */
7670 struct hostent *gethostbyname2(const char *, int);
7671 void herror(const char *);
7672 const char *hstrerror(int);
7673 /* End BIND */
7674 
7675 /* IPsec algorithm prototype definitions */
7676 struct ipsecalgent *getipsecalgbyname(const char *, int, int *);
7677 struct ipsecalgent *getipsecalgbynum(int, int, int *);
7678 int getipsecprotobyname(const char *doi_name);
7679 char *getipsecprotobynum(int doi_domain);
7680 void freeipsecalgent(struct ipsecalgent *ptr);
7681 /* END IPsec algorithm prototype definitions */
7682 
7683 
7684 
7685 /*
7686  * Error return codes from gethostbyname() and gethostbyaddr()
7687  * (when using the resolver)
7688  */
7689 
7690 extern int h_errno;
7691 # 377 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h"
7692 /*
7693  * Error return codes from gethostbyname() and gethostbyaddr()
7694  * (left in extern int h_errno).
7695  */
7696 # 389 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netdb.h"
7697 /* BIND */
7698 
7699 
7700 /* End BIND */
7701 # 33 "is_local_host.c" 2
7702 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1
7703 /*
7704  * CDDL HEADER START
7705  *
7706  * The contents of this file are subject to the terms of the
7707  * Common Development and Distribution License (the "License").
7708  * You may not use this file except in compliance with the License.
7709  *
7710  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7711  * or http://www.opensolaris.org/os/licensing.
7712  * See the License for the specific language governing permissions
7713  * and limitations under the License.
7714  *
7715  * When distributing Covered Code, include this CDDL HEADER in each
7716  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7717  * If applicable, add the following below this CDDL HEADER, with the
7718  * fields enclosed by brackets "[]" replaced with your own identifying
7719  * information: Portions Copyright [yyyy] [name of copyright owner]
7720  *
7721  * CDDL HEADER END
7722  */
7723 
7724 /*
7725  * Copyright 2014 PALO, Richard.
7726  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
7727  * Copyright (c) 2013 Gary Mills
7728  *
7729  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
7730  */
7731 
7732 /*	Copyright (c) 1988 AT&T	*/
7733 /*	  All Rights Reserved  	*/
7734 
7735 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
7736 
7737 
7738 
7739 
7740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
7741 /*
7742  * CDDL HEADER START
7743  *
7744  * The contents of this file are subject to the terms of the
7745  * Common Development and Distribution License (the "License").
7746  * You may not use this file except in compliance with the License.
7747  *
7748  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7749  * or http://www.opensolaris.org/os/licensing.
7750  * See the License for the specific language governing permissions
7751  * and limitations under the License.
7752  *
7753  * When distributing Covered Code, include this CDDL HEADER in each
7754  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7755  * If applicable, add the following below this CDDL HEADER, with the
7756  * fields enclosed by brackets "[]" replaced with your own identifying
7757  * information: Portions Copyright [yyyy] [name of copyright owner]
7758  *
7759  * CDDL HEADER END
7760  */
7761 
7762 /*
7763  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
7764  * Copyright 2016 Joyent, Inc.
7765  *
7766  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
7767  * Use is subject to license terms.
7768  */
7769 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
7770 
7771 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
7772 /*
7773  * This file and its contents are supplied under the terms of the
7774  * Common Development and Distribution License ("CDDL"), version 1.0.
7775  * You may only use this file in accordance with the terms of version
7776  * 1.0 of the CDDL.
7777  *
7778  * A full copy of the text of the CDDL should have accompanied this
7779  * source.  A copy of the CDDL is also available via the Internet at
7780  * http://www.illumos.org/license/CDDL.
7781  */
7782 
7783 /*
7784  * Copyright 2014-2016 PALO, Richard.
7785  */
7786 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
7787 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
7788 /*
7789  * CDDL HEADER START
7790  *
7791  * The contents of this file are subject to the terms of the
7792  * Common Development and Distribution License (the "License").
7793  * You may not use this file except in compliance with the License.
7794  *
7795  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7796  * or http://www.opensolaris.org/os/licensing.
7797  * See the License for the specific language governing permissions
7798  * and limitations under the License.
7799  *
7800  * When distributing Covered Code, include this CDDL HEADER in each
7801  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7802  * If applicable, add the following below this CDDL HEADER, with the
7803  * fields enclosed by brackets "[]" replaced with your own identifying
7804  * information: Portions Copyright [yyyy] [name of copyright owner]
7805  *
7806  * CDDL HEADER END
7807  */
7808 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
7809 /*	  All Rights Reserved  	*/
7810 
7811 
7812 /*
7813  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7814  * Use is subject to license terms.
7815  *
7816  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
7817  * Copyright 2016 Joyent, Inc.
7818  */
7819 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
7820 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1
7821 /*
7822  * CDDL HEADER START
7823  *
7824  * The contents of this file are subject to the terms of the
7825  * Common Development and Distribution License (the "License").
7826  * You may not use this file except in compliance with the License.
7827  *
7828  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7829  * or http://www.opensolaris.org/os/licensing.
7830  * See the License for the specific language governing permissions
7831  * and limitations under the License.
7832  *
7833  * When distributing Covered Code, include this CDDL HEADER in each
7834  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7835  * If applicable, add the following below this CDDL HEADER, with the
7836  * fields enclosed by brackets "[]" replaced with your own identifying
7837  * information: Portions Copyright [yyyy] [name of copyright owner]
7838  *
7839  * CDDL HEADER END
7840  */
7841 
7842 /*
7843  *	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
7844  *	  All Rights Reserved
7845  *
7846  */
7847 
7848 /*
7849  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7850  * Use is subject to license terms.
7851  */
7852 
7853 /*
7854  * WARNING: This is an implementation-specific header,
7855  * its contents are not guaranteed. Applications
7856  * should include <unistd.h> and not this header.
7857  */
7858 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2
7859 
7860 
7861 
7862 
7863 
7864 /* Symbolic constants for the "access" routine: */
7865 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7866 /* Symbolic constants for the "lseek" routine: */
7867 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7868 /* Path names: */
7869 
7870 
7871 
7872 
7873 /*
7874  * compile-time symbolic constants,
7875  * Support does not mean the feature is enabled.
7876  * Use pathconf/sysconf to obtain actual configuration value.
7877  */
7878 
7879 /* Values unchanged in UNIX 03 */
7880 
7881 
7882 
7883 
7884 
7885 /*
7886  * POSIX.1b compile-time symbolic constants.
7887  */
7888 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7889 /*
7890  * POSIX.1c compile-time symbolic constants.
7891  */
7892 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7893 /* New in UNIX 03 */
7894 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7895 /*
7896  * Support for the POSIX.1 mutex protocol attribute. For realtime applications
7897  * which need mutexes to support priority inheritance/ceiling.
7898  */
7899 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7900 /*
7901  * Large File Summit-related announcement macros.  The system supports both
7902  * the additional and transitional Large File Summit interfaces.  (The final
7903  * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.)
7904  */
7905 
7906 
7907 
7908 
7909 
7910 /* large file compilation environment setup */
7911 
7912 
7913 
7914 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7915 #pragma redefine_extname ftruncate ftruncate64
7916 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7917 
7918 
7919 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7920 #pragma redefine_extname lseek lseek64
7921 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7922 
7923 
7924 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7925 #pragma redefine_extname pread pread64
7926 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7927 
7928 
7929 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7930 #pragma redefine_extname pwrite pwrite64
7931 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7932 
7933 
7934 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7935 #pragma redefine_extname truncate truncate64
7936 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7937 
7938 
7939 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7940 #pragma redefine_extname lockf lockf64
7941 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7942 
7943 
7944 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7945 #pragma redefine_extname tell tell64
7946 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7947 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7948 /* In the LP64 compilation environment, the APIs are already large file */
7949 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
7950 extern int access(const char *, int);
7951 
7952 extern int acct(const char *);
7953 
7954 extern unsigned alarm(unsigned);
7955 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
7956 
7957 
7958 extern int brk(void *);
7959 
7960 extern int chdir(const char *);
7961 extern int chown(const char *, uid_t, gid_t);
7962 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
7963 
7964 
7965 extern int chroot(const char *);
7966 
7967 extern int close(int);
7968 
7969 
7970 
7971 
7972 
7973 
7974 extern char *ctermid(char *);
7975 
7976 
7977 extern char *ctermid_r(char *);
7978 
7979 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
7980 
7981 extern char *cuserid(char *);
7982 
7983 extern int dup(int);
7984 extern int dup2(int, int);
7985 extern int dup3(int, int, int);
7986 
7987 
7988 
7989 
7990 extern void endusershell(void);
7991 
7992 extern int execl(const char *, const char *, ...);
7993 extern int execle(const char *, const char *, ...);
7994 extern int execlp(const char *, const char *, ...);
7995 extern int execv(const char *, char *const *);
7996 extern int execve(const char *, char *const *, char *const *);
7997 extern int execvp(const char *, char *const *);
7998 extern void _exit(int)
7999  __attribute__((__noreturn__));
8000 /*
8001  * The following fattach prototype is duplicated in <stropts.h>. The
8002  * duplication is necessitated by XPG4.2 which requires the prototype
8003  * be defined in <stropts.h>.
8004  */
8005 
8006 extern int fattach(int, const char *);
8007 
8008 
8009 extern int fchdir(int);
8010 extern int fchown(int, uid_t, gid_t);
8011 
8012 
8013 extern int fchroot(int);
8014 
8015 
8016 
8017 extern int fdatasync(int);
8018 
8019 /*
8020  * The following fdetach prototype is duplicated in <stropts.h>. The
8021  * duplication is necessitated by XPG4.2 which requires the prototype
8022  * be defined in <stropts.h>.
8023  */
8024 
8025 extern int fdetach(const char *);
8026 
8027 extern pid_t fork(void);
8028 
8029 extern pid_t fork1(void);
8030 extern pid_t forkall(void);
8031 
8032 extern long fpathconf(int, int);
8033 
8034 
8035 extern int fsync(int);
8036 
8037 
8038 
8039 
8040 extern int ftruncate(int, off_t);
8041 
8042 extern char *getcwd(char *, size_t);
8043 
8044 
8045 extern int getdtablesize(void);
8046 
8047 extern gid_t getegid(void);
8048 extern uid_t geteuid(void);
8049 extern gid_t getgid(void);
8050 extern int getgroups(int, gid_t *);
8051 
8052 extern long gethostid(void);
8053 
8054 
8055 
8056 
8057 extern int gethostname(char *, int);
8058 
8059 
8060 
8061 
8062 
8063 
8064 
8065 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8066 #pragma redefine_extname getlogin getloginx
8067 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8068 
8069 
8070 
8071 
8072 
8073 
8074 extern char *getlogin(void);
8075 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8076 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */
8077 
8078 extern int getpagesize(void);
8079 
8080 extern pid_t getpgid(pid_t);
8081 
8082 extern pid_t getpid(void);
8083 extern pid_t getppid(void);
8084 extern pid_t getpgrp(void);
8085 
8086 
8087 char *gettxt(const char *, const char *);
8088 
8089 
8090 extern pid_t getsid(pid_t);
8091 
8092 extern uid_t getuid(void);
8093 
8094 extern char *getusershell(void);
8095 
8096 /*
8097  * The following ioctl prototype is duplicated in <stropts.h>. The
8098  * duplication is necessitated by XPG4.2 which requires the prototype
8099  * be defined in <stropts.h>.
8100  */
8101 
8102 extern int ioctl(int, int, ...);
8103 extern int isaexec(const char *, char *const *, char *const *);
8104 extern int issetugid(void);
8105 
8106 extern int isatty(int);
8107 
8108 extern int lchown(const char *, uid_t, gid_t);
8109 
8110 extern int link(const char *, const char *);
8111 
8112 extern offset_t llseek(int, offset_t, int);
8113 
8114 
8115 
8116 
8117 extern int lockf(int, int, off_t);
8118 
8119 extern off_t lseek(int, off_t, int);
8120 
8121 
8122 extern int nice(int);
8123 
8124 
8125 extern int mincore(caddr_t, size_t, char *);
8126 
8127 extern long pathconf(const char *, int);
8128 extern int pause(void);
8129 extern int pipe(int *);
8130 extern int pipe2(int *, int);
8131 
8132 
8133 
8134 extern ssize_t pread(int, void *, size_t, off_t);
8135 
8136 
8137 extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
8138 
8139 /*
8140  * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The
8141  * declarations are identical. A change to either one may also require
8142  * appropriate namespace updates in order to avoid redeclaration
8143  * warnings in the case where both prototypes are exposed via inclusion
8144  * of both <pthread.h> and <unistd.h>.
8145  */
8146 
8147 
8148 
8149 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
8150 
8151 
8152 
8153 extern int ptrace(int, pid_t, int, int);
8154 
8155 
8156 
8157 
8158 extern ssize_t pwrite(int, const void *, size_t, off_t);
8159 
8160 
8161 /* per RFC 3542; This is also defined in netdb.h */
8162 extern int rcmd_af(char **, unsigned short, const char *, const char *,
8163  const char *, int *, int);
8164 
8165 extern ssize_t read(int, void *, size_t);
8166 
8167 
8168 extern ssize_t readlink(const char *, char *,
8169  size_t);
8170 
8171 
8172 
8173 
8174 
8175 
8176 extern int rename(const char *, const char *);
8177 
8178 
8179 
8180 
8181 
8182 
8183 
8184 extern int resolvepath(const char *, char *, size_t);
8185 /* per RFC 3542; This is also defined in netdb.h */
8186 extern int rexec_af(char **, unsigned short, const char *, const char *,
8187  const char *, int *, int);
8188 
8189 extern int rmdir(const char *);
8190 
8191 /* per RFC 3542; This is also defined in netdb.h */
8192 extern int rresvport_af(int *, int);
8193 
8194 
8195 
8196 
8197 extern void *sbrk(intptr_t);
8198 
8199 
8200 extern int setegid(gid_t);
8201 extern int seteuid(uid_t);
8202 
8203 extern int setgid(gid_t);
8204 
8205 extern int setgroups(int, const gid_t *);
8206 extern int sethostname(char *, int);
8207 
8208 extern int setpgid(pid_t, pid_t);
8209 
8210 extern pid_t setpgrp(void);
8211 extern int setregid(gid_t, gid_t);
8212 extern int setreuid(uid_t, uid_t);
8213 
8214 extern pid_t setsid(void);
8215 extern int setuid(uid_t);
8216 
8217 extern void setusershell(void);
8218 
8219 extern unsigned sleep(unsigned);
8220 
8221 extern int stime(const time_t *);
8222 
8223 
8224 
8225 
8226 
8227 
8228 extern int symlink(const char *, const char *);
8229 extern void sync(void);
8230 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8231 extern long sysconf(int);
8232 extern pid_t tcgetpgrp(int);
8233 extern int tcsetpgrp(int, pid_t);
8234 
8235 
8236 
8237 extern off_t tell(int);
8238 
8239 
8240 
8241 
8242 extern int truncate(const char *, off_t);
8243 
8244 extern char *ttyname(int);
8245 
8246 extern useconds_t ualarm(useconds_t, useconds_t);
8247 
8248 extern int unlink(const char *);
8249 
8250 extern char *getwd(char *);
8251 extern int usleep(useconds_t);
8252 extern pid_t vfork(void) __attribute__((__returns_twice__));
8253 #pragma unknown_control_flow(vfork)
8254 
8255 
8256 extern void vhangup(void);
8257 
8258 extern ssize_t write(int, const void *, size_t);
8259 
8260 extern void yield(void);
8261 
8262 
8263 
8264 
8265  /* || defined(_XPG7) */
8266 extern int faccessat(int, const char *, int, int);
8267 extern int fchownat(int, const char *, uid_t, gid_t, int);
8268 extern int linkat(int, const char *, int, const char *, int);
8269 extern ssize_t readlinkat(int, const char *,
8270  char *, size_t);
8271 extern int renameat(int, const char *, int, const char *);
8272 extern int symlinkat(const char *, int, const char *);
8273 extern int unlinkat(int, const char *, int);
8274 
8275 
8276 extern int get_nprocs(void);
8277 extern int get_nprocs_conf(void);
8278 
8279 
8280 /* transitional large file interface versions */
8281 
8282 
8283 extern int ftruncate64(int, off64_t);
8284 extern off64_t lseek64(int, off64_t, int);
8285 extern ssize_t pread64(int, void *, size_t, off64_t);
8286 extern ssize_t pwrite64(int, const void *, size_t, off64_t);
8287 extern off64_t tell64(int);
8288 extern int truncate64(const char *, off64_t);
8289 extern int lockf64(int, int, off64_t);
8290 
8291 
8292 /*
8293  * getlogin_r() & ttyname_r() prototypes are defined here.
8294  */
8295 
8296 /*
8297  * Previous releases of Solaris, starting at 2.3, provided definitions of
8298  * various functions as specified in POSIX.1c, Draft 6.  For some of these
8299  * functions, the final POSIX 1003.1c standard had a different number of
8300  * arguments and return values.
8301  *
8302  * The following segment of this header provides support for the standard
8303  * interfaces while supporting applications written under earlier
8304  * releases.  The application defines appropriate values of the feature
8305  * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate
8306  * whether it was written to expect the Draft 6 or standard versions of
8307  * these interfaces, before including this header.  This header then
8308  * provides a mapping from the source version of the interface to an
8309  * appropriate binary interface.  Such mappings permit an application
8310  * to be built from libraries and objects which have mixed expectations
8311  * of the definitions of these functions.
8312  *
8313  * For applications using the Draft 6 definitions, the binary symbol is the
8314  * same as the source symbol, and no explicit mapping is needed.  For the
8315  * standard interface, the function func() is mapped to the binary symbol
8316  * _posix_func().  The preferred mechanism for the remapping is a compiler
8317  * #pragma.  If the compiler does not provide such a #pragma, the header file
8318  * defines a static function func() which calls the _posix_func() version;
8319  * this has to be done instead of #define since POSIX specifies that an
8320  * application can #undef the symbol and still be bound to the correct
8321  * implementation.  Unfortunately, the statics confuse lint so we fallback to
8322  * #define in that case.
8323  *
8324  * NOTE: Support for the Draft 6 definitions is provided for compatibility
8325  * only.  New applications/libraries should use the standard definitions.
8326  */
8327 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8328 
8329 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8330 #pragma redefine_extname getlogin_r getloginx_r
8331 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h"
8332 
8333 
8334 
8335 
8336 
8337 
8338 extern char *getlogin_r(char *, int);
8339 
8340 extern char *ttyname_r(int, char *, int);
8341 
8342 
8343 
8344 
8345 
8346 
8347 extern int getentropy(void *, size_t);
8348 # 34 "is_local_host.c" 2
8349 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1
8350 /*
8351  * CDDL HEADER START
8352  *
8353  * The contents of this file are subject to the terms of the
8354  * Common Development and Distribution License (the "License").
8355  * You may not use this file except in compliance with the License.
8356  *
8357  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8358  * or http://www.opensolaris.org/os/licensing.
8359  * See the License for the specific language governing permissions
8360  * and limitations under the License.
8361  *
8362  * When distributing Covered Code, include this CDDL HEADER in each
8363  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8364  * If applicable, add the following below this CDDL HEADER, with the
8365  * fields enclosed by brackets "[]" replaced with your own identifying
8366  * information: Portions Copyright [yyyy] [name of copyright owner]
8367  *
8368  * CDDL HEADER END
8369  */
8370 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
8371 /*	  All Rights Reserved  	*/
8372 
8373 
8374 /*
8375  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8376  * Use is subject to license terms.
8377  *
8378  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
8379  * Copyright 2016 Joyent, Inc.
8380  */
8381 # 35 "is_local_host.c" 2
8382 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
8383 /*
8384  * CDDL HEADER START
8385  *
8386  * The contents of this file are subject to the terms of the
8387  * Common Development and Distribution License (the "License").
8388  * You may not use this file except in compliance with the License.
8389  *
8390  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8391  * or http://www.opensolaris.org/os/licensing.
8392  * See the License for the specific language governing permissions
8393  * and limitations under the License.
8394  *
8395  * When distributing Covered Code, include this CDDL HEADER in each
8396  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8397  * If applicable, add the following below this CDDL HEADER, with the
8398  * fields enclosed by brackets "[]" replaced with your own identifying
8399  * information: Portions Copyright [yyyy] [name of copyright owner]
8400  *
8401  * CDDL HEADER END
8402  */
8403 /*
8404  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8405  *
8406  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
8407  */
8408 
8409 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
8410 /*	  All Rights Reserved	*/
8411 
8412 /*
8413  * University Copyright- Copyright (c) 1982, 1986, 1988
8414  * The Regents of the University of California
8415  * All Rights Reserved
8416  *
8417  * University Acknowledgment- Portions of this document are derived from
8418  * software developed by the University of California, Berkeley, and its
8419  * contributors.
8420  */
8421 
8422 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
8423 # 36 "is_local_host.c" 2
8424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h" 1
8425 /*
8426  * CDDL HEADER START
8427  *
8428  * The contents of this file are subject to the terms of the
8429  * Common Development and Distribution License (the "License").
8430  * You may not use this file except in compliance with the License.
8431  *
8432  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8433  * or http://www.opensolaris.org/os/licensing.
8434  * See the License for the specific language governing permissions
8435  * and limitations under the License.
8436  *
8437  * When distributing Covered Code, include this CDDL HEADER in each
8438  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8439  * If applicable, add the following below this CDDL HEADER, with the
8440  * fields enclosed by brackets "[]" replaced with your own identifying
8441  * information: Portions Copyright [yyyy] [name of copyright owner]
8442  *
8443  * CDDL HEADER END
8444  */
8445 /*
8446  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
8447  * Copyright (c) 2014, OmniTI Computer Consulting, Inc. All rights reserved.
8448  */
8449 
8450 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
8451 /*	  All Rights Reserved  	*/
8452 
8453 /*
8454  * University Copyright- Copyright (c) 1982, 1986, 1988
8455  * The Regents of the University of California
8456  * All Rights Reserved
8457  *
8458  * University Acknowledgment- Portions of this document are derived from
8459  * software developed by the University of California, Berkeley, and its
8460  * contributors.
8461  */
8462 
8463 
8464 
8465 
8466 /*
8467  * General socket ioctl definitions.
8468  */
8469 
8470 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioccom.h" 1
8471 /*
8472  * CDDL HEADER START
8473  *
8474  * The contents of this file are subject to the terms of the
8475  * Common Development and Distribution License, Version 1.0 only
8476  * (the "License").  You may not use this file except in compliance
8477  * with the License.
8478  *
8479  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8480  * or http://www.opensolaris.org/os/licensing.
8481  * See the License for the specific language governing permissions
8482  * and limitations under the License.
8483  *
8484  * When distributing Covered Code, include this CDDL HEADER in each
8485  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8486  * If applicable, add the following below this CDDL HEADER, with the
8487  * fields enclosed by brackets "[]" replaced with your own identifying
8488  * information: Portions Copyright [yyyy] [name of copyright owner]
8489  *
8490  * CDDL HEADER END
8491  */
8492 /*
8493  * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
8494  * Use is subject to license terms.
8495  */
8496 
8497 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
8498 /*	  All Rights Reserved  	*/
8499 
8500 /*
8501  * University Copyright- Copyright (c) 1982, 1986, 1988
8502  * The Regents of the University of California
8503  * All Rights Reserved
8504  *
8505  * University Acknowledgment- Portions of this document are derived from
8506  * software developed by the University of California, Berkeley, and its
8507  * contributors.
8508  */
8509 
8510 
8511 
8512 
8513 #pragma ident "%Z%%M%	%I%	%E% SMI"
8514 
8515 
8516 
8517 
8518 
8519 /*
8520  * Ioctl's have the command encoded in the lower word,
8521  * and the size of any in or out parameters in the upper
8522  * word.  The high 2 bits of the upper word are used
8523  * to encode the in/out status of the parameter; for now
8524  * we restrict parameters to at most 255 bytes.
8525  */
8526 
8527 
8528 
8529 
8530 
8531 
8532 /*
8533  * The 0x20000000 is so we can distinguish new ioctl's from old.
8534  */
8535 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h" 2
8536 
8537 
8538 
8539 
8540 
8541 /* socket i/o controls */
8542 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8543 /*
8544  * SIOCADDRT and SIOCDELRT ioctls need to be defined using _IOWN macro to
8545  * make them datamodel independent.
8546  */
8547 
8548 
8549 
8550 /* For multicast routing. These might change in future release */
8551 
8552        /* get vif pkt count */
8553 
8554        /* get s,g pkt count */
8555 
8556        /* get s,g pkt count */
8557 
8558 /*
8559  * Obsolete interface ioctls using struct ifreq that are supported
8560  * for compatibility. New interface ioctls use struct lifreq.
8561  */
8562 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8563 /*
8564  * Needs to be defined using _IOWRN macro to make it datamodel independent.
8565  * Argument is a struct ifconf.
8566  */
8567 
8568 
8569 
8570 
8571 
8572  /* from 4.3BSD */
8573 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8574        /* mode on/off */
8575 
8576 
8577 
8578 /* STREAMS based socket emulation */
8579 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8580        /* in x25if */
8581 
8582        /* in x25if */
8583 
8584        /* kernel */
8585 
8586        /* SLIP request */
8587 
8588        /* kernel */
8589 # 151 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8590 /*
8591  * New interface ioctls that use the struct lifreq. Can be used for
8592  * both IPv4 and IPv6.
8593  */
8594 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8595 /*
8596  * Needs to be defined using _IOWRN macro to make it datamodel independent.
8597  * Argument is a struct lifconf.
8598  */
8599 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8600        /* local address and */
8601        /* autoconf */
8602 
8603        /* local address and */
8604        /* autoconf */
8605 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sockio.h"
8606 /*
8607  * Address querying ioctls.
8608  */
8609 
8610        /* My address? */
8611 
8612        /* Address on-link? */
8613 
8614        /* In this site? */
8615 
8616 /* 147-152 were SIOC*{TUNPARAM,IPSECONFIG} ioctls.  Feel free to re-use. */
8617 
8618 /*
8619  * 153 can be reused (was consolidation-private SIOCLIFFAILOVER).
8620  */
8621 
8622 /*
8623  * IP Multipathing ioctls.
8624  */
8625 
8626 
8627 
8628 
8629 
8630 /*
8631  * Leave 158 - 160 unused; used to be SIOC*IFARP ioctls.
8632  * However, 161 can be reused (was consolidation-private SIOCSLIFOINDEX).
8633  */
8634 
8635 /*
8636  * IOCTLS which provide an interface to the IPv6 address selection policy.
8637  */
8638 
8639 
8640 
8641 /*
8642  * IOCTL for retrieving sorting info for a list of destination addrs.
8643  * Use the _IOWRN macro to make it datamodel independent.  Argument
8644  * is a struct dstinfo.
8645  */
8646 
8647 
8648 
8649 /*
8650  * Extended IOCTLS for manipulating ARP cache entries.
8651  */
8652 
8653 
8654 
8655 
8656 /*
8657  * IOCTL private to sockfs.
8658  */
8659 
8660 
8661 /*
8662  * IOCTLs for getting and setting zone associated with an interface, and
8663  * unplumbing interfaces associated with a given zone.
8664  */
8665 
8666 
8667 
8668 /*
8669  * IOCTLS for handling SCTP options.
8670  */
8671 
8672 
8673 
8674 
8675 /*
8676  * IOCTLs for getting and setting the source address that is used for packets
8677  * going out on the given interface.
8678  */
8679 
8680 
8681 
8682 /*
8683  * IOCTL used to get all the interfaces that use the the specified interfaces'
8684  * source address
8685  */
8686 
8687 
8688 /*
8689  * IOCTLs for source specific multicast; get or set a socket's
8690  * source filter for a particular multicast group.  Argument is
8691  * a struct group_filter.  Defined in RFC 3678.
8692  */
8693 
8694 
8695 /*
8696  * IPv4-specific versions of the above; get or set a socket's source
8697  * filter for a particular multicast group, for PF_INET sockets only.
8698  * Argument is a struct ip_msfilter.
8699  */
8700 
8701 
8702 
8703 /*
8704  * 182 can be reused (was consolidation-private SIOCSIPMPFAILBACK).
8705  */
8706 
8707 
8708 
8709 
8710 
8711 /*
8712  * SIOCGIFHWADDR and SIOCGLIFHWADDR (below) are available for PF_PACKET,
8713  * PF_INET and PF_INET6 sockets.
8714  */
8715 
8716 
8717 
8718 
8719 /*
8720  * Private ioctl for Integrated Load Balancer.  The ioctl length varies.
8721  */
8722 
8723 
8724 /*
8725  * IOCTL's to get/set module specific or interface specific properties.
8726  * Argument is a struct mod_ioc_prop_s. These ioctls are Consolidation Private.
8727  */
8728 
8729 
8730 
8731 /*
8732  * IOCTL used to check for the given ipif, whether DAD is in progress or
8733  * DAD has completed. This ioctl is Consolidation Private.
8734  */
8735 
8736 
8737 /*
8738  * IOCTL used to generate an IPv6 address using the given prefix and the
8739  * default token for the interface.
8740  */
8741 # 37 "is_local_host.c" 2
8742 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1
8743 /*
8744  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
8745  */
8746 
8747 /*
8748  * Copyright (c) 1982, 1986 Regents of the University of California.
8749  * All rights reserved.  The Berkeley software License Agreement
8750  * specifies the terms and conditions for redistribution.
8751  */
8752 
8753 
8754 
8755 
8756 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86		*/
8757 
8758 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
8759 /*
8760  * CDDL HEADER START
8761  *
8762  * The contents of this file are subject to the terms of the
8763  * Common Development and Distribution License (the "License").
8764  * You may not use this file except in compliance with the License.
8765  *
8766  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8767  * or http://www.opensolaris.org/os/licensing.
8768  * See the License for the specific language governing permissions
8769  * and limitations under the License.
8770  *
8771  * When distributing Covered Code, include this CDDL HEADER in each
8772  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8773  * If applicable, add the following below this CDDL HEADER, with the
8774  * fields enclosed by brackets "[]" replaced with your own identifying
8775  * information: Portions Copyright [yyyy] [name of copyright owner]
8776  *
8777  * CDDL HEADER END
8778  */
8779 
8780 /*
8781  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
8782  * Copyright 2016 Joyent, Inc.
8783  *
8784  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
8785  * Use is subject to license terms.
8786  */
8787 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
8788 
8789 
8790 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
8791 /*
8792  * CDDL HEADER START
8793  *
8794  * The contents of this file are subject to the terms of the
8795  * Common Development and Distribution License (the "License").
8796  * You may not use this file except in compliance with the License.
8797  *
8798  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8799  * or http://www.opensolaris.org/os/licensing.
8800  * See the License for the specific language governing permissions
8801  * and limitations under the License.
8802  *
8803  * When distributing Covered Code, include this CDDL HEADER in each
8804  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8805  * If applicable, add the following below this CDDL HEADER, with the
8806  * fields enclosed by brackets "[]" replaced with your own identifying
8807  * information: Portions Copyright [yyyy] [name of copyright owner]
8808  *
8809  * CDDL HEADER END
8810  */
8811 /*
8812  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
8813  *
8814  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
8815  */
8816 
8817 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
8818 /*	  All Rights Reserved	*/
8819 
8820 /*
8821  * University Copyright- Copyright (c) 1982, 1986, 1988
8822  * The Regents of the University of California
8823  * All Rights Reserved
8824  *
8825  * University Acknowledgment- Portions of this document are derived from
8826  * software developed by the University of California, Berkeley, and its
8827  * contributors.
8828  */
8829 
8830 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
8831 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
8832 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
8833 /*
8834  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
8835  * Use is subject to license terms.
8836  *
8837  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
8838  */
8839 /*
8840  * Copyright (c) 1982, 1986 Regents of the University of California.
8841  * All rights reserved.
8842  *
8843  * Redistribution and use in source and binary forms are permitted
8844  * provided that this notice is preserved and that due credit is given
8845  * to the University of California at Berkeley. The name of the University
8846  * may not be used to endorse or promote products derived from this
8847  * software without specific prior written permission. This software
8848  * is provided ``as is'' without express or implied warranty.
8849  */
8850 
8851 /*
8852  * Constants and structures defined by the internet system,
8853  * according to following documents
8854  *
8855  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
8856  *	http://www.iana.org/assignments/protocol-numbers
8857  *	http://www.iana.org/assignments/port-numbers
8858  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
8859  *
8860  */
8861 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2
8862 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8863 /*
8864  * Structures defining a network interface, providing a packet
8865  * transport mechanism (ala level 0 of the PUP protocols).
8866  *
8867  * Each interface accepts output datagrams of a specified maximum
8868  * length, and provides higher level routines with input datagrams
8869  * received from its medium.
8870  *
8871  * Output occurs when the routine if_output is called, with three parameters:
8872  *	(*ifp->if_output)(ifp, m, dst)
8873  * Here m is the mbuf chain to be sent and dst is the destination address.
8874  * The output routine encapsulates the supplied datagram if necessary,
8875  * and then transmits it on its medium.
8876  *
8877  * On input, each interface unwraps the data received by it, and either
8878  * places it on the input queue of a internetwork datagram routine
8879  * and posts the associated software interrupt, or passes the datagram to a raw
8880  * packet input routine.
8881  *
8882  * Routines exist for locating interfaces by their addresses
8883  * or for locating a interface on a certain network, as well as more general
8884  * routing and gateway routines maintaining information used to locate
8885  * interfaces.  These routines live in the files if.c and route.c
8886  */
8887 
8888 
8889 
8890 /*
8891  * Structure defining a queue for a network interface.
8892  *
8893  * (Would like to call this struct ``if'', but C isn't PL/1.)
8894  */
8895 struct ifnet {
8896  char *if_name; /* name, e.g. ``en'' or ``lo'' */
8897  short if_unit; /* sub-unit for lower level driver */
8898  short if_mtu; /* maximum transmission unit */
8899  short if_flags; /* up/down, broadcast, etc. */
8900  short if_timer; /* time 'til if_watchdog called */
8901  ushort_t if_promisc; /* net # of requests for promisc mode */
8902  int if_metric; /* routing metric (external only) */
8903  struct ifaddr *if_addrlist; /* linked list of addresses per if */
8904  struct ifqueue {
8905   struct mbuf *ifq_head;
8906   struct mbuf *ifq_tail;
8907   int ifq_len;
8908   int ifq_maxlen;
8909   int ifq_drops;
8910  } if_snd; /* output queue */
8911 /* procedure handles */
8912  int (*if_init)(); /* init routine */
8913  int (*if_output)(); /* output routine */
8914  int (*if_ioctl)(); /* ioctl routine */
8915  int (*if_reset)(); /* bus reset routine */
8916  int (*if_watchdog)(); /* timer routine */
8917 /* generic interface statistics */
8918  int if_ipackets; /* packets received on interface */
8919  int if_ierrors; /* input errors on interface */
8920  int if_opackets; /* packets sent on interface */
8921  int if_oerrors; /* output errors on interface */
8922  int if_collisions; /* collisions on csma interfaces */
8923 /* end statistics */
8924  struct ifnet *if_next;
8925  struct ifnet *if_upper; /* next layer up */
8926  struct ifnet *if_lower; /* next layer down */
8927  int (*if_input)(); /* input routine */
8928  int (*if_ctlin)(); /* control input routine */
8929  int (*if_ctlout)(); /* control output routine */
8930  struct map *if_memmap; /* rmap for interface specific memory */
8931 };
8932 
8933 /*
8934  * NOTE : These flags are not directly used within IP.
8935  * ip_if.h has definitions derived from this which is used within IP.
8936  * If you define a flag here, you need to define one in ip_if.h before
8937  * using the new flag in IP. Don't use these flags directly in IP.
8938  */
8939 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8940 /*
8941  * The IFF_MULTICAST flag indicates that the network can support the
8942  * transmission and reception of higher-level (e.g., IP) multicast packets.
8943  * It is independent of hardware support for multicasting; for example,
8944  * point-to-point links or pure broadcast networks may well support
8945  * higher-level multicasts.
8946  */
8947 
8948 
8949 
8950 
8951 
8952 
8953 
8954 /*
8955  * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS.
8956  * Should use SIOC[GS]LIFFLAGS which has a larger flags field.
8957  */
8958 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8959 /*
8960  * The IFF_XRESOLV flag is an evolving interface and is subject
8961  * to change without notice.
8962  */
8963 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8964 /* flags that cannot be changed by userland on any interface */
8965 
8966 
8967 
8968 
8969 
8970 
8971 
8972 /* flags that cannot be changed by userland on an IPMP interface */
8973 
8974 
8975 /* flags that can never be set on an IPMP interface */
8976 
8977 
8978 
8979 /*
8980  * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1)
8981  * input routines have queues of messages stored on ifqueue structures
8982  * (defined above).  Entries are added to and deleted from these structures
8983  * by these macros, which should be called with ipl raised to splimp().
8984  */
8985 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8986 /*
8987  * Packets destined for level-1 protocol input routines
8988  * have a pointer to the receiving interface prepended to the data.
8989  * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet.
8990  * IF_ADJ should be used otherwise to adjust for its presence.
8991  */
8992 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
8993 /*
8994  * The ifaddr structure contains information about one address
8995  * of an interface.  They are maintained by the different address families,
8996  * are allocated and attached when an address is set, and are linked
8997  * together so all addresses for an interface can be located.
8998  */
8999 struct ifaddr {
9000  struct sockaddr ifa_addr; /* address of interface */
9001  union {
9002   struct sockaddr ifu_broadaddr;
9003   struct sockaddr ifu_dstaddr;
9004  } ifa_ifu;
9005 
9006 
9007  struct ifnet *ifa_ifp; /* back-pointer to interface */
9008  struct ifaddr *ifa_next; /* next address for interface */
9009 };
9010 
9011 /*
9012  * For SIOCLIF*ND ioctls.
9013  *
9014  * The lnr_state_* fields use the ND_* neighbor reachability states.
9015  * The 3 different fields are for use with SIOCLIFSETND to cover the cases
9016  * when
9017  *	A new entry is created
9018  *	The entry already exists and the link-layer address is the same
9019  *	The entry already exists and the link-layer address differs
9020  *
9021  * Use ND_UNCHANGED to not change any state.
9022  */
9023 
9024 typedef struct lif_nd_req {
9025  struct sockaddr_storage lnr_addr;
9026  uint8_t lnr_state_create; /* When creating */
9027  uint8_t lnr_state_same_lla; /* Update same addr */
9028  uint8_t lnr_state_diff_lla; /* Update w/ diff. */
9029  int lnr_hdw_len;
9030  int lnr_flags; /* See below */
9031  /* padding because ia32 "long long"s are only 4-byte aligned. */
9032  int lnr_pad0;
9033  char lnr_hdw_addr[64];
9034 } lif_nd_req_t;
9035 
9036 /*
9037  * Neighbor reachability states
9038  * Used with SIOCLIF*ND ioctls.
9039  */
9040 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
9041 /*
9042  * lnr_flags value of lif_nd_req.
9043  * Used with SIOCLIF*ND ioctls.
9044  */
9045 
9046 
9047 
9048 
9049 
9050 
9051 /*
9052  * the NDF_STATIC entry ensures that an NCE will not be deleted, and is
9053  * used by non-ON applications like IPv6 test suites.
9054  */
9055 
9056 
9057 /* For SIOC[GS]LIFLNKINFO */
9058 typedef struct lif_ifinfo_req {
9059  uint8_t lir_maxhops;
9060  uint32_t lir_reachtime; /* Reachable time in msec */
9061  uint32_t lir_reachretrans; /* Retransmission timer msec */
9062  uint32_t lir_maxmtu;
9063 } lif_ifinfo_req_t;
9064 
9065 
9066 
9067 /*
9068  * Maximum lengths of interface name and IPMP group name; these are the same
9069  * for historical reasons.  Note that the actual maximum length of a name is
9070  * one byte less than these constants since the kernel always sets the final
9071  * byte of lifr_name and lifr_groupname to NUL.
9072  */
9073 
9074 
9075 
9076 
9077 
9078 
9079 
9080 /*
9081  * Interface request structure used for socket
9082  * ioctl's.  All interface ioctl's must have parameter
9083  * definitions which begin with ifr_name.  The
9084  * remainder may be interface specific.
9085  * Note: This data structure uses 64bit type uint64_t which is not
9086  *	 a valid type for strict ANSI/ISO C compilation for ILP32.
9087  *	 Applications with ioctls using this structure that insist on
9088  *	 building with strict ANSI/ISO C (-Xc) will need to be LP64.
9089  */
9090 
9091 struct lifreq {
9092  char lifr_name[32]; /* if name, e.g. "en0" */
9093  union {
9094   int lifru_addrlen; /* for subnet/token etc */
9095   uint_t lifru_ppa; /* SIOCSLIFNAME */
9096  } lifr_lifru1;
9097 
9098 
9099  uint_t lifr_type; /* IFT_ETHER, ... */
9100  union {
9101   struct sockaddr_storage lifru_addr;
9102   struct sockaddr_storage lifru_dstaddr;
9103   struct sockaddr_storage lifru_broadaddr;
9104   struct sockaddr_storage lifru_token; /* With lifr_addrlen */
9105   struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */
9106   int lifru_index; /* interface index */
9107   uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */
9108   int lifru_metric;
9109   uint_t lifru_mtu;
9110   int lif_muxid[2]; /* mux id's for arp and ip */
9111   struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */
9112   struct lif_ifinfo_req lifru_ifinfo_req;
9113   char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */
9114   char lifru_binding[32]; /* SIOCGLIFBINDING */
9115   zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */
9116   uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */
9117  } lifr_lifru;
9118 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
9119 };
9120 
9121 
9122 /*
9123  * Argument structure for SIOCT* address testing ioctls.
9124  */
9125 struct sioc_addrreq {
9126  struct sockaddr_storage sa_addr; /* Address to test */
9127  int sa_res; /* Result - 0/1 */
9128  int sa_pad;
9129 };
9130 
9131 /*
9132  * Argument structure used by mrouted to get src-grp pkt counts using
9133  * SIOCGETLSGCNT. See <netinet/ip_mroute.h>.
9134  */
9135 struct sioc_lsg_req {
9136  struct sockaddr_storage slr_src;
9137  struct sockaddr_storage slr_grp;
9138  uint_t slr_pktcnt;
9139  uint_t slr_bytecnt;
9140  uint_t slr_wrong_if;
9141  uint_t slr_pad;
9142 };
9143 
9144 /* Argument structure for SIOCGLIFDADSTATE ioctl */
9145 typedef enum {
9146  DAD_IN_PROGRESS = 0x1,
9147  DAD_DONE = 0x2
9148 } glif_dad_state_t;
9149 
9150 /*
9151  * OBSOLETE: Replaced by struct lifreq. Supported for compatibility.
9152  *
9153  * Interface request structure used for socket
9154  * ioctl's.  All interface ioctl's must have parameter
9155  * definitions which begin with ifr_name.  The
9156  * remainder may be interface specific.
9157  */
9158 struct ifreq {
9159 
9160  char ifr_name[16]; /* if name, e.g. "en0" */
9161  union {
9162   struct sockaddr ifru_addr;
9163   struct sockaddr ifru_dstaddr;
9164   char ifru_oname[16]; /* other if name */
9165   struct sockaddr ifru_broadaddr;
9166   int ifru_index; /* interface index */
9167   uint_t ifru_mtu;
9168   short ifru_flags;
9169   int ifru_metric;
9170   char ifru_data[1]; /* interface dependent data */
9171   char ifru_enaddr[6];
9172   int if_muxid[2]; /* mux id's for arp and ip */
9173 
9174   /* Struct for flags/ppa */
9175   struct ifr_ppaflags {
9176    short ifrup_flags; /* Space of ifru_flags. */
9177    short ifrup_filler;
9178    uint_t ifrup_ppa;
9179   } ifru_ppaflags;
9180 
9181   /* Struct for FDDI ioctl's */
9182   struct ifr_dnld_reqs {
9183    uint32_t v_addr;
9184    uint32_t m_addr;
9185    uint32_t ex_addr;
9186    uint32_t size;
9187   } ifru_dnld_req;
9188 
9189   /* Struct for FDDI stats */
9190   struct ifr_fddi_stats {
9191    uint32_t stat_size;
9192    uint32_t fddi_stats;
9193   } ifru_fddi_stat;
9194 
9195   struct ifr_netmapents {
9196    uint32_t map_ent_size, /* size of netmap structure */
9197     entry_number; /* index into netmap list */
9198    uint32_t fddi_map_ent; /* pointer to user structure */
9199   } ifru_netmapent;
9200 
9201   /* Field for generic ioctl for fddi */
9202 
9203   struct ifr_fddi_gen_struct {
9204    uint32_t ifru_fddi_gioctl; /* field for gen ioctl */
9205    uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */
9206   } ifru_fddi_gstruct;
9207 
9208  } ifr_ifru;
9209 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
9210 /* For setting ppa */
9211 
9212 
9213 /* FDDI specific */
9214 
9215 
9216 
9217 
9218 
9219 
9220 
9221 };
9222 
9223 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */
9224 struct lifnum {
9225  sa_family_t lifn_family;
9226  int lifn_flags; /* request specific interfaces */
9227  int lifn_count; /* Result */
9228 };
9229 
9230 /*
9231  * Structure used in SIOCGLIFCONF request.
9232  * Used to retrieve interface configuration
9233  * for machine (useful for programs which
9234  * must know all networks accessible) for a given address family.
9235  * Using AF_UNSPEC will retrieve all address families.
9236  */
9237 struct lifconf {
9238  sa_family_t lifc_family;
9239  int lifc_flags; /* request specific interfaces */
9240  int lifc_len; /* size of associated buffer */
9241  union {
9242   caddr_t lifcu_buf;
9243   struct lifreq *lifcu_req;
9244  } lifc_lifcu;
9245 
9246 
9247 };
9248 
9249 /*
9250  * Structure used in SIOCGLIFSRCOF to get the interface
9251  * configuration list for those interfaces that use an address
9252  * hosted on the interface (set in lifs_ifindex), as the source
9253  * address.
9254  */
9255 struct lifsrcof {
9256  uint_t lifs_ifindex; /* interface of interest */
9257  size_t lifs_maxlen; /* size of buffer: input */
9258  size_t lifs_len; /* size of buffer: output */
9259  union {
9260   caddr_t lifsu_buf;
9261   struct lifreq *lifsu_req;
9262  } lifs_lifsu;
9263 
9264 
9265 };
9266 
9267 /* Flags */
9268 
9269 
9270      /* be used to communicate outside the */
9271      /* node (exclude interfaces which are */
9272      /* IFF_NOXMIT, IFF_NOLOCAL, */
9273      /* IFF_LOOPBACK, IFF_DEPRECATED, or */
9274      /* not IFF_UP). Has priority over */
9275      /* LIFC_NOXMIT. */
9276 
9277 
9278      /* (must be issued from global zone) */
9279 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
9280 /*
9281  * IPMP group information, for use with SIOCGLIFGROUPINFO.
9282  */
9283 typedef struct lifgroupinfo {
9284  char gi_grname[32]; /* group name (set by caller) */
9285  char gi_grifname[32]; /* IPMP meta-interface name */
9286  char gi_m4ifname[32]; /* v4 mcast interface name */
9287  char gi_m6ifname[32]; /* v6 mcast interface name */
9288  char gi_bcifname[32]; /* v4 bcast interface name */
9289  boolean_t gi_v4; /* group is plumbed for v4 */
9290  boolean_t gi_v6; /* group is plumbed for v6 */
9291  uint_t gi_nv4; /* # of underlying v4 if's */
9292  uint_t gi_nv6; /* # of underlying v6 if's */
9293  uint_t gi_mactype; /* DLPI mac type of group */
9294 } lifgroupinfo_t;
9295 
9296 /*
9297  * OBSOLETE: Structure used in SIOCGIFCONF request.
9298  * Used to retrieve interface configuration
9299  * for machine (useful for programs which
9300  * must know all networks accessible).
9301  */
9302 struct ifconf {
9303  int ifc_len; /* size of associated buffer */
9304  union {
9305   caddr_t ifcu_buf;
9306   struct ifreq *ifcu_req;
9307  } ifc_ifcu;
9308 
9309 
9310 };
9311 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h"
9312 typedef struct if_data {
9313     /* generic interface information */
9314  uchar_t ifi_type; /* ethernet, tokenring, etc */
9315  uchar_t ifi_addrlen; /* media address length */
9316  uchar_t ifi_hdrlen; /* media header length */
9317  uint_t ifi_mtu; /* maximum transmission unit */
9318  uint_t ifi_metric; /* routing metric (external only) */
9319  uint_t ifi_baudrate; /* linespeed */
9320     /* volatile statistics */
9321  uint_t ifi_ipackets; /* packets received on interface */
9322  uint_t ifi_ierrors; /* input errors on interface */
9323  uint_t ifi_opackets; /* packets sent on interface */
9324  uint_t ifi_oerrors; /* output errors on interface */
9325  uint_t ifi_collisions; /* collisions on csma interfaces */
9326  uint_t ifi_ibytes; /* total number of octets received */
9327  uint_t ifi_obytes; /* total number of octets sent */
9328  uint_t ifi_imcasts; /* packets received via multicast */
9329  uint_t ifi_omcasts; /* packets sent via multicast */
9330  uint_t ifi_iqdrops; /* dropped on input, this interface */
9331  uint_t ifi_noproto; /* destined for unsupported protocol */
9332 
9333 
9334 
9335  struct timeval ifi_lastchange; /* last updated */
9336 
9337 } if_data_t;
9338 
9339 /*
9340  * Message format for use in obtaining information about interfaces
9341  * from the routing socket
9342  */
9343 typedef struct if_msghdr {
9344  ushort_t ifm_msglen; /* to skip over non-understood messages */
9345  uchar_t ifm_version; /* future binary compatibility */
9346  uchar_t ifm_type; /* message type */
9347  int ifm_addrs; /* like rtm_addrs */
9348  int ifm_flags; /* value of if_flags */
9349  ushort_t ifm_index; /* index for associated ifp */
9350  struct if_data ifm_data; /* statistics and other data about if */
9351 } if_msghdr_t;
9352 
9353 /*
9354  * Message format for use in obtaining information about interface addresses
9355  * from the routing socket
9356  */
9357 typedef struct ifa_msghdr {
9358  ushort_t ifam_msglen; /* to skip over non-understood messages */
9359  uchar_t ifam_version; /* future binary compatibility */
9360  uchar_t ifam_type; /* message type */
9361  int ifam_addrs; /* like rtm_addrs */
9362  int ifam_flags; /* route flags */
9363  ushort_t ifam_index; /* index for associated ifp */
9364  int ifam_metric; /* value of ipif_metric */
9365 } ifa_msghdr_t;
9366 
9367 
9368 
9369 /*
9370  * The if_nameindex structure holds the interface index value about
9371  * a single interface. An array of this structure is used to return
9372  * all interfaces and indexes.
9373  */
9374 struct if_nameindex {
9375  unsigned if_index; /* positive interface index */
9376  char *if_name; /* if name, e.g. "en0" */
9377 };
9378 
9379 /* Interface index identification API definitions */
9380 extern unsigned if_nametoindex(const char *);
9381 extern char *if_indextoname(unsigned, char *);
9382 extern struct if_nameindex *if_nameindex(void);
9383 extern void if_freenameindex(struct if_nameindex *);
9384 
9385 
9386 /*
9387  * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if
9388  * struct sockaddr_dl needs to be modified as the interface index is placed
9389  * in this structure by the kernel.
9390  */
9391 # 38 "is_local_host.c" 2
9392 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
9393 /*
9394  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9395  * Use is subject to license terms.
9396  *
9397  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
9398  */
9399 /*
9400  * Copyright (c) 1982, 1986 Regents of the University of California.
9401  * All rights reserved.
9402  *
9403  * Redistribution and use in source and binary forms are permitted
9404  * provided that this notice is preserved and that due credit is given
9405  * to the University of California at Berkeley. The name of the University
9406  * may not be used to endorse or promote products derived from this
9407  * software without specific prior written permission. This software
9408  * is provided ``as is'' without express or implied warranty.
9409  */
9410 
9411 /*
9412  * Constants and structures defined by the internet system,
9413  * according to following documents
9414  *
9415  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
9416  *	http://www.iana.org/assignments/protocol-numbers
9417  *	http://www.iana.org/assignments/port-numbers
9418  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
9419  *
9420  */
9421 # 39 "is_local_host.c" 2
9422 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/arpa/inet.h" 1
9423 /*
9424  * CDDL HEADER START
9425  *
9426  * The contents of this file are subject to the terms of the
9427  * Common Development and Distribution License (the "License").
9428  * You may not use this file except in compliance with the License.
9429  *
9430  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9431  * or http://www.opensolaris.org/os/licensing.
9432  * See the License for the specific language governing permissions
9433  * and limitations under the License.
9434  *
9435  * When distributing Covered Code, include this CDDL HEADER in each
9436  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9437  * If applicable, add the following below this CDDL HEADER, with the
9438  * fields enclosed by brackets "[]" replaced with your own identifying
9439  * information: Portions Copyright [yyyy] [name of copyright owner]
9440  *
9441  * CDDL HEADER END
9442  *
9443  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9444  *
9445  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9446  * Use is subject to license terms.
9447  *
9448  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
9449  */
9450 
9451 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9452 /*	  All Rights Reserved  	*/
9453 
9454 /*
9455  * Portions of this source code were derived from Berkeley 4.3 BSD
9456  * under license from the Regents of the University of California.
9457  */
9458 
9459 
9460 
9461 
9462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9463 /*
9464  * CDDL HEADER START
9465  *
9466  * The contents of this file are subject to the terms of the
9467  * Common Development and Distribution License (the "License").
9468  * You may not use this file except in compliance with the License.
9469  *
9470  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9471  * or http://www.opensolaris.org/os/licensing.
9472  * See the License for the specific language governing permissions
9473  * and limitations under the License.
9474  *
9475  * When distributing Covered Code, include this CDDL HEADER in each
9476  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9477  * If applicable, add the following below this CDDL HEADER, with the
9478  * fields enclosed by brackets "[]" replaced with your own identifying
9479  * information: Portions Copyright [yyyy] [name of copyright owner]
9480  *
9481  * CDDL HEADER END
9482  */
9483 
9484 /*
9485  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9486  * Copyright 2016 Joyent, Inc.
9487  *
9488  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9489  * Use is subject to license terms.
9490  */
9491 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/arpa/inet.h" 2
9492 
9493 
9494 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1
9495 /*
9496  * CDDL HEADER START
9497  *
9498  * The contents of this file are subject to the terms of the
9499  * Common Development and Distribution License (the "License").
9500  * You may not use this file except in compliance with the License.
9501  *
9502  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9503  * or http://www.opensolaris.org/os/licensing.
9504  * See the License for the specific language governing permissions
9505  * and limitations under the License.
9506  *
9507  * When distributing Covered Code, include this CDDL HEADER in each
9508  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9509  * If applicable, add the following below this CDDL HEADER, with the
9510  * fields enclosed by brackets "[]" replaced with your own identifying
9511  * information: Portions Copyright [yyyy] [name of copyright owner]
9512  *
9513  * CDDL HEADER END
9514  */
9515 /*
9516  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9517  *
9518  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
9519  */
9520 
9521 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9522 /*	  All Rights Reserved	*/
9523 
9524 /*
9525  * University Copyright- Copyright (c) 1982, 1986, 1988
9526  * The Regents of the University of California
9527  * All Rights Reserved
9528  *
9529  * University Acknowledgment- Portions of this document are derived from
9530  * software developed by the University of California, Berkeley, and its
9531  * contributors.
9532  */
9533 
9534 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
9535 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/arpa/inet.h" 2
9536 
9537 
9538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1
9539 /*
9540  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
9541  * Use is subject to license terms.
9542  *
9543  * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
9544  */
9545 /*
9546  * Copyright (c) 1982, 1986 Regents of the University of California.
9547  * All rights reserved.
9548  *
9549  * Redistribution and use in source and binary forms are permitted
9550  * provided that this notice is preserved and that due credit is given
9551  * to the University of California at Berkeley. The name of the University
9552  * may not be used to endorse or promote products derived from this
9553  * software without specific prior written permission. This software
9554  * is provided ``as is'' without express or implied warranty.
9555  */
9556 
9557 /*
9558  * Constants and structures defined by the internet system,
9559  * according to following documents
9560  *
9561  * Internet ASSIGNED NUMBERS (RFC1700) and its successors:
9562  *	http://www.iana.org/assignments/protocol-numbers
9563  *	http://www.iana.org/assignments/port-numbers
9564  * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors)
9565  *
9566  */
9567 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/arpa/inet.h" 2
9568 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/arpa/inet.h"
9569 /*
9570  * External definitions for
9571  * functions in inet(3N)
9572  */
9573 
9574 extern int inet_net_pton(int, const char *, void *, size_t);
9575 extern boolean_t inet_matchaddr(const void *, const char *);
9576 
9577 
9578 
9579 extern int inet_pton(int, const char *, void *);
9580 extern const char *inet_ntop(int, const void *,
9581    char *, socklen_t);
9582 
9583 
9584 extern in_addr_t inet_addr(const char *);
9585 /*
9586  * With the introduction of CIDR the
9587  * following 4 routines are now considered to be Obsolete
9588  */
9589 extern in_addr_t inet_lnaof(struct in_addr);
9590 extern struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
9591 extern in_addr_t inet_netof(struct in_addr);
9592 extern in_addr_t inet_network(const char *);
9593 
9594 
9595 extern char *inet_neta(ulong_t, char *, size_t);
9596 extern char *inet_net_ntop(int, const void *, int, char *, size_t);
9597 
9598 extern char *inet_cidr_ntop(int, const void *, int, char *, size_t);
9599 extern int inet_cidr_pton(int, const char *, void *, int *);
9600 extern char *inet_ntoa(struct in_addr);
9601 extern int inet_aton(const char *, struct in_addr *);
9602 
9603 extern uint_t inet_nsap_addr(const char *, uchar_t *, int);
9604 extern char *inet_nsap_ntoa(int, const uchar_t *, char *);
9605 # 40 "is_local_host.c" 2
9606 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1
9607 /*
9608  * CDDL HEADER START
9609  *
9610  * The contents of this file are subject to the terms of the
9611  * Common Development and Distribution License, Version 1.0 only
9612  * (the "License").  You may not use this file except in compliance
9613  * with the License.
9614  *
9615  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9616  * or http://www.opensolaris.org/os/licensing.
9617  * See the License for the specific language governing permissions
9618  * and limitations under the License.
9619  *
9620  * When distributing Covered Code, include this CDDL HEADER in each
9621  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9622  * If applicable, add the following below this CDDL HEADER, with the
9623  * fields enclosed by brackets "[]" replaced with your own identifying
9624  * information: Portions Copyright [yyyy] [name of copyright owner]
9625  *
9626  * CDDL HEADER END
9627  */
9628 /*	Copyright (c) 1988 AT&T	*/
9629 /*	  All Rights Reserved  	*/
9630 
9631 
9632 /*
9633  * Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
9634  * Use is subject to license terms.
9635  */
9636 
9637 
9638 
9639 
9640 
9641 #pragma ident "%Z%%M%	%I%	%E% SMI"
9642 
9643 /*
9644  * Error codes
9645  */
9646 
9647 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1
9648 /*
9649  * CDDL HEADER START
9650  *
9651  * The contents of this file are subject to the terms of the
9652  * Common Development and Distribution License, Version 1.0 only
9653  * (the "License").  You may not use this file except in compliance
9654  * with the License.
9655  *
9656  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9657  * or http://www.opensolaris.org/os/licensing.
9658  * See the License for the specific language governing permissions
9659  * and limitations under the License.
9660  *
9661  * When distributing Covered Code, include this CDDL HEADER in each
9662  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9663  * If applicable, add the following below this CDDL HEADER, with the
9664  * fields enclosed by brackets "[]" replaced with your own identifying
9665  * information: Portions Copyright [yyyy] [name of copyright owner]
9666  *
9667  * CDDL HEADER END
9668  */
9669 /*
9670  * Copyright 2000 Sun Microsystems, Inc.  All rights reserved.
9671  * Use is subject to license terms.
9672  */
9673 
9674 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
9675 /*	  All Rights Reserved  	*/
9676 
9677 /*
9678  * University Copyright- Copyright (c) 1982, 1986, 1988
9679  * The Regents of the University of California
9680  * All Rights Reserved
9681  *
9682  * University Acknowledgment- Portions of this document are derived from
9683  * software developed by the University of California, Berkeley, and its
9684  * contributors.
9685  */
9686 
9687 
9688 
9689 
9690 #pragma ident "%Z%%M%	%I%	%E% SMI"
9691 
9692 
9693 
9694 
9695 
9696 /*
9697  * Error codes
9698  */
9699 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9700 /* Filesystem Quotas */
9701 
9702 
9703 /* Convergent Error Returns */
9704 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9705 /* Interprocess Robust Locks */
9706 
9707 
9708 
9709 /* stream problems */
9710 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9711 /* Interprocess Robust Locks */
9712 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9713 /* shared library problems */
9714 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9715 /* BSD Networking Software */
9716  /* argument errors */
9717 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9718     /* protocol family */
9719 
9720 
9721  /* operational errors */
9722 
9723 
9724 
9725     /* of reset */
9726 
9727 
9728 
9729 
9730 
9731 /* XENIX has 135 - 142 */
9732 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h"
9733 /* SUN Network File System */
9734 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2
9735 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h"
9736 extern int *___errno();
9737 # 41 "is_local_host.c" 2
9738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1
9739 /*
9740  * CDDL HEADER START
9741  *
9742  * The contents of this file are subject to the terms of the
9743  * Common Development and Distribution License (the "License").
9744  * You may not use this file except in compliance with the License.
9745  *
9746  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9747  * or http://www.opensolaris.org/os/licensing.
9748  * See the License for the specific language governing permissions
9749  * and limitations under the License.
9750  *
9751  * When distributing Covered Code, include this CDDL HEADER in each
9752  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9753  * If applicable, add the following below this CDDL HEADER, with the
9754  * fields enclosed by brackets "[]" replaced with your own identifying
9755  * information: Portions Copyright [yyyy] [name of copyright owner]
9756  *
9757  * CDDL HEADER END
9758  */
9759 
9760 /*
9761  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9762  * Copyright (c) 2013 Gary Mills
9763  *
9764  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
9765  */
9766 
9767 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
9768 
9769 /*	Copyright (c) 1988 AT&T	*/
9770 /*	  All Rights Reserved  	*/
9771 
9772 
9773 
9774 
9775 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1
9776 /*
9777  * CDDL HEADER START
9778  *
9779  * The contents of this file are subject to the terms of the
9780  * Common Development and Distribution License, Version 1.0 only
9781  * (the "License").  You may not use this file except in compliance
9782  * with the License.
9783  *
9784  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9785  * or http://www.opensolaris.org/os/licensing.
9786  * See the License for the specific language governing permissions
9787  * and limitations under the License.
9788  *
9789  * When distributing Covered Code, include this CDDL HEADER in each
9790  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9791  * If applicable, add the following below this CDDL HEADER, with the
9792  * fields enclosed by brackets "[]" replaced with your own identifying
9793  * information: Portions Copyright [yyyy] [name of copyright owner]
9794  *
9795  * CDDL HEADER END
9796  */
9797 /*
9798  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9799  * Copyright 2014 PALO, Richard.
9800  *
9801  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
9802  * Use is subject to license terms.
9803  */
9804 
9805 /*	Copyright (c) 1988 AT&T	*/
9806 /*	  All Rights Reserved  	*/
9807 
9808 
9809 /*
9810  * An application should not include this header directly.  Instead it
9811  * should be included only through the inclusion of other Sun headers.
9812  *
9813  * The contents of this header is limited to identifiers specified in the
9814  * C Standard.  Any new identifiers specified in future amendments to the
9815  * C Standard must be placed in this header.  If these new identifiers
9816  * are required to also be in the C++ Standard "std" namespace, then for
9817  * anything other than macro definitions, corresponding "using" directives
9818  * must also be added to <locale.h>.
9819  */
9820 
9821 
9822 
9823 
9824 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9825 /*
9826  * CDDL HEADER START
9827  *
9828  * The contents of this file are subject to the terms of the
9829  * Common Development and Distribution License (the "License").
9830  * You may not use this file except in compliance with the License.
9831  *
9832  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9833  * or http://www.opensolaris.org/os/licensing.
9834  * See the License for the specific language governing permissions
9835  * and limitations under the License.
9836  *
9837  * When distributing Covered Code, include this CDDL HEADER in each
9838  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9839  * If applicable, add the following below this CDDL HEADER, with the
9840  * fields enclosed by brackets "[]" replaced with your own identifying
9841  * information: Portions Copyright [yyyy] [name of copyright owner]
9842  *
9843  * CDDL HEADER END
9844  */
9845 
9846 /*
9847  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
9848  * Copyright 2016 Joyent, Inc.
9849  *
9850  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
9851  * Use is subject to license terms.
9852  */
9853 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
9854 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
9855 /*
9856  * This file and its contents are supplied under the terms of the
9857  * Common Development and Distribution License ("CDDL"), version 1.0.
9858  * You may only use this file in accordance with the terms of version
9859  * 1.0 of the CDDL.
9860  *
9861  * A full copy of the text of the CDDL should have accompanied this
9862  * source.  A copy of the CDDL is also available via the Internet at
9863  * http://www.illumos.org/license/CDDL.
9864  */
9865 
9866 /*
9867  * Copyright 2014-2016 PALO, Richard.
9868  */
9869 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2
9870 
9871 
9872 
9873 
9874 
9875 unsigned char __mb_cur_max(void);
9876 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
9877 typedef struct {
9878  int quot;
9879  int rem;
9880 } div_t;
9881 
9882 typedef struct {
9883  long quot;
9884  long rem;
9885 } ldiv_t;
9886 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
9887 /*
9888  * wchar_t is a built-in type in standard C++ and as such is not
9889  * defined here when using standard C++. However, the GNU compiler
9890  * fixincludes utility nonetheless creates its own version of this
9891  * header for use by gcc and g++. In that version it adds a redundant
9892  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
9893  * header we need to include the following magic comment:
9894  *
9895  * we must use the C++ compiler's type
9896  *
9897  * The above comment should not be removed or changed until GNU
9898  * gcc/fixinc/inclhack.def is updated to bypass this header.
9899  */
9900 
9901 
9902 
9903 
9904 
9905 
9906 typedef long wchar_t;
9907 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h"
9908 extern void abort(void) __attribute__((__noreturn__));
9909 extern int abs(int);
9910 extern int atexit(void (*)(void));
9911 extern double atof(const char *);
9912 extern int atoi(const char *);
9913 extern long int atol(const char *);
9914 extern void *bsearch(const void *, const void *, size_t, size_t,
9915  int (*)(const void *, const void *));
9916 
9917 
9918 
9919 
9920 
9921 
9922 extern void *calloc(size_t, size_t);
9923 extern div_t div(int, int);
9924 extern void exit(int)
9925  __attribute__((__noreturn__));
9926 extern void free(void *);
9927 extern char *getenv(const char *);
9928 extern long int labs(long);
9929 extern ldiv_t ldiv(long, long);
9930 extern void *malloc(size_t);
9931 extern int mblen(const char *, size_t);
9932 extern size_t mbstowcs(wchar_t *, const char *,
9933  size_t);
9934 extern int mbtowc(wchar_t *, const char *, size_t);
9935 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
9936 
9937 
9938 
9939 
9940 
9941 extern int rand(void);
9942 extern void *realloc(void *, size_t);
9943 extern void srand(unsigned int);
9944 extern double strtod(const char *, char **);
9945 extern long int strtol(const char *, char **, int);
9946 extern unsigned long int strtoul(const char *,
9947  char **, int);
9948 extern int system(const char *);
9949 extern int wctomb(char *, wchar_t);
9950 extern size_t wcstombs(char *, const wchar_t *,
9951  size_t);
9952 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
9953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1
9954 /*
9955  * CDDL HEADER START
9956  *
9957  * The contents of this file are subject to the terms of the
9958  * Common Development and Distribution License, Version 1.0 only
9959  * (the "License").  You may not use this file except in compliance
9960  * with the License.
9961  *
9962  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9963  * or http://www.opensolaris.org/os/licensing.
9964  * See the License for the specific language governing permissions
9965  * and limitations under the License.
9966  *
9967  * When distributing Covered Code, include this CDDL HEADER in each
9968  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9969  * If applicable, add the following below this CDDL HEADER, with the
9970  * fields enclosed by brackets "[]" replaced with your own identifying
9971  * information: Portions Copyright [yyyy] [name of copyright owner]
9972  *
9973  * CDDL HEADER END
9974  */
9975 /*
9976  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
9977  *
9978  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
9979  * Use is subject to license terms.
9980  */
9981 
9982 /*
9983  * An application should not include this header directly.  Instead it
9984  * should be included only through the inclusion of other Sun headers.
9985  *
9986  * The contents of this header is limited to identifiers specified in
9987  * the C99 standard and in conflict with the C++ implementation of the
9988  * standard header.  The C++ standard may adopt the C99 standard at
9989  * which point it is expected that the symbols included here will
9990  * become part of the C++ std namespace.
9991  */
9992 
9993 
9994 
9995 
9996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
9997 /*
9998  * CDDL HEADER START
9999  *
10000  * The contents of this file are subject to the terms of the
10001  * Common Development and Distribution License (the "License").
10002  * You may not use this file except in compliance with the License.
10003  *
10004  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10005  * or http://www.opensolaris.org/os/licensing.
10006  * See the License for the specific language governing permissions
10007  * and limitations under the License.
10008  *
10009  * When distributing Covered Code, include this CDDL HEADER in each
10010  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10011  * If applicable, add the following below this CDDL HEADER, with the
10012  * fields enclosed by brackets "[]" replaced with your own identifying
10013  * information: Portions Copyright [yyyy] [name of copyright owner]
10014  *
10015  * CDDL HEADER END
10016  */
10017 
10018 /*
10019  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10020  * Copyright 2016 Joyent, Inc.
10021  *
10022  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10023  * Use is subject to license terms.
10024  */
10025 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2
10026 
10027 
10028 
10029 
10030 
10031 /*
10032  * The following have been added as a result of the ISO/IEC 9899:1999
10033  * standard. For a strictly conforming C application, visibility is
10034  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
10035  * For non-strictly conforming C applications, there are no restrictions
10036  * on the C namespace.
10037  */
10038 
10039 
10040 typedef struct {
10041  long long quot;
10042  long long rem;
10043 } lldiv_t;
10044 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h"
10045 extern void _Exit(int);
10046 extern float strtof(const char *, char **);
10047 extern long double strtold(const char *, char **);
10048 
10049 
10050 extern long long atoll(const char *);
10051 extern long long llabs(long long);
10052 extern lldiv_t lldiv(long long, long long);
10053 extern long long strtoll(const char *, char **,
10054  int);
10055 extern unsigned long long strtoull(const char *,
10056  char **, int);
10057 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
10058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1
10059 /*
10060  * This file and its contents are supplied under the terms of the
10061  * Common Development and Distribution License ("CDDL"), version 1.0.
10062  * You may only use this file in accordance with the terms of version
10063  * 1.0 of the CDDL.
10064  *
10065  * A full copy of the text of the CDDL should have accompanied this
10066  * source.  A copy of the CDDL is also available via the Internet at
10067  * http://www.illumos.org/license/CDDL.
10068  */
10069 
10070 /*
10071  * Copyright 2016 Joyent, Inc.
10072  */
10073 
10074 /*
10075  * An application should not include this header directly.  Instead it
10076  * should be included only through the inclusion of other illumos headers.
10077  *
10078  * The contents of this header is limited to identifiers specified in
10079  * the C11 standard and in conflict with the C++ implementation of the
10080  * standard header.  The C++ standard may adopt the C11 standard at
10081  * which point it is expected that the symbols included here will
10082  * become part of the C++ std namespace.
10083  */
10084 
10085 
10086 
10087 
10088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10089 /*
10090  * CDDL HEADER START
10091  *
10092  * The contents of this file are subject to the terms of the
10093  * Common Development and Distribution License (the "License").
10094  * You may not use this file except in compliance with the License.
10095  *
10096  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10097  * or http://www.opensolaris.org/os/licensing.
10098  * See the License for the specific language governing permissions
10099  * and limitations under the License.
10100  *
10101  * When distributing Covered Code, include this CDDL HEADER in each
10102  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10103  * If applicable, add the following below this CDDL HEADER, with the
10104  * fields enclosed by brackets "[]" replaced with your own identifying
10105  * information: Portions Copyright [yyyy] [name of copyright owner]
10106  *
10107  * CDDL HEADER END
10108  */
10109 
10110 /*
10111  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10112  * Copyright 2016 Joyent, Inc.
10113  *
10114  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10115  * Use is subject to license terms.
10116  */
10117 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2
10118 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
10119 /*
10120  * The following have been added as a result of the ISO/IEC 9899:2011
10121  * standard. For a strictly conforming C application, visibility is
10122  * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h).
10123  * For non-strictly conforming C applications, there are no restrictions
10124  * on the C namespace.
10125  */
10126 
10127 /*
10128  * Work around fix-includes and other bad actors with using multiple headers.
10129  */
10130 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h"
10131 extern void *aligned_alloc(size_t, size_t);
10132 extern int at_quick_exit(void (*)(void));
10133 extern void quick_exit(int);
10134 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
10135 
10136 
10137 
10138 
10139 
10140 /*
10141  * Allow global visibility for symbols defined in
10142  * C++ "std" namespace in <iso/stdlib_iso.h>.
10143  */
10144 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10145 /*
10146  * Allow global visibility for symbols defined in
10147  * C++ "std" namespace in <iso/stdlib_c11.h>.
10148  */
10149 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10150 /* large file compilation environment setup */
10151 
10152 
10153 
10154 
10155 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10156 #pragma redefine_extname mkstemp mkstemp64
10157 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10158 
10159 
10160 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10161 #pragma redefine_extname mkstemps mkstemps64
10162 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10163 
10164 
10165 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10166 #pragma redefine_extname mkostemp mkostemp64
10167 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10168 
10169 
10170 # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10171 #pragma redefine_extname mkostemps mkostemps64
10172 # 111 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10173 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10174 /* In the LP64 compilation environment, all APIs are already large file */
10175 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10176 extern int rand_r(unsigned int *);
10177 
10178 
10179 extern void _exithandle(void);
10180 
10181 
10182 
10183 
10184 extern double drand48(void);
10185 extern double erand48(unsigned short *);
10186 extern long jrand48(unsigned short *);
10187 extern void lcong48(unsigned short *);
10188 extern long lrand48(void);
10189 extern long mrand48(void);
10190 extern long nrand48(unsigned short *);
10191 extern unsigned short *seed48(unsigned short *);
10192 extern void srand48(long);
10193 extern int putenv(char *);
10194 extern void setkey(const char *);
10195 
10196 
10197 /*
10198  * swab() has historically been in <stdlib.h> as delivered from AT&T
10199  * and continues to be visible in the default compilation environment.
10200  * As of Issue 4 of the X/Open Portability Guides, swab() was declared
10201  * in <unistd.h>. As a result, with respect to X/Open namespace the
10202  * swab() declaration in this header is only visible for the XPG3
10203  * environment.
10204  */
10205 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10206 extern void swab(const char *, char *, ssize_t);
10207 
10208 
10209 
10210 
10211 
10212 extern int mkstemp(char *);
10213 
10214 extern int mkstemps(char *, int);
10215 
10216 
10217 
10218 
10219 
10220 extern int mkstemp64(char *);
10221 
10222 extern int mkstemps64(char *, int);
10223 
10224 
10225 
10226 
10227 extern char *mkdtemp(char *);
10228 
10229 
10230 
10231 extern int mkostemp(char *, int);
10232 extern int mkostemps(char *, int, int);
10233 
10234 
10235 extern int mkostemp64(char *, int);
10236 extern int mkostemps64(char *, int, int);
10237 
10238 
10239 
10240 
10241 
10242 
10243 extern long a64l(const char *);
10244 extern char *ecvt(double, int, int *, int *);
10245 extern char *fcvt(double, int, int *, int *);
10246 extern char *gcvt(double, int, char *);
10247 extern int getsubopt(char **, char *const *, char **);
10248 extern int grantpt(int);
10249 extern char *initstate(unsigned, char *, size_t);
10250 extern char *l64a(long);
10251 extern char *mktemp(char *);
10252 extern char *ptsname(int);
10253 extern long random(void);
10254 extern char *realpath(const char *, char *);
10255 extern char *setstate(const char *);
10256 extern void srandom(unsigned);
10257 extern int unlockpt(int);
10258 /* Marked LEGACY in SUSv2 and removed in SUSv3 */
10259 
10260 extern int ttyslot(void);
10261 extern void *valloc(size_t);
10262 
10263 
10264 
10265 
10266 
10267 
10268 extern int posix_memalign(void **, size_t, size_t);
10269 extern int posix_openpt(int);
10270 extern int setenv(const char *, const char *, int);
10271 extern int unsetenv(const char *);
10272 
10273 
10274 
10275 
10276 extern char *canonicalize_file_name(const char *);
10277 extern int clearenv(void);
10278 extern void closefrom(int);
10279 extern int daemon(int, int);
10280 extern int dup2(int, int);
10281 extern int dup3(int, int, int);
10282 extern int fdwalk(int (*)(void *, int), void *);
10283 extern char *qecvt(long double, int, int *, int *);
10284 extern char *qfcvt(long double, int, int *, int *);
10285 extern char *qgcvt(long double, int, char *);
10286 extern char *getcwd(char *, size_t);
10287 extern const char *getexecname(void);
10288 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h"
10289 extern int getopt(int, char *const *, const char *);
10290 extern char *optarg;
10291 extern int optind, opterr, optopt;
10292 extern char *getpass(const char *);
10293 extern char *getpassphrase(const char *);
10294 extern int getpw(uid_t, char *);
10295 extern int isatty(int);
10296 extern void *memalign(size_t, size_t);
10297 extern char *ttyname(int);
10298 extern char *mkdtemp(char *);
10299 extern const char *getprogname(void);
10300 extern void setprogname(const char *);
10301 
10302 
10303 extern char *lltostr(long long, char *);
10304 extern char *ulltostr(unsigned long long, char *);
10305 
10306 
10307 
10308 
10309 /* OpenBSD compatibility functions */
10310 
10311 
10312 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1
10313 /*
10314  * CDDL HEADER START
10315  *
10316  * The contents of this file are subject to the terms of the
10317  * Common Development and Distribution License, Version 1.0 only
10318  * (the "License").  You may not use this file except in compliance
10319  * with the License.
10320  *
10321  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10322  * or http://www.opensolaris.org/os/licensing.
10323  * See the License for the specific language governing permissions
10324  * and limitations under the License.
10325  *
10326  * When distributing Covered Code, include this CDDL HEADER in each
10327  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10328  * If applicable, add the following below this CDDL HEADER, with the
10329  * fields enclosed by brackets "[]" replaced with your own identifying
10330  * information: Portions Copyright [yyyy] [name of copyright owner]
10331  *
10332  * CDDL HEADER END
10333  */
10334 /*
10335  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10336  *
10337  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
10338  * Use is subject to license terms.
10339  */
10340 
10341 
10342 
10343 
10344 /*
10345  * This file, <inttypes.h>, is specified by the ISO C standard,
10346  * standard, ISO/IEC 9899:1999 Programming language - C and is
10347  * also defined by SUSv3.
10348  *
10349  * ISO	  International Organization for Standardization.
10350  * SUSv3  Single Unix Specification, Version 3
10351  */
10352 
10353 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10354 /*
10355  * CDDL HEADER START
10356  *
10357  * The contents of this file are subject to the terms of the
10358  * Common Development and Distribution License (the "License").
10359  * You may not use this file except in compliance with the License.
10360  *
10361  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10362  * or http://www.opensolaris.org/os/licensing.
10363  * See the License for the specific language governing permissions
10364  * and limitations under the License.
10365  *
10366  * When distributing Covered Code, include this CDDL HEADER in each
10367  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10368  * If applicable, add the following below this CDDL HEADER, with the
10369  * fields enclosed by brackets "[]" replaced with your own identifying
10370  * information: Portions Copyright [yyyy] [name of copyright owner]
10371  *
10372  * CDDL HEADER END
10373  */
10374 
10375 /*
10376  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10377  * Copyright 2016 Joyent, Inc.
10378  *
10379  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10380  * Use is subject to license terms.
10381  */
10382 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
10383 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1
10384 /*
10385  * CDDL HEADER START
10386  *
10387  * The contents of this file are subject to the terms of the
10388  * Common Development and Distribution License, Version 1.0 only
10389  * (the "License").  You may not use this file except in compliance
10390  * with the License.
10391  *
10392  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10393  * or http://www.opensolaris.org/os/licensing.
10394  * See the License for the specific language governing permissions
10395  * and limitations under the License.
10396  *
10397  * When distributing Covered Code, include this CDDL HEADER in each
10398  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10399  * If applicable, add the following below this CDDL HEADER, with the
10400  * fields enclosed by brackets "[]" replaced with your own identifying
10401  * information: Portions Copyright [yyyy] [name of copyright owner]
10402  *
10403  * CDDL HEADER END
10404  */
10405 /*
10406  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
10407  * Use is subject to license terms.
10408  */
10409 
10410 
10411 
10412 
10413 #pragma ident "%Z%%M%	%I%	%E% SMI"
10414 
10415 /*
10416  * This header, <sys/inttypes.h>, contains (through nested inclusion) the
10417  * vast majority of the facilities specified for <inttypes.h> as defined
10418  * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
10419  *
10420  * Kernel/Driver developers are encouraged to include this file to access
10421  * the fixed size types, limits and utility macros. Application developers
10422  * should use the standard defined header <inttypes.h>.
10423  */
10424 
10425 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10426 /*
10427  * CDDL HEADER START
10428  *
10429  * The contents of this file are subject to the terms of the
10430  * Common Development and Distribution License (the "License").
10431  * You may not use this file except in compliance with the License.
10432  *
10433  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10434  * or http://www.opensolaris.org/os/licensing.
10435  * See the License for the specific language governing permissions
10436  * and limitations under the License.
10437  *
10438  * When distributing Covered Code, include this CDDL HEADER in each
10439  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10440  * If applicable, add the following below this CDDL HEADER, with the
10441  * fields enclosed by brackets "[]" replaced with your own identifying
10442  * information: Portions Copyright [yyyy] [name of copyright owner]
10443  *
10444  * CDDL HEADER END
10445  */
10446 
10447 /*
10448  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10449  * Copyright 2016 Joyent, Inc.
10450  *
10451  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10452  * Use is subject to license terms.
10453  */
10454 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
10455 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
10456 /*
10457  * CDDL HEADER START
10458  *
10459  * The contents of this file are subject to the terms of the
10460  * Common Development and Distribution License, Version 1.0 only
10461  * (the "License").  You may not use this file except in compliance
10462  * with the License.
10463  *
10464  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10465  * or http://www.opensolaris.org/os/licensing.
10466  * See the License for the specific language governing permissions
10467  * and limitations under the License.
10468  *
10469  * When distributing Covered Code, include this CDDL HEADER in each
10470  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10471  * If applicable, add the following below this CDDL HEADER, with the
10472  * fields enclosed by brackets "[]" replaced with your own identifying
10473  * information: Portions Copyright [yyyy] [name of copyright owner]
10474  *
10475  * CDDL HEADER END
10476  */
10477 /*
10478  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10479  *
10480  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10481  * Use is subject to license terms.
10482  */
10483 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
10484 
10485 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
10486 /*
10487  * CDDL HEADER START
10488  *
10489  * The contents of this file are subject to the terms of the
10490  * Common Development and Distribution License, Version 1.0 only
10491  * (the "License").  You may not use this file except in compliance
10492  * with the License.
10493  *
10494  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10495  * or http://www.opensolaris.org/os/licensing.
10496  * See the License for the specific language governing permissions
10497  * and limitations under the License.
10498  *
10499  * When distributing Covered Code, include this CDDL HEADER in each
10500  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10501  * If applicable, add the following below this CDDL HEADER, with the
10502  * fields enclosed by brackets "[]" replaced with your own identifying
10503  * information: Portions Copyright [yyyy] [name of copyright owner]
10504  *
10505  * CDDL HEADER END
10506  */
10507 /*
10508  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10509  *
10510  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10511  * Use is subject to license terms.
10512  */
10513 
10514 
10515 
10516 
10517 /*
10518  * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation
10519  * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999
10520  * Programming language - C.
10521  *
10522  * Programs/Modules should not directly include this file.  Access to the
10523  * types defined in this file should be through the inclusion of one of the
10524  * following files:
10525  *
10526  *	<limits.h>		This nested inclusion is disabled for strictly
10527  *				ANSI-C conforming compilations.  The *_MIN
10528  *				definitions are not visible to POSIX or XPG
10529  *				conforming applications (due to what may be
10530  *				a bug in the specification - this is under
10531  *				investigation)
10532  *
10533  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
10534  *				components of <inttypes.h>.
10535  *
10536  *	<inttypes.h>		For use by applications.
10537  *
10538  * See these files for more details.
10539  */
10540 
10541 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10542 /*
10543  * CDDL HEADER START
10544  *
10545  * The contents of this file are subject to the terms of the
10546  * Common Development and Distribution License (the "License").
10547  * You may not use this file except in compliance with the License.
10548  *
10549  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10550  * or http://www.opensolaris.org/os/licensing.
10551  * See the License for the specific language governing permissions
10552  * and limitations under the License.
10553  *
10554  * When distributing Covered Code, include this CDDL HEADER in each
10555  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10556  * If applicable, add the following below this CDDL HEADER, with the
10557  * fields enclosed by brackets "[]" replaced with your own identifying
10558  * information: Portions Copyright [yyyy] [name of copyright owner]
10559  *
10560  * CDDL HEADER END
10561  */
10562 
10563 /*
10564  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10565  * Copyright 2016 Joyent, Inc.
10566  *
10567  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10568  * Use is subject to license terms.
10569  */
10570 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2
10571 
10572 
10573 
10574 
10575 
10576 /*
10577  * Limits
10578  *
10579  * The following define the limits for the types defined in <sys/int_types.h>.
10580  *
10581  * INTMAX_MIN (minimum value of the largest supported signed integer type),
10582  * INTMAX_MAX (maximum value of the largest supported signed integer type),
10583  * and UINTMAX_MAX (maximum value of the largest supported unsigned integer
10584  * type) can be set to implementation defined limits.
10585  *
10586  * NOTE : A programmer can test to see whether an implementation supports
10587  * a particular size of integer by testing if the macro that gives the
10588  * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
10589  * tests false, the implementation does not support unsigned 64 bit integers.
10590  *
10591  * The type of these macros is intentionally unspecified.
10592  *
10593  * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs
10594  * where the ABI specifies "char" as unsigned when the translation mode is
10595  * not ANSI-C.
10596  */
10597 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
10598 /*
10599  * The following 2 macros are provided for testing whether the types
10600  * intptr_t and uintptr_t (integers large enough to hold a void *) are
10601  * defined in this header. They are needed in case the architecture can't
10602  * represent a pointer in any standard integral type.
10603  */
10604 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
10605 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */
10606 
10607 
10608 
10609 
10610 
10611 
10612 /*
10613  * Maximum value of a "size_t".  SIZE_MAX was previously defined
10614  * in <limits.h>, however, the standards specify it be defined
10615  * in <stdint.h>. The <stdint.h> headers includes this header as
10616  * does <limits.h>. The value of SIZE_MAX should not deviate
10617  * from the value of ULONG_MAX defined <sys/types.h>.
10618  */
10619 
10620 
10621 
10622 
10623 
10624 
10625 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */
10626 
10627 
10628 
10629 
10630 /*
10631  * Maximum limit of wchar_t. The WCHAR_* macros are also
10632  * defined in <iso/wchar_iso.h>, but inclusion of that header
10633  * will break ISO/IEC C namespace.
10634  */
10635 
10636 
10637 
10638 
10639 /* Maximum limit of wint_t */
10640 
10641 
10642 
10643 
10644 /*
10645  * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that
10646  * when including <limits.h> that the suffix _MAX is reserved but not the
10647  * suffix _MIN.  However, until that issue is resolved....
10648  */
10649 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h"
10650 /* Minimum value of a pointer-holding signed integer type */
10651 
10652 
10653 
10654 
10655 
10656 
10657 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */
10658 
10659 
10660 
10661 
10662 
10663 
10664 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */
10665 
10666 
10667 
10668 
10669 /*
10670  * Minimum limit of wchar_t. The WCHAR_* macros are also
10671  * defined in <iso/wchar_iso.h>, but inclusion of that header
10672  * will break ISO/IEC C namespace.
10673  */
10674 
10675 
10676 
10677 
10678 /* Minimum limit of wint_t */
10679 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
10680 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
10681 /*
10682  * CDDL HEADER START
10683  *
10684  * The contents of this file are subject to the terms of the
10685  * Common Development and Distribution License, Version 1.0 only
10686  * (the "License").  You may not use this file except in compliance
10687  * with the License.
10688  *
10689  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10690  * or http://www.opensolaris.org/os/licensing.
10691  * See the License for the specific language governing permissions
10692  * and limitations under the License.
10693  *
10694  * When distributing Covered Code, include this CDDL HEADER in each
10695  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10696  * If applicable, add the following below this CDDL HEADER, with the
10697  * fields enclosed by brackets "[]" replaced with your own identifying
10698  * information: Portions Copyright [yyyy] [name of copyright owner]
10699  *
10700  * CDDL HEADER END
10701  */
10702 /*
10703  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10704  *
10705  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10706  * Use is subject to license terms.
10707  */
10708 
10709 
10710 
10711 
10712 /*
10713  * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation
10714  * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working
10715  * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990
10716  * Programming language - C.
10717  *
10718  * Programs/Modules should not directly include this file.  Access to the
10719  * types defined in this file should be through the inclusion of one of the
10720  * following files:
10721  *
10722  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
10723  *				components of <inttypes.h>.
10724  *
10725  *	<inttypes.h>		For use by applications.
10726  *
10727  * See these files for more details.
10728  *
10729  * Use at your own risk.  This file will track the evolution of the revision
10730  * of the current ISO C standard.  As of February 1996, the committee is
10731  * squarely behind the fixed sized types.
10732  */
10733 
10734 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10735 /*
10736  * CDDL HEADER START
10737  *
10738  * The contents of this file are subject to the terms of the
10739  * Common Development and Distribution License (the "License").
10740  * You may not use this file except in compliance with the License.
10741  *
10742  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10743  * or http://www.opensolaris.org/os/licensing.
10744  * See the License for the specific language governing permissions
10745  * and limitations under the License.
10746  *
10747  * When distributing Covered Code, include this CDDL HEADER in each
10748  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10749  * If applicable, add the following below this CDDL HEADER, with the
10750  * fields enclosed by brackets "[]" replaced with your own identifying
10751  * information: Portions Copyright [yyyy] [name of copyright owner]
10752  *
10753  * CDDL HEADER END
10754  */
10755 
10756 /*
10757  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10758  * Copyright 2016 Joyent, Inc.
10759  *
10760  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10761  * Use is subject to license terms.
10762  */
10763 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2
10764 
10765 
10766 
10767 
10768 
10769 /*
10770  * Constants
10771  *
10772  * The following macros create constants of the types defined in
10773  * <sys/int_types.h>. The intent is that:
10774  *	Constants defined using these macros have a specific size and
10775  *	signedness. The suffix used for int64_t and uint64_t (ll and ull)
10776  *	are for examples only. Implementations are permitted to use other
10777  *	suffixes.
10778  *
10779  * The "CSTYLED" comments are flags to an internal code style analysis tool
10780  * telling it to silently accept the line which follows.  This internal
10781  * standard requires a space between arguments, but the historical,
10782  * non-ANSI-C ``method'' of concatenation can't tolerate those spaces.
10783  */
10784 /* CSTYLED */
10785 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
10786 /* CSTYLED */
10787 
10788 
10789 
10790 
10791 /* CSTYLED */
10792 
10793 /* CSTYLED */
10794 
10795 /* CSTYLED */
10796 
10797 
10798 
10799 
10800 
10801 
10802 /* CSTYLED */
10803 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h"
10804 /* CSTYLED */
10805 
10806 /* CSTYLED */
10807 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
10808 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1
10809 /*
10810  * CDDL HEADER START
10811  *
10812  * The contents of this file are subject to the terms of the
10813  * Common Development and Distribution License, Version 1.0 only
10814  * (the "License").  You may not use this file except in compliance
10815  * with the License.
10816  *
10817  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10818  * or http://www.opensolaris.org/os/licensing.
10819  * See the License for the specific language governing permissions
10820  * and limitations under the License.
10821  *
10822  * When distributing Covered Code, include this CDDL HEADER in each
10823  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10824  * If applicable, add the following below this CDDL HEADER, with the
10825  * fields enclosed by brackets "[]" replaced with your own identifying
10826  * information: Portions Copyright [yyyy] [name of copyright owner]
10827  *
10828  * CDDL HEADER END
10829  */
10830 /*
10831  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
10832  *
10833  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
10834  * Use is subject to license terms.
10835  */
10836 
10837 
10838 
10839 
10840 /*
10841  * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
10842  * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
10843  * Programming language - C.
10844  *
10845  * ISO  International Organization for Standardization.
10846  *
10847  * Programs/Modules should not directly include this file.  Access to the
10848  * types defined in this file should be through the inclusion of one of the
10849  * following files:
10850  *
10851  *	<sys/inttypes.h>	Provides the Kernel and Driver appropriate
10852  *				components of <inttypes.h>.
10853  *
10854  *	<inttypes.h>		For use by applications.
10855  *
10856  * See these files for more details.
10857  */
10858 
10859 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
10860 /*
10861  * CDDL HEADER START
10862  *
10863  * The contents of this file are subject to the terms of the
10864  * Common Development and Distribution License (the "License").
10865  * You may not use this file except in compliance with the License.
10866  *
10867  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10868  * or http://www.opensolaris.org/os/licensing.
10869  * See the License for the specific language governing permissions
10870  * and limitations under the License.
10871  *
10872  * When distributing Covered Code, include this CDDL HEADER in each
10873  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10874  * If applicable, add the following below this CDDL HEADER, with the
10875  * fields enclosed by brackets "[]" replaced with your own identifying
10876  * information: Portions Copyright [yyyy] [name of copyright owner]
10877  *
10878  * CDDL HEADER END
10879  */
10880 
10881 /*
10882  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
10883  * Copyright 2016 Joyent, Inc.
10884  *
10885  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
10886  * Use is subject to license terms.
10887  */
10888 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2
10889 
10890 
10891 
10892 
10893 
10894 /*
10895  * Formatted I/O
10896  *
10897  * The following macros can be used even when an implementation has not
10898  * extended the printf/scanf family of functions.
10899  *
10900  * The form of the names of the macros is either "PRI" for printf specifiers
10901  * or "SCN" for scanf specifiers, followed by the conversion specifier letter
10902  * followed by the datatype size. For example, PRId32 is the macro for
10903  * the printf d conversion specifier with the flags for 32 bit datatype.
10904  *
10905  * An example using one of these macros:
10906  *
10907  *	uint64_t u;
10908  *	printf("u = %016" PRIx64 "\n", u);
10909  *
10910  * For the purpose of example, the definitions of the printf/scanf macros
10911  * below have the values appropriate for a machine with 8 bit shorts, 16
10912  * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
10913  * mode, and 64 bit long longs.
10914  */
10915 
10916 /*
10917  * fprintf macros for signed integers
10918  */
10919 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
10920 /*
10921  * fprintf macros for unsigned integers
10922  */
10923 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
10924 /*
10925  * fprintf macros for pointers
10926  */
10927 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
10928 /*
10929  * fscanf macros for signed integers
10930  */
10931 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
10932 /*
10933  * fscanf macros for unsigned integers
10934  */
10935 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h"
10936 /*
10937  * The following macros define I/O formats for intmax_t and uintmax_t.
10938  */
10939 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2
10940 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
10941 
10942 
10943 
10944 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1
10945 /*
10946  * CDDL HEADER START
10947  *
10948  * The contents of this file are subject to the terms of the
10949  * Common Development and Distribution License, Version 1.0 only
10950  * (the "License").  You may not use this file except in compliance
10951  * with the License.
10952  *
10953  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10954  * or http://www.opensolaris.org/os/licensing.
10955  * See the License for the specific language governing permissions
10956  * and limitations under the License.
10957  *
10958  * When distributing Covered Code, include this CDDL HEADER in each
10959  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10960  * If applicable, add the following below this CDDL HEADER, with the
10961  * fields enclosed by brackets "[]" replaced with your own identifying
10962  * information: Portions Copyright [yyyy] [name of copyright owner]
10963  *
10964  * CDDL HEADER END
10965  */
10966 /*
10967  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
10968  * Use is subject to license terms.
10969  */
10970 
10971 
10972 
10973 
10974 #pragma ident "%Z%%M%	%I%	%E% SMI"
10975 
10976 /*
10977  * This header is included by <stdint.h> which was introduced by
10978  * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C.
10979  * The header is a subset of the <inttypes.h> header.
10980  */
10981 
10982 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1
10983 /*
10984  * CDDL HEADER START
10985  *
10986  * The contents of this file are subject to the terms of the
10987  * Common Development and Distribution License, Version 1.0 only
10988  * (the "License").  You may not use this file except in compliance
10989  * with the License.
10990  *
10991  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10992  * or http://www.opensolaris.org/os/licensing.
10993  * See the License for the specific language governing permissions
10994  * and limitations under the License.
10995  *
10996  * When distributing Covered Code, include this CDDL HEADER in each
10997  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10998  * If applicable, add the following below this CDDL HEADER, with the
10999  * fields enclosed by brackets "[]" replaced with your own identifying
11000  * information: Portions Copyright [yyyy] [name of copyright owner]
11001  *
11002  * CDDL HEADER END
11003  */
11004 /*
11005  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11006  *
11007  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
11008  * Use is subject to license terms.
11009  */
11010 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
11011 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1
11012 /*
11013  * CDDL HEADER START
11014  *
11015  * The contents of this file are subject to the terms of the
11016  * Common Development and Distribution License, Version 1.0 only
11017  * (the "License").  You may not use this file except in compliance
11018  * with the License.
11019  *
11020  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11021  * or http://www.opensolaris.org/os/licensing.
11022  * See the License for the specific language governing permissions
11023  * and limitations under the License.
11024  *
11025  * When distributing Covered Code, include this CDDL HEADER in each
11026  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11027  * If applicable, add the following below this CDDL HEADER, with the
11028  * fields enclosed by brackets "[]" replaced with your own identifying
11029  * information: Portions Copyright [yyyy] [name of copyright owner]
11030  *
11031  * CDDL HEADER END
11032  */
11033 /*
11034  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11035  *
11036  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
11037  * Use is subject to license terms.
11038  */
11039 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
11040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1
11041 /*
11042  * CDDL HEADER START
11043  *
11044  * The contents of this file are subject to the terms of the
11045  * Common Development and Distribution License, Version 1.0 only
11046  * (the "License").  You may not use this file except in compliance
11047  * with the License.
11048  *
11049  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11050  * or http://www.opensolaris.org/os/licensing.
11051  * See the License for the specific language governing permissions
11052  * and limitations under the License.
11053  *
11054  * When distributing Covered Code, include this CDDL HEADER in each
11055  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11056  * If applicable, add the following below this CDDL HEADER, with the
11057  * fields enclosed by brackets "[]" replaced with your own identifying
11058  * information: Portions Copyright [yyyy] [name of copyright owner]
11059  *
11060  * CDDL HEADER END
11061  */
11062 /*
11063  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11064  *
11065  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
11066  * Use is subject to license terms.
11067  */
11068 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2
11069 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2
11070 
11071 
11072 
11073 
11074 
11075 
11076 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */
11077 
11078 /*
11079  * wchar_t is a built-in type in standard C++ and as such is not
11080  * defined here when using standard C++. However, the GNU compiler
11081  * fixincludes utility nonetheless creates its own version of this
11082  * header for use by gcc and g++. In that version it adds a redundant
11083  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
11084  * header we need to include the following magic comment:
11085  *
11086  * we must use the C++ compiler's type
11087  *
11088  * The above comment should not be removed or changed until GNU
11089  * gcc/fixinc/inclhack.def is updated to bypass this header.
11090  */
11091 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
11092 typedef struct {
11093  intmax_t quot;
11094  intmax_t rem;
11095 } imaxdiv_t;
11096 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h"
11097 extern intmax_t imaxabs(intmax_t);
11098 extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
11099 extern intmax_t strtoimax(const char *, char **,
11100  int);
11101 extern uintmax_t strtoumax(const char *, char **,
11102  int);
11103 extern intmax_t wcstoimax(const wchar_t *,
11104  wchar_t **, int);
11105 extern uintmax_t wcstoumax(const wchar_t *,
11106  wchar_t **, int);
11107 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2
11108 extern uint32_t arc4random(void);
11109 extern void arc4random_buf(void *, size_t);
11110 extern uint32_t arc4random_uniform(uint32_t);
11111 extern void freezero(void *, size_t);
11112 extern void *recallocarray(void *, size_t, size_t, size_t);
11113 # 42 "is_local_host.c" 2
11114 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1
11115 /*
11116  * CDDL HEADER START
11117  *
11118  * The contents of this file are subject to the terms of the
11119  * Common Development and Distribution License (the "License").
11120  * You may not use this file except in compliance with the License.
11121  *
11122  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11123  * or http://www.opensolaris.org/os/licensing.
11124  * See the License for the specific language governing permissions
11125  * and limitations under the License.
11126  *
11127  * When distributing Covered Code, include this CDDL HEADER in each
11128  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11129  * If applicable, add the following below this CDDL HEADER, with the
11130  * fields enclosed by brackets "[]" replaced with your own identifying
11131  * information: Portions Copyright [yyyy] [name of copyright owner]
11132  *
11133  * CDDL HEADER END
11134  */
11135 
11136 /*
11137  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11138  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
11139  */
11140 
11141 /*	Copyright (c) 1988 AT&T	*/
11142 /*	  All Rights Reserved  	*/
11143 
11144 
11145 
11146 
11147 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1
11148 /*
11149  * CDDL HEADER START
11150  *
11151  * The contents of this file are subject to the terms of the
11152  * Common Development and Distribution License, Version 1.0 only
11153  * (the "License").  You may not use this file except in compliance
11154  * with the License.
11155  *
11156  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11157  * or http://www.opensolaris.org/os/licensing.
11158  * See the License for the specific language governing permissions
11159  * and limitations under the License.
11160  *
11161  * When distributing Covered Code, include this CDDL HEADER in each
11162  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11163  * If applicable, add the following below this CDDL HEADER, with the
11164  * fields enclosed by brackets "[]" replaced with your own identifying
11165  * information: Portions Copyright [yyyy] [name of copyright owner]
11166  *
11167  * CDDL HEADER END
11168  */
11169 /*	Copyright (c) 1988 AT&T	*/
11170 /*	  All Rights Reserved  	*/
11171 
11172 
11173 /*
11174  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11175  * Copyright 2014 PALO, Richard.
11176  *
11177  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
11178  * Use is subject to license terms.
11179  */
11180 
11181 /*
11182  * An application should not include this header directly.  Instead it
11183  * should be included only through the inclusion of other Sun headers.
11184  *
11185  * The contents of this header is limited to identifiers specified in the
11186  * C Standard.  Any new identifiers specified in future amendments to the
11187  * C Standard must be placed in this header.  If these new identifiers
11188  * are required to also be in the C++ Standard "std" namespace, then for
11189  * anything other than macro definitions, corresponding "using" directives
11190  * must also be added to <string.h>.
11191  */
11192 
11193 
11194 
11195 
11196 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1
11197 /*
11198  * CDDL HEADER START
11199  *
11200  * The contents of this file are subject to the terms of the
11201  * Common Development and Distribution License (the "License").
11202  * You may not use this file except in compliance with the License.
11203  *
11204  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11205  * or http://www.opensolaris.org/os/licensing.
11206  * See the License for the specific language governing permissions
11207  * and limitations under the License.
11208  *
11209  * When distributing Covered Code, include this CDDL HEADER in each
11210  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11211  * If applicable, add the following below this CDDL HEADER, with the
11212  * fields enclosed by brackets "[]" replaced with your own identifying
11213  * information: Portions Copyright [yyyy] [name of copyright owner]
11214  *
11215  * CDDL HEADER END
11216  */
11217 
11218 /*
11219  * Copyright 2013 Garrett D'Amore <garrett@damore.org>
11220  * Copyright 2016 Joyent, Inc.
11221  *
11222  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
11223  * Use is subject to license terms.
11224  */
11225 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
11226 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1
11227 /*
11228  * This file and its contents are supplied under the terms of the
11229  * Common Development and Distribution License ("CDDL"), version 1.0.
11230  * You may only use this file in accordance with the terms of version
11231  * 1.0 of the CDDL.
11232  *
11233  * A full copy of the text of the CDDL should have accompanied this
11234  * source.  A copy of the CDDL is also available via the Internet at
11235  * http://www.illumos.org/license/CDDL.
11236  */
11237 
11238 /*
11239  * Copyright 2014-2016 PALO, Richard.
11240  */
11241 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2
11242 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
11243 extern int memcmp(const void *, const void *, size_t);
11244 extern void *memcpy(void *, const void *, size_t);
11245 extern void *memmove(void *, const void *, size_t);
11246 extern void *memset(void *, int, size_t);
11247 extern char *strcat(char *, const char *);
11248 extern int strcmp(const char *, const char *);
11249 extern char *strcpy(char *, const char *);
11250 extern int strcoll(const char *, const char *);
11251 extern size_t strcspn(const char *, const char *);
11252 extern char *strerror(int);
11253 extern size_t strlen(const char *);
11254 extern char *strncat(char *, const char *, size_t);
11255 extern int strncmp(const char *, const char *, size_t);
11256 extern char *strncpy(char *, const char *, size_t);
11257 extern size_t strspn(const char *, const char *);
11258 extern char *strtok(char *, const char *);
11259 extern size_t strxfrm(char *, const char *, size_t);
11260 
11261 /*
11262  * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the
11263  * function signatures for the following functions be replaced by
11264  * two declarations, both of which have the same behavior.
11265  */
11266 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h"
11267 extern void *memchr(const void *, int, size_t);
11268 extern char *strchr(const char *, int);
11269 extern char *strpbrk(const char *, const char *);
11270 extern char *strrchr(const char *, int);
11271 extern char *strstr(const char *, const char *);
11272 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2
11273 
11274 /*
11275  * Allow global visibility for symbols defined in
11276  * C++ "std" namespace in <iso/string_iso.h>.
11277  */
11278 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h"
11279 extern int strerror_r(int, char *, size_t);
11280 
11281 
11282 
11283 
11284 
11285 extern char *strtok_r(char *, const char *,
11286  char **);
11287 
11288 
11289 
11290 
11291 extern void *memccpy(void *, const void *,
11292   int, size_t);
11293 
11294 
11295 
11296 
11297 extern char *stpcpy(char *, const char *);
11298 extern char *stpncpy(char *, const char *, size_t);
11299 extern char *strndup(const char *, size_t);
11300 extern size_t strnlen(const char *, size_t);
11301 extern char *strsignal(int);
11302 
11303 
11304 
11305 
11306 
11307 
11308 extern int strcoll_l(const char *, const char *, locale_t);
11309 extern size_t strxfrm_l(char *, const char *,
11310     size_t, locale_t);
11311 extern int strcasecmp_l(const char *, const char *, locale_t);
11312 extern int strncasecmp_l(const char *, const char *, size_t, locale_t);
11313 extern char *strerror_l(int, locale_t);
11314 
11315 
11316 
11317 
11318 
11319 /* Note that some of these are also declared in strings.h for XPG4_2+ */
11320 extern void explicit_bzero(void *, size_t);
11321 extern int uucopy(const void *, void *, size_t);
11322 extern int uucopystr(const void *, void *, size_t);
11323 extern int ffs(int);
11324 extern int ffsl(long);
11325 extern int ffsll(long long);
11326 extern int fls(int);
11327 extern int flsl(long);
11328 extern int flsll(long long);
11329 extern void *memmem(const void *, size_t, const void *, size_t);
11330 extern char *strcasestr(const char *, const char *);
11331 extern char *strnstr(const char *, const char *, size_t);
11332 extern size_t strlcpy(char *, const char *, size_t);
11333 extern size_t strlcat(char *, const char *, size_t);
11334 extern char *strsep(char **stringp, const char *delim);
11335 extern char *strchrnul(const char *, int);
11336 extern char *strcasestr_l(const char *, const char *, locale_t);
11337 extern int strcasecmp(const char *, const char *);
11338 extern int strncasecmp(const char *, const char *, size_t);
11339 
11340 
11341 
11342 
11343 
11344 extern char *strdup(const char *);
11345 
11346 
11347 
11348 
11349 
11350 
11351 /*
11352  * gcc provides this inlining facility but Studio C does not.
11353  * We should use it exclusively once Studio C also provides it.
11354  */
11355 extern void *__builtin_alloca(size_t);
11356 # 43 "is_local_host.c" 2
11357 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1
11358 /*
11359  * CDDL HEADER START
11360  *
11361  * The contents of this file are subject to the terms of the
11362  * Common Development and Distribution License (the "License").
11363  * You may not use this file except in compliance with the License.
11364  *
11365  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11366  * or http://www.opensolaris.org/os/licensing.
11367  * See the License for the specific language governing permissions
11368  * and limitations under the License.
11369  *
11370  * When distributing Covered Code, include this CDDL HEADER in each
11371  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11372  * If applicable, add the following below this CDDL HEADER, with the
11373  * fields enclosed by brackets "[]" replaced with your own identifying
11374  * information: Portions Copyright [yyyy] [name of copyright owner]
11375  *
11376  * CDDL HEADER END
11377  */
11378 /*
11379  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
11380  *
11381  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
11382  * Use is subject to license terms.
11383  */
11384 
11385 
11386 
11387 
11388 
11389 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1
11390 /*
11391  * CDDL HEADER START
11392  *
11393  * The contents of this file are subject to the terms of the
11394  * Common Development and Distribution License (the "License").
11395  * You may not use this file except in compliance with the License.
11396  *
11397  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11398  * or http://www.opensolaris.org/os/licensing.
11399  * See the License for the specific language governing permissions
11400  * and limitations under the License.
11401  *
11402  *
11403  * When distributing Covered Code, include this CDDL HEADER in each
11404  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11405  * If applicable, add the following below this CDDL HEADER, with the
11406  * fields enclosed by brackets "[]" replaced with your own identifying
11407  * information: Portions Copyright [yyyy] [name of copyright owner]
11408  *
11409  * CDDL HEADER END
11410  */
11411 
11412 /*
11413  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
11414  * Use is subject to license terms.
11415  * Copyright 2016 Joyent, Inc.
11416  */
11417 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2
11418 
11419 
11420 
11421 
11422 
11423 /*
11424  * wchar_t is a built-in type in standard C++ and as such is not
11425  * defined here when using standard C++. However, the GNU compiler
11426  * fixincludes utility nonetheless creates its own version of this
11427  * header for use by gcc and g++. In that version it adds a redundant
11428  * guard for __cplusplus. To avoid the creation of a gcc/g++ specific
11429  * header we need to include the following magic comment:
11430  *
11431  * we must use the C++ compiler's type
11432  *
11433  * The above comment should not be removed or changed until GNU
11434  * gcc/fixinc/inclhack.def is updated to bypass this header.
11435  */
11436 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h"
11437 extern char *dcgettext(const char *, const char *, const int);
11438 extern char *dgettext(const char *, const char *);
11439 extern char *gettext(const char *);
11440 extern char *textdomain(const char *);
11441 extern char *bindtextdomain(const char *, const char *);
11442 
11443 /*
11444  * LI18NUX 2000 Globalization Specification Version 1.0
11445  * with Amendment 2
11446  */
11447 extern char *dcngettext(const char *, const char *,
11448  const char *, unsigned long int, int);
11449 extern char *dngettext(const char *, const char *,
11450  const char *, unsigned long int);
11451 extern char *ngettext(const char *, const char *, unsigned long int);
11452 extern char *bind_textdomain_codeset(const char *, const char *);
11453 
11454 /* Word handling functions --- requires dynamic linking */
11455 /* Warning: these are experimental and subject to change. */
11456 extern int wdinit(void);
11457 extern int wdchkind(wchar_t);
11458 extern int wdbindf(wchar_t, wchar_t, int);
11459 extern wchar_t *wddelim(wchar_t, wchar_t, int);
11460 extern wchar_t mcfiller(void);
11461 extern int mcwrap(void);
11462 # 44 "is_local_host.c" 2
11463 
11464 static int is_local_if(struct hostent *hp);
11465 
11466 /*
11467  * Given a host name, check to see if it points to the local host.
11468  * If it does, return 1, else return 0.
11469  *
11470  * The strategy is this:  translate the host name argument to a list of
11471  * addresses.  Then compare each of those addresses to the addresses of
11472  * network interfaces on this host.
11473  */
11474 int
11475 is_local_host(char *host)
11476 {
11477  struct hostent *hp;
11478  int err;
11479  int flags = (0x0001 | 0x0004);
11480 
11481  if (hp = getipnodebyname((const char *) host, 2, flags, &err))
11482   if (is_local_if(hp))
11483    return (1);
11484  if (hp = getipnodebyname((const char *) host, 26, flags, &err))
11485   if (is_local_if(hp))
11486    return (1);
11487 
11488  return (0);
11489 }
11490 
11491 static int
11492 is_local_if(struct hostent *hp)
11493 {
11494  char *buf;
11495  struct lifconf lifc;
11496  struct lifnum lifn;
11497  struct lifreq lifr;
11498  struct lifreq *lifrp;
11499  int bufsiz;
11500  int nha;
11501  int nif;
11502  int s;
11503 
11504  if ((s = socket(hp->h_addrtype, 1, 0)) == -1) {
11505   perror("socket");
11506   return (0);
11507  }
11508 
11509  lifn.lifn_family = hp->h_addrtype;
11510  lifn.lifn_flags = 0x02;
11511  if (ioctl(s, ((int)((uint32_t)((0x80000000|0x40000000)|(((sizeof (struct lifnum))&0xff)<<16)| ('i'<<8)|130))), (char *)&lifn) == -1) {
11512   perror("SIOCGLIFNUM");
11513   (void) close(s);
11514   return (0);
11515  }
11516  bufsiz = lifn.lifn_count * sizeof (struct lifreq);
11517 
11518  if ((buf = malloc(bufsiz)) == 0) {
11519   perror("malloc");
11520   (void) close(s);
11521   return (0);
11522  }
11523 
11524  lifc.lifc_family = hp->h_addrtype;
11525  lifc.lifc_flags = 0x02;
11526  lifc.lifc_len = bufsiz;
11527  lifc.lifc_lifcu.lifcu_buf = buf;
11528  if (ioctl(s, ((int)((uint32_t)((0x80000000|0x40000000)|(((16)&0xff)<<16)| ('i'<<8)|165))), (char *)&lifc) == -1) {
11529   perror("SIOCGLIFCONF");
11530   (void) close(s);
11531   free(buf);
11532   return (0);
11533  }
11534 
11535 
11536 
11537 
11538 
11539  for (lifrp = lifc.lifc_lifcu.lifcu_req,
11540      nif = lifc.lifc_len / sizeof (struct lifreq);
11541      nif > 0; nif--, lifrp++) {
11542   if (lifrp->lifr_lifru.lifru_addr.ss_family != hp->h_addrtype) {
11543    continue;
11544   }
11545   (void) memset(&lifr, 0, sizeof (lifr));
11546   (void) strncpy(lifr.lifr_name, lifrp->lifr_name,
11547       sizeof (lifr.lifr_name));
11548   if (ioctl(s, ((int)((uint32_t)((0x80000000|0x40000000)|(((sizeof (struct lifreq))&0xff)<<16)| ('i'<<8)|117))), (caddr_t)&lifr) == -1) {
11549    perror("SIOCGLIFFLAGS");
11550    (void) close(s);
11551    free(buf);
11552    return (0);
11553   }
11554 
11555   for (nha = 0; hp->h_addr_list[nha]; nha++) {
11556    if (memcmp(hp->h_addr_list[nha], ((lifrp->lifr_lifru.lifru_addr.ss_family == 26) ? (void *) &((struct sockaddr_in6 *)&lifrp->lifr_lifru.lifru_addr)->sin6_addr : (void *) &((struct sockaddr_in *)&lifrp->lifr_lifru.lifru_addr)->sin_addr),
11557        hp->h_length) == 0) {
11558     (void) close(s);
11559     free(buf);
11560     return (1);
11561    }
11562   }
11563  }
11564 
11565 
11566 
11567  (void) close(s);
11568  free(buf);
11569  return (0);
11570 }
11571