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