1 # 1 "../common/zones_utils.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "../common/zones_utils.c" 5 /* 6 * CDDL HEADER START 7 * 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License (the "License"). 10 * You may not use this file except in compliance with the License. 11 * 12 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 * or http://www.opensolaris.org/os/licensing. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 * If applicable, add the following below this CDDL HEADER, with the 20 * fields enclosed by brackets "[]" replaced with your own identifying 21 * information: Portions Copyright [yyyy] [name of copyright owner] 22 * 23 * CDDL HEADER END 24 */ 25 /* 26 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 27 */ 28 29 30 31 /* 32 * Module: zones.c 33 * Group: libinstzones 34 * Description: Provide "zones" interface for install consolidation code 35 * 36 * Public Methods: 37 * 38 * _z_close_file_descriptors - close a file descriptor "a_fd" not in the 39 * list "a_fds" 40 * _z_echo - Output an interactive message if interaction is enabled 41 * _z_echoDebug - Output a debugging message if debugging is enabled 42 * _z_is_directory - determine if specified path exists and is a directory 43 * _z_program_error - Output an error message to the appropriate destinations 44 * _z_pluginCatchSigint - SIGINT/SIGHUP interrupt handler 45 * _z_running_in_global_zone - Determine if this process is running in the 46 * global zone 47 * _z_zones_are_implemented - Determine if zones are supported by the 48 * current system 49 * _z_brands_are_implemented - determine if branded zones are implemented on 50 * this system 51 */ 52 53 /* 54 * System includes 55 */ 56 57 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 58 /* 59 * CDDL HEADER START 60 * 61 * The contents of this file are subject to the terms of the 62 * Common Development and Distribution License (the "License"). 63 * You may not use this file except in compliance with the License. 64 * 65 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 66 * or http://www.opensolaris.org/os/licensing. 67 * See the License for the specific language governing permissions 68 * and limitations under the License. 69 * 70 * When distributing Covered Code, include this CDDL HEADER in each 71 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 72 * If applicable, add the following below this CDDL HEADER, with the 73 * fields enclosed by brackets "[]" replaced with your own identifying 74 * information: Portions Copyright [yyyy] [name of copyright owner] 75 * 76 * CDDL HEADER END 77 */ 78 79 /* 80 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 81 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 82 */ 83 84 /* Copyright (c) 1988 AT&T */ 85 /* All Rights Reserved */ 86 87 /* 88 * User-visible pieces of the ANSI C standard I/O package. 89 */ 90 91 92 93 94 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 95 /* 96 * CDDL HEADER START 97 * 98 * The contents of this file are subject to the terms of the 99 * Common Development and Distribution License (the "License"). 100 * You may not use this file except in compliance with the License. 101 * 102 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 103 * or http://www.opensolaris.org/os/licensing. 104 * See the License for the specific language governing permissions 105 * and limitations under the License. 106 * 107 * When distributing Covered Code, include this CDDL HEADER in each 108 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 109 * If applicable, add the following below this CDDL HEADER, with the 110 * fields enclosed by brackets "[]" replaced with your own identifying 111 * information: Portions Copyright [yyyy] [name of copyright owner] 112 * 113 * CDDL HEADER END 114 */ 115 116 /* 117 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 118 * Copyright 2016 Joyent, Inc. 119 * 120 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 121 * Use is subject to license terms. 122 */ 123 124 125 126 127 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 128 /* 129 * CDDL HEADER START 130 * 131 * The contents of this file are subject to the terms of the 132 * Common Development and Distribution License, Version 1.0 only 133 * (the "License"). You may not use this file except in compliance 134 * with the License. 135 * 136 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 137 * or http://www.opensolaris.org/os/licensing. 138 * See the License for the specific language governing permissions 139 * and limitations under the License. 140 * 141 * When distributing Covered Code, include this CDDL HEADER in each 142 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 143 * If applicable, add the following below this CDDL HEADER, with the 144 * fields enclosed by brackets "[]" replaced with your own identifying 145 * information: Portions Copyright [yyyy] [name of copyright owner] 146 * 147 * CDDL HEADER END 148 */ 149 /* 150 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 151 * Use is subject to license terms. 152 */ 153 /* 154 * Copyright 2015 EveryCity Ltd. All rights reserved. 155 */ 156 157 158 159 160 /* 161 * This file contains definitions designed to enable different compilers 162 * to be used harmoniously on Solaris systems. 163 */ 164 165 166 167 168 169 /* 170 * Allow for version tests for compiler bugs and features. 171 */ 172 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 173 /* 174 * analogous to lint's PRINTFLIKEn 175 */ 176 177 178 179 180 181 /* 182 * Handle the kernel printf routines that can take '%b' too 183 */ 184 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 185 /* 186 * This one's pretty obvious -- the function never returns 187 */ 188 189 190 /* 191 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 192 * behaviour. 193 * 194 * Should only be used on 'extern inline' definitions for GCC. 195 */ 196 197 198 199 200 201 202 /* 203 * The function has control flow such that it may return multiple times (in 204 * the manner of setjmp or vfork) 205 */ 206 207 208 209 210 211 212 /* 213 * This is an appropriate label for functions that do not 214 * modify their arguments, e.g. strlen() 215 */ 216 217 218 /* 219 * This is a stronger form of __pure__. Can be used for functions 220 * that do not modify their arguments and don't depend on global 221 * memory. 222 */ 223 224 225 226 227 /* 228 * This attribute, attached to a variable, means that the variable is meant to 229 * be possibly unused. GCC will not produce a warning for this variable. 230 */ 231 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 232 /* 233 * Shorthand versions for readability 234 */ 235 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 237 /* 238 * CDDL HEADER START 239 * 240 * The contents of this file are subject to the terms of the 241 * Common Development and Distribution License (the "License"). 242 * You may not use this file except in compliance with the License. 243 * 244 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 245 * or http://www.opensolaris.org/os/licensing. 246 * See the License for the specific language governing permissions 247 * and limitations under the License. 248 * 249 * 250 * When distributing Covered Code, include this CDDL HEADER in each 251 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 252 * If applicable, add the following below this CDDL HEADER, with the 253 * fields enclosed by brackets "[]" replaced with your own identifying 254 * information: Portions Copyright [yyyy] [name of copyright owner] 255 * 256 * CDDL HEADER END 257 */ 258 259 /* 260 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 261 * Use is subject to license terms. 262 * Copyright 2016 Joyent, Inc. 263 */ 264 265 266 267 268 /* 269 * This header file serves to group a set of well known defines and to 270 * set these for each instruction set architecture. These defines may 271 * be divided into two groups; characteristics of the processor and 272 * implementation choices for Solaris on a processor. 273 * 274 * Processor Characteristics: 275 * 276 * _LITTLE_ENDIAN / _BIG_ENDIAN: 277 * The natural byte order of the processor. A pointer to an int points 278 * to the least/most significant byte of that int. 279 * 280 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 281 * The processor specific direction of stack growth. A push onto the 282 * stack increases/decreases the stack pointer, so it stores data at 283 * successively higher/lower addresses. (Stackless machines ignored 284 * without regrets). 285 * 286 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 287 * A pointer to a long long points to the most/least significant long 288 * within that long long. 289 * 290 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 291 * The C compiler assigns bit fields from the high/low to the low/high end 292 * of an int (most to least significant vs. least to most significant). 293 * 294 * _IEEE_754: 295 * The processor (or supported implementations of the processor) 296 * supports the ieee-754 floating point standard. No other floating 297 * point standards are supported (or significant). Any other supported 298 * floating point formats are expected to be cased on the ISA processor 299 * symbol. 300 * 301 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 302 * The C Compiler implements objects of type `char' as `unsigned' or 303 * `signed' respectively. This is really an implementation choice of 304 * the compiler writer, but it is specified in the ABI and tends to 305 * be uniform across compilers for an instruction set architecture. 306 * Hence, it has the properties of a processor characteristic. 307 * 308 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 309 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 310 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 311 * The ABI defines alignment requirements of each of the primitive 312 * object types. Some, if not all, may be hardware requirements as 313 * well. The values are expressed in "byte-alignment" units. 314 * 315 * _MAX_ALIGNMENT: 316 * The most stringent alignment requirement as specified by the ABI. 317 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 318 * 319 * _MAX_ALIGNMENT_TYPE: 320 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 321 * 322 * _ALIGNMENT_REQUIRED: 323 * True or false (1 or 0) whether or not the hardware requires the ABI 324 * alignment. 325 * 326 * _LONG_LONG_ALIGNMENT_32 327 * The 32-bit ABI supported by a 64-bit kernel may have different 328 * alignment requirements for primitive object types. The value of this 329 * identifier is expressed in "byte-alignment" units. 330 * 331 * _HAVE_CPUID_INSN 332 * This indicates that the architecture supports the 'cpuid' 333 * instruction as defined by Intel. (Intel allows other vendors 334 * to extend the instruction for their own purposes.) 335 * 336 * 337 * Implementation Choices: 338 * 339 * _ILP32 / _LP64: 340 * This specifies the compiler data type implementation as specified in 341 * the relevant ABI. The choice between these is strongly influenced 342 * by the underlying hardware, but is not absolutely tied to it. 343 * Currently only two data type models are supported: 344 * 345 * _ILP32: 346 * Int/Long/Pointer are 32 bits. This is the historical UNIX 347 * and Solaris implementation. Due to its historical standing, 348 * this is the default case. 349 * 350 * _LP64: 351 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 352 * implementation for 64-bit ABIs such as SPARC V9. 353 * 354 * _I32LPx: 355 * A compilation environment where 'int' is 32-bit, and 356 * longs and pointers are simply the same size. 357 * 358 * In all cases, Char is 8 bits and Short is 16 bits. 359 * 360 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 361 * This specifies the form of the disk VTOC (or label): 362 * 363 * _SUNOS_VTOC_8: 364 * This is a VTOC form which is upwardly compatible with the 365 * SunOS 4.x disk label and allows 8 partitions per disk. 366 * 367 * _SUNOS_VTOC_16: 368 * In this format the incore vtoc image matches the ondisk 369 * version. It allows 16 slices per disk, and is not 370 * compatible with the SunOS 4.x disk label. 371 * 372 * Note that these are not the only two VTOC forms possible and 373 * additional forms may be added. One possible form would be the 374 * SVr4 VTOC form. The symbol for that is reserved now, although 375 * it is not implemented. 376 * 377 * _SVR4_VTOC_16: 378 * This VTOC form is compatible with the System V Release 4 379 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 380 * 16 partitions per disk. 381 * 382 * 383 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 384 * This describes the type of addresses used by system DMA: 385 * 386 * _DMA_USES_PHYSADDR: 387 * This type of DMA, used in the x86 implementation, 388 * requires physical addresses for DMA buffers. The 24-bit 389 * addresses used by some legacy boards is the source of the 390 * "low-memory" (<16MB) requirement for some devices using DMA. 391 * 392 * _DMA_USES_VIRTADDR: 393 * This method of DMA allows the use of virtual addresses for 394 * DMA transfers. 395 * 396 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 397 * This indicates the presence/absence of an fdisk table. 398 * 399 * _FIRMWARE_NEEDS_FDISK 400 * The fdisk table is required by system firmware. If present, 401 * it allows a disk to be subdivided into multiple fdisk 402 * partitions, each of which is equivalent to a separate, 403 * virtual disk. This enables the co-existence of multiple 404 * operating systems on a shared hard disk. 405 * 406 * _NO_FDISK_PRESENT 407 * If the fdisk table is absent, it is assumed that the entire 408 * media is allocated for a single operating system. 409 * 410 * _HAVE_TEM_FIRMWARE 411 * Defined if this architecture has the (fallback) option of 412 * using prom_* calls for doing I/O if a suitable kernel driver 413 * is not available to do it. 414 * 415 * _DONT_USE_1275_GENERIC_NAMES 416 * Controls whether or not device tree node names should 417 * comply with the IEEE 1275 "Generic Names" Recommended 418 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 419 * names identifying the particular device will be used. 420 * 421 * __i386_COMPAT 422 * This indicates whether the i386 ABI is supported as a *non-native* 423 * mode for the platform. When this symbol is defined: 424 * - 32-bit xstat-style system calls are enabled 425 * - 32-bit xmknod-style system calls are enabled 426 * - 32-bit system calls use i386 sizes -and- alignments 427 * 428 * Note that this is NOT defined for the i386 native environment! 429 * 430 * __x86 431 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 432 * which is useful only insofar as these two architectures share 433 * common attributes. Analogous to __sparc. 434 * 435 * _PSM_MODULES 436 * This indicates whether or not the implementation uses PSM 437 * modules for processor support, reading /etc/mach from inside 438 * the kernel to extract a list. 439 * 440 * _RTC_CONFIG 441 * This indicates whether or not the implementation uses /etc/rtc_config 442 * to configure the real-time clock in the kernel. 443 * 444 * _UNIX_KRTLD 445 * This indicates that the implementation uses a dynamically 446 * linked unix + krtld to form the core kernel image at boot 447 * time, or (in the absence of this symbol) a prelinked kernel image. 448 * 449 * _OBP 450 * This indicates the firmware interface is OBP. 451 * 452 * _SOFT_HOSTID 453 * This indicates that the implementation obtains the hostid 454 * from the file /etc/hostid, rather than from hardware. 455 */ 456 457 458 459 460 461 /* 462 * The following set of definitions characterize Solaris on AMD's 463 * 64-bit systems. 464 */ 465 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 466 /* 467 * Define the appropriate "processor characteristics" 468 */ 469 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 470 /* 471 * Different alignment constraints for the i386 ABI in compatibility mode 472 */ 473 474 475 /* 476 * Define the appropriate "implementation choices". 477 */ 478 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 479 /* 480 * The feature test macro __i386 is generic for all processors implementing 481 * the Intel 386 instruction set or a superset of it. Specifically, this 482 * includes all members of the 386, 486, and Pentium family of processors. 483 */ 484 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 485 486 487 488 489 490 /* 491 * Values of _POSIX_C_SOURCE 492 * 493 * undefined not a POSIX compilation 494 * 1 POSIX.1-1990 compilation 495 * 2 POSIX.2-1992 compilation 496 * 199309L POSIX.1b-1993 compilation (Real Time) 497 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 498 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 499 * 200809L POSIX.1-2008 compilation 500 */ 501 502 503 504 505 /* 506 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 507 * and _STDC_C99 are Sun implementation specific macros created in order to 508 * compress common standards specified feature test macros for easier reading. 509 * These macros should not be used by the application developer as 510 * unexpected results may occur. Instead, the user should reference 511 * standards(5) for correct usage of the standards feature test macros. 512 * 513 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 514 * X/Open or POSIX or in the negative, when neither 515 * X/Open or POSIX defines a symbol. 516 * 517 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 518 * by the compiler. For Sun compilers the value of 519 * __STDC__ is either 1, 0, or not defined based on the 520 * compilation mode (see cc(1)). When the value of 521 * __STDC__ is 1 and in the absence of any other feature 522 * test macros, the namespace available to the application 523 * is limited to only those symbols defined by the C 524 * Standard. _STRICT_STDC provides a more readable means 525 * of identifying symbols defined by the standard, or in 526 * the negative, symbols that are extensions to the C 527 * Standard. See additional comments for GNU C differences. 528 * 529 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 530 * defined by the compiler and indicates the version of 531 * the C standard. A value of 199901L indicates a 532 * compiler that complies with ISO/IEC 9899:1999, other- 533 * wise known as the C99 standard. 534 * 535 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 536 * is 201112L indicating a compiler that compiles with 537 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 538 * 539 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 540 * by the standards, and the user has not explicitly 541 * relaxed the strictness via __EXTENSIONS__. 542 */ 543 544 545 546 547 548 /* 549 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 550 * 99899:2011 specify the following predefined macro name: 551 * 552 * __STDC__ The integer constant 1, intended to indicate a conforming 553 * implementation. 554 * 555 * Furthermore, a strictly conforming program shall use only those features 556 * of the language and library specified in these standards. A conforming 557 * implementation shall accept any strictly conforming program. 558 * 559 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 560 * strictly conforming environments and __STDC__ to 0 for environments that 561 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 562 * C semantics, Sun's C compiler does not define __STDC__. 563 * 564 * The GNU C project interpretation is that __STDC__ should always be defined 565 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 566 * or not extensions to the C standard are used. Violations of conforming 567 * behavior are conditionally flagged as warnings via the use of the 568 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 569 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 570 * conforming environments using the -ansi or -std=<standard> options. 571 * 572 * In the absence of any other compiler options, Sun and GNU set the value 573 * of __STDC__ as follows when using the following options: 574 * 575 * Value of __STDC__ __STRICT_ANSI__ 576 * 577 * cc -Xa (default) 0 undefined 578 * cc -Xt (transitional) 0 undefined 579 * cc -Xc (strictly conforming) 1 undefined 580 * cc -Xs (K&R C) undefined undefined 581 * 582 * gcc (default) 1 undefined 583 * gcc -ansi, -std={c89, c99,...) 1 defined 584 * gcc -traditional (K&R) undefined undefined 585 * 586 * The default compilation modes for Sun C compilers versus GNU C compilers 587 * results in a differing value for __STDC__ which results in a more 588 * restricted namespace when using Sun compilers. To allow both GNU and Sun 589 * interpretations to peacefully co-exist, we use the following Sun 590 * implementation _STRICT_STDC_ macro: 591 */ 592 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 593 /* 594 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 595 */ 596 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 597 /* 598 * Use strict symbol visibility. 599 */ 600 601 602 603 604 605 /* 606 * Large file interfaces: 607 * 608 * _LARGEFILE_SOURCE 609 * 1 large file-related additions to POSIX 610 * interfaces requested (fseeko, etc.) 611 * _LARGEFILE64_SOURCE 612 * 1 transitional large-file-related interfaces 613 * requested (seek64, stat64, etc.) 614 * 615 * The corresponding announcement macros are respectively: 616 * _LFS_LARGEFILE 617 * _LFS64_LARGEFILE 618 * (These are set in <unistd.h>.) 619 * 620 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 621 * well. 622 * 623 * The large file interfaces are made visible regardless of the initial values 624 * of the feature test macros under certain circumstances: 625 * - If no explicit standards-conforming environment is requested (neither 626 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 627 * __STDC__ does not imply standards conformance). 628 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 629 * is defined). 630 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 631 * defined). (Note that this dependency is an artifact of the current 632 * kernel implementation and may change in future releases.) 633 */ 634 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 635 /* 636 * Large file compilation environment control: 637 * 638 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 639 * types and governs the mapping between file-related source function symbol 640 * names and the corresponding binary entry points. 641 * 642 * In the 32-bit environment, the default value is 32; if not set, set it to 643 * the default here, to simplify tests in other headers. 644 * 645 * In the 64-bit compilation environment, the only value allowed is 64. 646 */ 647 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 648 /* 649 * Use of _XOPEN_SOURCE 650 * 651 * The following X/Open specifications are supported: 652 * 653 * X/Open Portability Guide, Issue 3 (XPG3) 654 * X/Open CAE Specification, Issue 4 (XPG4) 655 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 656 * X/Open CAE Specification, Issue 5 (XPG5) 657 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 658 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 659 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 660 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 661 * 662 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 663 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 664 * Version 2 (SUSv2) 665 * XPG6 is the result of a merge of the X/Open and POSIX specifications 666 * and as such is also referred to as IEEE Std. 1003.1-2001 in 667 * addition to UNIX 03 and SUSv3. 668 * XPG7 is also referred to as UNIX 08 and SUSv4. 669 * 670 * When writing a conforming X/Open application, as per the specification 671 * requirements, the appropriate feature test macros must be defined at 672 * compile time. These are as follows. For more info, see standards(5). 673 * 674 * Feature Test Macro Specification 675 * ------------------------------------------------ ------------- 676 * _XOPEN_SOURCE XPG3 677 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 678 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 679 * _XOPEN_SOURCE = 500 XPG5 680 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 681 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 682 * 683 * In order to simplify the guards within the headers, the following 684 * implementation private test macros have been created. Applications 685 * must NOT use these private test macros as unexpected results will 686 * occur. 687 * 688 * Note that in general, the use of these private macros is cumulative. 689 * For example, the use of _XPG3 with no other restrictions on the X/Open 690 * namespace will make the symbols visible for XPG3 through XPG6 691 * compilation environments. The use of _XPG4_2 with no other X/Open 692 * namespace restrictions indicates that the symbols were introduced in 693 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 694 * environments, but not for XPG3 or XPG4 compilation environments. 695 * 696 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 697 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 698 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 699 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 700 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 701 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 702 */ 703 704 /* X/Open Portability Guide, Issue 3 */ 705 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 706 /* 707 * _XOPEN_VERSION is defined by the X/Open specifications and is not 708 * normally defined by the application, except in the case of an XPG4 709 * application. On the implementation side, _XOPEN_VERSION defined with 710 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 711 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 712 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 713 * application and with a value of 600 indicates an XPG6 (UNIX 03) 714 * application and with a value of 700 indicates an XPG7 (UNIX 08). 715 * The appropriate version is determined by the use of the 716 * feature test macros described earlier. The value of _XOPEN_VERSION 717 * defaults to 3 otherwise indicating support for XPG3 applications. 718 */ 719 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 720 /* 721 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 722 * conforming environments. ISO 9899:1999 says it does. 723 * 724 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 725 * defined in all but strictly conforming environments that disallow it. 726 */ 727 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 728 /* 729 * The following macro defines a value for the ISO C99 restrict 730 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 731 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 732 * if any other compiler is used. This allows for the use of single 733 * prototype declarations regardless of compiler version. 734 */ 735 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 736 /* 737 * The following macro defines a value for the ISO C11 _Noreturn 738 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 739 * an ISO C11 compiler is used and "" (null string) if any other 740 * compiler is used. This allows for the use of single prototype 741 * declarations regardless of compiler version. 742 */ 743 744 745 746 747 748 749 750 /* 751 * The following macro indicates header support for the ANSI C++ 752 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 753 */ 754 755 756 /* 757 * The following macro indicates header support for the C99 standard, 758 * ISO/IEC 9899:1999, Programming Languages - C. 759 */ 760 761 762 /* 763 * The following macro indicates header support for the C99 standard, 764 * ISO/IEC 9899:2011, Programming Languages - C. 765 */ 766 767 768 /* 769 * The following macro indicates header support for DTrace. The value is an 770 * integer that corresponds to the major version number for DTrace. 771 */ 772 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 773 774 775 776 777 778 /* 779 * Do all of our 'redefine_extname' processing before 780 * declarations of the associated functions are seen. 781 * This is necessary to keep gcc happy. 782 */ 783 784 785 /* large file compilation environment setup */ 786 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 787 /* In the LP64 compilation environment, all APIs are already large file */ 788 789 790 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 791 #pragma redefine_extname fopen64 fopen 792 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 793 794 795 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 796 #pragma redefine_extname freopen64 freopen 797 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 798 799 800 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 801 #pragma redefine_extname tmpfile64 tmpfile 802 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 803 804 805 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 806 #pragma redefine_extname fgetpos64 fgetpos 807 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 808 809 810 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 811 #pragma redefine_extname fsetpos64 fsetpos 812 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 813 814 815 816 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 817 #pragma redefine_extname fseeko64 fseeko 818 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 819 820 821 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 822 #pragma redefine_extname ftello64 ftello 823 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 824 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 826 /* 827 * CDDL HEADER START 828 * 829 * The contents of this file are subject to the terms of the 830 * Common Development and Distribution License, Version 1.0 only 831 * (the "License"). You may not use this file except in compliance 832 * with the License. 833 * 834 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 835 * or http://www.opensolaris.org/os/licensing. 836 * See the License for the specific language governing permissions 837 * and limitations under the License. 838 * 839 * When distributing Covered Code, include this CDDL HEADER in each 840 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 841 * If applicable, add the following below this CDDL HEADER, with the 842 * fields enclosed by brackets "[]" replaced with your own identifying 843 * information: Portions Copyright [yyyy] [name of copyright owner] 844 * 845 * CDDL HEADER END 846 */ 847 /* 848 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 849 * Copyright 2014 PALO, Richard. 850 * 851 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 852 * Use is subject to license terms. 853 */ 854 855 /* Copyright (c) 1988 AT&T */ 856 /* All Rights Reserved */ 857 858 /* 859 * An application should not include this header directly. Instead it 860 * should be included only through the inclusion of other Sun headers. 861 * 862 * The contents of this header is limited to identifiers specified in the 863 * C Standard. Any new identifiers specified in future amendments to the 864 * C Standard must be placed in this header. If these new identifiers 865 * are required to also be in the C++ Standard "std" namespace, then for 866 * anything other than macro definitions, corresponding "using" directives 867 * must also be added to <stdio.h>. 868 */ 869 870 /* 871 * User-visible pieces of the ANSI C standard I/O package. 872 */ 873 874 875 876 877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 878 /* 879 * CDDL HEADER START 880 * 881 * The contents of this file are subject to the terms of the 882 * Common Development and Distribution License (the "License"). 883 * You may not use this file except in compliance with the License. 884 * 885 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 886 * or http://www.opensolaris.org/os/licensing. 887 * See the License for the specific language governing permissions 888 * and limitations under the License. 889 * 890 * When distributing Covered Code, include this CDDL HEADER in each 891 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 892 * If applicable, add the following below this CDDL HEADER, with the 893 * fields enclosed by brackets "[]" replaced with your own identifying 894 * information: Portions Copyright [yyyy] [name of copyright owner] 895 * 896 * CDDL HEADER END 897 */ 898 899 /* 900 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 901 * Copyright 2016 Joyent, Inc. 902 * 903 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 904 * Use is subject to license terms. 905 */ 906 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 907 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 908 /* 909 * This file and its contents are supplied under the terms of the 910 * Common Development and Distribution License ("CDDL"), version 1.0. 911 * You may only use this file in accordance with the terms of version 912 * 1.0 of the CDDL. 913 * 914 * A full copy of the text of the CDDL should have accompanied this 915 * source. A copy of the CDDL is also available via the Internet at 916 * http://www.illumos.org/license/CDDL. 917 */ 918 919 /* 920 * Copyright 2014-2016 PALO, Richard. 921 */ 922 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 923 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 924 /* 925 * CDDL HEADER START 926 * 927 * The contents of this file are subject to the terms of the 928 * Common Development and Distribution License, Version 1.0 only 929 * (the "License"). You may not use this file except in compliance 930 * with the License. 931 * 932 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 933 * or http://www.opensolaris.org/os/licensing. 934 * See the License for the specific language governing permissions 935 * and limitations under the License. 936 * 937 * When distributing Covered Code, include this CDDL HEADER in each 938 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 939 * If applicable, add the following below this CDDL HEADER, with the 940 * fields enclosed by brackets "[]" replaced with your own identifying 941 * information: Portions Copyright [yyyy] [name of copyright owner] 942 * 943 * CDDL HEADER END 944 */ 945 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 946 /* All Rights Reserved */ 947 948 949 /* 950 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 951 * 952 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 953 * Use is subject to license terms. 954 */ 955 956 957 958 959 /* 960 * An application should not include this header directly. Instead it 961 * should be included only through the inclusion of other Sun headers. 962 * 963 * The purpose of this header is to provide the type definitions for 964 * the va_list argument used by a number of printf and printf like 965 * functions. The headers that define these various function prototypes 966 * #include this header directly. These include but are not necessarily 967 * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and 968 * <syslog.h>. The type definitions included in this header are for 969 * the benefit of consumers of va_list. 970 * 971 * Any application that accepts variable argument lists must as documented, 972 * include either <varargs.h> or the preferred <stdarg.h>. Doing so will 973 * pull in the appropriate compiler protocols defined in <sys/va_impl.h> 974 * which is in turn is included by <varargs.h> and <stdarg.h>. See comments 975 * in <sys/va_impl.h> for more detailed information regarding implementation 976 * and compiler specific protocols. 977 */ 978 979 /* 980 * The common definitions exported by this header or compilers using 981 * this header are: 982 * 983 * the identifier __builtin_va_alist for the variable list pseudo parameter 984 * the type __va_alist_type for the variable list pseudo parameter 985 * the type __va_list defining the type of the variable list iterator 986 * 987 * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros 988 * (__GNUC__) and processor macros (e.g. __amd64) are intended to be 989 * defined by the compilation system, not the user of the system. 990 */ 991 992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 993 /* 994 * CDDL HEADER START 995 * 996 * The contents of this file are subject to the terms of the 997 * Common Development and Distribution License (the "License"). 998 * You may not use this file except in compliance with the License. 999 * 1000 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1001 * or http://www.opensolaris.org/os/licensing. 1002 * See the License for the specific language governing permissions 1003 * and limitations under the License. 1004 * 1005 * 1006 * When distributing Covered Code, include this CDDL HEADER in each 1007 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1008 * If applicable, add the following below this CDDL HEADER, with the 1009 * fields enclosed by brackets "[]" replaced with your own identifying 1010 * information: Portions Copyright [yyyy] [name of copyright owner] 1011 * 1012 * CDDL HEADER END 1013 */ 1014 1015 /* 1016 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1017 * Use is subject to license terms. 1018 * Copyright 2016 Joyent, Inc. 1019 */ 1020 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 1021 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1022 typedef __builtin_va_list __gnuc_va_list; 1023 /* 1024 * XX64 This seems unnecessary .. but is needed because vcmn_err is 1025 * defined with __va_list instead of plain old va_list. 1026 * Perhaps that should be fixed! 1027 */ 1028 typedef __builtin_va_list __va_list; 1029 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1030 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 1031 /* 1032 * CDDL HEADER START 1033 * 1034 * The contents of this file are subject to the terms of the 1035 * Common Development and Distribution License, Version 1.0 only 1036 * (the "License"). You may not use this file except in compliance 1037 * with the License. 1038 * 1039 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1040 * or http://www.opensolaris.org/os/licensing. 1041 * See the License for the specific language governing permissions 1042 * and limitations under the License. 1043 * 1044 * When distributing Covered Code, include this CDDL HEADER in each 1045 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1046 * If applicable, add the following below this CDDL HEADER, with the 1047 * fields enclosed by brackets "[]" replaced with your own identifying 1048 * information: Portions Copyright [yyyy] [name of copyright owner] 1049 * 1050 * CDDL HEADER END 1051 */ 1052 /* 1053 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1054 * Use is subject to license terms. 1055 */ 1056 1057 1058 1059 1060 #pragma ident "%Z%%M% %I% %E% SMI" 1061 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1062 typedef struct __FILE __FILE; 1063 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1064 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 1065 /* 1066 * CDDL HEADER START 1067 * 1068 * The contents of this file are subject to the terms of the 1069 * Common Development and Distribution License (the "License"). 1070 * You may not use this file except in compliance with the License. 1071 * 1072 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1073 * or http://www.opensolaris.org/os/licensing. 1074 * See the License for the specific language governing permissions 1075 * and limitations under the License. 1076 * 1077 * When distributing Covered Code, include this CDDL HEADER in each 1078 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1079 * If applicable, add the following below this CDDL HEADER, with the 1080 * fields enclosed by brackets "[]" replaced with your own identifying 1081 * information: Portions Copyright [yyyy] [name of copyright owner] 1082 * 1083 * CDDL HEADER END 1084 */ 1085 1086 /* 1087 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1088 * Use is subject to license terms. 1089 */ 1090 1091 1092 1093 1094 #pragma ident "%Z%%M% %I% %E% SMI" 1095 1096 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 1097 /* 1098 * CDDL HEADER START 1099 * 1100 * The contents of this file are subject to the terms of the 1101 * Common Development and Distribution License (the "License"). 1102 * You may not use this file except in compliance with the License. 1103 * 1104 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1105 * or http://www.opensolaris.org/os/licensing. 1106 * See the License for the specific language governing permissions 1107 * and limitations under the License. 1108 * 1109 * 1110 * When distributing Covered Code, include this CDDL HEADER in each 1111 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1112 * If applicable, add the following below this CDDL HEADER, with the 1113 * fields enclosed by brackets "[]" replaced with your own identifying 1114 * information: Portions Copyright [yyyy] [name of copyright owner] 1115 * 1116 * CDDL HEADER END 1117 */ 1118 1119 /* 1120 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1121 * Use is subject to license terms. 1122 * Copyright 2016 Joyent, Inc. 1123 */ 1124 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 1125 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1126 struct __FILE { 1127 long __pad[16]; 1128 }; 1129 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1130 1131 /* 1132 * If feature test macros are set that enable interfaces that use types 1133 * defined in <sys/types.h>, get those types by doing the include. 1134 * 1135 * Note that in asking for the interfaces associated with this feature test 1136 * macro one also asks for definitions of the POSIX types. 1137 */ 1138 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1139 typedef __FILE FILE; 1140 1141 1142 1143 1144 1145 typedef unsigned long size_t; /* size of something in bytes */ 1146 1147 1148 1149 1150 1151 1152 typedef long fpos_t; 1153 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1154 /* 1155 * The value of _NFILE is defined in the Processor Specific ABI. The value 1156 * is chosen for historical reasons rather than for truly processor related 1157 * attribute. Note that the SPARC Processor Specific ABI uses the common 1158 * UNIX historical value of 20 so it is allowed to fall through. 1159 */ 1160 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1161 extern __FILE __iob[20]; 1162 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1163 extern int remove(const char *); 1164 extern int rename(const char *, const char *); 1165 extern FILE *tmpfile(void); 1166 extern char *tmpnam(char *); 1167 extern int fclose(FILE *); 1168 extern int fflush(FILE *); 1169 extern FILE *fopen(const char *, const char *); 1170 extern FILE *freopen(const char *, 1171 const char *, FILE *); 1172 extern void setbuf(FILE *, char *); 1173 extern int setvbuf(FILE *, char *, int, 1174 size_t); 1175 /* PRINTFLIKE2 */ 1176 extern int fprintf(FILE *, const char *, ...); 1177 /* SCANFLIKE2 */ 1178 extern int fscanf(FILE *, const char *, ...); 1179 /* PRINTFLIKE1 */ 1180 extern int printf(const char *, ...); 1181 /* SCANFLIKE1 */ 1182 extern int scanf(const char *, ...); 1183 /* PRINTFLIKE2 */ 1184 extern int sprintf(char *, const char *, ...); 1185 /* SCANFLIKE2 */ 1186 extern int sscanf(const char *, 1187 const char *, ...); 1188 extern int vfprintf(FILE *, const char *, 1189 __va_list); 1190 extern int vprintf(const char *, __va_list); 1191 extern int vsprintf(char *, const char *, 1192 __va_list); 1193 extern int fgetc(FILE *); 1194 extern char *fgets(char *, int, FILE *); 1195 extern int fputc(int, FILE *); 1196 extern int fputs(const char *, FILE *); 1197 1198 1199 extern int getc(FILE *); 1200 extern int putc(int, FILE *); 1201 1202 1203 1204 extern int getchar(void); 1205 extern int putchar(int); 1206 1207 1208 /* 1209 * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 1210 * environment has been requested, we remove it. 1211 */ 1212 1213 extern char *gets(char *); 1214 1215 extern int puts(const char *); 1216 extern int ungetc(int, FILE *); 1217 extern size_t fread(void *, size_t, size_t, 1218 FILE *); 1219 extern size_t fwrite(const void *, size_t, size_t, 1220 FILE *); 1221 1222 extern int fgetpos(FILE *, fpos_t *); 1223 extern int fsetpos(FILE *, const fpos_t *); 1224 1225 extern int fseek(FILE *, long, int); 1226 extern long ftell(FILE *); 1227 extern void rewind(FILE *); 1228 1229 1230 extern void clearerr(FILE *); 1231 extern int feof(FILE *); 1232 extern int ferror(FILE *); 1233 1234 extern void perror(const char *); 1235 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1236 1237 /* 1238 * If feature test macros are set that enable interfaces that use types 1239 * defined in <sys/types.h>, get those types by doing the include. 1240 * 1241 * Note that in asking for the interfaces associated with this feature test 1242 * macro one also asks for definitions of the POSIX types. 1243 */ 1244 1245 /* 1246 * Allow global visibility for symbols defined in 1247 * C++ "std" namespace in <iso/stdio_iso.h>. 1248 */ 1249 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1250 /* 1251 * This header needs to be included here because it relies on the global 1252 * visibility of FILE and size_t in the C++ environment. 1253 */ 1254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 1255 /* 1256 * CDDL HEADER START 1257 * 1258 * The contents of this file are subject to the terms of the 1259 * Common Development and Distribution License, Version 1.0 only 1260 * (the "License"). You may not use this file except in compliance 1261 * with the License. 1262 * 1263 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1264 * or http://www.opensolaris.org/os/licensing. 1265 * See the License for the specific language governing permissions 1266 * and limitations under the License. 1267 * 1268 * When distributing Covered Code, include this CDDL HEADER in each 1269 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1270 * If applicable, add the following below this CDDL HEADER, with the 1271 * fields enclosed by brackets "[]" replaced with your own identifying 1272 * information: Portions Copyright [yyyy] [name of copyright owner] 1273 * 1274 * CDDL HEADER END 1275 */ 1276 /* 1277 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1278 * 1279 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1280 * Use is subject to license terms. 1281 */ 1282 1283 /* 1284 * An application should not include this header directly. Instead it 1285 * should be included only through the inclusion of other Sun headers. 1286 * 1287 * The contents of this header is limited to identifiers specified in 1288 * the C99 standard and in conflict with the C++ implementation of the 1289 * standard header. The C++ standard may adopt the C99 standard at 1290 * which point it is expected that the symbols included here will 1291 * become part of the C++ std namespace. 1292 */ 1293 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1294 /* 1295 * The following have been added as a result of the ISO/IEC 9899:1999 1296 * standard. For a strictly conforming C application, visibility is 1297 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1298 * For non-strictly conforming C applications, there are no restrictions 1299 * on the C namespace. 1300 */ 1301 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1302 extern int vfscanf(FILE *, const char *, __va_list); 1303 extern int vscanf(const char *, __va_list); 1304 extern int vsscanf(const char *, const char *, 1305 __va_list); 1306 1307 1308 1309 1310 extern int snprintf(char *, size_t, const char *, 1311 ...); 1312 extern int vsnprintf(char *, size_t, const char *, 1313 __va_list); 1314 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1315 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1316 typedef long off_t; 1317 1318 1319 1320 1321 1322 typedef off_t off64_t; 1323 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1324 typedef fpos_t fpos64_t; 1325 1326 1327 1328 1329 1330 /* 1331 * XPG4 requires that va_list be defined in <stdio.h> "as described in 1332 * <stdarg.h>". ANSI-C and POSIX require that the namespace of <stdio.h> 1333 * not be polluted with this name. 1334 */ 1335 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1336 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1337 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1338 extern unsigned char _sibuf[], _sobuf[]; 1339 1340 1341 /* large file compilation environment setup */ 1342 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1343 /* In the LP64 compilation environment, all APIs are already large file */ 1344 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1345 typedef long ssize_t; /* size of something in bytes or -1 */ 1346 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1347 extern char *tmpnam_r(char *); 1348 1349 1350 1351 1352 extern int fcloseall(void); 1353 extern void setbuffer(FILE *, char *, size_t); 1354 extern int setlinebuf(FILE *); 1355 /* PRINTFLIKE2 */ 1356 extern int asprintf(char **, const char *, ...); 1357 /* PRINTFLIKE2 */ 1358 extern int vasprintf(char **, const char *, __va_list); 1359 1360 1361 1362 1363 /* || defined(_XPG7) */ 1364 extern ssize_t getdelim(char **, size_t *, 1365 int, FILE *); 1366 extern ssize_t getline(char **, size_t *, 1367 FILE *); 1368 1369 1370 /* 1371 * The following are known to POSIX and XOPEN, but not to ANSI-C. 1372 */ 1373 1374 1375 1376 extern FILE *fdopen(int, const char *); 1377 extern char *ctermid(char *); 1378 extern int fileno(FILE *); 1379 1380 1381 1382 /* 1383 * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. 1384 */ 1385 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1386 /* 1387 * The following are known to XOPEN, but not to ANSI-C or POSIX. 1388 */ 1389 1390 1391 extern FILE *popen(const char *, const char *); 1392 extern char *tempnam(const char *, const char *); 1393 extern int pclose(FILE *); 1394 1395 extern int getsubopt(char **, char *const *, char **); 1396 1397 1398 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1399 1400 extern char *cuserid(char *); 1401 extern int getopt(int, char *const *, const char *); 1402 extern char *optarg; 1403 extern int optind, opterr, optopt; 1404 extern int getw(FILE *); 1405 extern int putw(int, FILE *); 1406 1407 1408 1409 1410 /* 1411 * The following are defined as part of the Large File Summit interfaces. 1412 */ 1413 1414 extern int fseeko(FILE *, off_t, int); 1415 extern off_t ftello(FILE *); 1416 1417 1418 /* 1419 * The following are defined as part of the transitional Large File Summit 1420 * interfaces. 1421 */ 1422 1423 1424 extern FILE *fopen64(const char *, const char *); 1425 extern FILE *freopen64(const char *, const char *, FILE *); 1426 extern FILE *tmpfile64(void); 1427 extern int fgetpos64(FILE *, fpos64_t *); 1428 extern int fsetpos64(FILE *, const fpos64_t *); 1429 extern int fseeko64(FILE *, off64_t, int); 1430 extern off64_t ftello64(FILE *); 1431 1432 1433 /* 1434 * XPG7 symbols 1435 */ 1436 1437 extern FILE *fmemopen(void *, size_t, 1438 const char *); 1439 extern FILE *open_memstream(char **, size_t *); 1440 # 54 "../common/zones_utils.c" 2 1441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 1442 /* 1443 * CDDL HEADER START 1444 * 1445 * The contents of this file are subject to the terms of the 1446 * Common Development and Distribution License (the "License"). 1447 * You may not use this file except in compliance with the License. 1448 * 1449 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1450 * or http://www.opensolaris.org/os/licensing. 1451 * See the License for the specific language governing permissions 1452 * and limitations under the License. 1453 * 1454 * When distributing Covered Code, include this CDDL HEADER in each 1455 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1456 * If applicable, add the following below this CDDL HEADER, with the 1457 * fields enclosed by brackets "[]" replaced with your own identifying 1458 * information: Portions Copyright [yyyy] [name of copyright owner] 1459 * 1460 * CDDL HEADER END 1461 */ 1462 1463 /* 1464 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1465 * Copyright (c) 2013 Gary Mills 1466 * 1467 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 1468 */ 1469 1470 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 1471 1472 /* Copyright (c) 1988 AT&T */ 1473 /* All Rights Reserved */ 1474 1475 1476 1477 1478 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 1479 /* 1480 * CDDL HEADER START 1481 * 1482 * The contents of this file are subject to the terms of the 1483 * Common Development and Distribution License, Version 1.0 only 1484 * (the "License"). You may not use this file except in compliance 1485 * with the License. 1486 * 1487 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1488 * or http://www.opensolaris.org/os/licensing. 1489 * See the License for the specific language governing permissions 1490 * and limitations under the License. 1491 * 1492 * When distributing Covered Code, include this CDDL HEADER in each 1493 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1494 * If applicable, add the following below this CDDL HEADER, with the 1495 * fields enclosed by brackets "[]" replaced with your own identifying 1496 * information: Portions Copyright [yyyy] [name of copyright owner] 1497 * 1498 * CDDL HEADER END 1499 */ 1500 /* 1501 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1502 * Copyright 2014 PALO, Richard. 1503 * 1504 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1505 * Use is subject to license terms. 1506 */ 1507 1508 /* Copyright (c) 1988 AT&T */ 1509 /* All Rights Reserved */ 1510 1511 1512 /* 1513 * An application should not include this header directly. Instead it 1514 * should be included only through the inclusion of other Sun headers. 1515 * 1516 * The contents of this header is limited to identifiers specified in the 1517 * C Standard. Any new identifiers specified in future amendments to the 1518 * C Standard must be placed in this header. If these new identifiers 1519 * are required to also be in the C++ Standard "std" namespace, then for 1520 * anything other than macro definitions, corresponding "using" directives 1521 * must also be added to <locale.h>. 1522 */ 1523 1524 1525 1526 1527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1528 /* 1529 * CDDL HEADER START 1530 * 1531 * The contents of this file are subject to the terms of the 1532 * Common Development and Distribution License (the "License"). 1533 * You may not use this file except in compliance with the License. 1534 * 1535 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1536 * or http://www.opensolaris.org/os/licensing. 1537 * See the License for the specific language governing permissions 1538 * and limitations under the License. 1539 * 1540 * When distributing Covered Code, include this CDDL HEADER in each 1541 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1542 * If applicable, add the following below this CDDL HEADER, with the 1543 * fields enclosed by brackets "[]" replaced with your own identifying 1544 * information: Portions Copyright [yyyy] [name of copyright owner] 1545 * 1546 * CDDL HEADER END 1547 */ 1548 1549 /* 1550 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1551 * Copyright 2016 Joyent, Inc. 1552 * 1553 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1554 * Use is subject to license terms. 1555 */ 1556 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1557 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 1558 /* 1559 * This file and its contents are supplied under the terms of the 1560 * Common Development and Distribution License ("CDDL"), version 1.0. 1561 * You may only use this file in accordance with the terms of version 1562 * 1.0 of the CDDL. 1563 * 1564 * A full copy of the text of the CDDL should have accompanied this 1565 * source. A copy of the CDDL is also available via the Internet at 1566 * http://www.illumos.org/license/CDDL. 1567 */ 1568 1569 /* 1570 * Copyright 2014-2016 PALO, Richard. 1571 */ 1572 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1573 1574 1575 1576 1577 1578 unsigned char __mb_cur_max(void); 1579 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1580 typedef struct { 1581 int quot; 1582 int rem; 1583 } div_t; 1584 1585 typedef struct { 1586 long quot; 1587 long rem; 1588 } ldiv_t; 1589 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1590 /* 1591 * wchar_t is a built-in type in standard C++ and as such is not 1592 * defined here when using standard C++. However, the GNU compiler 1593 * fixincludes utility nonetheless creates its own version of this 1594 * header for use by gcc and g++. In that version it adds a redundant 1595 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 1596 * header we need to include the following magic comment: 1597 * 1598 * we must use the C++ compiler's type 1599 * 1600 * The above comment should not be removed or changed until GNU 1601 * gcc/fixinc/inclhack.def is updated to bypass this header. 1602 */ 1603 1604 1605 1606 1607 typedef int wchar_t; 1608 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1609 extern void abort(void) __attribute__((__noreturn__)); 1610 extern int abs(int); 1611 extern int atexit(void (*)(void)); 1612 extern double atof(const char *); 1613 extern int atoi(const char *); 1614 extern long int atol(const char *); 1615 extern void *bsearch(const void *, const void *, size_t, size_t, 1616 int (*)(const void *, const void *)); 1617 1618 1619 1620 1621 1622 1623 extern void *calloc(size_t, size_t); 1624 extern div_t div(int, int); 1625 extern void exit(int) 1626 __attribute__((__noreturn__)); 1627 extern void free(void *); 1628 extern char *getenv(const char *); 1629 extern long int labs(long); 1630 extern ldiv_t ldiv(long, long); 1631 extern void *malloc(size_t); 1632 extern int mblen(const char *, size_t); 1633 extern size_t mbstowcs(wchar_t *, const char *, 1634 size_t); 1635 extern int mbtowc(wchar_t *, const char *, size_t); 1636 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); 1637 1638 1639 1640 1641 1642 extern int rand(void); 1643 extern void *realloc(void *, size_t); 1644 extern void srand(unsigned int); 1645 extern double strtod(const char *, char **); 1646 extern long int strtol(const char *, char **, int); 1647 extern unsigned long int strtoul(const char *, 1648 char **, int); 1649 extern int system(const char *); 1650 extern int wctomb(char *, wchar_t); 1651 extern size_t wcstombs(char *, const wchar_t *, 1652 size_t); 1653 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 1655 /* 1656 * CDDL HEADER START 1657 * 1658 * The contents of this file are subject to the terms of the 1659 * Common Development and Distribution License, Version 1.0 only 1660 * (the "License"). You may not use this file except in compliance 1661 * with the License. 1662 * 1663 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1664 * or http://www.opensolaris.org/os/licensing. 1665 * See the License for the specific language governing permissions 1666 * and limitations under the License. 1667 * 1668 * When distributing Covered Code, include this CDDL HEADER in each 1669 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1670 * If applicable, add the following below this CDDL HEADER, with the 1671 * fields enclosed by brackets "[]" replaced with your own identifying 1672 * information: Portions Copyright [yyyy] [name of copyright owner] 1673 * 1674 * CDDL HEADER END 1675 */ 1676 /* 1677 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1678 * 1679 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1680 * Use is subject to license terms. 1681 */ 1682 1683 /* 1684 * An application should not include this header directly. Instead it 1685 * should be included only through the inclusion of other Sun headers. 1686 * 1687 * The contents of this header is limited to identifiers specified in 1688 * the C99 standard and in conflict with the C++ implementation of the 1689 * standard header. The C++ standard may adopt the C99 standard at 1690 * which point it is expected that the symbols included here will 1691 * become part of the C++ std namespace. 1692 */ 1693 1694 1695 1696 1697 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1698 /* 1699 * CDDL HEADER START 1700 * 1701 * The contents of this file are subject to the terms of the 1702 * Common Development and Distribution License (the "License"). 1703 * You may not use this file except in compliance 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 /* 1720 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1721 * Copyright 2016 Joyent, Inc. 1722 * 1723 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1724 * Use is subject to license terms. 1725 */ 1726 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 1727 1728 1729 1730 1731 1732 /* 1733 * The following have been added as a result of the ISO/IEC 9899:1999 1734 * standard. For a strictly conforming C application, visibility is 1735 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1736 * For non-strictly conforming C applications, there are no restrictions 1737 * on the C namespace. 1738 */ 1739 1740 1741 typedef struct { 1742 long long quot; 1743 long long rem; 1744 } lldiv_t; 1745 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1746 extern void _Exit(int); 1747 extern float strtof(const char *, char **); 1748 extern long double strtold(const char *, char **); 1749 1750 1751 extern long long atoll(const char *); 1752 extern long long llabs(long long); 1753 extern lldiv_t lldiv(long long, long long); 1754 extern long long strtoll(const char *, char **, 1755 int); 1756 extern unsigned long long strtoull(const char *, 1757 char **, int); 1758 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1759 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 1760 /* 1761 * This file and its contents are supplied under the terms of the 1762 * Common Development and Distribution License ("CDDL"), version 1.0. 1763 * You may only use this file in accordance with the terms of version 1764 * 1.0 of the CDDL. 1765 * 1766 * A full copy of the text of the CDDL should have accompanied this 1767 * source. A copy of the CDDL is also available via the Internet at 1768 * http://www.illumos.org/license/CDDL. 1769 */ 1770 1771 /* 1772 * Copyright 2016 Joyent, Inc. 1773 */ 1774 1775 /* 1776 * An application should not include this header directly. Instead it 1777 * should be included only through the inclusion of other illumos headers. 1778 * 1779 * The contents of this header is limited to identifiers specified in 1780 * the C11 standard and in conflict with the C++ implementation of the 1781 * standard header. The C++ standard may adopt the C11 standard at 1782 * which point it is expected that the symbols included here will 1783 * become part of the C++ std namespace. 1784 */ 1785 1786 1787 1788 1789 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1790 /* 1791 * CDDL HEADER START 1792 * 1793 * The contents of this file are subject to the terms of the 1794 * Common Development and Distribution License (the "License"). 1795 * You may not use this file except in compliance with the License. 1796 * 1797 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1798 * or http://www.opensolaris.org/os/licensing. 1799 * See the License for the specific language governing permissions 1800 * and limitations under the License. 1801 * 1802 * When distributing Covered Code, include this CDDL HEADER in each 1803 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1804 * If applicable, add the following below this CDDL HEADER, with the 1805 * fields enclosed by brackets "[]" replaced with your own identifying 1806 * information: Portions Copyright [yyyy] [name of copyright owner] 1807 * 1808 * CDDL HEADER END 1809 */ 1810 1811 /* 1812 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1813 * Copyright 2016 Joyent, Inc. 1814 * 1815 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1816 * Use is subject to license terms. 1817 */ 1818 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 1819 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1820 /* 1821 * The following have been added as a result of the ISO/IEC 9899:2011 1822 * standard. For a strictly conforming C application, visibility is 1823 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1824 * For non-strictly conforming C applications, there are no restrictions 1825 * on the C namespace. 1826 */ 1827 1828 /* 1829 * Work around fix-includes and other bad actors with using multiple headers. 1830 */ 1831 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1832 extern void *aligned_alloc(size_t, size_t); 1833 extern int at_quick_exit(void (*)(void)); 1834 extern void quick_exit(int); 1835 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1836 1837 1838 1839 1840 1841 /* 1842 * Allow global visibility for symbols defined in 1843 * C++ "std" namespace in <iso/stdlib_iso.h>. 1844 */ 1845 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1846 /* 1847 * Allow global visibility for symbols defined in 1848 * C++ "std" namespace in <iso/stdlib_c11.h>. 1849 */ 1850 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1851 typedef unsigned int uid_t; /* UID type */ 1852 1853 1854 /* large file compilation environment setup */ 1855 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1856 /* In the LP64 compilation environment, all APIs are already large file */ 1857 1858 1859 1860 1861 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1862 #pragma redefine_extname mkstemp64 mkstemp 1863 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1864 1865 1866 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1867 #pragma redefine_extname mkstemps64 mkstemps 1868 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1869 1870 1871 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1872 #pragma redefine_extname mkostemp64 mkostemp 1873 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1874 1875 1876 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1877 #pragma redefine_extname mkostemps64 mkostemps 1878 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1879 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1880 extern int rand_r(unsigned int *); 1881 1882 1883 extern void _exithandle(void); 1884 1885 1886 1887 1888 extern double drand48(void); 1889 extern double erand48(unsigned short *); 1890 extern long jrand48(unsigned short *); 1891 extern void lcong48(unsigned short *); 1892 extern long lrand48(void); 1893 extern long mrand48(void); 1894 extern long nrand48(unsigned short *); 1895 extern unsigned short *seed48(unsigned short *); 1896 extern void srand48(long); 1897 extern int putenv(char *); 1898 extern void setkey(const char *); 1899 1900 1901 /* 1902 * swab() has historically been in <stdlib.h> as delivered from AT&T 1903 * and continues to be visible in the default compilation environment. 1904 * As of Issue 4 of the X/Open Portability Guides, swab() was declared 1905 * in <unistd.h>. As a result, with respect to X/Open namespace the 1906 * swab() declaration in this header is only visible for the XPG3 1907 * environment. 1908 */ 1909 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1910 extern void swab(const char *, char *, ssize_t); 1911 1912 1913 1914 1915 1916 extern int mkstemp(char *); 1917 1918 extern int mkstemps(char *, int); 1919 1920 1921 1922 1923 1924 extern int mkstemp64(char *); 1925 1926 extern int mkstemps64(char *, int); 1927 1928 1929 1930 1931 extern char *mkdtemp(char *); 1932 1933 1934 1935 extern int mkostemp(char *, int); 1936 extern int mkostemps(char *, int, int); 1937 1938 1939 extern int mkostemp64(char *, int); 1940 extern int mkostemps64(char *, int, int); 1941 1942 1943 1944 1945 1946 1947 extern long a64l(const char *); 1948 extern char *ecvt(double, int, int *, int *); 1949 extern char *fcvt(double, int, int *, int *); 1950 extern char *gcvt(double, int, char *); 1951 extern int getsubopt(char **, char *const *, char **); 1952 extern int grantpt(int); 1953 extern char *initstate(unsigned, char *, size_t); 1954 extern char *l64a(long); 1955 extern char *mktemp(char *); 1956 extern char *ptsname(int); 1957 extern long random(void); 1958 extern char *realpath(const char *, char *); 1959 extern char *setstate(const char *); 1960 extern void srandom(unsigned); 1961 extern int unlockpt(int); 1962 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1963 1964 extern int ttyslot(void); 1965 extern void *valloc(size_t); 1966 1967 1968 1969 1970 1971 1972 extern int posix_memalign(void **, size_t, size_t); 1973 extern int posix_openpt(int); 1974 extern int setenv(const char *, const char *, int); 1975 extern int unsetenv(const char *); 1976 1977 1978 1979 1980 extern char *canonicalize_file_name(const char *); 1981 extern int clearenv(void); 1982 extern void closefrom(int); 1983 extern int daemon(int, int); 1984 extern int dup2(int, int); 1985 extern int dup3(int, int, int); 1986 extern int fdwalk(int (*)(void *, int), void *); 1987 extern char *qecvt(long double, int, int *, int *); 1988 extern char *qfcvt(long double, int, int *, int *); 1989 extern char *qgcvt(long double, int, char *); 1990 extern char *getcwd(char *, size_t); 1991 extern const char *getexecname(void); 1992 1993 1994 1995 1996 1997 1998 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1999 #pragma redefine_extname getlogin getloginx 2000 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2001 2002 2003 2004 2005 2006 2007 extern char *getlogin(void); 2008 2009 2010 extern int getopt(int, char *const *, const char *); 2011 extern char *optarg; 2012 extern int optind, opterr, optopt; 2013 extern char *getpass(const char *); 2014 extern char *getpassphrase(const char *); 2015 extern int getpw(uid_t, char *); 2016 extern int isatty(int); 2017 extern void *memalign(size_t, size_t); 2018 extern char *ttyname(int); 2019 extern char *mkdtemp(char *); 2020 extern const char *getprogname(void); 2021 extern void setprogname(const char *); 2022 2023 2024 extern char *lltostr(long long, char *); 2025 extern char *ulltostr(unsigned long long, char *); 2026 2027 2028 2029 2030 /* OpenBSD compatibility functions */ 2031 2032 2033 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 2034 /* 2035 * CDDL HEADER START 2036 * 2037 * The contents of this file are subject to the terms of the 2038 * Common Development and Distribution License, Version 1.0 only 2039 * (the "License"). You may not use this file except in compliance 2040 * with the License. 2041 * 2042 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2043 * or http://www.opensolaris.org/os/licensing. 2044 * See the License for the specific language governing permissions 2045 * and limitations under the License. 2046 * 2047 * When distributing Covered Code, include this CDDL HEADER in each 2048 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2049 * If applicable, add the following below this CDDL HEADER, with the 2050 * fields enclosed by brackets "[]" replaced with your own identifying 2051 * information: Portions Copyright [yyyy] [name of copyright owner] 2052 * 2053 * CDDL HEADER END 2054 */ 2055 /* 2056 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2057 * 2058 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2059 * Use is subject to license terms. 2060 */ 2061 2062 2063 2064 2065 /* 2066 * This file, <inttypes.h>, is specified by the ISO C standard, 2067 * standard, ISO/IEC 9899:1999 Programming language - C and is 2068 * also defined by SUSv3. 2069 * 2070 * ISO International Organization for Standardization. 2071 * SUSv3 Single Unix Specification, Version 3 2072 */ 2073 2074 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2075 /* 2076 * CDDL HEADER START 2077 * 2078 * The contents of this file are subject to the terms of the 2079 * Common Development and Distribution License (the "License"). 2080 * You may not use this file except in compliance with the License. 2081 * 2082 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2083 * or http://www.opensolaris.org/os/licensing. 2084 * See the License for the specific language governing permissions 2085 * and limitations under the License. 2086 * 2087 * When distributing Covered Code, include this CDDL HEADER in each 2088 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2089 * If applicable, add the following below this CDDL HEADER, with the 2090 * fields enclosed by brackets "[]" replaced with your own identifying 2091 * information: Portions Copyright [yyyy] [name of copyright owner] 2092 * 2093 * CDDL HEADER END 2094 */ 2095 2096 /* 2097 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2098 * Copyright 2016 Joyent, Inc. 2099 * 2100 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2101 * Use is subject to license terms. 2102 */ 2103 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 2105 /* 2106 * CDDL HEADER START 2107 * 2108 * The contents of this file are subject to the terms of the 2109 * Common Development and Distribution License, Version 1.0 only 2110 * (the "License"). You may not use this file except in compliance 2111 * with the License. 2112 * 2113 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2114 * or http://www.opensolaris.org/os/licensing. 2115 * See the License for the specific language governing permissions 2116 * and limitations under the License. 2117 * 2118 * When distributing Covered Code, include this CDDL HEADER in each 2119 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2120 * If applicable, add the following below this CDDL HEADER, with the 2121 * fields enclosed by brackets "[]" replaced with your own identifying 2122 * information: Portions Copyright [yyyy] [name of copyright owner] 2123 * 2124 * CDDL HEADER END 2125 */ 2126 /* 2127 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2128 * Use is subject to license terms. 2129 */ 2130 2131 2132 2133 2134 #pragma ident "%Z%%M% %I% %E% SMI" 2135 2136 /* 2137 * This header, <sys/inttypes.h>, contains (through nested inclusion) the 2138 * vast majority of the facilities specified for <inttypes.h> as defined 2139 * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2140 * 2141 * Kernel/Driver developers are encouraged to include this file to access 2142 * the fixed size types, limits and utility macros. Application developers 2143 * should use the standard defined header <inttypes.h>. 2144 */ 2145 2146 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2147 /* 2148 * CDDL HEADER START 2149 * 2150 * The contents of this file are subject to the terms of the 2151 * Common Development and Distribution License (the "License"). 2152 * You may not use this file except in compliance with the License. 2153 * 2154 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2155 * or http://www.opensolaris.org/os/licensing. 2156 * See the License for the specific language governing permissions 2157 * and limitations under the License. 2158 * 2159 * When distributing Covered Code, include this CDDL HEADER in each 2160 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2161 * If applicable, add the following below this CDDL HEADER, with the 2162 * fields enclosed by brackets "[]" replaced with your own identifying 2163 * information: Portions Copyright [yyyy] [name of copyright owner] 2164 * 2165 * CDDL HEADER END 2166 */ 2167 2168 /* 2169 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2170 * Copyright 2016 Joyent, Inc. 2171 * 2172 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2173 * Use is subject to license terms. 2174 */ 2175 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2176 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2177 /* 2178 * CDDL HEADER START 2179 * 2180 * The contents of this file are subject to the terms of the 2181 * Common Development and Distribution License, Version 1.0 only 2182 * (the "License"). You may not use this file except in compliance 2183 * with the License. 2184 * 2185 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2186 * or http://www.opensolaris.org/os/licensing. 2187 * See the License for the specific language governing permissions 2188 * and limitations under the License. 2189 * 2190 * When distributing Covered Code, include this CDDL HEADER in each 2191 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2192 * If applicable, add the following below this CDDL HEADER, with the 2193 * fields enclosed by brackets "[]" replaced with your own identifying 2194 * information: Portions Copyright [yyyy] [name of copyright owner] 2195 * 2196 * CDDL HEADER END 2197 */ 2198 /* 2199 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2200 * 2201 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2202 * Use is subject to license terms. 2203 */ 2204 2205 2206 2207 2208 /* 2209 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 2210 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 2211 * Programming language - C. 2212 * 2213 * Programs/Modules should not directly include this file. Access to the 2214 * types defined in this file should be through the inclusion of one of the 2215 * following files: 2216 * 2217 * <sys/types.h> Provides only the "_t" types defined in this 2218 * file which is a subset of the contents of 2219 * <inttypes.h>. (This can be appropriate for 2220 * all programs/modules except those claiming 2221 * ANSI-C conformance.) 2222 * 2223 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2224 * components of <inttypes.h>. 2225 * 2226 * <inttypes.h> For use by applications. 2227 * 2228 * See these files for more details. 2229 */ 2230 2231 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2232 /* 2233 * CDDL HEADER START 2234 * 2235 * The contents of this file are subject to the terms of the 2236 * Common Development and Distribution License (the "License"). 2237 * You may not use this file except in compliance with the License. 2238 * 2239 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2240 * or http://www.opensolaris.org/os/licensing. 2241 * See the License for the specific language governing permissions 2242 * and limitations under the License. 2243 * 2244 * When distributing Covered Code, include this CDDL HEADER in each 2245 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2246 * If applicable, add the following below this CDDL HEADER, with the 2247 * fields enclosed by brackets "[]" replaced with your own identifying 2248 * information: Portions Copyright [yyyy] [name of copyright owner] 2249 * 2250 * CDDL HEADER END 2251 */ 2252 2253 /* 2254 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2255 * Copyright 2016 Joyent, Inc. 2256 * 2257 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2258 * Use is subject to license terms. 2259 */ 2260 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 2261 2262 2263 2264 2265 2266 /* 2267 * Basic / Extended integer types 2268 * 2269 * The following defines the basic fixed-size integer types. 2270 * 2271 * Implementations are free to typedef them to Standard C integer types or 2272 * extensions that they support. If an implementation does not support one 2273 * of the particular integer data types below, then it should not define the 2274 * typedefs and macros corresponding to that data type. Note that int8_t 2275 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 2276 * as an unsigned entity because there is no way to define an eight bit 2277 * signed integral. 2278 */ 2279 2280 typedef char int8_t; 2281 2282 2283 2284 typedef short int16_t; 2285 typedef int int32_t; 2286 2287 2288 typedef long int64_t; 2289 2290 2291 2292 2293 2294 2295 2296 typedef unsigned char uint8_t; 2297 typedef unsigned short uint16_t; 2298 typedef unsigned int uint32_t; 2299 2300 typedef unsigned long uint64_t; 2301 2302 2303 2304 2305 2306 2307 /* 2308 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 2309 * and unsigned integer types supported by the implementation. 2310 */ 2311 2312 typedef int64_t intmax_t; 2313 typedef uint64_t uintmax_t; 2314 2315 2316 2317 2318 2319 /* 2320 * intptr_t and uintptr_t are signed and unsigned integer types large enough 2321 * to hold any data pointer; that is, data pointers can be assigned into or 2322 * from these integer types without losing precision. 2323 */ 2324 2325 typedef long intptr_t; 2326 typedef unsigned long uintptr_t; 2327 2328 2329 2330 2331 2332 /* 2333 * The following define the fastest integer types that can hold the 2334 * specified number of bits. 2335 */ 2336 2337 typedef char int_fast8_t; 2338 2339 2340 2341 typedef int int_fast16_t; 2342 typedef int int_fast32_t; 2343 2344 typedef long int_fast64_t; 2345 2346 2347 2348 2349 2350 2351 typedef unsigned char uint_fast8_t; 2352 typedef unsigned int uint_fast16_t; 2353 typedef unsigned int uint_fast32_t; 2354 2355 typedef unsigned long uint_fast64_t; 2356 2357 2358 2359 2360 2361 2362 /* 2363 * The following define the smallest integer types that can hold the 2364 * specified number of bits. 2365 */ 2366 2367 typedef char int_least8_t; 2368 2369 2370 2371 typedef short int_least16_t; 2372 typedef int int_least32_t; 2373 2374 typedef long int_least64_t; 2375 2376 2377 2378 2379 2380 2381 /* 2382 * If these are changed, please update char16_t and char32_t in head/uchar.h. 2383 */ 2384 typedef unsigned char uint_least8_t; 2385 typedef unsigned short uint_least16_t; 2386 typedef unsigned int uint_least32_t; 2387 2388 typedef unsigned long uint_least64_t; 2389 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2390 2391 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2392 /* 2393 * CDDL HEADER START 2394 * 2395 * The contents of this file are subject to the terms of the 2396 * Common Development and Distribution License, Version 1.0 only 2397 * (the "License"). You may not use this file except in compliance 2398 * with the License. 2399 * 2400 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2401 * or http://www.opensolaris.org/os/licensing. 2402 * See the License for the specific language governing permissions 2403 * and limitations under the License. 2404 * 2405 * When distributing Covered Code, include this CDDL HEADER in each 2406 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2407 * If applicable, add the following below this CDDL HEADER, with the 2408 * fields enclosed by brackets "[]" replaced with your own identifying 2409 * information: Portions Copyright [yyyy] [name of copyright owner] 2410 * 2411 * CDDL HEADER END 2412 */ 2413 /* 2414 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2415 * 2416 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2417 * Use is subject to license terms. 2418 */ 2419 2420 2421 2422 2423 /* 2424 * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation 2425 * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999 2426 * Programming language - C. 2427 * 2428 * Programs/Modules should not directly include this file. Access to the 2429 * types defined in this file should be through the inclusion of one of the 2430 * following files: 2431 * 2432 * <limits.h> This nested inclusion is disabled for strictly 2433 * ANSI-C conforming compilations. The *_MIN 2434 * definitions are not visible to POSIX or XPG 2435 * conforming applications (due to what may be 2436 * a bug in the specification - this is under 2437 * investigation) 2438 * 2439 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2440 * components of <inttypes.h>. 2441 * 2442 * <inttypes.h> For use by applications. 2443 * 2444 * See these files for more details. 2445 */ 2446 2447 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2448 /* 2449 * CDDL HEADER START 2450 * 2451 * The contents of this file are subject to the terms of the 2452 * Common Development and Distribution License (the "License"). 2453 * You may not use this file except in compliance with the License. 2454 * 2455 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2456 * or http://www.opensolaris.org/os/licensing. 2457 * See the License for the specific language governing permissions 2458 * and limitations under the License. 2459 * 2460 * When distributing Covered Code, include this CDDL HEADER in each 2461 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2462 * If applicable, add the following below this CDDL HEADER, with the 2463 * fields enclosed by brackets "[]" replaced with your own identifying 2464 * information: Portions Copyright [yyyy] [name of copyright owner] 2465 * 2466 * CDDL HEADER END 2467 */ 2468 2469 /* 2470 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2471 * Copyright 2016 Joyent, Inc. 2472 * 2473 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2474 * Use is subject to license terms. 2475 */ 2476 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 2477 2478 2479 2480 2481 2482 /* 2483 * Limits 2484 * 2485 * The following define the limits for the types defined in <sys/int_types.h>. 2486 * 2487 * INTMAX_MIN (minimum value of the largest supported signed integer type), 2488 * INTMAX_MAX (maximum value of the largest supported signed integer type), 2489 * and UINTMAX_MAX (maximum value of the largest supported unsigned integer 2490 * type) can be set to implementation defined limits. 2491 * 2492 * NOTE : A programmer can test to see whether an implementation supports 2493 * a particular size of integer by testing if the macro that gives the 2494 * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX 2495 * tests false, the implementation does not support unsigned 64 bit integers. 2496 * 2497 * The type of these macros is intentionally unspecified. 2498 * 2499 * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs 2500 * where the ABI specifies "char" as unsigned when the translation mode is 2501 * not ANSI-C. 2502 */ 2503 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2504 /* 2505 * The following 2 macros are provided for testing whether the types 2506 * intptr_t and uintptr_t (integers large enough to hold a void *) are 2507 * defined in this header. They are needed in case the architecture can't 2508 * represent a pointer in any standard integral type. 2509 */ 2510 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2511 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */ 2512 2513 2514 2515 2516 2517 2518 /* 2519 * Maximum value of a "size_t". SIZE_MAX was previously defined 2520 * in <limits.h>, however, the standards specify it be defined 2521 * in <stdint.h>. The <stdint.h> headers includes this header as 2522 * does <limits.h>. The value of SIZE_MAX should not deviate 2523 * from the value of ULONG_MAX defined <sys/types.h>. 2524 */ 2525 2526 2527 2528 2529 2530 2531 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */ 2532 2533 2534 2535 2536 /* 2537 * Maximum limit of wchar_t. The WCHAR_* macros are also 2538 * defined in <iso/wchar_iso.h>, but inclusion of that header 2539 * will break ISO/IEC C namespace. 2540 */ 2541 2542 2543 2544 2545 /* Maximum limit of wint_t */ 2546 2547 2548 2549 2550 /* 2551 * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that 2552 * when including <limits.h> that the suffix _MAX is reserved but not the 2553 * suffix _MIN. However, until that issue is resolved.... 2554 */ 2555 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2556 /* Minimum value of a pointer-holding signed integer type */ 2557 2558 2559 2560 2561 2562 2563 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */ 2564 2565 2566 2567 2568 2569 2570 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */ 2571 2572 2573 2574 2575 /* 2576 * Minimum limit of wchar_t. The WCHAR_* macros are also 2577 * defined in <iso/wchar_iso.h>, but inclusion of that header 2578 * will break ISO/IEC C namespace. 2579 */ 2580 2581 2582 2583 2584 /* Minimum limit of wint_t */ 2585 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2587 /* 2588 * CDDL HEADER START 2589 * 2590 * The contents of this file are subject to the terms of the 2591 * Common Development and Distribution License, Version 1.0 only 2592 * (the "License"). You may not use this file except in compliance 2593 * with the License. 2594 * 2595 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2596 * or http://www.opensolaris.org/os/licensing. 2597 * See the License for the specific language governing permissions 2598 * and limitations under the License. 2599 * 2600 * When distributing Covered Code, include this CDDL HEADER in each 2601 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2602 * If applicable, add the following below this CDDL HEADER, with the 2603 * fields enclosed by brackets "[]" replaced with your own identifying 2604 * information: Portions Copyright [yyyy] [name of copyright owner] 2605 * 2606 * CDDL HEADER END 2607 */ 2608 /* 2609 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2610 * 2611 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2612 * Use is subject to license terms. 2613 */ 2614 2615 2616 2617 2618 /* 2619 * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation 2620 * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working 2621 * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 2622 * Programming language - C. 2623 * 2624 * Programs/Modules should not directly include this file. Access to the 2625 * types defined in this file should be through the inclusion of one of the 2626 * following files: 2627 * 2628 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2629 * components of <inttypes.h>. 2630 * 2631 * <inttypes.h> For use by applications. 2632 * 2633 * See these files for more details. 2634 * 2635 * Use at your own risk. This file will track the evolution of the revision 2636 * of the current ISO C standard. As of February 1996, the committee is 2637 * squarely behind the fixed sized types. 2638 */ 2639 2640 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2641 /* 2642 * CDDL HEADER START 2643 * 2644 * The contents of this file are subject to the terms of the 2645 * Common Development and Distribution License (the "License"). 2646 * You may not use this file except in compliance with the License. 2647 * 2648 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2649 * or http://www.opensolaris.org/os/licensing. 2650 * See the License for the specific language governing permissions 2651 * and limitations under the License. 2652 * 2653 * When distributing Covered Code, include this CDDL HEADER in each 2654 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2655 * If applicable, add the following below this CDDL HEADER, with the 2656 * fields enclosed by brackets "[]" replaced with your own identifying 2657 * information: Portions Copyright [yyyy] [name of copyright owner] 2658 * 2659 * CDDL HEADER END 2660 */ 2661 2662 /* 2663 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2664 * Copyright 2016 Joyent, Inc. 2665 * 2666 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2667 * Use is subject to license terms. 2668 */ 2669 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 2670 2671 2672 2673 2674 2675 /* 2676 * Constants 2677 * 2678 * The following macros create constants of the types defined in 2679 * <sys/int_types.h>. The intent is that: 2680 * Constants defined using these macros have a specific size and 2681 * signedness. The suffix used for int64_t and uint64_t (ll and ull) 2682 * are for examples only. Implementations are permitted to use other 2683 * suffixes. 2684 * 2685 * The "CSTYLED" comments are flags to an internal code style analysis tool 2686 * telling it to silently accept the line which follows. This internal 2687 * standard requires a space between arguments, but the historical, 2688 * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. 2689 */ 2690 /* CSTYLED */ 2691 2692 2693 2694 2695 2696 2697 /* CSTYLED */ 2698 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2699 /* CSTYLED */ 2700 2701 /* CSTYLED */ 2702 2703 /* CSTYLED */ 2704 2705 2706 /* CSTYLED */ 2707 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2708 /* CSTYLED */ 2709 2710 /* CSTYLED */ 2711 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 2713 /* 2714 * CDDL HEADER START 2715 * 2716 * The contents of this file are subject to the terms of the 2717 * Common Development and Distribution License, Version 1.0 only 2718 * (the "License"). You may not use this file except in compliance 2719 * with the License. 2720 * 2721 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2722 * or http://www.opensolaris.org/os/licensing. 2723 * See the License for the specific language governing permissions 2724 * and limitations under the License. 2725 * 2726 * When distributing Covered Code, include this CDDL HEADER in each 2727 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2728 * If applicable, add the following below this CDDL HEADER, with the 2729 * fields enclosed by brackets "[]" replaced with your own identifying 2730 * information: Portions Copyright [yyyy] [name of copyright owner] 2731 * 2732 * CDDL HEADER END 2733 */ 2734 /* 2735 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2736 * 2737 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2738 * Use is subject to license terms. 2739 */ 2740 2741 2742 2743 2744 /* 2745 * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation 2746 * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999 2747 * Programming language - C. 2748 * 2749 * ISO International Organization for Standardization. 2750 * 2751 * Programs/Modules should not directly include this file. Access to the 2752 * types defined in this file should be through the inclusion of one of the 2753 * following files: 2754 * 2755 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2756 * components of <inttypes.h>. 2757 * 2758 * <inttypes.h> For use by applications. 2759 * 2760 * See these files for more details. 2761 */ 2762 2763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2764 /* 2765 * CDDL HEADER START 2766 * 2767 * The contents of this file are subject to the terms of the 2768 * Common Development and Distribution License (the "License"). 2769 * You may not use this file except in compliance with the License. 2770 * 2771 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2772 * or http://www.opensolaris.org/os/licensing. 2773 * See the License for the specific language governing permissions 2774 * and limitations under the License. 2775 * 2776 * When distributing Covered Code, include this CDDL HEADER in each 2777 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2778 * If applicable, add the following below this CDDL HEADER, with the 2779 * fields enclosed by brackets "[]" replaced with your own identifying 2780 * information: Portions Copyright [yyyy] [name of copyright owner] 2781 * 2782 * CDDL HEADER END 2783 */ 2784 2785 /* 2786 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2787 * Copyright 2016 Joyent, Inc. 2788 * 2789 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2790 * Use is subject to license terms. 2791 */ 2792 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 2793 2794 2795 2796 2797 2798 /* 2799 * Formatted I/O 2800 * 2801 * The following macros can be used even when an implementation has not 2802 * extended the printf/scanf family of functions. 2803 * 2804 * The form of the names of the macros is either "PRI" for printf specifiers 2805 * or "SCN" for scanf specifiers, followed by the conversion specifier letter 2806 * followed by the datatype size. For example, PRId32 is the macro for 2807 * the printf d conversion specifier with the flags for 32 bit datatype. 2808 * 2809 * An example using one of these macros: 2810 * 2811 * uint64_t u; 2812 * printf("u = %016" PRIx64 "\n", u); 2813 * 2814 * For the purpose of example, the definitions of the printf/scanf macros 2815 * below have the values appropriate for a machine with 8 bit shorts, 16 2816 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation 2817 * mode, and 64 bit long longs. 2818 */ 2819 2820 /* 2821 * fprintf macros for signed integers 2822 */ 2823 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2824 /* 2825 * fprintf macros for unsigned integers 2826 */ 2827 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2828 /* 2829 * fprintf macros for pointers 2830 */ 2831 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2832 /* 2833 * fscanf macros for signed integers 2834 */ 2835 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2836 /* 2837 * fscanf macros for unsigned integers 2838 */ 2839 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2840 /* 2841 * The following macros define I/O formats for intmax_t and uintmax_t. 2842 */ 2843 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2844 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2845 2846 2847 2848 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 2849 /* 2850 * CDDL HEADER START 2851 * 2852 * The contents of this file are subject to the terms of the 2853 * Common Development and Distribution License, Version 1.0 only 2854 * (the "License"). You may not use this file except in compliance 2855 * with the License. 2856 * 2857 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2858 * or http://www.opensolaris.org/os/licensing. 2859 * See the License for the specific language governing permissions 2860 * and limitations under the License. 2861 * 2862 * When distributing Covered Code, include this CDDL HEADER in each 2863 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2864 * If applicable, add the following below this CDDL HEADER, with the 2865 * fields enclosed by brackets "[]" replaced with your own identifying 2866 * information: Portions Copyright [yyyy] [name of copyright owner] 2867 * 2868 * CDDL HEADER END 2869 */ 2870 /* 2871 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2872 * Use is subject to license terms. 2873 */ 2874 2875 2876 2877 2878 #pragma ident "%Z%%M% %I% %E% SMI" 2879 2880 /* 2881 * This header is included by <stdint.h> which was introduced by 2882 * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2883 * The header is a subset of the <inttypes.h> header. 2884 */ 2885 2886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2887 /* 2888 * CDDL HEADER START 2889 * 2890 * The contents of this file are subject to the terms of the 2891 * Common Development and Distribution License, Version 1.0 only 2892 * (the "License"). You may not use this file except in compliance 2893 * with the License. 2894 * 2895 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2896 * or http://www.opensolaris.org/os/licensing. 2897 * See the License for the specific language governing permissions 2898 * and limitations under the License. 2899 * 2900 * When distributing Covered Code, include this CDDL HEADER in each 2901 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2902 * If applicable, add the following below this CDDL HEADER, with the 2903 * fields enclosed by brackets "[]" replaced with your own identifying 2904 * information: Portions Copyright [yyyy] [name of copyright owner] 2905 * 2906 * CDDL HEADER END 2907 */ 2908 /* 2909 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2910 * 2911 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2912 * Use is subject to license terms. 2913 */ 2914 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.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, Version 1.0 only 2921 * (the "License"). You may not use this file except in compliance 2922 * with the License. 2923 * 2924 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2925 * or http://www.opensolaris.org/os/licensing. 2926 * See the License for the specific language governing permissions 2927 * and limitations under the License. 2928 * 2929 * When distributing Covered Code, include this CDDL HEADER in each 2930 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2931 * If applicable, add the following below this CDDL HEADER, with the 2932 * fields enclosed by brackets "[]" replaced with your own identifying 2933 * information: Portions Copyright [yyyy] [name of copyright owner] 2934 * 2935 * CDDL HEADER END 2936 */ 2937 /* 2938 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2939 * 2940 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2941 * Use is subject to license terms. 2942 */ 2943 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2944 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2945 /* 2946 * CDDL HEADER START 2947 * 2948 * The contents of this file are subject to the terms of the 2949 * Common Development and Distribution License, Version 1.0 only 2950 * (the "License"). You may not use this file except in compliance 2951 * with the License. 2952 * 2953 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2954 * or http://www.opensolaris.org/os/licensing. 2955 * See the License for the specific language governing permissions 2956 * and limitations under the License. 2957 * 2958 * When distributing Covered Code, include this CDDL HEADER in each 2959 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2960 * If applicable, add the following below this CDDL HEADER, with the 2961 * fields enclosed by brackets "[]" replaced with your own identifying 2962 * information: Portions Copyright [yyyy] [name of copyright owner] 2963 * 2964 * CDDL HEADER END 2965 */ 2966 /* 2967 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2968 * 2969 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2970 * Use is subject to license terms. 2971 */ 2972 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2973 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2974 2975 2976 2977 2978 2979 2980 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */ 2981 2982 /* 2983 * wchar_t is a built-in type in standard C++ and as such is not 2984 * defined here when using standard C++. However, the GNU compiler 2985 * fixincludes utility nonetheless creates its own version of this 2986 * header for use by gcc and g++. In that version it adds a redundant 2987 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 2988 * header we need to include the following magic comment: 2989 * 2990 * we must use the C++ compiler's type 2991 * 2992 * The above comment should not be removed or changed until GNU 2993 * gcc/fixinc/inclhack.def is updated to bypass this header. 2994 */ 2995 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2996 typedef struct { 2997 intmax_t quot; 2998 intmax_t rem; 2999 } imaxdiv_t; 3000 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 3001 extern intmax_t imaxabs(intmax_t); 3002 extern imaxdiv_t imaxdiv(intmax_t, intmax_t); 3003 extern intmax_t strtoimax(const char *, char **, 3004 int); 3005 extern uintmax_t strtoumax(const char *, char **, 3006 int); 3007 extern intmax_t wcstoimax(const wchar_t *, 3008 wchar_t **, int); 3009 extern uintmax_t wcstoumax(const wchar_t *, 3010 wchar_t **, int); 3011 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 3012 extern uint32_t arc4random(void); 3013 extern void arc4random_buf(void *, size_t); 3014 extern uint32_t arc4random_uniform(uint32_t); 3015 extern void freezero(void *, size_t); 3016 extern void *recallocarray(void *, size_t, size_t, size_t); 3017 # 55 "../common/zones_utils.c" 2 3018 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 3019 /* 3020 * CDDL HEADER START 3021 * 3022 * The contents of this file are subject to the terms of the 3023 * Common Development and Distribution License (the "License"). 3024 * You may not use this file except in compliance with the License. 3025 * 3026 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3027 * or http://www.opensolaris.org/os/licensing. 3028 * See the License for the specific language governing permissions 3029 * and limitations under the License. 3030 * 3031 * When distributing Covered Code, include this CDDL HEADER in each 3032 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3033 * If applicable, add the following below this CDDL HEADER, with the 3034 * fields enclosed by brackets "[]" replaced with your own identifying 3035 * information: Portions Copyright [yyyy] [name of copyright owner] 3036 * 3037 * CDDL HEADER END 3038 */ 3039 3040 /* 3041 * Copyright 2014 PALO, Richard. 3042 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3043 * Copyright (c) 2013 Gary Mills 3044 * 3045 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3046 */ 3047 3048 /* Copyright (c) 1988 AT&T */ 3049 /* All Rights Reserved */ 3050 3051 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 3052 3053 3054 3055 3056 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3057 /* 3058 * CDDL HEADER START 3059 * 3060 * The contents of this file are subject to the terms of the 3061 * Common Development and Distribution License (the "License"). 3062 * You may not use this file except in compliance with the License. 3063 * 3064 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3065 * or http://www.opensolaris.org/os/licensing. 3066 * See the License for the specific language governing permissions 3067 * and limitations under the License. 3068 * 3069 * When distributing Covered Code, include this CDDL HEADER in each 3070 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3071 * If applicable, add the following below this CDDL HEADER, with the 3072 * fields enclosed by brackets "[]" replaced with your own identifying 3073 * information: Portions Copyright [yyyy] [name of copyright owner] 3074 * 3075 * CDDL HEADER END 3076 */ 3077 3078 /* 3079 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3080 * Copyright 2016 Joyent, Inc. 3081 * 3082 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3083 * Use is subject to license terms. 3084 */ 3085 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3086 3087 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3088 /* 3089 * This file and its contents are supplied under the terms of the 3090 * Common Development and Distribution License ("CDDL"), version 1.0. 3091 * You may only use this file in accordance with the terms of version 3092 * 1.0 of the CDDL. 3093 * 3094 * A full copy of the text of the CDDL should have accompanied this 3095 * source. A copy of the CDDL is also available via the Internet at 3096 * http://www.illumos.org/license/CDDL. 3097 */ 3098 3099 /* 3100 * Copyright 2014-2016 PALO, Richard. 3101 */ 3102 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3103 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3104 /* 3105 * CDDL HEADER START 3106 * 3107 * The contents of this file are subject to the terms of the 3108 * Common Development and Distribution License (the "License"). 3109 * You may not use this file except in compliance with the License. 3110 * 3111 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3112 * or http://www.opensolaris.org/os/licensing. 3113 * See the License for the specific language governing permissions 3114 * and limitations under the License. 3115 * 3116 * When distributing Covered Code, include this CDDL HEADER in each 3117 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3118 * If applicable, add the following below this CDDL HEADER, with the 3119 * fields enclosed by brackets "[]" replaced with your own identifying 3120 * information: Portions Copyright [yyyy] [name of copyright owner] 3121 * 3122 * CDDL HEADER END 3123 */ 3124 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3125 /* All Rights Reserved */ 3126 3127 3128 /* 3129 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3130 * Use is subject to license terms. 3131 * 3132 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3133 * Copyright 2016 Joyent, Inc. 3134 */ 3135 3136 3137 3138 3139 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3140 /* 3141 * CDDL HEADER START 3142 * 3143 * The contents of this file are subject to the terms of the 3144 * Common Development and Distribution License (the "License"). 3145 * You may not use this file except in compliance with the License. 3146 * 3147 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3148 * or http://www.opensolaris.org/os/licensing. 3149 * See the License for the specific language governing permissions 3150 * and limitations under the License. 3151 * 3152 * When distributing Covered Code, include this CDDL HEADER in each 3153 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3154 * If applicable, add the following below this CDDL HEADER, with the 3155 * fields enclosed by brackets "[]" replaced with your own identifying 3156 * information: Portions Copyright [yyyy] [name of copyright owner] 3157 * 3158 * CDDL HEADER END 3159 */ 3160 3161 /* 3162 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3163 * Copyright 2016 Joyent, Inc. 3164 * 3165 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3166 * Use is subject to license terms. 3167 */ 3168 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 3170 /* 3171 * CDDL HEADER START 3172 * 3173 * The contents of this file are subject to the terms of the 3174 * Common Development and Distribution License (the "License"). 3175 * You may not use this file except in compliance with the License. 3176 * 3177 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3178 * or http://www.opensolaris.org/os/licensing. 3179 * See the License for the specific language governing permissions 3180 * and limitations under the License. 3181 * 3182 * 3183 * When distributing Covered Code, include this CDDL HEADER in each 3184 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3185 * If applicable, add the following below this CDDL HEADER, with the 3186 * fields enclosed by brackets "[]" replaced with your own identifying 3187 * information: Portions Copyright [yyyy] [name of copyright owner] 3188 * 3189 * CDDL HEADER END 3190 */ 3191 3192 /* 3193 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3194 * Use is subject to license terms. 3195 * Copyright 2016 Joyent, Inc. 3196 */ 3197 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3198 3199 /* 3200 * Machine dependent definitions moved to <sys/machtypes.h>. 3201 */ 3202 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 3203 /* 3204 * CDDL HEADER START 3205 * 3206 * The contents of this file are subject to the terms of the 3207 * Common Development and Distribution License, Version 1.0 only 3208 * (the "License"). You may not use this file except in compliance 3209 * with the License. 3210 * 3211 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3212 * or http://www.opensolaris.org/os/licensing. 3213 * See the License for the specific language governing permissions 3214 * and limitations under the License. 3215 * 3216 * When distributing Covered Code, include this CDDL HEADER in each 3217 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3218 * If applicable, add the following below this CDDL HEADER, with the 3219 * fields enclosed by brackets "[]" replaced with your own identifying 3220 * information: Portions Copyright [yyyy] [name of copyright owner] 3221 * 3222 * CDDL HEADER END 3223 */ 3224 /* 3225 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3226 * Use is subject to license terms. 3227 */ 3228 3229 3230 3231 3232 #pragma ident "%Z%%M% %I% %E% SMI" 3233 3234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3235 /* 3236 * CDDL HEADER START 3237 * 3238 * The contents of this file are subject to the terms of the 3239 * Common Development and Distribution License (the "License"). 3240 * You may not use this file except in compliance with the License. 3241 * 3242 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3243 * or http://www.opensolaris.org/os/licensing. 3244 * See the License for the specific language governing permissions 3245 * and limitations under the License. 3246 * 3247 * When distributing Covered Code, include this CDDL HEADER in each 3248 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3249 * If applicable, add the following below this CDDL HEADER, with the 3250 * fields enclosed by brackets "[]" replaced with your own identifying 3251 * information: Portions Copyright [yyyy] [name of copyright owner] 3252 * 3253 * CDDL HEADER END 3254 */ 3255 3256 /* 3257 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3258 * Copyright 2016 Joyent, Inc. 3259 * 3260 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3261 * Use is subject to license terms. 3262 */ 3263 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3264 3265 3266 3267 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 3268 /* 3269 * CDDL HEADER START 3270 * 3271 * The contents of this file are subject to the terms of the 3272 * Common Development and Distribution License (the "License"). 3273 * You may not use this file except in compliance with the License. 3274 * 3275 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3276 * or http://www.opensolaris.org/os/licensing. 3277 * See the License for the specific language governing permissions 3278 * and limitations under the License. 3279 * 3280 * When distributing Covered Code, include this CDDL HEADER in each 3281 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3282 * If applicable, add the following below this CDDL HEADER, with the 3283 * fields enclosed by brackets "[]" replaced with your own identifying 3284 * information: Portions Copyright [yyyy] [name of copyright owner] 3285 * 3286 * CDDL HEADER END 3287 */ 3288 /* 3289 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3290 * Use is subject to license terms. 3291 */ 3292 3293 3294 3295 3296 #pragma ident "%Z%%M% %I% %E% SMI" 3297 3298 3299 3300 3301 3302 /* 3303 * Machine dependent types: 3304 * 3305 * intel ia32 Version 3306 */ 3307 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 3308 typedef struct _label_t { long val[8]; } label_t; 3309 3310 3311 3312 typedef unsigned char lock_t; /* lock work for busy wait */ 3313 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3314 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3315 3316 /* 3317 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 3318 * committee's working draft for the revision of the current ISO C standard, 3319 * ISO/IEC 9899:1990 Programming language - C. These are not currently 3320 * required by any standard but constitute a useful, general purpose set 3321 * of type definitions which is namespace clean with respect to all standards. 3322 */ 3323 3324 3325 3326 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 3327 /* 3328 * CDDL HEADER START 3329 * 3330 * The contents of this file are subject to the terms of the 3331 * Common Development and Distribution License, Version 1.0 only 3332 * (the "License"). You may not use this file except in compliance 3333 * with the License. 3334 * 3335 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3336 * or http://www.opensolaris.org/os/licensing. 3337 * See the License for the specific language governing permissions 3338 * and limitations under the License. 3339 * 3340 * When distributing Covered Code, include this CDDL HEADER in each 3341 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3342 * If applicable, add the following below this CDDL HEADER, with the 3343 * fields enclosed by brackets "[]" replaced with your own identifying 3344 * information: Portions Copyright [yyyy] [name of copyright owner] 3345 * 3346 * CDDL HEADER END 3347 */ 3348 /* 3349 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3350 * 3351 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3352 * Use is subject to license terms. 3353 */ 3354 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3355 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3356 /* 3357 * Strictly conforming ANSI C environments prior to the 1999 3358 * revision of the C Standard (ISO/IEC 9899:1999) do not have 3359 * the long long data type. 3360 */ 3361 3362 typedef long long longlong_t; 3363 typedef unsigned long long u_longlong_t; 3364 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3365 /* 3366 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 3367 * to use them instead of int32_t and uint32_t because DEC had 3368 * shipped 64-bit wide. 3369 */ 3370 3371 typedef int32_t t_scalar_t; 3372 typedef uint32_t t_uscalar_t; 3373 3374 3375 3376 3377 3378 /* 3379 * POSIX Extensions 3380 */ 3381 typedef unsigned char uchar_t; 3382 typedef unsigned short ushort_t; 3383 typedef unsigned int uint_t; 3384 typedef unsigned long ulong_t; 3385 3386 typedef char *caddr_t; /* ?<core address> type */ 3387 typedef long daddr_t; /* <disk address> type */ 3388 typedef short cnt_t; /* ?<count> type */ 3389 3390 3391 3392 3393 typedef long ptrdiff_t; /* pointer difference */ 3394 3395 3396 3397 3398 3399 /* 3400 * VM-related types 3401 */ 3402 typedef ulong_t pfn_t; /* page frame number */ 3403 typedef ulong_t pgcnt_t; /* number of pages */ 3404 typedef long spgcnt_t; /* signed number of pages */ 3405 3406 typedef uchar_t use_t; /* use count for swap. */ 3407 typedef short sysid_t; 3408 typedef short index_t; 3409 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 3410 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 3411 3412 /* 3413 * The size of off_t and related types depends on the setting of 3414 * _FILE_OFFSET_BITS. (Note that other system headers define other types 3415 * related to those defined here.) 3416 * 3417 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 3418 * explicitly 64 bits wide become available. 3419 */ 3420 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3421 typedef ulong_t ino_t; /* expanded inode type */ 3422 typedef long blkcnt_t; /* count of file blocks */ 3423 typedef ulong_t fsblkcnt_t; /* count of file system blocks */ 3424 typedef ulong_t fsfilcnt_t; /* count of files */ 3425 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3426 typedef ino_t ino64_t; /* expanded inode type */ 3427 typedef blkcnt_t blkcnt64_t; /* count of file blocks */ 3428 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */ 3429 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */ 3430 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3431 typedef int blksize_t; /* used for block sizes */ 3432 3433 3434 3435 3436 3437 3438 3439 typedef enum { B_FALSE, B_TRUE } boolean_t; 3440 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3441 /* 3442 * The {u,}pad64_t types can be used in structures such that those structures 3443 * may be accessed by code produced by compilation environments which don't 3444 * support a 64 bit integral datatype. The intention is not to allow 3445 * use of these fields in such environments, but to maintain the alignment 3446 * and offsets of the structure. 3447 * 3448 * Similar comments for {u,}pad128_t. 3449 * 3450 * Note that these types do NOT generate any stronger alignment constraints 3451 * than those available in the underlying ABI. See <sys/isa_defs.h> 3452 */ 3453 3454 typedef int64_t pad64_t; 3455 typedef uint64_t upad64_t; 3456 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3457 typedef union { 3458 long double _q; 3459 int32_t _l[4]; 3460 } pad128_t; 3461 3462 typedef union { 3463 long double _q; 3464 uint32_t _l[4]; 3465 } upad128_t; 3466 3467 typedef longlong_t offset_t; 3468 typedef u_longlong_t u_offset_t; 3469 typedef u_longlong_t len_t; 3470 typedef u_longlong_t diskaddr_t; 3471 3472 3473 3474 3475 /* 3476 * Definitions remaining from previous partial support for 64-bit file 3477 * offsets. This partial support for devices greater than 2gb requires 3478 * compiler support for long long. 3479 */ 3480 3481 typedef union { 3482 offset_t _f; /* Full 64 bit offset value */ 3483 struct { 3484 int32_t _l; /* lower 32 bits of offset value */ 3485 int32_t _u; /* upper 32 bits of offset value */ 3486 } _p; 3487 } lloff_t; 3488 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3489 typedef union { 3490 longlong_t _f; /* Full 64 bit disk address value */ 3491 struct { 3492 int32_t _l; /* lower 32 bits of disk address value */ 3493 int32_t _u; /* upper 32 bits of disk address value */ 3494 } _p; 3495 } lldaddr_t; 3496 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3497 typedef uint_t k_fltset_t; /* kernel fault set type */ 3498 3499 /* 3500 * The following type is for various kinds of identifiers. The 3501 * actual type must be the same for all since some system calls 3502 * (such as sigsend) take arguments that may be any of these 3503 * types. The enumeration type idtype_t defined in sys/procset.h 3504 * is used to indicate what type of id is being specified -- 3505 * a process id, process group id, session id, scheduling class id, 3506 * user id, group id, project id, task id or zone id. 3507 */ 3508 3509 typedef int id_t; 3510 3511 3512 3513 3514 typedef id_t lgrp_id_t; /* lgroup ID */ 3515 3516 /* 3517 * Type useconds_t is an unsigned integral type capable of storing 3518 * values at least in the range of zero to 1,000,000. 3519 */ 3520 typedef uint_t useconds_t; /* Time, in microseconds */ 3521 3522 3523 3524 typedef long suseconds_t; /* signed # of microseconds */ 3525 3526 3527 /* 3528 * Typedefs for dev_t components. 3529 */ 3530 3531 typedef uint_t major_t; /* major part of device number */ 3532 typedef uint_t minor_t; /* minor part of device number */ 3533 3534 3535 3536 3537 3538 /* 3539 * The data type of a thread priority. 3540 */ 3541 typedef short pri_t; 3542 3543 /* 3544 * The data type for a CPU flags field. (Can be extended to larger unsigned 3545 * types, if needed, limited by ability to update atomically.) 3546 */ 3547 typedef ushort_t cpu_flag_t; 3548 3549 /* 3550 * For compatibility reasons the following typedefs (prefixed o_) 3551 * can't grow regardless of the EFT definition. Although, 3552 * applications should not explicitly use these typedefs 3553 * they may be included via a system header definition. 3554 * WARNING: These typedefs may be removed in a future 3555 * release. 3556 * ex. the definitions in s5inode.h (now obsoleted) 3557 * remained small to preserve compatibility 3558 * in the S5 file system type. 3559 */ 3560 typedef ushort_t o_mode_t; /* old file attribute type */ 3561 typedef short o_dev_t; /* old device type */ 3562 typedef ushort_t o_uid_t; /* old UID type */ 3563 typedef o_uid_t o_gid_t; /* old GID type */ 3564 typedef short o_nlink_t; /* old file link type */ 3565 typedef short o_pid_t; /* old process id type */ 3566 typedef ushort_t o_ino_t; /* old inode type */ 3567 3568 3569 /* 3570 * POSIX and XOPEN Declarations 3571 */ 3572 typedef int key_t; /* IPC key type */ 3573 3574 typedef uint_t mode_t; /* file attribute type */ 3575 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3576 typedef uid_t gid_t; /* GID type */ 3577 3578 typedef uint32_t datalink_id_t; 3579 typedef uint32_t vrid_t; 3580 3581 typedef id_t taskid_t; 3582 typedef id_t projid_t; 3583 typedef id_t poolid_t; 3584 typedef id_t zoneid_t; 3585 typedef id_t ctid_t; 3586 3587 /* 3588 * POSIX definitions are same as defined in thread.h and synch.h. 3589 * Any changes made to here should be reflected in corresponding 3590 * files as described in comments. 3591 */ 3592 typedef uint_t pthread_t; /* = thread_t in thread.h */ 3593 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 3594 3595 /* "Magic numbers" tagging synchronization object types */ 3596 3597 3598 3599 3600 3601 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 3602 struct { 3603 uint16_t __pthread_mutex_flag1; 3604 uint8_t __pthread_mutex_flag2; 3605 uint8_t __pthread_mutex_ceiling; 3606 uint16_t __pthread_mutex_type; 3607 uint16_t __pthread_mutex_magic; 3608 } __pthread_mutex_flags; 3609 union { 3610 struct { 3611 uint8_t __pthread_mutex_pad[8]; 3612 } __pthread_mutex_lock64; 3613 struct { 3614 uint32_t __pthread_ownerpid; 3615 uint32_t __pthread_lockword; 3616 } __pthread_mutex_lock32; 3617 upad64_t __pthread_mutex_owner64; 3618 } __pthread_mutex_lock; 3619 upad64_t __pthread_mutex_data; 3620 } pthread_mutex_t; 3621 3622 typedef struct _pthread_cond { /* = cond_t in synch.h */ 3623 struct { 3624 uint8_t __pthread_cond_flag[4]; 3625 uint16_t __pthread_cond_type; 3626 uint16_t __pthread_cond_magic; 3627 } __pthread_cond_flags; 3628 upad64_t __pthread_cond_data; 3629 } pthread_cond_t; 3630 3631 /* 3632 * UNIX 98 Extension 3633 */ 3634 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 3635 int32_t __pthread_rwlock_readers; 3636 uint16_t __pthread_rwlock_type; 3637 uint16_t __pthread_rwlock_magic; 3638 pthread_mutex_t __pthread_rwlock_mutex; 3639 pthread_cond_t __pthread_rwlock_readercv; 3640 pthread_cond_t __pthread_rwlock_writercv; 3641 } pthread_rwlock_t; 3642 3643 /* 3644 * SUSV3 3645 */ 3646 typedef struct { 3647 uint32_t __pthread_barrier_count; 3648 uint32_t __pthread_barrier_current; 3649 upad64_t __pthread_barrier_cycle; 3650 upad64_t __pthread_barrier_reserved; 3651 pthread_mutex_t __pthread_barrier_lock; 3652 pthread_cond_t __pthread_barrier_cond; 3653 } pthread_barrier_t; 3654 3655 typedef pthread_mutex_t pthread_spinlock_t; 3656 3657 /* 3658 * attributes for threads, dynamically allocated by library 3659 */ 3660 typedef struct _pthread_attr { 3661 void *__pthread_attrp; 3662 } pthread_attr_t; 3663 3664 /* 3665 * attributes for mutex, dynamically allocated by library 3666 */ 3667 typedef struct _pthread_mutexattr { 3668 void *__pthread_mutexattrp; 3669 } pthread_mutexattr_t; 3670 3671 /* 3672 * attributes for cond, dynamically allocated by library 3673 */ 3674 typedef struct _pthread_condattr { 3675 void *__pthread_condattrp; 3676 } pthread_condattr_t; 3677 3678 /* 3679 * pthread_once 3680 */ 3681 typedef struct _once { 3682 upad64_t __pthread_once_pad[4]; 3683 } pthread_once_t; 3684 3685 /* 3686 * UNIX 98 Extensions 3687 * attributes for rwlock, dynamically allocated by library 3688 */ 3689 typedef struct _pthread_rwlockattr { 3690 void *__pthread_rwlockattrp; 3691 } pthread_rwlockattr_t; 3692 3693 /* 3694 * SUSV3 3695 * attributes for pthread_barrier_t, dynamically allocated by library 3696 */ 3697 typedef struct { 3698 void *__pthread_barrierattrp; 3699 } pthread_barrierattr_t; 3700 3701 typedef ulong_t dev_t; /* expanded device type */ 3702 3703 3704 typedef uint_t nlink_t; /* file link type */ 3705 typedef int pid_t; /* process id type */ 3706 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3707 typedef long time_t; /* time of day in seconds */ 3708 3709 3710 3711 3712 typedef long clock_t; /* relative time in a specified resolution */ 3713 3714 3715 3716 3717 typedef int clockid_t; /* clock identifier type */ 3718 3719 3720 3721 3722 typedef int timer_t; /* timer identifier type */ 3723 3724 3725 3726 3727 /* BEGIN CSTYLED */ 3728 typedef unsigned char unchar; 3729 typedef unsigned short ushort; 3730 typedef unsigned int uint; 3731 typedef unsigned long ulong; 3732 /* END CSTYLED */ 3733 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3734 /* 3735 * The following is the value of type id_t to use to indicate the 3736 * caller's current id. See procset.h for the type idtype_t 3737 * which defines which kind of id is being specified. 3738 */ 3739 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3740 /* 3741 * The following value of type pfn_t is used to indicate 3742 * invalid page frame number. 3743 */ 3744 3745 3746 3747 /* BEGIN CSTYLED */ 3748 typedef unsigned char u_char; 3749 typedef unsigned short u_short; 3750 typedef unsigned int u_int; 3751 typedef unsigned long u_long; 3752 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 3753 typedef quad_t quad; /* used by UFS */ 3754 /* END CSTYLED */ 3755 3756 /* 3757 * Nested include for BSD/sockets source compatibility. 3758 * (The select macros used to be defined here). 3759 */ 3760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 3761 /* 3762 * CDDL HEADER START 3763 * 3764 * The contents of this file are subject to the terms of the 3765 * Common Development and Distribution License (the "License"). 3766 * You may not use this file except in compliance with the License. 3767 * 3768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3769 * or http://www.opensolaris.org/os/licensing. 3770 * See the License for the specific language governing permissions 3771 * and limitations under the License. 3772 * 3773 * When distributing Covered Code, include this CDDL HEADER in each 3774 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3775 * If applicable, add the following below this CDDL HEADER, with the 3776 * fields enclosed by brackets "[]" replaced with your own identifying 3777 * information: Portions Copyright [yyyy] [name of copyright owner] 3778 * 3779 * CDDL HEADER END 3780 */ 3781 3782 /* 3783 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3784 * 3785 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3786 * 3787 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 3788 * Use is subject to license terms. 3789 */ 3790 3791 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3792 /* All Rights Reserved */ 3793 3794 /* 3795 * University Copyright- Copyright (c) 1982, 1986, 1988 3796 * The Regents of the University of California 3797 * All Rights Reserved 3798 * 3799 * University Acknowledgment- Portions of this document are derived from 3800 * software developed by the University of California, Berkeley, and its 3801 * contributors. 3802 */ 3803 3804 3805 3806 3807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3808 /* 3809 * CDDL HEADER START 3810 * 3811 * The contents of this file are subject to the terms of the 3812 * Common Development and Distribution License (the "License"). 3813 * You may not use this file except in compliance with the License. 3814 * 3815 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3816 * or http://www.opensolaris.org/os/licensing. 3817 * See the License for the specific language governing permissions 3818 * and limitations under the License. 3819 * 3820 * When distributing Covered Code, include this CDDL HEADER in each 3821 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3822 * If applicable, add the following below this CDDL HEADER, with the 3823 * fields enclosed by brackets "[]" replaced with your own identifying 3824 * information: Portions Copyright [yyyy] [name of copyright owner] 3825 * 3826 * CDDL HEADER END 3827 */ 3828 3829 /* 3830 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3831 * Copyright 2016 Joyent, Inc. 3832 * 3833 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3834 * Use is subject to license terms. 3835 */ 3836 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3837 3838 3839 3840 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 3841 /* 3842 * CDDL HEADER START 3843 * 3844 * The contents of this file are subject to the terms of the 3845 * Common Development and Distribution License, Version 1.0 only 3846 * (the "License"). You may not use this file except in compliance 3847 * with the License. 3848 * 3849 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3850 * or http://www.opensolaris.org/os/licensing. 3851 * See the License for the specific language governing permissions 3852 * and limitations under the License. 3853 * 3854 * When distributing Covered Code, include this CDDL HEADER in each 3855 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3856 * If applicable, add the following below this CDDL HEADER, with the 3857 * fields enclosed by brackets "[]" replaced with your own identifying 3858 * information: Portions Copyright [yyyy] [name of copyright owner] 3859 * 3860 * CDDL HEADER END 3861 */ 3862 /* 3863 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3864 * Use is subject to license terms. 3865 */ 3866 3867 /* 3868 * Implementation-private. This header should not be included 3869 * directly by an application. The application should instead 3870 * include <time.h> which includes this header conditionally 3871 * depending on which feature test macros are defined. By default, 3872 * this header is included by <time.h>. X/Open and POSIX 3873 * standards requirements result in this header being included 3874 * by <time.h> only under a restricted set of conditions. 3875 */ 3876 3877 3878 3879 3880 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3881 /* 3882 * CDDL HEADER START 3883 * 3884 * The contents of this file are subject to the terms of the 3885 * Common Development and Distribution License (the "License"). 3886 * You may not use this file except in compliance with the License. 3887 * 3888 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3889 * or http://www.opensolaris.org/os/licensing. 3890 * See the License for the specific language governing permissions 3891 * and limitations under the License. 3892 * 3893 * When distributing Covered Code, include this CDDL HEADER in each 3894 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3895 * If applicable, add the following below this CDDL HEADER, with the 3896 * fields enclosed by brackets "[]" replaced with your own identifying 3897 * information: Portions Copyright [yyyy] [name of copyright owner] 3898 * 3899 * CDDL HEADER END 3900 */ 3901 3902 /* 3903 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3904 * Copyright 2016 Joyent, Inc. 3905 * 3906 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3907 * Use is subject to license terms. 3908 */ 3909 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 3910 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3911 /* 3912 * Time expressed in seconds and nanoseconds 3913 */ 3914 3915 typedef struct timespec { /* definition per POSIX.4 */ 3916 time_t tv_sec; /* seconds */ 3917 long tv_nsec; /* and nanoseconds */ 3918 } timespec_t; 3919 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3920 typedef struct timespec timestruc_t; /* definition per SVr4 */ 3921 3922 /* 3923 * The following has been left in for backward compatibility. Portable 3924 * applications should not use the structure name timestruc. 3925 */ 3926 3927 3928 3929 3930 3931 /* 3932 * Timer specification 3933 */ 3934 typedef struct itimerspec { /* definition per POSIX.4 */ 3935 struct timespec it_interval; /* timer period */ 3936 struct timespec it_value; /* timer expiration */ 3937 } itimerspec_t; 3938 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3939 3940 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 3941 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3942 /* All Rights Reserved */ 3943 3944 3945 /* 3946 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 3947 * All rights reserved. The Berkeley software License Agreement 3948 * specifies the terms and conditions for redistribution. 3949 */ 3950 3951 /* 3952 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3953 * 3954 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3955 * Use is subject to license terms. 3956 * 3957 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3958 */ 3959 3960 /* 3961 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 3962 */ 3963 3964 3965 3966 3967 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3968 /* 3969 * CDDL HEADER START 3970 * 3971 * The contents of this file are subject to the terms of the 3972 * Common Development and Distribution License (the "License"). 3973 * You may not use this file except in compliance with the License. 3974 * 3975 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3976 * or http://www.opensolaris.org/os/licensing. 3977 * See the License for the specific language governing permissions 3978 * and limitations under the License. 3979 * 3980 * When distributing Covered Code, include this CDDL HEADER in each 3981 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3982 * If applicable, add the following below this CDDL HEADER, with the 3983 * fields enclosed by brackets "[]" replaced with your own identifying 3984 * information: Portions Copyright [yyyy] [name of copyright owner] 3985 * 3986 * CDDL HEADER END 3987 */ 3988 3989 /* 3990 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3991 * Copyright 2016 Joyent, Inc. 3992 * 3993 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3994 * Use is subject to license terms. 3995 */ 3996 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 3997 3998 /* 3999 * Structure returned by gettimeofday(2) system call, 4000 * and used in other calls. 4001 */ 4002 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4003 struct timeval { 4004 time_t tv_sec; /* seconds */ 4005 suseconds_t tv_usec; /* and microseconds */ 4006 }; 4007 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4008 struct timezone { 4009 int tz_minuteswest; /* minutes west of Greenwich */ 4010 int tz_dsttime; /* type of dst correction */ 4011 }; 4012 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4013 /* 4014 * Needed for longlong_t type. Placement of this due to <sys/types.h> 4015 * including <sys/select.h> which relies on the presense of the itimerval 4016 * structure. 4017 */ 4018 4019 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4020 /* 4021 * CDDL HEADER START 4022 * 4023 * The contents of this file are subject to the terms of the 4024 * Common Development and Distribution License (the "License"). 4025 * You may not use this file except in compliance with the License. 4026 * 4027 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4028 * or http://www.opensolaris.org/os/licensing. 4029 * See the License for the specific language governing permissions 4030 * and limitations under the License. 4031 * 4032 * When distributing Covered Code, include this CDDL HEADER in each 4033 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4034 * If applicable, add the following below this CDDL HEADER, with the 4035 * fields enclosed by brackets "[]" replaced with your own identifying 4036 * information: Portions Copyright [yyyy] [name of copyright owner] 4037 * 4038 * CDDL HEADER END 4039 */ 4040 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4041 /* All Rights Reserved */ 4042 4043 4044 /* 4045 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4046 * Use is subject to license terms. 4047 * 4048 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4049 * Copyright 2016 Joyent, Inc. 4050 */ 4051 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4052 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4053 /* 4054 * Operations on timevals. 4055 */ 4056 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4057 /* 4058 * Names of the interval timers, and structure 4059 * defining a timer setting. 4060 */ 4061 4062 4063 4064 /* time and when system is running on */ 4065 /* behalf of the process. */ 4066 4067 /* time profiling of multithreaded */ 4068 /* programs. */ 4069 4070 4071 struct itimerval { 4072 struct timeval it_interval; /* timer interval */ 4073 struct timeval it_value; /* current value */ 4074 }; 4075 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4076 /* 4077 * Definitions for commonly used resolutions. 4078 */ 4079 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4080 /* 4081 * Time expressed as a 64-bit nanosecond counter. 4082 */ 4083 typedef longlong_t hrtime_t; 4084 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4085 int adjtime(struct timeval *, struct timeval *); 4086 4087 4088 4089 4090 int futimesat(int, const char *, const struct timeval *); 4091 4092 4093 4094 4095 4096 int getitimer(int, struct itimerval *); 4097 int utimes(const char *, const struct timeval *); 4098 4099 4100 4101 4102 int setitimer(int, struct itimerval *, 4103 struct itimerval *); 4104 4105 4106 4107 4108 /* 4109 * gettimeofday() and settimeofday() were included in SVr4 due to their 4110 * common use in BSD based applications. They were to be included exactly 4111 * as in BSD, with two parameters. However, AT&T/USL noted that the second 4112 * parameter was unused and deleted it, thereby making a routine included 4113 * for compatibility, incompatible. 4114 * 4115 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 4116 * parameters. 4117 * 4118 * This has caused general disagreement in the application community as to 4119 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 4120 * The flag _SVID_GETTOD may be used to force the SVID version. 4121 */ 4122 4123 4124 4125 4126 4127 int settimeofday(struct timeval *, void *); 4128 4129 hrtime_t gethrtime(void); 4130 hrtime_t gethrvtime(void); 4131 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4132 int gettimeofday(struct timeval *, void *); 4133 4134 4135 4136 4137 /* 4138 * The inclusion of <time.h> is historical and was added for 4139 * backward compatibility in delta 1.2 when a number of definitions 4140 * were moved out of <sys/time.h>. More recently, the timespec and 4141 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 4142 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 4143 * which is now included by <time.h>. This change was due to POSIX 4144 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 4145 * non-X/Open applications, including this header will still make 4146 * visible these definitions. 4147 */ 4148 4149 4150 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 4151 /* 4152 * CDDL HEADER START 4153 * 4154 * The contents of this file are subject to the terms of the 4155 * Common Development and Distribution License (the "License"). 4156 * You may not use this file except in compliance with the License. 4157 * 4158 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4159 * or http://www.opensolaris.org/os/licensing. 4160 * See the License for the specific language governing permissions 4161 * and limitations under the License. 4162 * 4163 * When distributing Covered Code, include this CDDL HEADER in each 4164 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4165 * If applicable, add the following below this CDDL HEADER, with the 4166 * fields enclosed by brackets "[]" replaced with your own identifying 4167 * information: Portions Copyright [yyyy] [name of copyright owner] 4168 * 4169 * CDDL HEADER END 4170 */ 4171 /* Copyright (c) 1988 AT&T */ 4172 /* All Rights Reserved */ 4173 4174 4175 /* 4176 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4177 * 4178 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 4179 * Use is subject to license terms. 4180 */ 4181 /* 4182 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 4183 * Copyright 2016 Joyent, Inc. 4184 */ 4185 4186 4187 4188 4189 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4190 /* 4191 * CDDL HEADER START 4192 * 4193 * The contents of this file are subject to the terms of the 4194 * Common Development and Distribution License (the "License"). 4195 * You may not use this file except in compliance with the License. 4196 * 4197 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4198 * or http://www.opensolaris.org/os/licensing. 4199 * See the License for the specific language governing permissions 4200 * and limitations under the License. 4201 * 4202 * When distributing Covered Code, include this CDDL HEADER in each 4203 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4204 * If applicable, add the following below this CDDL HEADER, with the 4205 * fields enclosed by brackets "[]" replaced with your own identifying 4206 * information: Portions Copyright [yyyy] [name of copyright owner] 4207 * 4208 * CDDL HEADER END 4209 */ 4210 4211 /* 4212 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4213 * Copyright 2016 Joyent, Inc. 4214 * 4215 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4216 * Use is subject to license terms. 4217 */ 4218 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4219 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 4220 /* 4221 * CDDL HEADER START 4222 * 4223 * The contents of this file are subject to the terms of the 4224 * Common Development and Distribution License, Version 1.0 only 4225 * (the "License"). You may not use this file except in compliance 4226 * with the License. 4227 * 4228 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4229 * or http://www.opensolaris.org/os/licensing. 4230 * See the License for the specific language governing permissions 4231 * and limitations under the License. 4232 * 4233 * When distributing Covered Code, include this CDDL HEADER in each 4234 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4235 * If applicable, add the following below this CDDL HEADER, with the 4236 * fields enclosed by brackets "[]" replaced with your own identifying 4237 * information: Portions Copyright [yyyy] [name of copyright owner] 4238 * 4239 * CDDL HEADER END 4240 */ 4241 /* Copyright (c) 1988 AT&T */ 4242 /* All Rights Reserved */ 4243 4244 /* 4245 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4246 * Copyright 2014 PALO, Richard. 4247 * 4248 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 4249 * Use is subject to license terms. 4250 */ 4251 4252 /* 4253 * An application should not include this header directly. Instead it 4254 * should be included only through the inclusion of other Sun headers. 4255 * 4256 * The contents of this header is limited to identifiers specified in the 4257 * C Standard. Any new identifiers specified in future amendments to the 4258 * C Standard must be placed in this header. If these new identifiers 4259 * are required to also be in the C++ Standard "std" namespace, then for 4260 * anything other than macro definitions, corresponding "using" directives 4261 * must also be added to <time.h.h>. 4262 */ 4263 4264 4265 4266 4267 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4268 /* 4269 * CDDL HEADER START 4270 * 4271 * The contents of this file are subject to the terms of the 4272 * Common Development and Distribution License (the "License"). 4273 * You may not use this file except in compliance with the License. 4274 * 4275 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4276 * or http://www.opensolaris.org/os/licensing. 4277 * See the License for the specific language governing permissions 4278 * and limitations under the License. 4279 * 4280 * When distributing Covered Code, include this CDDL HEADER in each 4281 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4282 * If applicable, add the following below this CDDL HEADER, with the 4283 * fields enclosed by brackets "[]" replaced with your own identifying 4284 * information: Portions Copyright [yyyy] [name of copyright owner] 4285 * 4286 * CDDL HEADER END 4287 */ 4288 4289 /* 4290 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4291 * Copyright 2016 Joyent, Inc. 4292 * 4293 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4294 * Use is subject to license terms. 4295 */ 4296 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4297 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 4298 /* 4299 * This file and its contents are supplied under the terms of the 4300 * Common Development and Distribution License ("CDDL"), version 1.0. 4301 * You may only use this file in accordance with the terms of version 4302 * 1.0 of the CDDL. 4303 * 4304 * A full copy of the text of the CDDL should have accompanied this 4305 * source. A copy of the CDDL is also available via the Internet at 4306 * http://www.illumos.org/license/CDDL. 4307 */ 4308 4309 /* 4310 * Copyright 2014-2016 PALO, Richard. 4311 */ 4312 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4313 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 4314 struct tm { /* see ctime(3) */ 4315 int tm_sec; 4316 int tm_min; 4317 int tm_hour; 4318 int tm_mday; 4319 int tm_mon; 4320 int tm_year; 4321 int tm_wday; 4322 int tm_yday; 4323 int tm_isdst; 4324 }; 4325 4326 4327 extern char *asctime(const struct tm *); 4328 extern clock_t clock(void); 4329 extern char *ctime(const time_t *); 4330 extern double difftime(time_t, time_t); 4331 extern struct tm *gmtime(const time_t *); 4332 extern struct tm *localtime(const time_t *); 4333 extern time_t mktime(struct tm *); 4334 extern time_t time(time_t *); 4335 extern size_t strftime(char *, size_t, const char *, 4336 const struct tm *); 4337 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4338 /* 4339 * C11 requires sys/time_impl.h for the definition of the struct timespec. 4340 */ 4341 4342 4343 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4344 /* 4345 * CDDL HEADER START 4346 * 4347 * The contents of this file are subject to the terms of the 4348 * Common Development and Distribution License (the "License"). 4349 * You may not use this file except in compliance with the License. 4350 * 4351 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4352 * or http://www.opensolaris.org/os/licensing. 4353 * See the License for the specific language governing permissions 4354 * and limitations under the License. 4355 * 4356 * When distributing Covered Code, include this CDDL HEADER in each 4357 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4358 * If applicable, add the following below this CDDL HEADER, with the 4359 * fields enclosed by brackets "[]" replaced with your own identifying 4360 * information: Portions Copyright [yyyy] [name of copyright owner] 4361 * 4362 * CDDL HEADER END 4363 */ 4364 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4365 /* All Rights Reserved */ 4366 4367 4368 /* 4369 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4370 * Use is subject to license terms. 4371 * 4372 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4373 * Copyright 2016 Joyent, Inc. 4374 */ 4375 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4376 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 4377 /* 4378 * CDDL HEADER START 4379 * 4380 * The contents of this file are subject to the terms of the 4381 * Common Development and Distribution License, Version 1.0 only 4382 * (the "License"). You may not use this file except in compliance 4383 * with the License. 4384 * 4385 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4386 * or http://www.opensolaris.org/os/licensing. 4387 * See the License for the specific language governing permissions 4388 * and limitations under the License. 4389 * 4390 * When distributing Covered Code, include this CDDL HEADER in each 4391 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4392 * If applicable, add the following below this CDDL HEADER, with the 4393 * fields enclosed by brackets "[]" replaced with your own identifying 4394 * information: Portions Copyright [yyyy] [name of copyright owner] 4395 * 4396 * CDDL HEADER END 4397 */ 4398 /* 4399 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 4400 * Use is subject to license terms. 4401 */ 4402 4403 /* 4404 * Implementation-private. This header should not be included 4405 * directly by an application. The application should instead 4406 * include <time.h> which includes this header conditionally 4407 * depending on which feature test macros are defined. By default, 4408 * this header is included by <time.h>. X/Open and POSIX 4409 * standards requirements result in this header being included 4410 * by <time.h> only under a restricted set of conditions. 4411 */ 4412 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4413 4414 4415 /* 4416 * Allow global visibility for symbols defined in 4417 * C++ "std" namespace in <iso/time_iso.h>. 4418 */ 4419 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4420 extern struct tm *gmtime_r(const time_t *, 4421 struct tm *); 4422 extern struct tm *localtime_r(const time_t *, 4423 struct tm *); 4424 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4425 extern char *strptime(const char *, const char *, 4426 struct tm *); 4427 4428 4429 4430 4431 4432 /* 4433 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 4434 * definition of the sigevent structure. Both require the inclusion 4435 * of <signal.h> and <time.h> when using the timer_create() function. 4436 * However, X/Open also specifies that the sigevent structure be defined 4437 * in <time.h> as described in the header <signal.h>. This prevents 4438 * compiler warnings for applications that only include <time.h> and not 4439 * also <signal.h>. The sigval union and the sigevent structure is 4440 * therefore defined both here and in <sys/siginfo.h> which gets included 4441 * via inclusion of <signal.h>. 4442 */ 4443 4444 4445 union sigval { 4446 int sival_int; /* integer value */ 4447 void *sival_ptr; /* pointer value */ 4448 }; 4449 4450 4451 4452 4453 struct sigevent { 4454 int sigev_notify; /* notification mode */ 4455 int sigev_signo; /* signal number */ 4456 union sigval sigev_value; /* signal value */ 4457 void (*sigev_notify_function)(union sigval); 4458 pthread_attr_t *sigev_notify_attributes; 4459 int __sigev_pad2; 4460 }; 4461 4462 4463 extern int clock_getres(clockid_t, struct timespec *); 4464 extern int clock_gettime(clockid_t, struct timespec *); 4465 extern int clock_settime(clockid_t, const struct timespec *); 4466 extern int timer_create(clockid_t, struct sigevent *, 4467 timer_t *); 4468 extern int timer_delete(timer_t); 4469 extern int timer_getoverrun(timer_t); 4470 extern int timer_gettime(timer_t, struct itimerspec *); 4471 extern int timer_settime(timer_t, int, const struct itimerspec *, 4472 struct itimerspec *); 4473 4474 extern int nanosleep(const struct timespec *, struct timespec *); 4475 extern int clock_nanosleep(clockid_t, int, 4476 const struct timespec *, struct timespec *); 4477 4478 4479 4480 4481 4482 4483 extern void tzset(void); 4484 extern char *tzname[2]; 4485 4486 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 4487 4488 4489 extern long _sysconf(int); /* System Private interface to sysconf() */ 4490 4491 /* 3 is _SC_CLK_TCK */ 4492 4493 4494 4495 4496 4497 extern long timezone; 4498 extern int daylight; 4499 4500 4501 4502 4503 4504 4505 extern time_t timegm(struct tm *); 4506 extern int cftime(char *, char *, const time_t *); 4507 extern int ascftime(char *, const char *, const struct tm *); 4508 extern long altzone; 4509 4510 4511 4512 4513 extern struct tm *getdate(const char *); 4514 4515 4516 4517 4518 4519 extern int getdate_err; 4520 4521 4522 4523 /* 4524 * ctime_r() & asctime_r() prototypes are defined here. 4525 */ 4526 4527 /* 4528 * Previous releases of Solaris, starting at 2.3, provided definitions of 4529 * various functions as specified in POSIX.1c, Draft 6. For some of these 4530 * functions, the final POSIX 1003.1c standard had a different number of 4531 * arguments and return values. 4532 * 4533 * The following segment of this header provides support for the standard 4534 * interfaces while supporting applications written under earlier 4535 * releases. The application defines appropriate values of the feature 4536 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 4537 * whether it was written to expect the Draft 6 or standard versions of 4538 * these interfaces, before including this header. This header then 4539 * provides a mapping from the source version of the interface to an 4540 * appropriate binary interface. Such mappings permit an application 4541 * to be built from libraries and objects which have mixed expectations 4542 * of the definitions of these functions. 4543 * 4544 * For applications using the Draft 6 definitions, the binary symbol is the 4545 * same as the source symbol, and no explicit mapping is needed. For the 4546 * standard interface, the function func() is mapped to the binary symbol 4547 * _posix_func(). The preferred mechanism for the remapping is a compiler 4548 * #pragma. If the compiler does not provide such a #pragma, the header file 4549 * defines a static function func() which calls the _posix_func() version; 4550 * this has to be done instead of #define since POSIX specifies that an 4551 * application can #undef the symbol and still be bound to the correct 4552 * implementation. Unfortunately, the statics confuse lint so we fallback to 4553 * #define in that case. 4554 * 4555 * NOTE: Support for the Draft 6 definitions is provided for compatibility 4556 * only. New applications/libraries should use the standard definitions. 4557 */ 4558 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4559 extern char *asctime_r(const struct tm *, char *, int); 4560 extern char *ctime_r(const time_t *, char *, int); 4561 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4562 typedef struct _locale *locale_t; 4563 4564 4565 extern size_t strftime_l(char *, size_t, 4566 const char *, const struct tm *, locale_t); 4567 4568 4569 4570 4571 4572 /* 4573 * Note, the C11 standard requires that all the various base values that are 4574 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 4575 */ 4576 4577 4578 extern int timespec_get(struct timespec *, int); 4579 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4580 4581 4582 /* 4583 * The inclusion of <sys/select.h> is needed for the FD_CLR, 4584 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 4585 * select() prototype defined in the XOpen specifications 4586 * beginning with XSH4v2. Placement required after definition 4587 * for itimerval. 4588 */ 4589 4590 4591 4592 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 4593 /* 4594 * CDDL HEADER START 4595 * 4596 * The contents of this file are subject to the terms of the 4597 * Common Development and Distribution License (the "License"). 4598 * You may not use this file except in compliance with the License. 4599 * 4600 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4601 * or http://www.opensolaris.org/os/licensing. 4602 * See the License for the specific language governing permissions 4603 * and limitations under the License. 4604 * 4605 * When distributing Covered Code, include this CDDL HEADER in each 4606 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4607 * If applicable, add the following below this CDDL HEADER, with the 4608 * fields enclosed by brackets "[]" replaced with your own identifying 4609 * information: Portions Copyright [yyyy] [name of copyright owner] 4610 * 4611 * CDDL HEADER END 4612 */ 4613 4614 /* 4615 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4616 * 4617 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4618 * 4619 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4620 * Use is subject to license terms. 4621 */ 4622 4623 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4624 /* All Rights Reserved */ 4625 4626 /* 4627 * University Copyright- Copyright (c) 1982, 1986, 1988 4628 * The Regents of the University of California 4629 * All Rights Reserved 4630 * 4631 * University Acknowledgment- Portions of this document are derived from 4632 * software developed by the University of California, Berkeley, and its 4633 * contributors. 4634 */ 4635 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4636 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4637 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4638 /* 4639 * The sigset_t type is defined in <sys/signal.h> and duplicated 4640 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 4641 * now allows the visibility of signal.h in this header, however 4642 * an order of inclusion problem occurs as a result of inclusion 4643 * of <sys/select.h> in <signal.h> under certain conditions. 4644 * Rather than include <sys/signal.h> here, we've duplicated 4645 * the sigset_t type instead. This type is required for the XPG6 4646 * introduced pselect() function also declared in this header. 4647 */ 4648 4649 4650 typedef struct { /* signal set type */ 4651 unsigned int __sigbits[4]; 4652 } sigset_t; 4653 4654 4655 4656 4657 /* 4658 * Select uses bit masks of file descriptors in longs. 4659 * These macros manipulate such bit fields. 4660 * FD_SETSIZE may be defined by the user, but the default here 4661 * should be >= NOFILE (param.h). 4662 */ 4663 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4664 typedef long fd_mask; 4665 4666 typedef long fds_mask; 4667 4668 /* 4669 * The value of _NBBY needs to be consistant with the value 4670 * of NBBY in <sys/param.h>. 4671 */ 4672 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4673 typedef struct fd_set { 4674 4675 4676 4677 long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 4678 } fd_set; 4679 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4680 extern int select(int, fd_set *, fd_set *, 4681 fd_set *, struct timeval *); 4682 4683 4684 extern int pselect(int, fd_set *, fd_set *, 4685 fd_set *, const struct timespec *, 4686 const sigset_t *); 4687 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 4688 4689 4690 4691 /* 4692 * _VOID was defined to be either void or char but this is not 4693 * required because previous SunOS compilers have accepted the void 4694 * type. However, because many system header and source files use the 4695 * void keyword, the volatile keyword, and ANSI C function prototypes, 4696 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 4697 * should therefore not be used and remains for source compatibility 4698 * only. 4699 */ 4700 /* CSTYLED */ 4701 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4702 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 4703 /* 4704 * CDDL HEADER START 4705 * 4706 * The contents of this file are subject to the terms of the 4707 * Common Development and Distribution License (the "License"). 4708 * You may not use this file except in compliance with the License. 4709 * 4710 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4711 * or http://www.opensolaris.org/os/licensing. 4712 * See the License for the specific language governing permissions 4713 * and limitations under the License. 4714 * 4715 * When distributing Covered Code, include this CDDL HEADER in each 4716 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4717 * If applicable, add the following below this CDDL HEADER, with the 4718 * fields enclosed by brackets "[]" replaced with your own identifying 4719 * information: Portions Copyright [yyyy] [name of copyright owner] 4720 * 4721 * CDDL HEADER END 4722 */ 4723 4724 /* 4725 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 4726 * All Rights Reserved 4727 * 4728 */ 4729 4730 /* 4731 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4732 * Use is subject to license terms. 4733 */ 4734 4735 /* 4736 * WARNING: This is an implementation-specific header, 4737 * its contents are not guaranteed. Applications 4738 * should include <unistd.h> and not this header. 4739 */ 4740 4741 4742 4743 4744 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4745 /* 4746 * CDDL HEADER START 4747 * 4748 * The contents of this file are subject to the terms of the 4749 * Common Development and Distribution License (the "License"). 4750 * You may not use this file except in compliance with the License. 4751 * 4752 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4753 * or http://www.opensolaris.org/os/licensing. 4754 * See the License for the specific language governing permissions 4755 * and limitations under the License. 4756 * 4757 * When distributing Covered Code, include this CDDL HEADER in each 4758 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4759 * If applicable, add the following below this CDDL HEADER, with the 4760 * fields enclosed by brackets "[]" replaced with your own identifying 4761 * information: Portions Copyright [yyyy] [name of copyright owner] 4762 * 4763 * CDDL HEADER END 4764 */ 4765 4766 /* 4767 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4768 * Copyright 2016 Joyent, Inc. 4769 * 4770 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4771 * Use is subject to license terms. 4772 */ 4773 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 4774 4775 4776 4777 4778 4779 /* command names for confstr */ 4780 4781 4782 4783 /* 4784 * command names for large file configuration information 4785 */ 4786 /* large file compilation environment configuration */ 4787 4788 4789 4790 4791 /* transitional large file interface configuration */ 4792 4793 4794 4795 4796 4797 /* UNIX 98 */ 4798 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4799 /* UNIX 03 */ 4800 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4801 /* command names for POSIX sysconf */ 4802 4803 /* POSIX.1 names */ 4804 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4805 /* SVR4 names */ 4806 4807 4808 4809 4810 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 4811 4812 4813 4814 4815 /* POSIX.4 names */ 4816 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4817 /* XPG4 names */ 4818 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4819 /* additional XSH4/XCU4 command names for sysconf */ 4820 4821 4822 4823 /* additional XPG4v2 (UNIX 95) command names */ 4824 4825 4826 4827 4828 4829 /* defined for XTI (XNS Issue 5) */ 4830 4831 4832 4833 4834 4835 4836 4837 /* 4838 * Hardware specific items 4839 * Note that not all items are supported on all architectures 4840 */ 4841 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4842 /* 4843 * POSIX.1c (pthreads) names. These values are defined above 4844 * the sub-500 range. See psarc case 1995/257. 4845 */ 4846 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4847 /* UNIX 98 */ 4848 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4849 /* UNIX 03 */ 4850 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4851 /* command names for POSIX pathconf */ 4852 4853 /* POSIX.1 names */ 4854 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4855 /* POSIX.4 names */ 4856 4857 4858 4859 /* UNIX 03 names */ 4860 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4861 /* UNIX 08 names */ 4862 4863 4864 /* 4865 * Large File Summit names 4866 * 4867 * This value matches the MIPS ABI choice, but leaves a large gap in the 4868 * value space. 4869 */ 4870 4871 4872 /* 4873 * Extended attributes 4874 */ 4875 4876 4877 4878 /* 4879 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 4880 */ 4881 4882 4883 /* 4884 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 4885 */ 4886 4887 4888 4889 /* 4890 * The value of 0 is returned when 4891 * ACL's are not supported 4892 */ 4893 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4894 /* 4895 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 4896 * should not rely on this value, it has been aligned with the current 4897 * standard to avoid confusion if used. 4898 */ 4899 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4900 /* UNIX 03 names */ 4901 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4902 4903 4904 4905 4906 4907 /* Symbolic constants for the "access" routine: */ 4908 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4909 /* Symbolic constants for the "lseek" routine: */ 4910 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4911 /* Path names: */ 4912 4913 4914 4915 4916 /* 4917 * compile-time symbolic constants, 4918 * Support does not mean the feature is enabled. 4919 * Use pathconf/sysconf to obtain actual configuration value. 4920 */ 4921 4922 /* Values unchanged in UNIX 03 */ 4923 4924 4925 4926 4927 4928 /* 4929 * POSIX.1b compile-time symbolic constants. 4930 */ 4931 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4932 /* 4933 * POSIX.1c compile-time symbolic constants. 4934 */ 4935 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4936 /* New in UNIX 03 */ 4937 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4938 /* 4939 * Support for the POSIX.1 mutex protocol attribute. For realtime applications 4940 * which need mutexes to support priority inheritance/ceiling. 4941 */ 4942 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4943 /* 4944 * Large File Summit-related announcement macros. The system supports both 4945 * the additional and transitional Large File Summit interfaces. (The final 4946 * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) 4947 */ 4948 4949 4950 4951 4952 4953 /* large file compilation environment setup */ 4954 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4955 /* In the LP64 compilation environment, the APIs are already large file */ 4956 4957 4958 4959 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4960 #pragma redefine_extname ftruncate64 ftruncate 4961 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4962 4963 4964 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4965 #pragma redefine_extname lseek64 lseek 4966 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4967 4968 4969 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4970 #pragma redefine_extname pread64 pread 4971 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4972 4973 4974 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4975 #pragma redefine_extname pwrite64 pwrite 4976 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4977 4978 4979 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4980 #pragma redefine_extname truncate64 truncate 4981 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4982 4983 4984 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4985 #pragma redefine_extname lockf64 lockf 4986 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4987 4988 4989 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4990 #pragma redefine_extname tell64 tell 4991 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4992 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4993 extern int access(const char *, int); 4994 4995 extern int acct(const char *); 4996 4997 extern unsigned alarm(unsigned); 4998 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 4999 5000 5001 extern int brk(void *); 5002 5003 extern int chdir(const char *); 5004 extern int chown(const char *, uid_t, gid_t); 5005 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5006 5007 5008 extern int chroot(const char *); 5009 5010 extern int close(int); 5011 5012 5013 5014 5015 5016 5017 extern char *ctermid(char *); 5018 5019 5020 extern char *ctermid_r(char *); 5021 5022 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5023 5024 extern char *cuserid(char *); 5025 5026 extern int dup(int); 5027 extern int dup2(int, int); 5028 extern int dup3(int, int, int); 5029 5030 5031 5032 5033 extern void endusershell(void); 5034 5035 extern int execl(const char *, const char *, ...); 5036 extern int execle(const char *, const char *, ...); 5037 extern int execlp(const char *, const char *, ...); 5038 extern int execv(const char *, char *const *); 5039 extern int execve(const char *, char *const *, char *const *); 5040 extern int execvp(const char *, char *const *); 5041 extern void _exit(int) 5042 __attribute__((__noreturn__)); 5043 /* 5044 * The following fattach prototype is duplicated in <stropts.h>. The 5045 * duplication is necessitated by XPG4.2 which requires the prototype 5046 * be defined in <stropts.h>. 5047 */ 5048 5049 extern int fattach(int, const char *); 5050 5051 5052 extern int fchdir(int); 5053 extern int fchown(int, uid_t, gid_t); 5054 5055 5056 extern int fchroot(int); 5057 5058 5059 5060 extern int fdatasync(int); 5061 5062 /* 5063 * The following fdetach prototype is duplicated in <stropts.h>. The 5064 * duplication is necessitated by XPG4.2 which requires the prototype 5065 * be defined in <stropts.h>. 5066 */ 5067 5068 extern int fdetach(const char *); 5069 5070 extern pid_t fork(void); 5071 5072 extern pid_t fork1(void); 5073 extern pid_t forkall(void); 5074 5075 extern long fpathconf(int, int); 5076 5077 5078 extern int fsync(int); 5079 5080 5081 5082 5083 extern int ftruncate(int, off_t); 5084 5085 extern char *getcwd(char *, size_t); 5086 5087 5088 extern int getdtablesize(void); 5089 5090 extern gid_t getegid(void); 5091 extern uid_t geteuid(void); 5092 extern gid_t getgid(void); 5093 extern int getgroups(int, gid_t *); 5094 5095 extern long gethostid(void); 5096 5097 5098 5099 5100 extern int gethostname(char *, int); 5101 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5102 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5103 5104 extern int getpagesize(void); 5105 5106 extern pid_t getpgid(pid_t); 5107 5108 extern pid_t getpid(void); 5109 extern pid_t getppid(void); 5110 extern pid_t getpgrp(void); 5111 5112 5113 char *gettxt(const char *, const char *); 5114 5115 5116 extern pid_t getsid(pid_t); 5117 5118 extern uid_t getuid(void); 5119 5120 extern char *getusershell(void); 5121 5122 /* 5123 * The following ioctl prototype is duplicated in <stropts.h>. The 5124 * duplication is necessitated by XPG4.2 which requires the prototype 5125 * be defined in <stropts.h>. 5126 */ 5127 5128 extern int ioctl(int, int, ...); 5129 extern int isaexec(const char *, char *const *, char *const *); 5130 extern int issetugid(void); 5131 5132 extern int isatty(int); 5133 5134 extern int lchown(const char *, uid_t, gid_t); 5135 5136 extern int link(const char *, const char *); 5137 5138 extern offset_t llseek(int, offset_t, int); 5139 5140 5141 5142 5143 extern int lockf(int, int, off_t); 5144 5145 extern off_t lseek(int, off_t, int); 5146 5147 5148 extern int nice(int); 5149 5150 5151 extern int mincore(caddr_t, size_t, char *); 5152 5153 extern long pathconf(const char *, int); 5154 extern int pause(void); 5155 extern int pipe(int *); 5156 extern int pipe2(int *, int); 5157 5158 5159 5160 extern ssize_t pread(int, void *, size_t, off_t); 5161 5162 5163 extern void profil(unsigned short *, size_t, unsigned long, unsigned int); 5164 5165 /* 5166 * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The 5167 * declarations are identical. A change to either one may also require 5168 * appropriate namespace updates in order to avoid redeclaration 5169 * warnings in the case where both prototypes are exposed via inclusion 5170 * of both <pthread.h> and <unistd.h>. 5171 */ 5172 5173 5174 5175 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); 5176 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5177 extern ssize_t pwrite(int, const void *, size_t, off_t); 5178 5179 5180 /* per RFC 3542; This is also defined in netdb.h */ 5181 extern int rcmd_af(char **, unsigned short, const char *, const char *, 5182 const char *, int *, int); 5183 5184 extern ssize_t read(int, void *, size_t); 5185 5186 5187 extern ssize_t readlink(const char *, char *, 5188 size_t); 5189 5190 5191 5192 5193 5194 5195 extern int rename(const char *, const char *); 5196 5197 5198 5199 5200 5201 5202 5203 extern int resolvepath(const char *, char *, size_t); 5204 /* per RFC 3542; This is also defined in netdb.h */ 5205 extern int rexec_af(char **, unsigned short, const char *, const char *, 5206 const char *, int *, int); 5207 5208 extern int rmdir(const char *); 5209 5210 /* per RFC 3542; This is also defined in netdb.h */ 5211 extern int rresvport_af(int *, int); 5212 5213 5214 5215 5216 extern void *sbrk(intptr_t); 5217 5218 5219 extern int setegid(gid_t); 5220 extern int seteuid(uid_t); 5221 5222 extern int setgid(gid_t); 5223 5224 extern int setgroups(int, const gid_t *); 5225 extern int sethostname(char *, int); 5226 5227 extern int setpgid(pid_t, pid_t); 5228 5229 extern pid_t setpgrp(void); 5230 extern int setregid(gid_t, gid_t); 5231 extern int setreuid(uid_t, uid_t); 5232 5233 extern pid_t setsid(void); 5234 extern int setuid(uid_t); 5235 5236 extern void setusershell(void); 5237 5238 extern unsigned sleep(unsigned); 5239 5240 extern int stime(const time_t *); 5241 5242 5243 5244 5245 5246 5247 extern int symlink(const char *, const char *); 5248 extern void sync(void); 5249 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5250 extern long sysconf(int); 5251 extern pid_t tcgetpgrp(int); 5252 extern int tcsetpgrp(int, pid_t); 5253 5254 5255 5256 extern off_t tell(int); 5257 5258 5259 5260 5261 extern int truncate(const char *, off_t); 5262 5263 extern char *ttyname(int); 5264 5265 extern useconds_t ualarm(useconds_t, useconds_t); 5266 5267 extern int unlink(const char *); 5268 5269 extern char *getwd(char *); 5270 extern int usleep(useconds_t); 5271 extern pid_t vfork(void) __attribute__((__returns_twice__)); 5272 #pragma unknown_control_flow(vfork) 5273 5274 5275 extern void vhangup(void); 5276 5277 extern ssize_t write(int, const void *, size_t); 5278 5279 extern void yield(void); 5280 5281 5282 5283 5284 /* || defined(_XPG7) */ 5285 extern int faccessat(int, const char *, int, int); 5286 extern int fchownat(int, const char *, uid_t, gid_t, int); 5287 extern int linkat(int, const char *, int, const char *, int); 5288 extern ssize_t readlinkat(int, const char *, 5289 char *, size_t); 5290 extern int renameat(int, const char *, int, const char *); 5291 extern int symlinkat(const char *, int, const char *); 5292 extern int unlinkat(int, const char *, int); 5293 5294 5295 extern int get_nprocs(void); 5296 extern int get_nprocs_conf(void); 5297 5298 5299 /* transitional large file interface versions */ 5300 5301 5302 extern int ftruncate64(int, off64_t); 5303 extern off64_t lseek64(int, off64_t, int); 5304 extern ssize_t pread64(int, void *, size_t, off64_t); 5305 extern ssize_t pwrite64(int, const void *, size_t, off64_t); 5306 extern off64_t tell64(int); 5307 extern int truncate64(const char *, off64_t); 5308 extern int lockf64(int, int, off64_t); 5309 5310 5311 /* 5312 * getlogin_r() & ttyname_r() prototypes are defined here. 5313 */ 5314 5315 /* 5316 * Previous releases of Solaris, starting at 2.3, provided definitions of 5317 * various functions as specified in POSIX.1c, Draft 6. For some of these 5318 * functions, the final POSIX 1003.1c standard had a different number of 5319 * arguments and return values. 5320 * 5321 * The following segment of this header provides support for the standard 5322 * interfaces while supporting applications written under earlier 5323 * releases. The application defines appropriate values of the feature 5324 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 5325 * whether it was written to expect the Draft 6 or standard versions of 5326 * these interfaces, before including this header. This header then 5327 * provides a mapping from the source version of the interface to an 5328 * appropriate binary interface. Such mappings permit an application 5329 * to be built from libraries and objects which have mixed expectations 5330 * of the definitions of these functions. 5331 * 5332 * For applications using the Draft 6 definitions, the binary symbol is the 5333 * same as the source symbol, and no explicit mapping is needed. For the 5334 * standard interface, the function func() is mapped to the binary symbol 5335 * _posix_func(). The preferred mechanism for the remapping is a compiler 5336 * #pragma. If the compiler does not provide such a #pragma, the header file 5337 * defines a static function func() which calls the _posix_func() version; 5338 * this has to be done instead of #define since POSIX specifies that an 5339 * application can #undef the symbol and still be bound to the correct 5340 * implementation. Unfortunately, the statics confuse lint so we fallback to 5341 * #define in that case. 5342 * 5343 * NOTE: Support for the Draft 6 definitions is provided for compatibility 5344 * only. New applications/libraries should use the standard definitions. 5345 */ 5346 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5347 5348 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5349 #pragma redefine_extname getlogin_r getloginx_r 5350 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5351 5352 5353 5354 5355 5356 5357 extern char *getlogin_r(char *, int); 5358 5359 extern char *ttyname_r(int, char *, int); 5360 5361 5362 5363 5364 5365 5366 extern int getentropy(void *, size_t); 5367 # 56 "../common/zones_utils.c" 2 5368 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 5369 /* 5370 * CDDL HEADER START 5371 * 5372 * The contents of this file are subject to the terms of the 5373 * Common Development and Distribution License (the "License"). 5374 * You may not use this file except in compliance with the License. 5375 * 5376 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5377 * or http://www.opensolaris.org/os/licensing. 5378 * See the License for the specific language governing permissions 5379 * and limitations under the License. 5380 * 5381 * When distributing Covered Code, include this CDDL HEADER in each 5382 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5383 * If applicable, add the following below this CDDL HEADER, with the 5384 * fields enclosed by brackets "[]" replaced with your own identifying 5385 * information: Portions Copyright [yyyy] [name of copyright owner] 5386 * 5387 * CDDL HEADER END 5388 */ 5389 5390 /* 5391 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5392 * 5393 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5394 * Use is subject to license terms. 5395 */ 5396 5397 /* Copyright (c) 1988 AT&T */ 5398 /* All Rights Reserved */ 5399 5400 5401 5402 5403 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5404 /* 5405 * CDDL HEADER START 5406 * 5407 * The contents of this file are subject to the terms of the 5408 * Common Development and Distribution License (the "License"). 5409 * You may not use this file except in compliance with the License. 5410 * 5411 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5412 * or http://www.opensolaris.org/os/licensing. 5413 * See the License for the specific language governing permissions 5414 * and limitations under the License. 5415 * 5416 * When distributing Covered Code, include this CDDL HEADER in each 5417 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5418 * If applicable, add the following below this CDDL HEADER, with the 5419 * fields enclosed by brackets "[]" replaced with your own identifying 5420 * information: Portions Copyright [yyyy] [name of copyright owner] 5421 * 5422 * CDDL HEADER END 5423 */ 5424 5425 /* 5426 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5427 * Copyright 2016 Joyent, Inc. 5428 * 5429 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5430 * Use is subject to license terms. 5431 */ 5432 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5433 5434 5435 5436 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5437 /* 5438 * CDDL HEADER START 5439 * 5440 * The contents of this file are subject to the terms of the 5441 * Common Development and Distribution License (the "License"). 5442 * You may not use this file except in compliance with the License. 5443 * 5444 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5445 * or http://www.opensolaris.org/os/licensing. 5446 * See the License for the specific language governing permissions 5447 * and limitations under the License. 5448 * 5449 * When distributing Covered Code, include this CDDL HEADER in each 5450 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5451 * If applicable, add the following below this CDDL HEADER, with the 5452 * fields enclosed by brackets "[]" replaced with your own identifying 5453 * information: Portions Copyright [yyyy] [name of copyright owner] 5454 * 5455 * CDDL HEADER END 5456 */ 5457 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5458 /* All Rights Reserved */ 5459 5460 5461 /* 5462 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5463 * Use is subject to license terms. 5464 * 5465 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5466 * Copyright 2016 Joyent, Inc. 5467 */ 5468 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5469 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1 5470 /* 5471 * CDDL HEADER START 5472 * 5473 * The contents of this file are subject to the terms of the 5474 * Common Development and Distribution License (the "License"). 5475 * You may not use this file except in compliance with the License. 5476 * 5477 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5478 * or http://www.opensolaris.org/os/licensing. 5479 * See the License for the specific language governing permissions 5480 * and limitations under the License. 5481 * 5482 * When distributing Covered Code, include this CDDL HEADER in each 5483 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5484 * If applicable, add the following below this CDDL HEADER, with the 5485 * fields enclosed by brackets "[]" replaced with your own identifying 5486 * information: Portions Copyright [yyyy] [name of copyright owner] 5487 * 5488 * CDDL HEADER END 5489 */ 5490 5491 /* 5492 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 5493 */ 5494 5495 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5496 /* All Rights Reserved */ 5497 5498 /* 5499 * University Copyright- Copyright (c) 1982, 1986, 1988 5500 * The Regents of the University of California 5501 * All Rights Reserved 5502 * 5503 * University Acknowledgment- Portions of this document are derived from 5504 * software developed by the University of California, Berkeley, and its 5505 * contributors. 5506 */ 5507 5508 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 5509 /* Copyright 2015, Joyent, Inc. */ 5510 5511 5512 5513 5514 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5515 /* 5516 * CDDL HEADER START 5517 * 5518 * The contents of this file are subject to the terms of the 5519 * Common Development and Distribution License (the "License"). 5520 * You may not use this file except in compliance with the License. 5521 * 5522 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5523 * or http://www.opensolaris.org/os/licensing. 5524 * See the License for the specific language governing permissions 5525 * and limitations under the License. 5526 * 5527 * When distributing Covered Code, include this CDDL HEADER in each 5528 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5529 * If applicable, add the following below this CDDL HEADER, with the 5530 * fields enclosed by brackets "[]" replaced with your own identifying 5531 * information: Portions Copyright [yyyy] [name of copyright owner] 5532 * 5533 * CDDL HEADER END 5534 */ 5535 5536 /* 5537 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5538 * Copyright 2016 Joyent, Inc. 5539 * 5540 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5541 * Use is subject to license terms. 5542 */ 5543 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 5544 5545 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5546 /* 5547 * CDDL HEADER START 5548 * 5549 * The contents of this file are subject to the terms of the 5550 * Common Development and Distribution License (the "License"). 5551 * You may not use this file except in compliance with the License. 5552 * 5553 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5554 * or http://www.opensolaris.org/os/licensing. 5555 * See the License for the specific language governing permissions 5556 * and limitations under the License. 5557 * 5558 * When distributing Covered Code, include this CDDL HEADER in each 5559 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5560 * If applicable, add the following below this CDDL HEADER, with the 5561 * fields enclosed by brackets "[]" replaced with your own identifying 5562 * information: Portions Copyright [yyyy] [name of copyright owner] 5563 * 5564 * CDDL HEADER END 5565 */ 5566 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5567 /* All Rights Reserved */ 5568 5569 5570 /* 5571 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5572 * Use is subject to license terms. 5573 * 5574 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5575 * Copyright 2016 Joyent, Inc. 5576 */ 5577 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 5578 5579 5580 5581 5582 5583 /* 5584 * Flag values accessible to open(2) and fcntl(2) 5585 * The first five can only be set (exclusively) by open(2). 5586 */ 5587 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5588 /* defines read/write file integrity */ 5589 5590 5591 5592 5593 5594 5595 /* 5596 * Flag values accessible only to open(2). 5597 */ 5598 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5599 /* 5600 * fcntl(2) requests 5601 * 5602 * N.B.: values are not necessarily assigned sequentially below. 5603 */ 5604 5605 5606 5607 5608 5609 5610 5611 /* 5612 * Applications that read /dev/mem must be built like the kernel. A 5613 * new symbol "_KMEMUSER" is defined for this purpose. 5614 */ 5615 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5616 /* EINVAL is fildes matches arg1 */ 5617 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5618 /* 5619 * Numbers 20-22 have been removed and should not be reused. 5620 */ 5621 5622 5623 5624 5625 5626 /* manager */ 5627 5628 /* 5629 * Commands that refer to flock structures. The argument types differ between 5630 * the large and small file environments; therefore, the #defined values must 5631 * as well. 5632 * The NBMAND forms are private and should not be used. 5633 * The FLOCK forms are also private and should not be used. 5634 */ 5635 5636 5637 /* "Native" application compilation environment */ 5638 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5639 /* 5640 * File segment locking set data type - information passed to system by user. 5641 */ 5642 5643 /* regular version, for both small and large file compilation environment */ 5644 typedef struct flock { 5645 short l_type; 5646 short l_whence; 5647 off_t l_start; 5648 off_t l_len; /* len == 0 means until end of file */ 5649 int l_sysid; 5650 pid_t l_pid; 5651 long l_pad[4]; /* reserve area */ 5652 } flock_t; 5653 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5654 /* transitional large file interface version */ 5655 5656 5657 5658 typedef struct flock64 { 5659 short l_type; 5660 short l_whence; 5661 off64_t l_start; 5662 off64_t l_len; /* len == 0 means until end of file */ 5663 int l_sysid; 5664 pid_t l_pid; 5665 long l_pad[4]; /* reserve area */ 5666 } flock64_t; 5667 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5668 /* 5669 * File segment locking types. 5670 */ 5671 5672 5673 5674 5675 5676 /* 5677 * POSIX constants 5678 */ 5679 5680 /* Mask for file access modes */ 5681 5682 5683 5684 /* 5685 * DIRECTIO 5686 */ 5687 5688 5689 5690 5691 /* 5692 * File share reservation type 5693 */ 5694 typedef struct fshare { 5695 short f_access; 5696 short f_deny; 5697 int f_id; 5698 } fshare_t; 5699 5700 /* 5701 * f_access values 5702 */ 5703 5704 5705 5706 5707 5708 5709 /* 5710 * f_deny values 5711 */ 5712 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5713 /* 5714 * Special flags for functions such as openat(), fstatat().... 5715 */ 5716 5717 5718 /* || defined(_XPG7) */ 5719 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5720 /* advice for posix_fadvise */ 5721 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5722 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5723 /* large file compilation environment setup */ 5724 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5725 5726 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5727 #pragma redefine_extname open64 open 5728 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5729 5730 5731 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5732 #pragma redefine_extname creat64 creat 5733 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5734 5735 5736 5737 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5738 #pragma redefine_extname posix_fadvise64 posix_fadvise 5739 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5740 5741 5742 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5743 #pragma redefine_extname posix_fallocate64 posix_fallocate 5744 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5745 5746 5747 5748 5749 5750 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5751 #pragma redefine_extname openat64 openat 5752 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5753 5754 5755 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5756 #pragma redefine_extname attropen64 attropen 5757 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5758 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5759 extern int fcntl(int, int, ...); 5760 extern int open(const char *, int, ...); 5761 extern int creat(const char *, mode_t); 5762 5763 extern int posix_fadvise(int, off_t, off_t, int); 5764 extern int posix_fallocate(int, off_t, off_t); 5765 5766 5767 5768 extern int openat(int, const char *, int, ...); 5769 extern int attropen(const char *, const char *, int, ...); 5770 5771 5772 extern int directio(int, int); 5773 5774 5775 /* transitional large file interface versions */ 5776 5777 5778 extern int open64(const char *, int, ...); 5779 extern int creat64(const char *, mode_t); 5780 5781 extern int posix_fadvise64(int, off64_t, off64_t, int); 5782 extern int posix_fallocate64(int, off64_t, off64_t); 5783 5784 5785 5786 extern int openat64(int, const char *, int, ...); 5787 extern int attropen64(const char *, const char *, int, ...); 5788 # 57 "../common/zones_utils.c" 2 5789 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1 5790 /* 5791 * CDDL HEADER START 5792 * 5793 * The contents of this file are subject to the terms of the 5794 * Common Development and Distribution License, Version 1.0 only 5795 * (the "License"). You may not use this file except in compliance 5796 * with the License. 5797 * 5798 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5799 * or http://www.opensolaris.org/os/licensing. 5800 * See the License for the specific language governing permissions 5801 * and limitations under the License. 5802 * 5803 * When distributing Covered Code, include this CDDL HEADER in each 5804 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5805 * If applicable, add the following below this CDDL HEADER, with the 5806 * fields enclosed by brackets "[]" replaced with your own identifying 5807 * information: Portions Copyright [yyyy] [name of copyright owner] 5808 * 5809 * CDDL HEADER END 5810 */ 5811 /* Copyright (c) 1988 AT&T */ 5812 /* All Rights Reserved */ 5813 5814 5815 /* 5816 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5817 * 5818 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5819 * Use is subject to license terms. 5820 */ 5821 5822 5823 5824 5825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1 5826 /* 5827 * CDDL HEADER START 5828 * 5829 * The contents of this file are subject to the terms of the 5830 * Common Development and Distribution License, Version 1.0 only 5831 * (the "License"). You may not use this file except in compliance 5832 * with the License. 5833 * 5834 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5835 * or http://www.opensolaris.org/os/licensing. 5836 * See the License for the specific language governing permissions 5837 * and limitations under the License. 5838 * 5839 * When distributing Covered Code, include this CDDL HEADER in each 5840 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5841 * If applicable, add the following below this CDDL HEADER, with the 5842 * fields enclosed by brackets "[]" replaced with your own identifying 5843 * information: Portions Copyright [yyyy] [name of copyright owner] 5844 * 5845 * CDDL HEADER END 5846 */ 5847 /* Copyright (c) 1988 AT&T */ 5848 /* All Rights Reserved */ 5849 5850 /* 5851 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5852 * 5853 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5854 * Use is subject to license terms. 5855 */ 5856 5857 /* 5858 * An application should not include this header directly. Instead it 5859 * should be included only through the inclusion of other Sun headers. 5860 * 5861 * The contents of this header is limited to identifiers specified in the 5862 * C Standard. Any new identifiers specified in future amendments to the 5863 * C Standard must be placed in this header. If these new identifiers 5864 * are required to also be in the C++ Standard "std" namespace, then for 5865 * anything other than macro definitions, corresponding "using" directives 5866 * must also be added to <ctype.h>. 5867 */ 5868 5869 5870 5871 5872 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5873 /* 5874 * CDDL HEADER START 5875 * 5876 * The contents of this file are subject to the terms of the 5877 * Common Development and Distribution License (the "License"). 5878 * You may not use this file except in compliance with the License. 5879 * 5880 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5881 * or http://www.opensolaris.org/os/licensing. 5882 * See the License for the specific language governing permissions 5883 * and limitations under the License. 5884 * 5885 * When distributing Covered Code, include this CDDL HEADER in each 5886 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5887 * If applicable, add the following below this CDDL HEADER, with the 5888 * fields enclosed by brackets "[]" replaced with your own identifying 5889 * information: Portions Copyright [yyyy] [name of copyright owner] 5890 * 5891 * CDDL HEADER END 5892 */ 5893 5894 /* 5895 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5896 * Copyright 2016 Joyent, Inc. 5897 * 5898 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5899 * Use is subject to license terms. 5900 */ 5901 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2 5902 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 5903 extern unsigned char __ctype[]; 5904 extern unsigned int *__ctype_mask; 5905 extern int *__trans_upper; 5906 extern int *__trans_lower; 5907 5908 5909 5910 5911 5912 /* 5913 * These used to be macros, which while more efficient, precludes operation 5914 * with thread specific locales. The old macros will still work, but new 5915 * code compiles to use functions. This is specifically permitted by the 5916 * various standards. Only _tolower and _toupper were required to be 5917 * delivered in macro form. 5918 */ 5919 extern int isalnum(int); 5920 extern int isalpha(int); 5921 extern int iscntrl(int); 5922 extern int isdigit(int); 5923 extern int isgraph(int); 5924 extern int islower(int); 5925 extern int isprint(int); 5926 extern int ispunct(int); 5927 extern int isspace(int); 5928 extern int isupper(int); 5929 extern int isxdigit(int); 5930 5931 extern int isblank(int); 5932 5933 5934 extern int tolower(int); 5935 extern int toupper(int); 5936 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2 5937 5938 /* 5939 * Allow global visibility for symbols defined in 5940 * C++ "std" namespace in <iso/ctype_iso.h>. 5941 */ 5942 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5943 extern int isascii(int); 5944 extern int toascii(int); 5945 extern int _tolower(int); 5946 extern int _toupper(int); 5947 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5948 extern int isalnum_l(int, locale_t); 5949 extern int isalpha_l(int, locale_t); 5950 extern int isblank_l(int, locale_t); 5951 extern int iscntrl_l(int, locale_t); 5952 extern int isdigit_l(int, locale_t); 5953 extern int isgraph_l(int, locale_t); 5954 extern int islower_l(int, locale_t); 5955 extern int isprint_l(int, locale_t); 5956 extern int ispunct_l(int, locale_t); 5957 extern int isspace_l(int, locale_t); 5958 extern int isupper_l(int, locale_t); 5959 extern int isxdigit_l(int, locale_t); 5960 extern int tolower_l(int, locale_t); 5961 extern int toupper_l(int, locale_t); 5962 # 58 "../common/zones_utils.c" 2 5963 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5964 /* 5965 * CDDL HEADER START 5966 * 5967 * The contents of this file are subject to the terms of the 5968 * Common Development and Distribution License (the "License"). 5969 * You may not use this file except in compliance with the License. 5970 * 5971 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5972 * or http://www.opensolaris.org/os/licensing. 5973 * See the License for the specific language governing permissions 5974 * and limitations under the License. 5975 * 5976 * When distributing Covered Code, include this CDDL HEADER in each 5977 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5978 * If applicable, add the following below this CDDL HEADER, with the 5979 * fields enclosed by brackets "[]" replaced with your own identifying 5980 * information: Portions Copyright [yyyy] [name of copyright owner] 5981 * 5982 * CDDL HEADER END 5983 */ 5984 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5985 /* All Rights Reserved */ 5986 5987 5988 /* 5989 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5990 * Use is subject to license terms. 5991 * 5992 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5993 * Copyright 2016 Joyent, Inc. 5994 */ 5995 # 59 "../common/zones_utils.c" 2 5996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 5997 /* 5998 * CDDL HEADER START 5999 * 6000 * The contents of this file are subject to the terms of the 6001 * Common Development and Distribution License (the "License"). 6002 * You may not use this file except in compliance with the License. 6003 * 6004 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6005 * or http://www.opensolaris.org/os/licensing. 6006 * See the License for the specific language governing permissions 6007 * and limitations under the License. 6008 * 6009 * When distributing Covered Code, include this CDDL HEADER in each 6010 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6011 * If applicable, add the following below this CDDL HEADER, with the 6012 * fields enclosed by brackets "[]" replaced with your own identifying 6013 * information: Portions Copyright [yyyy] [name of copyright owner] 6014 * 6015 * CDDL HEADER END 6016 */ 6017 6018 /* 6019 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 6020 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 6021 */ 6022 6023 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 6024 /* All Rights Reserved */ 6025 6026 /* 6027 * University Copyright- Copyright (c) 1982, 1986, 1988 6028 * The Regents of the University of California 6029 * All Rights Reserved 6030 * 6031 * University Acknowledgment- Portions of this document are derived from 6032 * software developed by the University of California, Berkeley, and its 6033 * contributors. 6034 */ 6035 6036 6037 6038 6039 6040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6041 /* 6042 * CDDL HEADER START 6043 * 6044 * The contents of this file are subject to the terms of the 6045 * Common Development and Distribution License (the "License"). 6046 * You may not use this file except in compliance with the License. 6047 * 6048 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6049 * or http://www.opensolaris.org/os/licensing. 6050 * See the License for the specific language governing permissions 6051 * and limitations under the License. 6052 * 6053 * When distributing Covered Code, include this CDDL HEADER in each 6054 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6055 * If applicable, add the following below this CDDL HEADER, with the 6056 * fields enclosed by brackets "[]" replaced with your own identifying 6057 * information: Portions Copyright [yyyy] [name of copyright owner] 6058 * 6059 * CDDL HEADER END 6060 */ 6061 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6062 /* All Rights Reserved */ 6063 6064 6065 /* 6066 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6067 * Use is subject to license terms. 6068 * 6069 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6070 * Copyright 2016 Joyent, Inc. 6071 */ 6072 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6074 /* 6075 * CDDL HEADER START 6076 * 6077 * The contents of this file are subject to the terms of the 6078 * Common Development and Distribution License (the "License"). 6079 * You may not use this file except in compliance with the License. 6080 * 6081 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6082 * or http://www.opensolaris.org/os/licensing. 6083 * See the License for the specific language governing permissions 6084 * and limitations under the License. 6085 * 6086 * 6087 * When distributing Covered Code, include this CDDL HEADER in each 6088 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6089 * If applicable, add the following below this CDDL HEADER, with the 6090 * fields enclosed by brackets "[]" replaced with your own identifying 6091 * information: Portions Copyright [yyyy] [name of copyright owner] 6092 * 6093 * CDDL HEADER END 6094 */ 6095 6096 /* 6097 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6098 * Use is subject to license terms. 6099 * Copyright 2016 Joyent, Inc. 6100 */ 6101 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6102 6103 6104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6105 /* 6106 * This file and its contents are supplied under the terms of the 6107 * Common Development and Distribution License ("CDDL"), version 1.0. 6108 * You may only use this file in accordance with the terms of version 6109 * 1.0 of the CDDL. 6110 * 6111 * A full copy of the text of the CDDL should have accompanied this 6112 * source. A copy of the CDDL is also available via the Internet at 6113 * http://www.illumos.org/license/CDDL. 6114 */ 6115 6116 /* 6117 * Copyright 2014-2016 PALO, Richard. 6118 */ 6119 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6120 6121 6122 6123 6124 6125 /* 6126 * Fundamental variables; don't change too often. 6127 */ 6128 6129 /* 6130 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 6131 * an early merge with AT&T source. It has also historically been defined 6132 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 6133 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 6134 * Subsequent versions of the IEEE Standard as well as the X/Open 6135 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 6136 * while still allowing for it's existence in other headers. With the 6137 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 6138 */ 6139 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6140 /* compatibility purposes only */ 6141 /* and will be removed in a */ 6142 /* later release */ 6143 6144 /* 6145 * These define the maximum and minimum allowable values of the 6146 * configurable parameter NGROUPS_MAX. 6147 */ 6148 6149 6150 6151 6152 /* 6153 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 6154 */ 6155 6156 6157 /* 6158 * Default process priority. Keep it in sync with limits.h. 6159 */ 6160 6161 6162 /* 6163 * Fundamental constants of the implementation--cannot be changed easily. 6164 */ 6165 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6166 /* REMOTE -- whether machine is primary, secondary, or regular */ 6167 6168 6169 6170 /* 6171 * MAXPATHLEN defines the longest permissible path length, 6172 * including the terminating null, after expanding symbolic links. 6173 * TYPICALMAXPATHLEN is used in a few places as an optimization 6174 * with a local buffer on the stack to avoid kmem_alloc(). 6175 * MAXSYMLINKS defines the maximum number of symbolic links 6176 * that may be expanded in a path name. It should be set high 6177 * enough to allow all legitimate uses, but halt infinite loops 6178 * reasonably quickly. 6179 * MAXNAMELEN is the length (including the terminating null) of 6180 * the longest permissible file (component) name. 6181 */ 6182 6183 6184 6185 6186 6187 /* 6188 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 6189 * including the terminating NUL. Note that this must not be larger 6190 * than related networking constants such as LIFNAMSIZ. 6191 */ 6192 6193 6194 6195 6196 6197 6198 /* 6199 * The following are defined to be the same as 6200 * defined in /usr/include/limits.h. They are 6201 * needed for pipe and FIFO compatibility. 6202 */ 6203 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6204 /* macros replacing interleaving functions */ 6205 6206 6207 6208 /* 6209 * File system parameters and macros. 6210 * 6211 * The file system is made out of blocks of at most MAXBSIZE units, 6212 * with smaller units (fragments) only in the last direct block. 6213 * MAXBSIZE primarily determines the size of buffers in the buffer 6214 * pool. It may be made larger without any effect on existing 6215 * file systems; however making it smaller make make some file 6216 * systems unmountable. 6217 * 6218 * Note that the blocked devices are assumed to have DEV_BSIZE 6219 * "sectors" and that fragments must be some multiple of this size. 6220 */ 6221 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6222 /* 64 bit versions of btodb and dbtob */ 6223 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6224 /* 6225 * Size of arg list passed in by user. 6226 */ 6227 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6228 /* 6229 * Scale factor for scaled integers used to count 6230 * %cpu time and load averages. 6231 */ 6232 6233 6234 6235 /* 6236 * Delay units are in microseconds. 6237 * 6238 * XXX These macros are not part of the DDI! 6239 */ 6240 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6241 /* 6242 * The following is to free utilities from machine dependencies within 6243 * an architecture. Must be included after definition of DEV_BSIZE. 6244 */ 6245 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6246 /* 6247 * The following are assorted machine dependent values which can be 6248 * obtained in a machine independent manner through sysconf(2) or 6249 * sysinfo(2). In order to guarantee that these provide the expected 6250 * value at all times, the System Private interface (leading underscore) 6251 * is used. 6252 */ 6253 6254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 6255 /* 6256 * CDDL HEADER START 6257 * 6258 * The contents of this file are subject to the terms of the 6259 * Common Development and Distribution License (the "License"). 6260 * You may not use this file except in compliance with the License. 6261 * 6262 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6263 * or http://www.opensolaris.org/os/licensing. 6264 * See the License for the specific language governing permissions 6265 * and limitations under the License. 6266 * 6267 * When distributing Covered Code, include this CDDL HEADER in each 6268 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6269 * If applicable, add the following below this CDDL HEADER, with the 6270 * fields enclosed by brackets "[]" replaced with your own identifying 6271 * information: Portions Copyright [yyyy] [name of copyright owner] 6272 * 6273 * CDDL HEADER END 6274 */ 6275 6276 /* 6277 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 6278 * All Rights Reserved 6279 * 6280 */ 6281 6282 /* 6283 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6284 * Use is subject to license terms. 6285 */ 6286 6287 /* 6288 * WARNING: This is an implementation-specific header, 6289 * its contents are not guaranteed. Applications 6290 * should include <unistd.h> and not this header. 6291 */ 6292 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6293 6294 6295 6296 6297 6298 6299 extern long _sysconf(int); /* System Private interface to sysconf() */ 6300 # 60 "../common/zones_utils.c" 2 6301 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 6302 /* 6303 * CDDL HEADER START 6304 * 6305 * The contents of this file are subject to the terms of the 6306 * Common Development and Distribution License (the "License"). 6307 * You may not use this file except in compliance with the License. 6308 * 6309 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6310 * or http://www.opensolaris.org/os/licensing. 6311 * See the License for the specific language governing permissions 6312 * and limitations under the License. 6313 * 6314 * When distributing Covered Code, include this CDDL HEADER in each 6315 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6316 * If applicable, add the following below this CDDL HEADER, with the 6317 * fields enclosed by brackets "[]" replaced with your own identifying 6318 * information: Portions Copyright [yyyy] [name of copyright owner] 6319 * 6320 * CDDL HEADER END 6321 */ 6322 6323 /* 6324 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6325 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6326 */ 6327 6328 /* Copyright (c) 1988 AT&T */ 6329 /* All Rights Reserved */ 6330 6331 6332 6333 6334 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 6335 /* 6336 * CDDL HEADER START 6337 * 6338 * The contents of this file are subject to the terms of the 6339 * Common Development and Distribution License, Version 1.0 only 6340 * (the "License"). You may not use this file except in compliance 6341 * with the License. 6342 * 6343 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6344 * or http://www.opensolaris.org/os/licensing. 6345 * See the License for the specific language governing permissions 6346 * and limitations under the License. 6347 * 6348 * When distributing Covered Code, include this CDDL HEADER in each 6349 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6350 * If applicable, add the following below this CDDL HEADER, with the 6351 * fields enclosed by brackets "[]" replaced with your own identifying 6352 * information: Portions Copyright [yyyy] [name of copyright owner] 6353 * 6354 * CDDL HEADER END 6355 */ 6356 /* Copyright (c) 1988 AT&T */ 6357 /* All Rights Reserved */ 6358 6359 6360 /* 6361 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6362 * Copyright 2014 PALO, Richard. 6363 * 6364 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6365 * Use is subject to license terms. 6366 */ 6367 6368 /* 6369 * An application should not include this header directly. Instead it 6370 * should be included only through the inclusion of other Sun headers. 6371 * 6372 * The contents of this header is limited to identifiers specified in the 6373 * C Standard. Any new identifiers specified in future amendments to the 6374 * C Standard must be placed in this header. If these new identifiers 6375 * are required to also be in the C++ Standard "std" namespace, then for 6376 * anything other than macro definitions, corresponding "using" directives 6377 * must also be added to <string.h>. 6378 */ 6379 6380 6381 6382 6383 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6384 /* 6385 * CDDL HEADER START 6386 * 6387 * The contents of this file are subject to the terms of the 6388 * Common Development and Distribution License (the "License"). 6389 * You may not use this file except in compliance with the License. 6390 * 6391 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6392 * or http://www.opensolaris.org/os/licensing. 6393 * See the License for the specific language governing permissions 6394 * and limitations under the License. 6395 * 6396 * When distributing Covered Code, include this CDDL HEADER in each 6397 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6398 * If applicable, add the following below this CDDL HEADER, with the 6399 * fields enclosed by brackets "[]" replaced with your own identifying 6400 * information: Portions Copyright [yyyy] [name of copyright owner] 6401 * 6402 * CDDL HEADER END 6403 */ 6404 6405 /* 6406 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6407 * Copyright 2016 Joyent, Inc. 6408 * 6409 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6410 * Use is subject to license terms. 6411 */ 6412 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 6413 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6414 /* 6415 * This file and its contents are supplied under the terms of the 6416 * Common Development and Distribution License ("CDDL"), version 1.0. 6417 * You may only use this file in accordance with the terms of version 6418 * 1.0 of the CDDL. 6419 * 6420 * A full copy of the text of the CDDL should have accompanied this 6421 * source. A copy of the CDDL is also available via the Internet at 6422 * http://www.illumos.org/license/CDDL. 6423 */ 6424 6425 /* 6426 * Copyright 2014-2016 PALO, Richard. 6427 */ 6428 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 6429 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6430 extern int memcmp(const void *, const void *, size_t); 6431 extern void *memcpy(void *, const void *, size_t); 6432 extern void *memmove(void *, const void *, size_t); 6433 extern void *memset(void *, int, size_t); 6434 extern char *strcat(char *, const char *); 6435 extern int strcmp(const char *, const char *); 6436 extern char *strcpy(char *, const char *); 6437 extern int strcoll(const char *, const char *); 6438 extern size_t strcspn(const char *, const char *); 6439 extern char *strerror(int); 6440 extern size_t strlen(const char *); 6441 extern char *strncat(char *, const char *, size_t); 6442 extern int strncmp(const char *, const char *, size_t); 6443 extern char *strncpy(char *, const char *, size_t); 6444 extern size_t strspn(const char *, const char *); 6445 extern char *strtok(char *, const char *); 6446 extern size_t strxfrm(char *, const char *, size_t); 6447 6448 /* 6449 * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the 6450 * function signatures for the following functions be replaced by 6451 * two declarations, both of which have the same behavior. 6452 */ 6453 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6454 extern void *memchr(const void *, int, size_t); 6455 extern char *strchr(const char *, int); 6456 extern char *strpbrk(const char *, const char *); 6457 extern char *strrchr(const char *, int); 6458 extern char *strstr(const char *, const char *); 6459 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 6460 6461 /* 6462 * Allow global visibility for symbols defined in 6463 * C++ "std" namespace in <iso/string_iso.h>. 6464 */ 6465 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 6466 extern int strerror_r(int, char *, size_t); 6467 6468 6469 6470 6471 6472 extern char *strtok_r(char *, const char *, 6473 char **); 6474 6475 6476 6477 6478 extern void *memccpy(void *, const void *, 6479 int, size_t); 6480 6481 6482 6483 6484 extern char *stpcpy(char *, const char *); 6485 extern char *stpncpy(char *, const char *, size_t); 6486 extern char *strndup(const char *, size_t); 6487 extern size_t strnlen(const char *, size_t); 6488 extern char *strsignal(int); 6489 6490 6491 6492 6493 6494 6495 extern int strcoll_l(const char *, const char *, locale_t); 6496 extern size_t strxfrm_l(char *, const char *, 6497 size_t, locale_t); 6498 extern int strcasecmp_l(const char *, const char *, locale_t); 6499 extern int strncasecmp_l(const char *, const char *, size_t, locale_t); 6500 extern char *strerror_l(int, locale_t); 6501 6502 6503 6504 6505 6506 /* Note that some of these are also declared in strings.h for XPG4_2+ */ 6507 extern void explicit_bzero(void *, size_t); 6508 extern int uucopy(const void *, void *, size_t); 6509 extern int uucopystr(const void *, void *, size_t); 6510 extern int ffs(int); 6511 extern int ffsl(long); 6512 extern int ffsll(long long); 6513 extern int fls(int); 6514 extern int flsl(long); 6515 extern int flsll(long long); 6516 extern void *memmem(const void *, size_t, const void *, size_t); 6517 extern char *strcasestr(const char *, const char *); 6518 extern char *strnstr(const char *, const char *, size_t); 6519 extern size_t strlcpy(char *, const char *, size_t); 6520 extern size_t strlcat(char *, const char *, size_t); 6521 extern char *strsep(char **stringp, const char *delim); 6522 extern char *strchrnul(const char *, int); 6523 extern char *strcasestr_l(const char *, const char *, locale_t); 6524 extern int strcasecmp(const char *, const char *); 6525 extern int strncasecmp(const char *, const char *, size_t); 6526 6527 6528 6529 6530 6531 extern char *strdup(const char *); 6532 6533 6534 6535 6536 6537 6538 /* 6539 * gcc provides this inlining facility but Studio C does not. 6540 * We should use it exclusively once Studio C also provides it. 6541 */ 6542 extern void *__builtin_alloca(size_t); 6543 # 61 "../common/zones_utils.c" 2 6544 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1 6545 /* 6546 * CDDL HEADER START 6547 * 6548 * The contents of this file are subject to the terms of the 6549 * Common Development and Distribution License, Version 1.0 only 6550 * (the "License"). You may not use this file except in compliance 6551 * with the License. 6552 * 6553 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6554 * or http://www.opensolaris.org/os/licensing. 6555 * See the License for the specific language governing permissions 6556 * and limitations under the License. 6557 * 6558 * When distributing Covered Code, include this CDDL HEADER in each 6559 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6560 * If applicable, add the following below this CDDL HEADER, with the 6561 * fields enclosed by brackets "[]" replaced with your own identifying 6562 * information: Portions Copyright [yyyy] [name of copyright owner] 6563 * 6564 * CDDL HEADER END 6565 */ 6566 /* 6567 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6568 * 6569 * Copyright (c) 1995, 1996, by Sun Microsystems, Inc. 6570 * All rights reserved. 6571 */ 6572 6573 6574 6575 6576 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6577 /* 6578 * CDDL HEADER START 6579 * 6580 * The contents of this file are subject to the terms of the 6581 * Common Development and Distribution License (the "License"). 6582 * You may not use this file except in compliance with the License. 6583 * 6584 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6585 * or http://www.opensolaris.org/os/licensing. 6586 * See the License for the specific language governing permissions 6587 * and limitations under the License. 6588 * 6589 * When distributing Covered Code, include this CDDL HEADER in each 6590 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6591 * If applicable, add the following below this CDDL HEADER, with the 6592 * fields enclosed by brackets "[]" replaced with your own identifying 6593 * information: Portions Copyright [yyyy] [name of copyright owner] 6594 * 6595 * CDDL HEADER END 6596 */ 6597 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6598 /* All Rights Reserved */ 6599 6600 6601 /* 6602 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6603 * Use is subject to license terms. 6604 * 6605 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6606 * Copyright 2016 Joyent, Inc. 6607 */ 6608 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6609 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6610 /* 6611 * CDDL HEADER START 6612 * 6613 * The contents of this file are subject to the terms of the 6614 * Common Development and Distribution License (the "License"). 6615 * You may not use this file except in compliance with the License. 6616 * 6617 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6618 * or http://www.opensolaris.org/os/licensing. 6619 * See the License for the specific language governing permissions 6620 * and limitations under the License. 6621 * 6622 * When distributing Covered Code, include this CDDL HEADER in each 6623 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6624 * If applicable, add the following below this CDDL HEADER, with the 6625 * fields enclosed by brackets "[]" replaced with your own identifying 6626 * information: Portions Copyright [yyyy] [name of copyright owner] 6627 * 6628 * CDDL HEADER END 6629 */ 6630 6631 /* 6632 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6633 * Copyright 2016 Joyent, Inc. 6634 * 6635 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6636 * Use is subject to license terms. 6637 */ 6638 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6639 6640 6641 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 6642 /* 6643 * CDDL HEADER START 6644 * 6645 * The contents of this file are subject to the terms of the 6646 * Common Development and Distribution License (the "License"). 6647 * You may not use this file except in compliance with the License. 6648 * 6649 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6650 * or http://www.opensolaris.org/os/licensing. 6651 * See the License for the specific language governing permissions 6652 * and limitations under the License. 6653 * 6654 * When distributing Covered Code, include this CDDL HEADER in each 6655 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6656 * If applicable, add the following below this CDDL HEADER, with the 6657 * fields enclosed by brackets "[]" replaced with your own identifying 6658 * information: Portions Copyright [yyyy] [name of copyright owner] 6659 * 6660 * CDDL HEADER END 6661 */ 6662 6663 /* 6664 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6665 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6666 */ 6667 6668 /* Copyright (c) 1988 AT&T */ 6669 /* All Rights Reserved */ 6670 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6671 6672 6673 6674 6675 6676 6677 extern int bcmp(const void *, const void *, size_t); 6678 extern void bcopy(const void *, void *, size_t); 6679 extern void bzero(void *, size_t); 6680 6681 extern char *index(const char *, int); 6682 extern char *rindex(const char *, int); 6683 6684 /* 6685 * X/Open System Interfaces and Headers, Issue 4, Version 2, defines 6686 * both <string.h> and <strings.h>. The namespace requirements 6687 * do not permit the visibility of anything other than what is 6688 * specifically defined for each of these headers. As a result, 6689 * inclusion of <string.h> would result in declarations not allowed 6690 * in <strings.h>, and making the following prototypes visible for 6691 * anything other than X/Open UNIX Extension would result in 6692 * conflicts with what is now in <string.h>. 6693 */ 6694 # 62 "../common/zones_utils.c" 2 6695 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 6696 /* 6697 * CDDL HEADER START 6698 * 6699 * The contents of this file are subject to the terms of the 6700 * Common Development and Distribution License (the "License"). 6701 * You may not use this file except in compliance with the License. 6702 * 6703 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6704 * or http://www.opensolaris.org/os/licensing. 6705 * See the License for the specific language governing permissions 6706 * and limitations under the License. 6707 * 6708 * When distributing Covered Code, include this CDDL HEADER in each 6709 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6710 * If applicable, add the following below this CDDL HEADER, with the 6711 * fields enclosed by brackets "[]" replaced with your own identifying 6712 * information: Portions Copyright [yyyy] [name of copyright owner] 6713 * 6714 * CDDL HEADER END 6715 */ 6716 6717 /* 6718 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6719 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 6720 */ 6721 6722 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 6723 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 6724 /* All Rights Reserved */ 6725 6726 6727 6728 6729 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6730 /* 6731 * CDDL HEADER START 6732 * 6733 * The contents of this file are subject to the terms of the 6734 * Common Development and Distribution License (the "License"). 6735 * You may not use this file except in compliance with the License. 6736 * 6737 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6738 * or http://www.opensolaris.org/os/licensing. 6739 * See the License for the specific language governing permissions 6740 * and limitations under the License. 6741 * 6742 * When distributing Covered Code, include this CDDL HEADER in each 6743 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6744 * If applicable, add the following below this CDDL HEADER, with the 6745 * fields enclosed by brackets "[]" replaced with your own identifying 6746 * information: Portions Copyright [yyyy] [name of copyright owner] 6747 * 6748 * CDDL HEADER END 6749 */ 6750 6751 /* 6752 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6753 * Copyright 2016 Joyent, Inc. 6754 * 6755 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6756 * Use is subject to license terms. 6757 */ 6758 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 6759 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6760 /* 6761 * CDDL HEADER START 6762 * 6763 * The contents of this file are subject to the terms of the 6764 * Common Development and Distribution License (the "License"). 6765 * You may not use this file except in compliance with the License. 6766 * 6767 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6768 * or http://www.opensolaris.org/os/licensing. 6769 * See the License for the specific language governing permissions 6770 * and limitations under the License. 6771 * 6772 * When distributing Covered Code, include this CDDL HEADER in each 6773 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6774 * If applicable, add the following below this CDDL HEADER, with the 6775 * fields enclosed by brackets "[]" replaced with your own identifying 6776 * information: Portions Copyright [yyyy] [name of copyright owner] 6777 * 6778 * CDDL HEADER END 6779 */ 6780 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6781 /* All Rights Reserved */ 6782 6783 6784 /* 6785 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6786 * Use is subject to license terms. 6787 * 6788 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6789 * Copyright 2016 Joyent, Inc. 6790 */ 6791 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 6792 6793 6794 6795 6796 6797 /* 6798 * The implementation specific header <sys/time_impl.h> includes a 6799 * definition for timestruc_t needed by the stat structure. However, 6800 * including either <time.h>, which includes <sys/time_impl.h>, or 6801 * including <sys/time_impl.h> directly will break both X/Open and 6802 * POSIX namespace. Preceeding tag, structure, and structure member 6803 * names with underscores eliminates the namespace breakage and at the 6804 * same time, with unique type names, eliminates the possibility of 6805 * timespec_t or timestruct_t naming conflicts that could otherwise 6806 * result based on the order of inclusion of <sys/stat.h> and 6807 * <sys/time.h>. The header <sys/time_std_impl.h> contains the 6808 * standards namespace safe versions of these definitions. 6809 */ 6810 6811 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 6812 /* 6813 * CDDL HEADER START 6814 * 6815 * The contents of this file are subject to the terms of the 6816 * Common Development and Distribution License, Version 1.0 only 6817 * (the "License"). You may not use this file except in compliance 6818 * with the License. 6819 * 6820 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6821 * or http://www.opensolaris.org/os/licensing. 6822 * See the License for the specific language governing permissions 6823 * and limitations under the License. 6824 * 6825 * When distributing Covered Code, include this CDDL HEADER in each 6826 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6827 * If applicable, add the following below this CDDL HEADER, with the 6828 * fields enclosed by brackets "[]" replaced with your own identifying 6829 * information: Portions Copyright [yyyy] [name of copyright owner] 6830 * 6831 * CDDL HEADER END 6832 */ 6833 /* 6834 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 6835 * Use is subject to license terms. 6836 */ 6837 6838 /* 6839 * Implementation-private. This header should not be included 6840 * directly by an application. The application should instead 6841 * include <time.h> which includes this header conditionally 6842 * depending on which feature test macros are defined. By default, 6843 * this header is included by <time.h>. X/Open and POSIX 6844 * standards requirements result in this header being included 6845 * by <time.h> only under a restricted set of conditions. 6846 */ 6847 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 6848 6849 6850 6851 6852 6853 6854 /* 6855 * stat structure, used by stat(2) and fstat(2) 6856 */ 6857 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6858 /* 6859 * large file compilation environment setup 6860 */ 6861 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6862 /* 6863 * In the LP64 compilation environment, map large file interfaces 6864 * back to native versions where possible. 6865 */ 6866 6867 6868 6869 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6870 #pragma redefine_extname fstat64 fstat 6871 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6872 6873 6874 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6875 #pragma redefine_extname stat64 stat 6876 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6877 6878 6879 6880 6881 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6882 #pragma redefine_extname fstatat64 fstatat 6883 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6884 6885 6886 6887 6888 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6889 #pragma redefine_extname lstat64 lstat 6890 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6891 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6892 /* 6893 * User level stat structure definitions. 6894 */ 6895 6896 6897 6898 struct stat { 6899 dev_t st_dev; 6900 ino_t st_ino; 6901 mode_t st_mode; 6902 nlink_t st_nlink; 6903 uid_t st_uid; 6904 gid_t st_gid; 6905 dev_t st_rdev; 6906 off_t st_size; 6907 6908 timestruc_t st_atim; 6909 timestruc_t st_mtim; 6910 timestruc_t st_ctim; 6911 6912 6913 6914 6915 6916 blksize_t st_blksize; 6917 blkcnt_t st_blocks; 6918 char st_fstype[16]; 6919 }; 6920 # 273 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6921 /* transitional large file interface version */ 6922 6923 6924 6925 6926 struct stat64 { 6927 dev_t st_dev; 6928 ino_t st_ino; 6929 mode_t st_mode; 6930 nlink_t st_nlink; 6931 uid_t st_uid; 6932 gid_t st_gid; 6933 dev_t st_rdev; 6934 off_t st_size; 6935 6936 timestruc_t st_atim; 6937 timestruc_t st_mtim; 6938 timestruc_t st_ctim; 6939 6940 6941 6942 6943 6944 blksize_t st_blksize; 6945 blkcnt_t st_blocks; 6946 char st_fstype[16]; 6947 }; 6948 # 401 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6949 /* MODE MASKS */ 6950 6951 /* de facto standard definitions */ 6952 6953 6954 6955 6956 6957 6958 /* XENIX definitions are not relevant to Solaris */ 6959 # 428 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6960 /* the following macros are for POSIX conformance */ 6961 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6962 /* POSIX.4 macros */ 6963 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6964 /* || defined(_XPG7) */ 6965 /* for use with futimens() and utimensat() */ 6966 # 486 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 6967 extern int fchmod(int, mode_t); 6968 6969 6970 extern int chmod(const char *, mode_t); 6971 extern int mkdir(const char *, mode_t); 6972 extern int mkfifo(const char *, mode_t); 6973 extern mode_t umask(mode_t); 6974 6975 /* transitional large file interfaces */ 6976 6977 6978 extern int fstat64(int, struct stat64 *); 6979 extern int stat64(const char *, struct stat64 *); 6980 extern int lstat64(const char *, struct stat64 *); 6981 6982 6983 extern int fstatat64(int, const char *, struct stat64 *, int); 6984 6985 6986 6987 6988 6989 /* || defined(_XPG7) */ 6990 extern int mkdirat(int, const char *, mode_t); 6991 extern int mkfifoat(int, const char *, mode_t); 6992 extern int mknodat(int, const char *, mode_t, dev_t); 6993 extern int fchmodat(int, const char *, mode_t, int); 6994 extern int futimens(int, const struct timespec[2]); 6995 extern int utimensat(int, const char *, const struct timespec[2], int); 6996 6997 6998 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 1 6999 /* 7000 * CDDL HEADER START 7001 * 7002 * The contents of this file are subject to the terms of the 7003 * Common Development and Distribution License (the "License"). 7004 * You may not use this file except in compliance with the License. 7005 * 7006 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7007 * or http://www.opensolaris.org/os/licensing. 7008 * See the License for the specific language governing permissions 7009 * and limitations under the License. 7010 * 7011 * When distributing Covered Code, include this CDDL HEADER in each 7012 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7013 * If applicable, add the following below this CDDL HEADER, with the 7014 * fields enclosed by brackets "[]" replaced with your own identifying 7015 * information: Portions Copyright [yyyy] [name of copyright owner] 7016 * 7017 * CDDL HEADER END 7018 */ 7019 7020 /* 7021 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 7022 * Use is subject to license terms. 7023 */ 7024 7025 7026 7027 7028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7029 /* 7030 * CDDL HEADER START 7031 * 7032 * The contents of this file are subject to the terms of the 7033 * Common Development and Distribution License (the "License"). 7034 * You may not use this file except in compliance with the License. 7035 * 7036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7037 * or http://www.opensolaris.org/os/licensing. 7038 * See the License for the specific language governing permissions 7039 * and limitations under the License. 7040 * 7041 * When distributing Covered Code, include this CDDL HEADER in each 7042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7043 * If applicable, add the following below this CDDL HEADER, with the 7044 * fields enclosed by brackets "[]" replaced with your own identifying 7045 * information: Portions Copyright [yyyy] [name of copyright owner] 7046 * 7047 * CDDL HEADER END 7048 */ 7049 7050 /* 7051 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7052 * Copyright 2016 Joyent, Inc. 7053 * 7054 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7055 * Use is subject to license terms. 7056 */ 7057 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 7058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7059 /* 7060 * CDDL HEADER START 7061 * 7062 * The contents of this file are subject to the terms of the 7063 * Common Development and Distribution License (the "License"). 7064 * You may not use this file except in compliance with the License. 7065 * 7066 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7067 * or http://www.opensolaris.org/os/licensing. 7068 * See the License for the specific language governing permissions 7069 * and limitations under the License. 7070 * 7071 * When distributing Covered Code, include this CDDL HEADER in each 7072 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7073 * If applicable, add the following below this CDDL HEADER, with the 7074 * fields enclosed by brackets "[]" replaced with your own identifying 7075 * information: Portions Copyright [yyyy] [name of copyright owner] 7076 * 7077 * CDDL HEADER END 7078 */ 7079 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7080 /* All Rights Reserved */ 7081 7082 7083 /* 7084 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7085 * Use is subject to license terms. 7086 * 7087 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7088 * Copyright 2016 Joyent, Inc. 7089 */ 7090 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 7091 7092 7093 7094 7095 7096 /* 7097 * The implementation specific header for <sys/stat.h> 7098 */ 7099 7100 7101 7102 7103 7104 extern int fstat(int, struct stat *); 7105 extern int stat(const char *, struct stat *); 7106 7107 7108 7109 extern int fstatat(int, const char *, struct stat *, int); 7110 7111 7112 7113 extern int lstat(const char *, struct stat *); 7114 extern int mknod(const char *, mode_t, dev_t); 7115 # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 7116 # 63 "../common/zones_utils.c" 2 7117 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 7118 /* 7119 * CDDL HEADER START 7120 * 7121 * The contents of this file are subject to the terms of the 7122 * Common Development and Distribution License, Version 1.0 only 7123 * (the "License"). You may not use this file except in compliance 7124 * with the License. 7125 * 7126 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7127 * or http://www.opensolaris.org/os/licensing. 7128 * See the License for the specific language governing permissions 7129 * and limitations under the License. 7130 * 7131 * When distributing Covered Code, include this CDDL HEADER in each 7132 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7133 * If applicable, add the following below this CDDL HEADER, with the 7134 * fields enclosed by brackets "[]" replaced with your own identifying 7135 * information: Portions Copyright [yyyy] [name of copyright owner] 7136 * 7137 * CDDL HEADER END 7138 */ 7139 /* Copyright (c) 1988 AT&T */ 7140 /* All Rights Reserved */ 7141 7142 /* 7143 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7144 * 7145 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7146 * Use is subject to license terms. 7147 */ 7148 7149 7150 7151 7152 /* 7153 * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 7154 * variable argument definitions. For legacy support, it also defines 7155 * the pre-standard variable argument definitions. 7156 * 7157 * The varargs definitions within this header are defined in terms of 7158 * implementation definitions. These implementation definitions reside 7159 * in <sys/va_list.h>. This organization enables protected use of 7160 * the implementation by other standard headers without introducing 7161 * names into the users' namespace. 7162 */ 7163 7164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 7165 /* 7166 * CDDL HEADER START 7167 * 7168 * The contents of this file are subject to the terms of the 7169 * Common Development and Distribution License, Version 1.0 only 7170 * (the "License"). You may not use this file except in compliance 7171 * with the License. 7172 * 7173 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7174 * or http://www.opensolaris.org/os/licensing. 7175 * See the License for the specific language governing permissions 7176 * and limitations under the License. 7177 * 7178 * When distributing Covered Code, include this CDDL HEADER in each 7179 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7180 * If applicable, add the following below this CDDL HEADER, with the 7181 * fields enclosed by brackets "[]" replaced with your own identifying 7182 * information: Portions Copyright [yyyy] [name of copyright owner] 7183 * 7184 * CDDL HEADER END 7185 */ 7186 /* Copyright (c) 1988 AT&T */ 7187 /* All Rights Reserved */ 7188 7189 7190 /* 7191 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7192 * Use is subject to license terms. 7193 */ 7194 7195 /* 7196 * An application should not include this header directly. Instead it 7197 * should be included only through the inclusion of other Sun headers. 7198 * 7199 * The contents of this header is limited to identifiers specified in the 7200 * C Standard. Any new identifiers specified in future amendments to the 7201 * C Standard must be placed in this header. If these new identifiers 7202 * are required to also be in the C++ Standard "std" namespace, then for 7203 * anything other than macro definitions, corresponding "using" directives 7204 * must also be added to <stdarg.h>. 7205 */ 7206 7207 7208 7209 7210 #pragma ident "%Z%%M% %I% %E% SMI" 7211 7212 /* 7213 * This header defines the ISO C 1989 and ISO C++ 1998 variable 7214 * argument definitions. 7215 * 7216 * The varargs definitions within this header are defined in terms of 7217 * implementation definitions. These implementation definitions reside 7218 * in <sys/va_impl.h>. This organization enables protected use of 7219 * the implementation by other standard headers without introducing 7220 * names into the users' namespace. 7221 */ 7222 7223 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1 7224 /* 7225 * CDDL HEADER START 7226 * 7227 * The contents of this file are subject to the terms of the 7228 * Common Development and Distribution License, Version 1.0 only 7229 * (the "License"). You may not use this file except in compliance 7230 * with the License. 7231 * 7232 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7233 * or http://www.opensolaris.org/os/licensing. 7234 * See the License for the specific language governing permissions 7235 * and limitations under the License. 7236 * 7237 * When distributing Covered Code, include this CDDL HEADER in each 7238 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7239 * If applicable, add the following below this CDDL HEADER, with the 7240 * fields enclosed by brackets "[]" replaced with your own identifying 7241 * information: Portions Copyright [yyyy] [name of copyright owner] 7242 * 7243 * CDDL HEADER END 7244 */ 7245 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7246 /* All Rights Reserved */ 7247 7248 7249 /* 7250 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7251 * 7252 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7253 * Use is subject to license terms. 7254 */ 7255 7256 7257 7258 7259 /* 7260 * An application should not include this header directly. Instead it 7261 * should be included only through the inclusion of other Sun headers, 7262 * specifically <stdarg.h> and <varargs.h>. 7263 * 7264 * This header serves two purposes. 7265 * 7266 * First, it provides a common set of definitions that implementations 7267 * of the various standards for variable argument lists may use. These 7268 * various standards are implemented in <varargs.h>, <stdarg.h>, 7269 * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>. 7270 * 7271 * Second, it provides varying implementations of the common definitions, 7272 * depending upon the compiler. 7273 */ 7274 7275 /* 7276 * The common definitions exported by this header or compilers using 7277 * this header are: 7278 * 7279 * the macro __va_start(list, name) starting the list iteration 7280 * the macro __va_arg(list, type) getting the current arg and iterating 7281 * the macro __va_copy(to, from) to bookmark the list iteration 7282 * the macro __va_end(list) to end the iteration 7283 * 7284 * In addition, the following are exported via inclusion of <sys/va_list.h>: 7285 * 7286 * the identifier __builtin_va_alist for the variable list pseudo parameter 7287 * the type __va_alist_type for the variable list pseudo parameter 7288 * the type __va_list defining the type of the variable list iterator 7289 */ 7290 7291 /* 7292 * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and 7293 * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor 7294 * macros (e.g. __sparc) to determine the protocol appropriate to the 7295 * current compilation. It is intended that the compilation system 7296 * define the feature, processor, and compiler macros, not the user of 7297 * the system. 7298 */ 7299 7300 /* 7301 * Many compilation systems depend upon the use of special functions 7302 * built into the the compilation system to handle variable argument 7303 * lists. These built-in symbols may include one or more of the 7304 * following: 7305 * 7306 * __builtin_va_alist 7307 * __builtin_va_start 7308 * __builtin_va_arg_incr 7309 * __builtin_stdarg_start 7310 * __builtin_va_end 7311 * __builtin_va_arg 7312 * __builtin_va_copy 7313 */ 7314 7315 /* 7316 * The following are defined in <sys/va_list.h>: 7317 * 7318 * __va_alist_type 7319 * __va_void() 7320 * __va_ptr_base 7321 * ISA definitions via inclusion of <sys/isa_defs.h> 7322 * 7323 * Inclusion of this header also makes visible the symbols in <sys/va_list.h>. 7324 * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h> 7325 * via inclusion of <iso/stdarg_iso.h>. 7326 */ 7327 7328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 7329 /* 7330 * CDDL HEADER START 7331 * 7332 * The contents of this file are subject to the terms of the 7333 * Common Development and Distribution License, Version 1.0 only 7334 * (the "License"). You may not use this file except in compliance 7335 * with the License. 7336 * 7337 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7338 * or http://www.opensolaris.org/os/licensing. 7339 * See the License for the specific language governing permissions 7340 * and limitations under the License. 7341 * 7342 * When distributing Covered Code, include this CDDL HEADER in each 7343 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7344 * If applicable, add the following below this CDDL HEADER, with the 7345 * fields enclosed by brackets "[]" replaced with your own identifying 7346 * information: Portions Copyright [yyyy] [name of copyright owner] 7347 * 7348 * CDDL HEADER END 7349 */ 7350 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7351 /* All Rights Reserved */ 7352 7353 7354 /* 7355 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7356 * 7357 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7358 * Use is subject to license terms. 7359 */ 7360 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 7361 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 7362 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 7363 typedef __va_list va_list; 7364 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 7365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 7366 /* 7367 * CDDL HEADER START 7368 * 7369 * The contents of this file are subject to the terms of the 7370 * Common Development and Distribution License, Version 1.0 only 7371 * (the "License"). You may not use this file except in compliance 7372 * with the License. 7373 * 7374 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7375 * or http://www.opensolaris.org/os/licensing. 7376 * See the License for the specific language governing permissions 7377 * and limitations under the License. 7378 * 7379 * When distributing Covered Code, include this CDDL HEADER in each 7380 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7381 * If applicable, add the following below this CDDL HEADER, with the 7382 * fields enclosed by brackets "[]" replaced with your own identifying 7383 * information: Portions Copyright [yyyy] [name of copyright owner] 7384 * 7385 * CDDL HEADER END 7386 */ 7387 /* Copyright (c) 1988 AT&T */ 7388 /* All Rights Reserved */ 7389 7390 7391 /* 7392 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7393 * Use is subject to license terms. 7394 */ 7395 7396 7397 7398 7399 #pragma ident "%Z%%M% %I% %E% SMI" 7400 7401 /* 7402 * An application should not include this header directly. Instead it 7403 * should be included only through the inclusion of other Sun headers. 7404 * 7405 * This header defines the va_copy variable argument macro, which is 7406 * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ 7407 * 1998. Because this macro is a long-standing Solaris extension, it 7408 * is also permitted in other contexts. 7409 * 7410 * The varargs definitions within this header are defined in terms of 7411 * implementation definitions. These implementation definitions reside 7412 * in <sys/va_list.h>. This organization enables protected use of 7413 * the implementation by other standard headers without introducing 7414 * names into the users' namespace. 7415 */ 7416 7417 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7418 /* 7419 * CDDL HEADER START 7420 * 7421 * The contents of this file are subject to the terms of the 7422 * Common Development and Distribution License (the "License"). 7423 * You may not use this file except in compliance with the License. 7424 * 7425 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7426 * or http://www.opensolaris.org/os/licensing. 7427 * See the License for the specific language governing permissions 7428 * and limitations under the License. 7429 * 7430 * When distributing Covered Code, include this CDDL HEADER in each 7431 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7432 * If applicable, add the following below this CDDL HEADER, with the 7433 * fields enclosed by brackets "[]" replaced with your own identifying 7434 * information: Portions Copyright [yyyy] [name of copyright owner] 7435 * 7436 * CDDL HEADER END 7437 */ 7438 7439 /* 7440 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7441 * Copyright 2016 Joyent, Inc. 7442 * 7443 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7444 * Use is subject to license terms. 7445 */ 7446 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 7447 7448 7449 7450 7451 7452 /* 7453 * va_copy was initially a Solaris extension to provide a portable 7454 * way to perform a variable argument list ``bookmarking'' function. 7455 * It is now specified in the ISO/IEC 9899:1999 standard. 7456 */ 7457 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 7458 7459 /* 7460 * Allow global visibility for symbols defined in 7461 * C++ "std" namespace in <iso/stdarg_iso.h>. 7462 */ 7463 # 64 "../common/zones_utils.c" 2 7464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 7465 /* 7466 * CDDL HEADER START 7467 * 7468 * The contents of this file are subject to the terms of the 7469 * Common Development and Distribution License (the "License"). 7470 * You may not use this file except in compliance with the License. 7471 * 7472 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7473 * or http://www.opensolaris.org/os/licensing. 7474 * See the License for the specific language governing permissions 7475 * and limitations under the License. 7476 * 7477 * When distributing Covered Code, include this CDDL HEADER in each 7478 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7479 * If applicable, add the following below this CDDL HEADER, with the 7480 * fields enclosed by brackets "[]" replaced with your own identifying 7481 * information: Portions Copyright [yyyy] [name of copyright owner] 7482 * 7483 * CDDL HEADER END 7484 */ 7485 7486 /* 7487 * Copyright (c) 2013 Gary Mills 7488 * 7489 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7490 * Use is subject to license terms. 7491 */ 7492 7493 /* Copyright (c) 1988 AT&T */ 7494 /* All Rights Reserved */ 7495 7496 7497 7498 7499 7500 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7501 /* 7502 * CDDL HEADER START 7503 * 7504 * The contents of this file are subject to the terms of the 7505 * Common Development and Distribution License (the "License"). 7506 * You may not use this file except in compliance with the License. 7507 * 7508 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7509 * or http://www.opensolaris.org/os/licensing. 7510 * See the License for the specific language governing permissions 7511 * and limitations under the License. 7512 * 7513 * When distributing Covered Code, include this CDDL HEADER in each 7514 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7515 * If applicable, add the following below this CDDL HEADER, with the 7516 * fields enclosed by brackets "[]" replaced with your own identifying 7517 * information: Portions Copyright [yyyy] [name of copyright owner] 7518 * 7519 * CDDL HEADER END 7520 */ 7521 7522 /* 7523 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7524 * Copyright 2016 Joyent, Inc. 7525 * 7526 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7527 * Use is subject to license terms. 7528 */ 7529 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7530 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 7531 /* 7532 * CDDL HEADER START 7533 * 7534 * The contents of this file are subject to the terms of the 7535 * Common Development and Distribution License (the "License"). 7536 * You may not use this file except in compliance with the License. 7537 * 7538 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7539 * or http://www.opensolaris.org/os/licensing. 7540 * See the License for the specific language governing permissions 7541 * and limitations under the License. 7542 * 7543 * 7544 * When distributing Covered Code, include this CDDL HEADER in each 7545 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7546 * If applicable, add the following below this CDDL HEADER, with the 7547 * fields enclosed by brackets "[]" replaced with your own identifying 7548 * information: Portions Copyright [yyyy] [name of copyright owner] 7549 * 7550 * CDDL HEADER END 7551 */ 7552 7553 /* 7554 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7555 * Use is subject to license terms. 7556 * Copyright 2016 Joyent, Inc. 7557 */ 7558 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7559 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 7560 /* 7561 * CDDL HEADER START 7562 * 7563 * The contents of this file are subject to the terms of the 7564 * Common Development and Distribution License, Version 1.0 only 7565 * (the "License"). You may not use this file except in compliance 7566 * with the License. 7567 * 7568 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7569 * or http://www.opensolaris.org/os/licensing. 7570 * See the License for the specific language governing permissions 7571 * and limitations under the License. 7572 * 7573 * When distributing Covered Code, include this CDDL HEADER in each 7574 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7575 * If applicable, add the following below this CDDL HEADER, with the 7576 * fields enclosed by brackets "[]" replaced with your own identifying 7577 * information: Portions Copyright [yyyy] [name of copyright owner] 7578 * 7579 * CDDL HEADER END 7580 */ 7581 /* 7582 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 7583 * Use is subject to license terms. 7584 */ 7585 7586 /* Copyright (c) 1988 AT&T */ 7587 /* All Rights Reserved */ 7588 7589 7590 /* 7591 * An application should not include this header directly. Instead it 7592 * should be included only through the inclusion of other Sun headers. 7593 * 7594 * The contents of this header is limited to identifiers specified in the 7595 * C Standard. Any new identifiers specified in future amendments to the 7596 * C Standard must be placed in this header. If these new identifiers 7597 * are required to also be in the C++ Standard "std" namespace, then for 7598 * anything other than macro definitions, corresponding "using" directives 7599 * must also be added to <limits.h>. 7600 */ 7601 7602 7603 7604 7605 #pragma ident "%Z%%M% %I% %E% SMI" 7606 7607 7608 7609 7610 7611 /* 7612 * Sizes of integral types 7613 */ 7614 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 7615 /* min value of a "long int" */ 7616 7617 /* max value of a "long int" */ 7618 7619 /* max value of "unsigned long int" */ 7620 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 7621 /* min value of a long long */ 7622 7623 /* max value of a long long */ 7624 7625 /* max value of "unsigned long long */ 7626 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7627 7628 /* 7629 * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C 7630 * committee's working draft for the revision of the current ISO C standard, 7631 * ISO/IEC 9899:1990 Programming language - C. These are not currently 7632 * required by any standard but constitute a useful, general purpose set 7633 * of type definitions and limits which is namespace clean with respect to 7634 * all standards. 7635 */ 7636 7637 7638 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 7639 /* 7640 * CDDL HEADER START 7641 * 7642 * The contents of this file are subject to the terms of the 7643 * Common Development and Distribution License, Version 1.0 only 7644 * (the "License"). You may not use this file except in compliance 7645 * with the License. 7646 * 7647 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7648 * or http://www.opensolaris.org/os/licensing. 7649 * See the License for the specific language governing permissions 7650 * and limitations under the License. 7651 * 7652 * When distributing Covered Code, include this CDDL HEADER in each 7653 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7654 * If applicable, add the following below this CDDL HEADER, with the 7655 * fields enclosed by brackets "[]" replaced with your own identifying 7656 * information: Portions Copyright [yyyy] [name of copyright owner] 7657 * 7658 * CDDL HEADER END 7659 */ 7660 /* 7661 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7662 * 7663 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7664 * Use is subject to license terms. 7665 */ 7666 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7667 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7668 /* 7669 * ARG_MAX is calculated as follows: 7670 * NCARGS - space for other stuff on initial stack 7671 * like aux vectors, saved registers, etc.. 7672 */ 7673 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7674 /* 7675 * POSIX conformant definitions - An implementation may define 7676 * other symbols which reflect the actual implementation. Alternate 7677 * definitions may not be as restrictive as the POSIX definitions. 7678 */ 7679 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7680 /* POSIX.1c conformant */ 7681 7682 7683 7684 7685 7686 /* UNIX 03 conformant */ 7687 7688 7689 7690 7691 7692 /* 7693 * POSIX.2 and XPG4-XSH4 conformant definitions 7694 */ 7695 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7696 /* UNIX 03 conformant */ 7697 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7698 /* 7699 * For dual definitions for PASS_MAX and sysconf.c 7700 */ 7701 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7702 /* NLS printf() and scanf() */ 7703 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7704 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ 7705 7706 7707 7708 /* of a double */ 7709 7710 7711 /* of a "float" */ 7712 7713 7714 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ 7715 7716 7717 /* of a double */ 7718 7719 /* of a float */ 7720 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7721 /* 7722 * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the 7723 * related text states: 7724 * 7725 * A definition of one of the values from Table 2-5 shall be omitted from the 7726 * <limits.h> on specific implementations where the corresponding value is 7727 * equal to or greater than the stated minimum, but where the value can vary 7728 * depending on the file to which it is applied. The actual value supported for 7729 * a specific pathname shall be provided by the pathconf() (5.7.1) function. 7730 * 7731 * This is clear that any machine supporting multiple file system types 7732 * and/or a network can not include this define, regardless of protection 7733 * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. 7734 * 7735 * #define NAME_MAX 14 7736 */ 7737 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7738 /* Increased for illumos */ 7739 # 65 "../common/zones_utils.c" 2 7740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.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, Version 1.0 only 7746 * (the "License"). You may not use this file except in compliance 7747 * with the License. 7748 * 7749 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7750 * or http://www.opensolaris.org/os/licensing. 7751 * See the License for the specific language governing permissions 7752 * and limitations under the License. 7753 * 7754 * When distributing Covered Code, include this CDDL HEADER in each 7755 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7756 * If applicable, add the following below this CDDL HEADER, with the 7757 * fields enclosed by brackets "[]" replaced with your own identifying 7758 * information: Portions Copyright [yyyy] [name of copyright owner] 7759 * 7760 * CDDL HEADER END 7761 */ 7762 /* Copyright (c) 1988 AT&T */ 7763 /* All Rights Reserved */ 7764 7765 7766 /* 7767 * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. 7768 * Use is subject to license terms. 7769 */ 7770 7771 7772 7773 7774 7775 #pragma ident "%Z%%M% %I% %E% SMI" 7776 7777 /* 7778 * Error codes 7779 */ 7780 7781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1 7782 /* 7783 * CDDL HEADER START 7784 * 7785 * The contents of this file are subject to the terms of the 7786 * Common Development and Distribution License, Version 1.0 only 7787 * (the "License"). You may not use this file except in compliance 7788 * with the License. 7789 * 7790 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7791 * or http://www.opensolaris.org/os/licensing. 7792 * See the License for the specific language governing permissions 7793 * and limitations under the License. 7794 * 7795 * When distributing Covered Code, include this CDDL HEADER in each 7796 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7797 * If applicable, add the following below this CDDL HEADER, with the 7798 * fields enclosed by brackets "[]" replaced with your own identifying 7799 * information: Portions Copyright [yyyy] [name of copyright owner] 7800 * 7801 * CDDL HEADER END 7802 */ 7803 /* 7804 * Copyright 2000 Sun Microsystems, Inc. All rights reserved. 7805 * Use is subject to license terms. 7806 */ 7807 7808 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7809 /* All Rights Reserved */ 7810 7811 /* 7812 * University Copyright- Copyright (c) 1982, 1986, 1988 7813 * The Regents of the University of California 7814 * All Rights Reserved 7815 * 7816 * University Acknowledgment- Portions of this document are derived from 7817 * software developed by the University of California, Berkeley, and its 7818 * contributors. 7819 */ 7820 7821 7822 7823 7824 #pragma ident "%Z%%M% %I% %E% SMI" 7825 7826 7827 7828 7829 7830 /* 7831 * Error codes 7832 */ 7833 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7834 /* Filesystem Quotas */ 7835 7836 7837 /* Convergent Error Returns */ 7838 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7839 /* Interprocess Robust Locks */ 7840 7841 7842 7843 /* stream problems */ 7844 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7845 /* Interprocess Robust Locks */ 7846 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7847 /* shared library problems */ 7848 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7849 /* BSD Networking Software */ 7850 /* argument errors */ 7851 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7852 /* protocol family */ 7853 7854 7855 /* operational errors */ 7856 7857 7858 7859 /* of reset */ 7860 7861 7862 7863 7864 7865 /* XENIX has 135 - 142 */ 7866 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7867 /* SUN Network File System */ 7868 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2 7869 7870 7871 7872 7873 7874 7875 /* 7876 * The symbols _sys_errlist and _sys_nerr are not visible in the 7877 * LP64 libc. Use strerror(3C) instead. 7878 */ 7879 7880 7881 7882 extern int *___errno(); 7883 # 66 "../common/zones_utils.c" 2 7884 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1 7885 /* 7886 * CDDL HEADER START 7887 * 7888 * The contents of this file are subject to the terms of the 7889 * Common Development and Distribution License, Version 1.0 only 7890 * (the "License"). You may not use this file except in compliance 7891 * with the License. 7892 * 7893 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7894 * or http://www.opensolaris.org/os/licensing. 7895 * See the License for the specific language governing permissions 7896 * and limitations under the License. 7897 * 7898 * When distributing Covered Code, include this CDDL HEADER in each 7899 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7900 * If applicable, add the following below this CDDL HEADER, with the 7901 * fields enclosed by brackets "[]" replaced with your own identifying 7902 * information: Portions Copyright [yyyy] [name of copyright owner] 7903 * 7904 * CDDL HEADER END 7905 */ 7906 /* Copyright (c) 1988 AT&T */ 7907 /* All Rights Reserved */ 7908 7909 /* 7910 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7911 * 7912 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7913 * Use is subject to license terms. 7914 */ 7915 7916 7917 7918 7919 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7920 /* 7921 * CDDL HEADER START 7922 * 7923 * The contents of this file are subject to the terms of the 7924 * Common Development and Distribution License (the "License"). 7925 * You may not use this file except in compliance with the License. 7926 * 7927 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7928 * or http://www.opensolaris.org/os/licensing. 7929 * See the License for the specific language governing permissions 7930 * and limitations under the License. 7931 * 7932 * When distributing Covered Code, include this CDDL HEADER in each 7933 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7934 * If applicable, add the following below this CDDL HEADER, with the 7935 * fields enclosed by brackets "[]" replaced with your own identifying 7936 * information: Portions Copyright [yyyy] [name of copyright owner] 7937 * 7938 * CDDL HEADER END 7939 */ 7940 7941 /* 7942 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7943 * Copyright 2016 Joyent, Inc. 7944 * 7945 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7946 * Use is subject to license terms. 7947 */ 7948 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 7949 7950 7951 7952 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7953 /* 7954 * CDDL HEADER START 7955 * 7956 * The contents of this file are subject to the terms of the 7957 * Common Development and Distribution License (the "License"). 7958 * You may not use this file except in compliance with the License. 7959 * 7960 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7961 * or http://www.opensolaris.org/os/licensing. 7962 * See the License for the specific language governing permissions 7963 * and limitations under the License. 7964 * 7965 * When distributing Covered Code, include this CDDL HEADER in each 7966 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7967 * If applicable, add the following below this CDDL HEADER, with the 7968 * fields enclosed by brackets "[]" replaced with your own identifying 7969 * information: Portions Copyright [yyyy] [name of copyright owner] 7970 * 7971 * CDDL HEADER END 7972 */ 7973 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7974 /* All Rights Reserved */ 7975 7976 7977 /* 7978 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7979 * Use is subject to license terms. 7980 * 7981 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7982 * Copyright 2016 Joyent, Inc. 7983 */ 7984 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 7985 7986 7987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 1 7988 /* 7989 * CDDL HEADER START 7990 * 7991 * The contents of this file are subject to the terms of the 7992 * Common Development and Distribution License, Version 1.0 only 7993 * (the "License"). You may not use this file except in compliance 7994 * with the License. 7995 * 7996 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7997 * or http://www.opensolaris.org/os/licensing. 7998 * See the License for the specific language governing permissions 7999 * and limitations under the License. 8000 * 8001 * When distributing Covered Code, include this CDDL HEADER in each 8002 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8003 * If applicable, add the following below this CDDL HEADER, with the 8004 * fields enclosed by brackets "[]" replaced with your own identifying 8005 * information: Portions Copyright [yyyy] [name of copyright owner] 8006 * 8007 * CDDL HEADER END 8008 */ 8009 /* Copyright (c) 1988 AT&T */ 8010 /* All Rights Reserved */ 8011 8012 8013 /* 8014 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8015 * 8016 * Copyright (c) 1998-1999, by Sun Microsystems, Inc. 8017 * All rights reserved. 8018 */ 8019 8020 /* 8021 * An application should not include this header directly. Instead it 8022 * should be included only through the inclusion of other Sun headers. 8023 * 8024 * The contents of this header is limited to identifiers specified in the 8025 * C Standard. Any new identifiers specified in future amendments to the 8026 * C Standard must be placed in this header. If these new identifiers 8027 * are required to also be in the C++ Standard "std" namespace, then for 8028 * anything other than macro definitions, corresponding "using" directives 8029 * must also be added to <signal.h>. 8030 */ 8031 8032 8033 8034 8035 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 8036 /* 8037 * CDDL HEADER START 8038 * 8039 * The contents of this file are subject to the terms of the 8040 * Common Development and Distribution License (the "License"). 8041 * You may not use this file except in compliance with the License. 8042 * 8043 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8044 * or http://www.opensolaris.org/os/licensing. 8045 * See the License for the specific language governing permissions 8046 * and limitations under the License. 8047 * 8048 * When distributing Covered Code, include this CDDL HEADER in each 8049 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8050 * If applicable, add the following below this CDDL HEADER, with the 8051 * fields enclosed by brackets "[]" replaced with your own identifying 8052 * information: Portions Copyright [yyyy] [name of copyright owner] 8053 * 8054 * CDDL HEADER END 8055 */ 8056 8057 /* 8058 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 8059 * Use is subject to license terms. 8060 */ 8061 8062 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8063 /* All Rights Reserved */ 8064 8065 /* 8066 * An application should not include this header directly. Instead it 8067 * should be included only through the inclusion of other Sun headers. 8068 * 8069 * The contents of this header is limited to identifiers specified in the 8070 * C Standard. Any new identifiers specified in future amendments to the 8071 * C Standard must be placed in this header. If these new identifiers 8072 * are required to also be in the C++ Standard "std" namespace, then for 8073 * anything other than macro definitions, corresponding "using" directives 8074 * must also be added to <sys/signal.h.h>. 8075 */ 8076 8077 8078 8079 8080 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 8081 /* 8082 * CDDL HEADER START 8083 * 8084 * The contents of this file are subject to the terms of the 8085 * Common Development and Distribution License (the "License"). 8086 * You may not use this file except in compliance with the License. 8087 * 8088 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8089 * or http://www.opensolaris.org/os/licensing. 8090 * See the License for the specific language governing permissions 8091 * and limitations under the License. 8092 * 8093 * When distributing Covered Code, include this CDDL HEADER in each 8094 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8095 * If applicable, add the following below this CDDL HEADER, with the 8096 * fields enclosed by brackets "[]" replaced with your own identifying 8097 * information: Portions Copyright [yyyy] [name of copyright owner] 8098 * 8099 * CDDL HEADER END 8100 */ 8101 8102 /* 8103 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 8104 * All Rights Reserved 8105 * 8106 */ 8107 8108 /* 8109 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8110 * Use is subject to license terms. 8111 */ 8112 8113 /* 8114 * WARNING: This is an implementation-specific header, 8115 * its contents are not guaranteed. Applications 8116 * should include <unistd.h> and not this header. 8117 */ 8118 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 8119 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 8120 /* insert new signals here, and move _SIGRTM* appropriately */ 8121 8122 8123 extern long _sysconf(int); /* System Private interface to sysconf() */ 8124 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 2 8125 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 8126 typedef int sig_atomic_t; 8127 8128 8129 8130 8131 extern void (*signal(int, void (*)(int)))(int); 8132 8133 extern int raise(int); 8134 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 8135 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 8136 /* 8137 * CDDL HEADER START 8138 * 8139 * The contents of this file are subject to the terms of the 8140 * Common Development and Distribution License (the "License"). 8141 * You may not use this file except in compliance with the License. 8142 * 8143 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8144 * or http://www.opensolaris.org/os/licensing. 8145 * See the License for the specific language governing permissions 8146 * and limitations under the License. 8147 * 8148 * When distributing Covered Code, include this CDDL HEADER in each 8149 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8150 * If applicable, add the following below this CDDL HEADER, with the 8151 * fields enclosed by brackets "[]" replaced with your own identifying 8152 * information: Portions Copyright [yyyy] [name of copyright owner] 8153 * 8154 * CDDL HEADER END 8155 */ 8156 8157 /* 8158 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 8159 * Use is subject to license terms. 8160 */ 8161 8162 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8163 /* All Rights Reserved */ 8164 8165 /* 8166 * University Copyright- Copyright (c) 1982, 1986, 1988 8167 * The Regents of the University of California 8168 * All Rights Reserved 8169 * 8170 * University Acknowledgment- Portions of this document are derived from 8171 * software developed by the University of California, Berkeley, and its 8172 * contributors. 8173 */ 8174 8175 8176 8177 8178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8179 /* 8180 * CDDL HEADER START 8181 * 8182 * The contents of this file are subject to the terms of the 8183 * Common Development and Distribution License (the "License"). 8184 * You may not use this file except in compliance with the License. 8185 * 8186 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8187 * or http://www.opensolaris.org/os/licensing. 8188 * See the License for the specific language governing permissions 8189 * and limitations under the License. 8190 * 8191 * When distributing Covered Code, include this CDDL HEADER in each 8192 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8193 * If applicable, add the following below this CDDL HEADER, with the 8194 * fields enclosed by brackets "[]" replaced with your own identifying 8195 * information: Portions Copyright [yyyy] [name of copyright owner] 8196 * 8197 * CDDL HEADER END 8198 */ 8199 8200 /* 8201 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8202 * Copyright 2016 Joyent, Inc. 8203 * 8204 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8205 * Use is subject to license terms. 8206 */ 8207 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 8208 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 8209 /* 8210 * CDDL HEADER START 8211 * 8212 * The contents of this file are subject to the terms of the 8213 * Common Development and Distribution License (the "License"). 8214 * You may not use this file except in compliance with the License. 8215 * 8216 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8217 * or http://www.opensolaris.org/os/licensing. 8218 * See the License for the specific language governing permissions 8219 * and limitations under the License. 8220 * 8221 * When distributing Covered Code, include this CDDL HEADER in each 8222 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8223 * If applicable, add the following below this CDDL HEADER, with the 8224 * fields enclosed by brackets "[]" replaced with your own identifying 8225 * information: Portions Copyright [yyyy] [name of copyright owner] 8226 * 8227 * CDDL HEADER END 8228 */ 8229 8230 /* 8231 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 8232 * Use is subject to license terms. 8233 */ 8234 8235 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8236 /* All Rights Reserved */ 8237 8238 /* 8239 * An application should not include this header directly. Instead it 8240 * should be included only through the inclusion of other Sun headers. 8241 * 8242 * The contents of this header is limited to identifiers specified in the 8243 * C Standard. Any new identifiers specified in future amendments to the 8244 * C Standard must be placed in this header. If these new identifiers 8245 * are required to also be in the C++ Standard "std" namespace, then for 8246 * anything other than macro definitions, corresponding "using" directives 8247 * must also be added to <sys/signal.h.h>. 8248 */ 8249 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 8250 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8251 /* 8252 * We need <sys/siginfo.h> for the declaration of siginfo_t. 8253 */ 8254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 8255 /* 8256 * CDDL HEADER START 8257 * 8258 * The contents of this file are subject to the terms of the 8259 * Common Development and Distribution License, Version 1.0 only 8260 * (the "License"). You may not use this file except in compliance 8261 * with the License. 8262 * 8263 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8264 * or http://www.opensolaris.org/os/licensing. 8265 * See the License for the specific language governing permissions 8266 * and limitations under the License. 8267 * 8268 * When distributing Covered Code, include this CDDL HEADER in each 8269 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8270 * If applicable, add the following below this CDDL HEADER, with the 8271 * fields enclosed by brackets "[]" replaced with your own identifying 8272 * information: Portions Copyright [yyyy] [name of copyright owner] 8273 * 8274 * CDDL HEADER END 8275 */ 8276 /* 8277 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 8278 * Use is subject to license terms. 8279 */ 8280 8281 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8282 /* All Rights Reserved */ 8283 8284 8285 8286 8287 #pragma ident "%Z%%M% %I% %E% SMI" 8288 8289 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8290 /* 8291 * CDDL HEADER START 8292 * 8293 * The contents of this file are subject to the terms of the 8294 * Common Development and Distribution License (the "License"). 8295 * You may not use this file except in compliance with the License. 8296 * 8297 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8298 * or http://www.opensolaris.org/os/licensing. 8299 * See the License for the specific language governing permissions 8300 * and limitations under the License. 8301 * 8302 * When distributing Covered Code, include this CDDL HEADER in each 8303 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8304 * If applicable, add the following below this CDDL HEADER, with the 8305 * fields enclosed by brackets "[]" replaced with your own identifying 8306 * information: Portions Copyright [yyyy] [name of copyright owner] 8307 * 8308 * CDDL HEADER END 8309 */ 8310 8311 /* 8312 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8313 * Copyright 2016 Joyent, Inc. 8314 * 8315 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8316 * Use is subject to license terms. 8317 */ 8318 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 8319 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8320 /* 8321 * CDDL HEADER START 8322 * 8323 * The contents of this file are subject to the terms of the 8324 * Common Development and Distribution License (the "License"). 8325 * You may not use this file except in compliance with the License. 8326 * 8327 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8328 * or http://www.opensolaris.org/os/licensing. 8329 * See the License for the specific language governing permissions 8330 * and limitations under the License. 8331 * 8332 * When distributing Covered Code, include this CDDL HEADER in each 8333 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8334 * If applicable, add the following below this CDDL HEADER, with the 8335 * fields enclosed by brackets "[]" replaced with your own identifying 8336 * information: Portions Copyright [yyyy] [name of copyright owner] 8337 * 8338 * CDDL HEADER END 8339 */ 8340 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8341 /* All Rights Reserved */ 8342 8343 8344 /* 8345 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8346 * Use is subject to license terms. 8347 * 8348 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8349 * Copyright 2016 Joyent, Inc. 8350 */ 8351 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 8352 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8353 /* 8354 * The union sigval is also defined in <time.h> as per X/Open and 8355 * POSIX requirements. 8356 */ 8357 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8358 /* 8359 * The sigevent structure is also defined in <time.h> as per X/Open and 8360 * POSIX requirements. 8361 */ 8362 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8363 /* values of sigev_notify */ 8364 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8365 /* 8366 * negative signal codes are reserved for future use for user generated 8367 * signals 8368 */ 8369 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8370 /* 8371 * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and 8372 * SIGBUS) from <sys/machsig.h> 8373 */ 8374 8375 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 8376 /* 8377 * CDDL HEADER START 8378 * 8379 * The contents of this file are subject to the terms of the 8380 * Common Development and Distribution License, Version 1.0 only 8381 * (the "License"). You may not use this file except in compliance 8382 * with the License. 8383 * 8384 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8385 * or http://www.opensolaris.org/os/licensing. 8386 * See the License for the specific language governing permissions 8387 * and limitations under the License. 8388 * 8389 * When distributing Covered Code, include this CDDL HEADER in each 8390 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8391 * If applicable, add the following below this CDDL HEADER, with the 8392 * fields enclosed by brackets "[]" replaced with your own identifying 8393 * information: Portions Copyright [yyyy] [name of copyright owner] 8394 * 8395 * CDDL HEADER END 8396 */ 8397 /* 8398 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 8399 * Use is subject to license terms. 8400 */ 8401 8402 /* Copyright (c) 1988 AT&T */ 8403 /* All Rights Reserved */ 8404 8405 8406 8407 8408 8409 #pragma ident "%Z%%M% %I% %E% SMI" 8410 8411 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8412 /* 8413 * CDDL HEADER START 8414 * 8415 * The contents of this file are subject to the terms of the 8416 * Common Development and Distribution License (the "License"). 8417 * You may not use this file except in compliance with the License. 8418 * 8419 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8420 * or http://www.opensolaris.org/os/licensing. 8421 * See the License for the specific language governing permissions 8422 * and limitations under the License. 8423 * 8424 * When distributing Covered Code, include this CDDL HEADER in each 8425 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8426 * If applicable, add the following below this CDDL HEADER, with the 8427 * fields enclosed by brackets "[]" replaced with your own identifying 8428 * information: Portions Copyright [yyyy] [name of copyright owner] 8429 * 8430 * CDDL HEADER END 8431 */ 8432 8433 /* 8434 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8435 * Copyright 2016 Joyent, Inc. 8436 * 8437 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8438 * Use is subject to license terms. 8439 */ 8440 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 8441 8442 8443 8444 8445 8446 /* 8447 * machsig.h is the machine dependent portion of siginfo.h (and is 8448 * included by siginfo.h). A version of machsig.h should exist for 8449 * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS 8450 * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and 8451 * SIGPOLL are architecture independent and may be found in siginfo.h. 8452 */ 8453 8454 8455 8456 8457 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 8458 /* 8459 * CDDL HEADER START 8460 * 8461 * The contents of this file are subject to the terms of the 8462 * Common Development and Distribution License (the "License"). 8463 * You may not use this file except in compliance with the License. 8464 * 8465 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8466 * or http://www.opensolaris.org/os/licensing. 8467 * See the License for the specific language governing permissions 8468 * and limitations under the License. 8469 * 8470 * When distributing Covered Code, include this CDDL HEADER in each 8471 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8472 * If applicable, add the following below this CDDL HEADER, with the 8473 * fields enclosed by brackets "[]" replaced with your own identifying 8474 * information: Portions Copyright [yyyy] [name of copyright owner] 8475 * 8476 * CDDL HEADER END 8477 */ 8478 /* 8479 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 8480 * Use is subject to license terms. 8481 */ 8482 8483 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8484 /* All Rights Reserved */ 8485 8486 /* 8487 * University Copyright- Copyright (c) 1982, 1986, 1988 8488 * The Regents of the University of California 8489 * All Rights Reserved 8490 * 8491 * University Acknowledgment- Portions of this document are derived from 8492 * software developed by the University of California, Berkeley, and its 8493 * contributors. 8494 */ 8495 8496 8497 8498 8499 #pragma ident "%Z%%M% %I% %E% SMI" 8500 8501 8502 8503 8504 8505 /* 8506 * This file describes the data type returned by vm routines 8507 * which handle faults. 8508 * 8509 * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value 8510 * returned by the underlying object mapped at the fault address. 8511 */ 8512 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 8513 typedef int faultcode_t; /* type returned by vm fault routines */ 8514 8515 extern int fc_decode(faultcode_t); 8516 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 8517 8518 8519 /* 8520 * SIGILL signal codes 8521 */ 8522 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 8523 /* 8524 * SIGEMT signal codes 8525 */ 8526 8527 8528 8529 8530 8531 8532 /* 8533 * SIGFPE signal codes 8534 */ 8535 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 8536 /* 8537 * SIGSEGV signal codes 8538 */ 8539 8540 8541 8542 8543 8544 8545 8546 /* 8547 * SIGBUS signal codes 8548 */ 8549 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 8550 8551 /* 8552 * SIGTRAP signal codes 8553 */ 8554 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8555 /* 8556 * SIGCLD signal codes 8557 */ 8558 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8559 /* 8560 * SIGPOLL signal codes 8561 */ 8562 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8563 /* 8564 * SIGPROF signal codes 8565 */ 8566 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8567 /* 8568 * Inclusion of <sys/time_impl.h> is needed for the declaration of 8569 * timestruc_t. However, since inclusion of <sys/time_impl.h> results 8570 * in X/Open and POSIX namespace pollution, the definition for 8571 * timestruct_t has been duplicated in a standards namespace safe header 8572 * <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure 8573 * name, tag, and member names, as well as the type itself, all have 8574 * leading underscores to protect namespace. 8575 */ 8576 8577 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 8578 /* 8579 * CDDL HEADER START 8580 * 8581 * The contents of this file are subject to the terms of the 8582 * Common Development and Distribution License, Version 1.0 only 8583 * (the "License"). You may not use this file except in compliance 8584 * with the License. 8585 * 8586 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8587 * or http://www.opensolaris.org/os/licensing. 8588 * See the License for the specific language governing permissions 8589 * and limitations under the License. 8590 * 8591 * When distributing Covered Code, include this CDDL HEADER in each 8592 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8593 * If applicable, add the following below this CDDL HEADER, with the 8594 * fields enclosed by brackets "[]" replaced with your own identifying 8595 * information: Portions Copyright [yyyy] [name of copyright owner] 8596 * 8597 * CDDL HEADER END 8598 */ 8599 /* 8600 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8601 * Use is subject to license terms. 8602 */ 8603 8604 /* 8605 * Implementation-private. This header should not be included 8606 * directly by an application. The application should instead 8607 * include <time.h> which includes this header conditionally 8608 * depending on which feature test macros are defined. By default, 8609 * this header is included by <time.h>. X/Open and POSIX 8610 * standards requirements result in this header being included 8611 * by <time.h> only under a restricted set of conditions. 8612 */ 8613 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 8614 8615 8616 8617 8618 /* 8619 * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc. 8620 * Placement here is due to a dependency in <sys/select.h> which is included 8621 * by <sys/types.h> for the sigevent structure. Hence this inclusion must 8622 * follow that definition. 8623 */ 8624 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8625 /* 8626 * CDDL HEADER START 8627 * 8628 * The contents of this file are subject to the terms of the 8629 * Common Development and Distribution License (the "License"). 8630 * You may not use this file except in compliance with the License. 8631 * 8632 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8633 * or http://www.opensolaris.org/os/licensing. 8634 * See the License for the specific language governing permissions 8635 * and limitations under the License. 8636 * 8637 * When distributing Covered Code, include this CDDL HEADER in each 8638 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8639 * If applicable, add the following below this CDDL HEADER, with the 8640 * fields enclosed by brackets "[]" replaced with your own identifying 8641 * information: Portions Copyright [yyyy] [name of copyright owner] 8642 * 8643 * CDDL HEADER END 8644 */ 8645 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8646 /* All Rights Reserved */ 8647 8648 8649 /* 8650 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8651 * Use is subject to license terms. 8652 * 8653 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8654 * Copyright 2016 Joyent, Inc. 8655 */ 8656 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 8657 8658 8659 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ 8660 8661 8662 8663 int si_signo; /* signal from signal.h */ 8664 int si_code; /* code from above */ 8665 int si_errno; /* error from errno.h */ 8666 8667 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 8668 8669 union { 8670 8671 int __pad[((256 / sizeof (int)) - 4)]; /* for future growth */ 8672 8673 struct { /* kill(), SIGCLD, siqqueue() */ 8674 pid_t __pid; /* process ID */ 8675 union { 8676 struct { 8677 uid_t __uid; 8678 8679 8680 union sigval __value; 8681 8682 8683 8684 } __kill; 8685 struct { 8686 clock_t __utime; 8687 int __status; 8688 clock_t __stime; 8689 } __cld; 8690 } __pdata; 8691 ctid_t __ctid; /* contract ID */ 8692 zoneid_t __zoneid; /* zone ID */ 8693 } __proc; 8694 8695 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 8696 void *__addr; /* faulting address */ 8697 int __trapno; /* illegal trap number */ 8698 caddr_t __pc; /* instruction address */ 8699 } __fault; 8700 8701 struct { /* SIGPOLL, SIGXFSZ */ 8702 /* fd not currently available for SIGPOLL */ 8703 int __fd; /* file descriptor */ 8704 long __band; 8705 } __file; 8706 8707 struct { /* SIGPROF */ 8708 caddr_t __faddr; /* last fault address */ 8709 8710 timestruc_t __tstamp; /* real time stamp */ 8711 8712 8713 8714 short __syscall; /* current syscall */ 8715 char __nsysarg; /* number of arguments */ 8716 char __fault; /* last fault type */ 8717 long __sysarg[8]; /* syscall arguments */ 8718 int __mstate[10]; /* see <sys/msacct.h> */ 8719 } __prof; 8720 8721 struct { /* SI_RCTL */ 8722 int32_t __entity; /* type of entity exceeding */ 8723 } __rctl; 8724 } __data; 8725 8726 } siginfo_t; 8727 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 8728 /* 8729 * XXX -- internal version is identical to siginfo_t but without the padding. 8730 * This must be maintained in sync with it. 8731 */ 8732 8733 8734 8735 typedef struct k_siginfo { 8736 int si_signo; /* signal from signal.h */ 8737 int si_code; /* code from above */ 8738 int si_errno; /* error from errno.h */ 8739 8740 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 8741 8742 union { 8743 struct { /* kill(), SIGCLD, siqqueue() */ 8744 pid_t __pid; /* process ID */ 8745 union { 8746 struct { 8747 uid_t __uid; 8748 union sigval __value; 8749 } __kill; 8750 struct { 8751 clock_t __utime; 8752 int __status; 8753 clock_t __stime; 8754 } __cld; 8755 } __pdata; 8756 ctid_t __ctid; /* contract ID */ 8757 zoneid_t __zoneid; /* zone ID */ 8758 } __proc; 8759 8760 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 8761 void *__addr; /* faulting address */ 8762 int __trapno; /* illegal trap number */ 8763 caddr_t __pc; /* instruction address */ 8764 } __fault; 8765 8766 struct { /* SIGPOLL, SIGXFSZ */ 8767 /* fd not currently available for SIGPOLL */ 8768 int __fd; /* file descriptor */ 8769 long __band; 8770 } __file; 8771 8772 struct { /* SIGPROF */ 8773 caddr_t __faddr; /* last fault address */ 8774 8775 8776 timestruc_t __tstamp; /* real time stamp */ 8777 8778 8779 8780 short __syscall; /* current syscall */ 8781 char __nsysarg; /* number of arguments */ 8782 char __fault; /* last fault type */ 8783 /* these are omitted to keep k_siginfo_t small */ 8784 /* long __sysarg[8]; */ 8785 /* int __mstate[10]; */ 8786 } __prof; 8787 8788 struct { /* SI_RCTL */ 8789 int32_t __entity; /* type of entity exceeding */ 8790 } __rctl; 8791 8792 } __data; 8793 8794 } k_siginfo_t; 8795 8796 typedef struct sigqueue { 8797 struct sigqueue *sq_next; 8798 k_siginfo_t sq_info; 8799 void (*sq_func)(struct sigqueue *); /* destructor function */ 8800 void *sq_backptr; /* pointer to the data structure */ 8801 /* associated by sq_func() */ 8802 int sq_external; /* comes from outside the contract */ 8803 } sigqueue_t; 8804 8805 /* indication whether to queue the signal or not */ 8806 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 8807 8808 8809 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */ 8810 8811 8812 8813 8814 8815 8816 8817 typedef struct { 8818 unsigned int __sigbits[3]; 8819 } k_sigset_t; 8820 8821 /* 8822 * The signal handler routine can have either one or three arguments. 8823 * Existing C code has used either form so not specifing the arguments 8824 * neatly finesses the problem. C++ doesn't accept this. To C++ 8825 * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would 8826 * specify this as "(*sa_handler)(void)"). One or the other form must be 8827 * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow 8828 * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" 8829 * can be used for the three argument form. 8830 */ 8831 8832 /* 8833 * Note: storage overlap by sa_handler and sa_sigaction 8834 */ 8835 struct sigaction { 8836 int sa_flags; 8837 union { 8838 8839 8840 8841 void (*_handler)(); 8842 8843 8844 8845 8846 void (*_sigaction)(int, siginfo_t *, void *); 8847 8848 } _funcptr; 8849 sigset_t sa_mask; 8850 8851 8852 8853 }; 8854 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8855 /* this is only valid for SIGCLD */ 8856 8857 8858 8859 8860 8861 8862 8863 /* non-conformant ANSI compilation */ 8864 8865 /* definitions for the sa_flags field */ 8866 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8867 /* this is only valid for SIGCLD */ 8868 8869 8870 8871 /* 8872 * use of these symbols by applications is injurious 8873 * to binary compatibility 8874 */ 8875 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8876 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */ 8877 8878 8879 8880 typedef struct sigaltstack { 8881 8882 8883 8884 void *ss_sp; 8885 size_t ss_size; 8886 int ss_flags; 8887 } stack_t; 8888 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8889 /* signotify id used only by libc for mq_notify()/aio_notify() */ 8890 typedef struct signotify_id { /* signotify id struct */ 8891 pid_t sn_pid; /* pid of proc to be notified */ 8892 int sn_index; /* index in preallocated pool */ 8893 int sn_pad; /* reserved */ 8894 } signotify_id_t; 8895 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 8896 /* Command codes for sig_notify call */ 8897 8898 8899 8900 8901 8902 8903 8904 /* Added as per XPG4v2 */ 8905 8906 8907 8908 struct sigstack { 8909 void *ss_sp; 8910 int ss_onstack; 8911 }; 8912 8913 8914 /* 8915 * For definition of ucontext_t; must follow struct definition 8916 * for sigset_t 8917 */ 8918 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 8919 8920 /* 8921 * Allow global visibility for symbols defined in 8922 * C++ "std" namespace in <iso/signal_iso.h>. 8923 */ 8924 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 8925 extern const char **_sys_siglistp; /* signal descriptions */ 8926 extern const int _sys_siglistn; /* # of signal descriptions */ 8927 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 8928 extern int kill(pid_t, int); 8929 extern int sigaction(int, const struct sigaction *, 8930 struct sigaction *); 8931 8932 extern int sigaddset(sigset_t *, int); 8933 extern int sigdelset(sigset_t *, int); 8934 extern int sigemptyset(sigset_t *); 8935 extern int sigfillset(sigset_t *); 8936 extern int sigismember(const sigset_t *, int); 8937 8938 extern int sigpending(sigset_t *); 8939 extern int sigprocmask(int, const sigset_t *, 8940 sigset_t *); 8941 extern int sigsuspend(const sigset_t *); 8942 8943 8944 8945 8946 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 8947 /* 8948 * CDDL HEADER START 8949 * 8950 * The contents of this file are subject to the terms of the 8951 * Common Development and Distribution License, Version 1.0 only 8952 * (the "License"). You may not use this file except in compliance 8953 * with the License. 8954 * 8955 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8956 * or http://www.opensolaris.org/os/licensing. 8957 * See the License for the specific language governing permissions 8958 * and limitations under the License. 8959 * 8960 * When distributing Covered Code, include this CDDL HEADER in each 8961 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8962 * If applicable, add the following below this CDDL HEADER, with the 8963 * fields enclosed by brackets "[]" replaced with your own identifying 8964 * information: Portions Copyright [yyyy] [name of copyright owner] 8965 * 8966 * CDDL HEADER END 8967 */ 8968 /* 8969 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 8970 * Use is subject to license terms. 8971 */ 8972 8973 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8974 /* All Rights Reserved */ 8975 8976 8977 8978 8979 8980 #pragma ident "%Z%%M% %I% %E% SMI" 8981 8982 8983 8984 8985 8986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8987 /* 8988 * CDDL HEADER START 8989 * 8990 * The contents of this file are subject to the terms of the 8991 * Common Development and Distribution License (the "License"). 8992 * You may not use this file except in compliance with the License. 8993 * 8994 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8995 * or http://www.opensolaris.org/os/licensing. 8996 * See the License for the specific language governing permissions 8997 * and limitations under the License. 8998 * 8999 * When distributing Covered Code, include this CDDL HEADER in each 9000 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9001 * If applicable, add the following below this CDDL HEADER, with the 9002 * fields enclosed by brackets "[]" replaced with your own identifying 9003 * information: Portions Copyright [yyyy] [name of copyright owner] 9004 * 9005 * CDDL HEADER END 9006 */ 9007 9008 /* 9009 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9010 * Copyright 2016 Joyent, Inc. 9011 * 9012 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9013 * Use is subject to license terms. 9014 */ 9015 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 9016 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9017 /* 9018 * CDDL HEADER START 9019 * 9020 * The contents of this file are subject to the terms of the 9021 * Common Development and Distribution License (the "License"). 9022 * You may not use this file except in compliance with the License. 9023 * 9024 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9025 * or http://www.opensolaris.org/os/licensing. 9026 * See the License for the specific language governing permissions 9027 * and limitations under the License. 9028 * 9029 * When distributing Covered Code, include this CDDL HEADER in each 9030 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9031 * If applicable, add the following below this CDDL HEADER, with the 9032 * fields enclosed by brackets "[]" replaced with your own identifying 9033 * information: Portions Copyright [yyyy] [name of copyright owner] 9034 * 9035 * CDDL HEADER END 9036 */ 9037 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9038 /* All Rights Reserved */ 9039 9040 9041 /* 9042 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9043 * Use is subject to license terms. 9044 * 9045 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9046 * Copyright 2016 Joyent, Inc. 9047 */ 9048 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 9049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 9050 /* 9051 * CDDL HEADER START 9052 * 9053 * The contents of this file are subject to the terms of the 9054 * Common Development and Distribution License (the "License"). 9055 * You may not use this file except in compliance with the License. 9056 * 9057 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9058 * or http://www.opensolaris.org/os/licensing. 9059 * See the License for the specific language governing permissions 9060 * and limitations under the License. 9061 * 9062 * When distributing Covered Code, include this CDDL HEADER in each 9063 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9064 * If applicable, add the following below this CDDL HEADER, with the 9065 * fields enclosed by brackets "[]" replaced with your own identifying 9066 * information: Portions Copyright [yyyy] [name of copyright owner] 9067 * 9068 * CDDL HEADER END 9069 */ 9070 9071 /* 9072 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9073 * Use is subject to license terms. 9074 */ 9075 9076 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9077 /* All Rights Reserved */ 9078 9079 /* 9080 * University Copyright- Copyright (c) 1982, 1986, 1988 9081 * The Regents of the University of California 9082 * All Rights Reserved 9083 * 9084 * University Acknowledgment- Portions of this document are derived from 9085 * software developed by the University of California, Berkeley, and its 9086 * contributors. 9087 */ 9088 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 9089 9090 /* 9091 * This file defines the data needed to specify a set of 9092 * processes. These types are used by the sigsend, sigsendset, 9093 * priocntl, priocntlset, waitid, evexit, and evexitset system 9094 * calls. 9095 */ 9096 9097 9098 9099 9100 9101 /* 9102 * The following defines the values for an identifier type. It 9103 * specifies the interpretation of an id value. An idtype and 9104 * id together define a simple set of processes. 9105 */ 9106 typedef enum 9107 9108 idtype /* pollutes XPG4.2 namespace */ 9109 9110 { 9111 P_PID, /* A process identifier. */ 9112 P_PPID, /* A parent process identifier. */ 9113 P_PGID, /* A process group (job control group) */ 9114 /* identifier. */ 9115 P_SID, /* A session identifier. */ 9116 P_CID, /* A scheduling class identifier. */ 9117 P_UID, /* A user identifier. */ 9118 P_GID, /* A group identifier. */ 9119 P_ALL, /* All processes. */ 9120 P_LWPID, /* An LWP identifier. */ 9121 P_TASKID, /* A task identifier. */ 9122 P_PROJID, /* A project identifier. */ 9123 P_POOLID, /* A pool identifier. */ 9124 P_ZONEID, /* A zone identifier. */ 9125 P_CTID, /* A (process) contract identifier. */ 9126 P_CPUID, /* CPU identifier. */ 9127 P_PSETID /* Processor set identifier */ 9128 } idtype_t; 9129 9130 9131 /* 9132 * The following defines the operations which can be performed to 9133 * combine two simple sets of processes to form another set of 9134 * processes. 9135 */ 9136 9137 typedef enum idop { 9138 POP_DIFF, /* Set difference. The processes which */ 9139 /* are in the left operand set and not */ 9140 /* in the right operand set. */ 9141 POP_AND, /* Set disjunction. The processes */ 9142 /* which are in both the left and right */ 9143 /* operand sets. */ 9144 POP_OR, /* Set conjunction. The processes */ 9145 /* which are in either the left or the */ 9146 /* right operand sets (or both). */ 9147 POP_XOR /* Set exclusive or. The processes */ 9148 /* which are in either the left or */ 9149 /* right operand sets but not in both. */ 9150 } idop_t; 9151 9152 9153 /* 9154 * The following structure is used to define a set of processes. 9155 * The set is defined in terms of two simple sets of processes 9156 * and an operator which operates on these two operand sets. 9157 */ 9158 typedef struct procset { 9159 idop_t p_op; /* The operator connection the */ 9160 /* following two operands each */ 9161 /* of which is a simple set of */ 9162 /* processes. */ 9163 9164 idtype_t p_lidtype; 9165 /* The type of the left operand */ 9166 /* simple set. */ 9167 id_t p_lid; /* The id of the left operand. */ 9168 9169 idtype_t p_ridtype; 9170 /* The type of the right */ 9171 /* operand simple set. */ 9172 id_t p_rid; /* The id of the right operand. */ 9173 } procset_t; 9174 9175 /* 9176 * The following macro can be used to initialize a procset_t 9177 * structure. 9178 */ 9179 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9180 extern int gsignal(int); 9181 extern int (*ssignal(int, int (*)(int)))(int); 9182 extern int sigsend(idtype_t, id_t, int); 9183 extern int sigsendset(const procset_t *, int); 9184 extern int sig2str(int, char *); 9185 extern int str2sig(const char *, int *); 9186 9187 9188 9189 9190 9191 extern void (*bsd_signal(int, void (*)(int)))(int); 9192 extern int killpg(pid_t, int); 9193 extern int siginterrupt(int, int); 9194 extern int sigaltstack(const stack_t *, stack_t *); 9195 extern int sighold(int); 9196 extern int sigignore(int); 9197 extern int sigpause(int); 9198 extern int sigrelse(int); 9199 extern void (*sigset(int, void (*)(int)))(int); 9200 9201 9202 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 9203 9204 9205 9206 extern int sigstack(struct sigstack *, struct sigstack *); 9207 9208 9209 9210 9211 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 9212 /* 9213 * CDDL HEADER START 9214 * 9215 * The contents of this file are subject to the terms of the 9216 * Common Development and Distribution License, Version 1.0 only 9217 * (the "License"). You may not use this file except in compliance 9218 * with the License. 9219 * 9220 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9221 * or http://www.opensolaris.org/os/licensing. 9222 * See the License for the specific language governing permissions 9223 * and limitations under the License. 9224 * 9225 * When distributing Covered Code, include this CDDL HEADER in each 9226 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9227 * If applicable, add the following below this CDDL HEADER, with the 9228 * fields enclosed by brackets "[]" replaced with your own identifying 9229 * information: Portions Copyright [yyyy] [name of copyright owner] 9230 * 9231 * CDDL HEADER END 9232 */ 9233 /* 9234 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9235 * Use is subject to license terms. 9236 */ 9237 9238 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9239 /* All Rights Reserved */ 9240 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 9242 /* 9243 * CDDL HEADER START 9244 * 9245 * The contents of this file are subject to the terms of the 9246 * Common Development and Distribution License (the "License"). 9247 * You may not use this file except in compliance with the License. 9248 * 9249 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9250 * or http://www.opensolaris.org/os/licensing. 9251 * See the License for the specific language governing permissions 9252 * and limitations under the License. 9253 * 9254 * When distributing Covered Code, include this CDDL HEADER in each 9255 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9256 * If applicable, add the following below this CDDL HEADER, with the 9257 * fields enclosed by brackets "[]" replaced with your own identifying 9258 * information: Portions Copyright [yyyy] [name of copyright owner] 9259 * 9260 * CDDL HEADER END 9261 */ 9262 /* Copyright (c) 1988 AT&T */ 9263 /* All Rights Reserved */ 9264 9265 9266 /* 9267 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9268 * 9269 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 9270 * Use is subject to license terms. 9271 */ 9272 /* 9273 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 9274 * Copyright 2016 Joyent, Inc. 9275 */ 9276 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9277 extern int pthread_kill(pthread_t, int); 9278 extern int pthread_sigmask(int, const sigset_t *, 9279 sigset_t *); 9280 extern int sigwaitinfo(const sigset_t *, 9281 siginfo_t *); 9282 extern int sigtimedwait(const sigset_t *, 9283 siginfo_t *, const struct timespec *); 9284 extern int sigqueue(pid_t, int, const union sigval); 9285 9286 9287 /* 9288 * sigwait() prototype is defined here. 9289 */ 9290 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 9291 extern int sigwait(sigset_t *); 9292 # 67 "../common/zones_utils.c" 2 9293 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 1 9294 /* 9295 * CDDL HEADER START 9296 * 9297 * The contents of this file are subject to the terms of the 9298 * Common Development and Distribution License, Version 1.0 only 9299 * (the "License"). You may not use this file except in compliance 9300 * with the License. 9301 * 9302 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9303 * or http://www.opensolaris.org/os/licensing. 9304 * See the License for the specific language governing permissions 9305 * and limitations under the License. 9306 * 9307 * When distributing Covered Code, include this CDDL HEADER in each 9308 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9309 * If applicable, add the following below this CDDL HEADER, with the 9310 * fields enclosed by brackets "[]" replaced with your own identifying 9311 * information: Portions Copyright [yyyy] [name of copyright owner] 9312 * 9313 * CDDL HEADER END 9314 */ 9315 /* Copyright (c) 1988 AT&T */ 9316 /* All Rights Reserved */ 9317 9318 /* 9319 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9320 * 9321 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 9322 * Use is subject to license terms. 9323 */ 9324 9325 9326 9327 9328 /* 9329 * Streams user options definitions. 9330 */ 9331 9332 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9333 /* 9334 * CDDL HEADER START 9335 * 9336 * The contents of this file are subject to the terms of the 9337 * Common Development and Distribution License (the "License"). 9338 * You may not use this file except in compliance with the License. 9339 * 9340 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9341 * or http://www.opensolaris.org/os/licensing. 9342 * See the License for the specific language governing permissions 9343 * and limitations under the License. 9344 * 9345 * When distributing Covered Code, include this CDDL HEADER in each 9346 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9347 * If applicable, add the following below this CDDL HEADER, with the 9348 * fields enclosed by brackets "[]" replaced with your own identifying 9349 * information: Portions Copyright [yyyy] [name of copyright owner] 9350 * 9351 * CDDL HEADER END 9352 */ 9353 9354 /* 9355 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9356 * Copyright 2016 Joyent, Inc. 9357 * 9358 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9359 * Use is subject to license terms. 9360 */ 9361 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 9362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 1 9363 /* 9364 * CDDL HEADER START 9365 * 9366 * The contents of this file are subject to the terms of the 9367 * Common Development and Distribution License (the "License"). 9368 * You may not use this file except in compliance with the License. 9369 * 9370 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9371 * or http://www.opensolaris.org/os/licensing. 9372 * See the License for the specific language governing permissions 9373 * and limitations under the License. 9374 * 9375 * When distributing Covered Code, include this CDDL HEADER in each 9376 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9377 * If applicable, add the following below this CDDL HEADER, with the 9378 * fields enclosed by brackets "[]" replaced with your own identifying 9379 * information: Portions Copyright [yyyy] [name of copyright owner] 9380 * 9381 * CDDL HEADER END 9382 */ 9383 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9384 /* All Rights Reserved */ 9385 9386 9387 /* 9388 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 9389 * Use is subject to license terms. 9390 */ 9391 9392 9393 9394 9395 #pragma ident "%Z%%M% %I% %E% SMI" 9396 9397 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9398 /* 9399 * CDDL HEADER START 9400 * 9401 * The contents of this file are subject to the terms of the 9402 * Common Development and Distribution License (the "License"). 9403 * You may not use this file except in compliance with the License. 9404 * 9405 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9406 * or http://www.opensolaris.org/os/licensing. 9407 * See the License for the specific language governing permissions 9408 * and limitations under the License. 9409 * 9410 * When distributing Covered Code, include this CDDL HEADER in each 9411 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9412 * If applicable, add the following below this CDDL HEADER, with the 9413 * fields enclosed by brackets "[]" replaced with your own identifying 9414 * information: Portions Copyright [yyyy] [name of copyright owner] 9415 * 9416 * CDDL HEADER END 9417 */ 9418 9419 /* 9420 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9421 * Copyright 2016 Joyent, Inc. 9422 * 9423 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9424 * Use is subject to license terms. 9425 */ 9426 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 9427 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9428 /* 9429 * CDDL HEADER START 9430 * 9431 * The contents of this file are subject to the terms of the 9432 * Common Development and Distribution License (the "License"). 9433 * You may not use this file except in compliance with the License. 9434 * 9435 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9436 * or http://www.opensolaris.org/os/licensing. 9437 * See the License for the specific language governing permissions 9438 * and limitations under the License. 9439 * 9440 * When distributing Covered Code, include this CDDL HEADER in each 9441 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9442 * If applicable, add the following below this CDDL HEADER, with the 9443 * fields enclosed by brackets "[]" replaced with your own identifying 9444 * information: Portions Copyright [yyyy] [name of copyright owner] 9445 * 9446 * CDDL HEADER END 9447 */ 9448 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9449 /* All Rights Reserved */ 9450 9451 9452 /* 9453 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9454 * Use is subject to license terms. 9455 * 9456 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9457 * Copyright 2016 Joyent, Inc. 9458 */ 9459 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 9460 /* 9461 * For FMNAMESZ define. 9462 */ 9463 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 1 9464 /* 9465 * CDDL HEADER START 9466 * 9467 * The contents of this file are subject to the terms of the 9468 * Common Development and Distribution License (the "License"). 9469 * You may not use this file except in compliance with the License. 9470 * 9471 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9472 * or http://www.opensolaris.org/os/licensing. 9473 * See the License for the specific language governing permissions 9474 * and limitations under the License. 9475 * 9476 * When distributing Covered Code, include this CDDL HEADER in each 9477 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9478 * If applicable, add the following below this CDDL HEADER, with the 9479 * fields enclosed by brackets "[]" replaced with your own identifying 9480 * information: Portions Copyright [yyyy] [name of copyright owner] 9481 * 9482 * CDDL HEADER END 9483 */ 9484 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9485 /* All Rights Reserved */ 9486 9487 /* 9488 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9489 * Use is subject to license terms. 9490 */ 9491 9492 9493 9494 9495 9496 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9497 /* 9498 * CDDL HEADER START 9499 * 9500 * The contents of this file are subject to the terms of the 9501 * Common Development and Distribution License (the "License"). 9502 * You may not use this file except in compliance with the License. 9503 * 9504 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9505 * or http://www.opensolaris.org/os/licensing. 9506 * See the License for the specific language governing permissions 9507 * and limitations under the License. 9508 * 9509 * When distributing Covered Code, include this CDDL HEADER in each 9510 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9511 * If applicable, add the following below this CDDL HEADER, with the 9512 * fields enclosed by brackets "[]" replaced with your own identifying 9513 * information: Portions Copyright [yyyy] [name of copyright owner] 9514 * 9515 * CDDL HEADER END 9516 */ 9517 9518 /* 9519 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9520 * Copyright 2016 Joyent, Inc. 9521 * 9522 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9523 * Use is subject to license terms. 9524 */ 9525 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 9526 9527 9528 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 9529 /* 9530 * CDDL HEADER START 9531 * 9532 * The contents of this file are subject to the terms of the 9533 * Common Development and Distribution License, Version 1.0 only 9534 * (the "License"). You may not use this file except in compliance 9535 * with the License. 9536 * 9537 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9538 * or http://www.opensolaris.org/os/licensing. 9539 * See the License for the specific language governing permissions 9540 * and limitations under the License. 9541 * 9542 * When distributing Covered Code, include this CDDL HEADER in each 9543 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9544 * If applicable, add the following below this CDDL HEADER, with the 9545 * fields enclosed by brackets "[]" replaced with your own identifying 9546 * information: Portions Copyright [yyyy] [name of copyright owner] 9547 * 9548 * CDDL HEADER END 9549 */ 9550 /* 9551 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 9552 * All rights reserved. 9553 */ 9554 9555 /* 9556 * t_lock.h: Prototypes for disp_locks, plus include files 9557 * that describe the interfaces to kernel synch. 9558 * objects. 9559 */ 9560 9561 9562 9563 9564 #pragma ident "%Z%%M% %I% %E% SMI" 9565 9566 9567 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 9568 /* 9569 * CDDL HEADER START 9570 * 9571 * The contents of this file are subject to the terms of the 9572 * Common Development and Distribution License (the "License"). 9573 * You may not use this file except in compliance with the License. 9574 * 9575 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9576 * or http://www.opensolaris.org/os/licensing. 9577 * See the License for the specific language governing permissions 9578 * and limitations under the License. 9579 * 9580 * When distributing Covered Code, include this CDDL HEADER in each 9581 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9582 * If applicable, add the following below this CDDL HEADER, with the 9583 * fields enclosed by brackets "[]" replaced with your own identifying 9584 * information: Portions Copyright [yyyy] [name of copyright owner] 9585 * 9586 * CDDL HEADER END 9587 */ 9588 /* 9589 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 9590 * Use is subject to license terms. 9591 * Copyright 2016 Joyent, Inc. 9592 */ 9593 9594 9595 9596 9597 #pragma ident "%Z%%M% %I% %E% SMI" 9598 9599 9600 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9601 /* 9602 * CDDL HEADER START 9603 * 9604 * The contents of this file are subject to the terms of the 9605 * Common Development and Distribution License (the "License"). 9606 * You may not use this file except in compliance with the License. 9607 * 9608 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9609 * or http://www.opensolaris.org/os/licensing. 9610 * See the License for the specific language governing permissions 9611 * and limitations under the License. 9612 * 9613 * When distributing Covered Code, include this CDDL HEADER in each 9614 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9615 * If applicable, add the following below this CDDL HEADER, with the 9616 * fields enclosed by brackets "[]" replaced with your own identifying 9617 * information: Portions Copyright [yyyy] [name of copyright owner] 9618 * 9619 * CDDL HEADER END 9620 */ 9621 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9622 /* All Rights Reserved */ 9623 9624 9625 /* 9626 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9627 * Use is subject to license terms. 9628 * 9629 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9630 * Copyright 2016 Joyent, Inc. 9631 */ 9632 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 9633 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 9634 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9635 /* All Rights Reserved */ 9636 9637 9638 /* 9639 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 9640 * All rights reserved. The Berkeley software License Agreement 9641 * specifies the terms and conditions for redistribution. 9642 */ 9643 9644 /* 9645 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9646 * 9647 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9648 * Use is subject to license terms. 9649 * 9650 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9651 */ 9652 9653 /* 9654 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 9655 */ 9656 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 9657 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 9658 typedef lock_t disp_lock_t; /* dispatcher lock type */ 9659 9660 /* 9661 * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or 9662 * an adaptive mutex, depending on what interrupt levels use it. 9663 */ 9664 9665 9666 /* 9667 * Macro to control loops which spin on a lock and then check state 9668 * periodically. Its passed an integer, and returns a boolean value 9669 * that if true indicates its a good time to get the scheduler lock and 9670 * check the state of the current owner of the lock. 9671 */ 9672 9673 9674 /* 9675 * Externs for CLOCK_LOCK and clock resolution 9676 */ 9677 extern volatile uint32_t hres_lock; 9678 extern hrtime_t hrtime_base; 9679 extern int clock_res; 9680 9681 9682 9683 /* 9684 * The definitions of the symbolic interrupt levels: 9685 * 9686 * CLOCK_LEVEL => The level at which one must be to block the clock. 9687 * 9688 * LOCK_LEVEL => The highest level at which one may block (and thus the 9689 * highest level at which one may acquire adaptive locks) 9690 * Also the highest level at which one may be preempted. 9691 * 9692 * DISP_LEVEL => The level at which one must be to perform dispatcher 9693 * operations. 9694 * 9695 * The constraints on the platform: 9696 * 9697 * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL 9698 * - LOCK_LEVEL must be less than DISP_LEVEL 9699 * - DISP_LEVEL should be as close to LOCK_LEVEL as possible 9700 * 9701 * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; 9702 * changing this relationship is probably possible but not advised. 9703 * 9704 */ 9705 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 9706 /* 9707 * The following mask is for the cpu_intr_actv bits corresponding to 9708 * high-level PILs. It should equal: 9709 * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) 9710 */ 9711 9712 9713 /* 9714 * The semaphore code depends on being able to represent a lock plus 9715 * owner in a single 32-bit word. (Mutexes used to have a similar 9716 * dependency, but no longer.) Thus the owner must contain at most 9717 * 24 significant bits. At present only threads and semaphores 9718 * must be aware of this vile constraint. Different ISAs may handle this 9719 * differently depending on their capabilities (e.g. compare-and-swap) 9720 * and limitations (e.g. constraints on alignment and/or KERNELBASE). 9721 */ 9722 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 9723 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 9724 /* 9725 * CDDL HEADER START 9726 * 9727 * The contents of this file are subject to the terms of the 9728 * Common Development and Distribution License (the "License"). 9729 * You may not use this file except in compliance with the License. 9730 * 9731 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9732 * or http://www.opensolaris.org/os/licensing. 9733 * See the License for the specific language governing permissions 9734 * and limitations under the License. 9735 * 9736 * When distributing Covered Code, include this CDDL HEADER in each 9737 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9738 * If applicable, add the following below this CDDL HEADER, with the 9739 * fields enclosed by brackets "[]" replaced with your own identifying 9740 * information: Portions Copyright [yyyy] [name of copyright owner] 9741 * 9742 * CDDL HEADER END 9743 */ 9744 9745 /* 9746 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 9747 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 9748 */ 9749 9750 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 9751 /* All Rights Reserved */ 9752 9753 /* 9754 * University Copyright- Copyright (c) 1982, 1986, 1988 9755 * The Regents of the University of California 9756 * All Rights Reserved 9757 * 9758 * University Acknowledgment- Portions of this document are derived from 9759 * software developed by the University of California, Berkeley, and its 9760 * contributors. 9761 */ 9762 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 9763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 9764 /* 9765 * CDDL HEADER START 9766 * 9767 * The contents of this file are subject to the terms of the 9768 * Common Development and Distribution License (the "License"). 9769 * You may not use this file except in compliance with the License. 9770 * 9771 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9772 * or http://www.opensolaris.org/os/licensing. 9773 * See the License for the specific language governing permissions 9774 * and limitations under the License. 9775 * 9776 * When distributing Covered Code, include this CDDL HEADER in each 9777 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9778 * If applicable, add the following below this CDDL HEADER, with the 9779 * fields enclosed by brackets "[]" replaced with your own identifying 9780 * information: Portions Copyright [yyyy] [name of copyright owner] 9781 * 9782 * CDDL HEADER END 9783 */ 9784 /* 9785 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 9786 */ 9787 9788 9789 9790 9791 9792 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9793 /* 9794 * CDDL HEADER START 9795 * 9796 * The contents of this file are subject to the terms of the 9797 * Common Development and Distribution License (the "License"). 9798 * You may not use this file except in compliance with the License. 9799 * 9800 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9801 * or http://www.opensolaris.org/os/licensing. 9802 * See the License for the specific language governing permissions 9803 * and limitations under the License. 9804 * 9805 * When distributing Covered Code, include this CDDL HEADER in each 9806 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9807 * If applicable, add the following below this CDDL HEADER, with the 9808 * fields enclosed by brackets "[]" replaced with your own identifying 9809 * information: Portions Copyright [yyyy] [name of copyright owner] 9810 * 9811 * CDDL HEADER END 9812 */ 9813 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9814 /* All Rights Reserved */ 9815 9816 9817 /* 9818 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9819 * Use is subject to license terms. 9820 * 9821 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9822 * Copyright 2016 Joyent, Inc. 9823 */ 9824 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 9825 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 9826 /* 9827 * Public interface to mutual exclusion locks. See mutex(9F) for details. 9828 * 9829 * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used 9830 * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking 9831 * and must be used in interrupt handlers above LOCK_LEVEL. The iblock 9832 * cookie argument to mutex_init() encodes the interrupt level to block. 9833 * The iblock cookie must be NULL for adaptive locks. 9834 * 9835 * MUTEX_DEFAULT is the type usually specified (except in drivers) to 9836 * mutex_init(). It is identical to MUTEX_ADAPTIVE. 9837 * 9838 * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to 9839 * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. 9840 * 9841 * Mutex statistics can be gathered on the fly, without rebooting or 9842 * recompiling the kernel, via the lockstat driver (lockstat(7D)). 9843 */ 9844 typedef enum { 9845 MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ 9846 MUTEX_SPIN = 1, /* block interrupts and spin */ 9847 MUTEX_DRIVER = 4, /* driver (DDI) mutex */ 9848 MUTEX_DEFAULT = 6 /* kernel default mutex */ 9849 } kmutex_type_t; 9850 9851 typedef struct mutex { 9852 9853 void *_opaque[1]; 9854 9855 9856 9857 } kmutex_t; 9858 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 9859 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 9860 /* 9861 * CDDL HEADER START 9862 * 9863 * The contents of this file are subject to the terms of the 9864 * Common Development and Distribution License (the "License"). 9865 * You may not use this file except in compliance with the License. 9866 * 9867 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9868 * or http://www.opensolaris.org/os/licensing. 9869 * See the License for the specific language governing permissions 9870 * and limitations under the License. 9871 * 9872 * When distributing Covered Code, include this CDDL HEADER in each 9873 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9874 * If applicable, add the following below this CDDL HEADER, with the 9875 * fields enclosed by brackets "[]" replaced with your own identifying 9876 * information: Portions Copyright [yyyy] [name of copyright owner] 9877 * 9878 * CDDL HEADER END 9879 */ 9880 /* 9881 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 9882 * Use is subject to license terms. 9883 */ 9884 9885 /* 9886 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 9887 */ 9888 9889 9890 9891 9892 /* 9893 * Public interface to readers/writer locks. See rwlock(9F) for details. 9894 */ 9895 9896 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9897 /* 9898 * CDDL HEADER START 9899 * 9900 * The contents of this file are subject to the terms of the 9901 * Common Development and Distribution License (the "License"). 9902 * You may not use this file except in compliance with the License. 9903 * 9904 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9905 * or http://www.opensolaris.org/os/licensing. 9906 * See the License for the specific language governing permissions 9907 * and limitations under the License. 9908 * 9909 * When distributing Covered Code, include this CDDL HEADER in each 9910 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9911 * If applicable, add the following below this CDDL HEADER, with the 9912 * fields enclosed by brackets "[]" replaced with your own identifying 9913 * information: Portions Copyright [yyyy] [name of copyright owner] 9914 * 9915 * CDDL HEADER END 9916 */ 9917 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9918 /* All Rights Reserved */ 9919 9920 9921 /* 9922 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9923 * Use is subject to license terms. 9924 * 9925 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9926 * Copyright 2016 Joyent, Inc. 9927 */ 9928 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 9929 9930 9931 9932 9933 9934 9935 9936 typedef enum { 9937 RW_DRIVER = 2, /* driver (DDI) rwlock */ 9938 RW_DEFAULT = 4 /* kernel default rwlock */ 9939 } krw_type_t; 9940 9941 typedef enum { 9942 RW_WRITER, 9943 RW_READER, 9944 RW_READER_STARVEWRITER 9945 } krw_t; 9946 9947 typedef struct _krwlock { 9948 void *_opaque[1]; 9949 } krwlock_t; 9950 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 9951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 9952 /* 9953 * CDDL HEADER START 9954 * 9955 * The contents of this file are subject to the terms of the 9956 * Common Development and Distribution License, Version 1.0 only 9957 * (the "License"). You may not use this file except in compliance 9958 * with the License. 9959 * 9960 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9961 * or http://www.opensolaris.org/os/licensing. 9962 * See the License for the specific language governing permissions 9963 * and limitations under the License. 9964 * 9965 * When distributing Covered Code, include this CDDL HEADER in each 9966 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9967 * If applicable, add the following below this CDDL HEADER, with the 9968 * fields enclosed by brackets "[]" replaced with your own identifying 9969 * information: Portions Copyright [yyyy] [name of copyright owner] 9970 * 9971 * CDDL HEADER END 9972 */ 9973 /* 9974 * Copyright (c) 1993-1998 by Sun Microsystems, Inc. 9975 * All rights reserved. 9976 */ 9977 9978 9979 9980 9981 #pragma ident "%Z%%M% %I% %E% SMI" 9982 9983 /* 9984 * Public interface to semaphores. See semaphore(9F) for details. 9985 */ 9986 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 9987 typedef enum { 9988 SEMA_DEFAULT, 9989 SEMA_DRIVER 9990 } ksema_type_t; 9991 9992 typedef struct _ksema { 9993 void * _opaque[2]; /* 2 words on 4 byte alignment */ 9994 } ksema_t; 9995 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 9996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.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 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10019 * Use is subject to license terms. 10020 */ 10021 10022 /* 10023 * Copyright (c) 2012 by Delphix. All rights reserved. 10024 */ 10025 10026 /* 10027 * condvar.h: 10028 * 10029 * definitions for thread synchronization primitives: condition variables 10030 * This is the public part of the interface to condition variables. The 10031 * private (implementation-specific) part is in <arch>/sys/condvar_impl.h. 10032 */ 10033 10034 10035 10036 10037 10038 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10039 /* 10040 * CDDL HEADER START 10041 * 10042 * The contents of this file are subject to the terms of the 10043 * Common Development and Distribution License (the "License"). 10044 * You may not use this file except in compliance with the License. 10045 * 10046 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10047 * or http://www.opensolaris.org/os/licensing. 10048 * See the License for the specific language governing permissions 10049 * and limitations under the License. 10050 * 10051 * When distributing Covered Code, include this CDDL HEADER in each 10052 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10053 * If applicable, add the following below this CDDL HEADER, with the 10054 * fields enclosed by brackets "[]" replaced with your own identifying 10055 * information: Portions Copyright [yyyy] [name of copyright owner] 10056 * 10057 * CDDL HEADER END 10058 */ 10059 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10060 /* All Rights Reserved */ 10061 10062 10063 /* 10064 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10065 * Use is subject to license terms. 10066 * 10067 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10068 * Copyright 2016 Joyent, Inc. 10069 */ 10070 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 10071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 10072 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10073 /* All Rights Reserved */ 10074 10075 10076 /* 10077 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 10078 * All rights reserved. The Berkeley software License Agreement 10079 * specifies the terms and conditions for redistribution. 10080 */ 10081 10082 /* 10083 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10084 * 10085 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10086 * Use is subject to license terms. 10087 * 10088 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10089 */ 10090 10091 /* 10092 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 10093 */ 10094 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 10095 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 10096 /* 10097 * Condtion variables. 10098 */ 10099 10100 typedef struct _kcondvar { 10101 ushort_t _opaque; 10102 } kcondvar_t; 10103 10104 typedef enum { 10105 CV_DEFAULT, 10106 CV_DRIVER 10107 } kcv_type_t; 10108 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 10109 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 10110 /* 10111 * Mutual exclusion locks described in common/sys/mutex.h. 10112 * 10113 * Semaphores described in common/sys/semaphore.h. 10114 * 10115 * Readers/Writer locks described in common/sys/rwlock.h. 10116 * 10117 * Condition variables described in common/sys/condvar.h 10118 */ 10119 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 10120 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 10121 /* 10122 * Device flags. 10123 * 10124 * Bit 0 to bit 15 are reserved for kernel. 10125 * Bit 16 to bit 31 are reserved for different machines. 10126 */ 10127 10128 10129 10130 10131 10132 /* 10133 * MT-safety level (in DDI portion of flags). 10134 * 10135 * All drivers must be MT-safe, and must advertise this by specifying D_MP. 10136 * 10137 * The remainder of the flags apply only to STREAMS modules and drivers. 10138 * 10139 * A STREAMS driver or module can optionally select inner and outer perimeters. 10140 * The four mutually exclusive options that define the presence and scope 10141 * of the inner perimeter are: 10142 * D_MTPERMOD - per module single threaded. 10143 * D_MTQPAIR - per queue-pair single threaded. 10144 * D_MTPERQ - per queue instance single threaded. 10145 * (none of the above) - no inner perimeter restricting concurrency 10146 * 10147 * The presence of the outer perimeter is declared with: 10148 * D_MTOUTPERIM - a per-module outer perimeter. Can be combined with 10149 * D_MTPERQ, D_MTQPAIR, and D_MP. 10150 * 10151 * The concurrency when entering the different STREAMS entry points can be 10152 * modified with: 10153 * D_MTPUTSHARED - modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 10154 * specifying that the put procedures should not be 10155 * single-threaded at the inner perimeter. 10156 * _D_MTOCSHARED - EXPERIMENTAL - will be removed in a future release. 10157 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 10158 * specifying that the open and close procedures should not be 10159 * single-threaded at the inner perimeter. 10160 * _D_MTCBSHARED - EXPERIMENTAL - will be removed in a future release. 10161 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 10162 * specifying that the callback i.e qtimeout() procedures should 10163 * not be single-threaded at the inner perimeter. 10164 * _D_MTSVCSHARED - EXPERIMENTAL - will be removed in a future release. 10165 * Modifier for D_MTPERMOD only. Specifies that the service 10166 * procedure should not be single-threaded at the inner perimeter. 10167 * However only a single instance of the service thread can run on 10168 * any given queue. 10169 * D_MTOCEXCL - modifier for D_MTOUTPERIM specifying that the open and 10170 * close procedures should be single-threaded at the outer 10171 * perimeter. 10172 */ 10173 10174 10175 10176 /* 0x100 - see below */ 10177 /* 0x200 - see below */ 10178 /* 0x400 - see below */ 10179 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 10180 /* The inner perimeter scope bits */ 10181 10182 10183 /* Inner perimeter modification bits */ 10184 10185 10186 10187 /* Outer perimeter modification bits */ 10188 10189 10190 /* All the MT flags */ 10191 # 212 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 10192 /* extended qinit structure */ 10193 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 10194 10195 10196 10197 10198 10199 /* 10200 * Write options 10201 */ 10202 10203 10204 /* putmsg if sd_werror is set */ 10205 10206 /* 10207 * Read options 10208 */ 10209 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10210 /* 10211 * These next three read options are added for the sake of 10212 * user-level transparency. RPROTDAT will cause the stream head 10213 * to treat the contents of M_PROTO and M_PCPROTO message blocks 10214 * as data. RPROTDIS will prevent the stream head from failing 10215 * a read with EBADMSG if an M_PROTO or M_PCPROTO message is on 10216 * the front of the stream head read queue. Rather, the protocol 10217 * blocks will be silently discarded and the data associated with 10218 * the message (in linked M_DATA blocks), if any, will be delivered 10219 * to the user. RPROTNORM sets the default behavior, where read 10220 * will fail with EBADMSG if an M_PROTO or M_PCPROTO are at the 10221 * stream head. 10222 */ 10223 10224 10225 /* read data portion */ 10226 10227 10228 10229 10230 10231 /* 10232 * The next read option is used so that a TPI aware module can tell the 10233 * stream head to not flush M_PCPROTO messages when processing a read side 10234 * flush. This will avoid problems where a flush removes a T_OK_ACK. 10235 */ 10236 10237 10238 10239 10240 10241 10242 /* 10243 * Error options 10244 */ 10245 10246 /* 10247 * Error options to adjust the stream head error behavior with respect 10248 * to M_ERROR message for read and write side errors respectively. 10249 * The normal case is that the read/write side error is 10250 * persistent and these options allow the application or streams module/driver 10251 * to specify that errors are nonpersistent. In this case the error is cleared 10252 * after having been returned to read(), getmsg(), ioctl(), write(), putmsg(), 10253 * etc. 10254 */ 10255 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10256 /* 10257 * Flush options 10258 */ 10259 10260 10261 10262 10263 10264 /* in next byte */ 10265 /* 10266 * Copy options for M_SETOPS/SO_COPYOPT 10267 */ 10268 10269 10270 /* pages instead of bcopy */ 10271 10272 10273 10274 10275 /* 10276 * Events for which the SIGPOLL signal is to be sent. 10277 */ 10278 # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10279 /* SIGURG instead of SIGPOLL */ 10280 10281 /* 10282 * Flags for getmsg() and putmsg() syscall arguments. 10283 * "RS" stands for recv/send. The system calls were originally called 10284 * recv() and send(), but were renamed to avoid confusion with the BSD 10285 * calls of the same name. A value of zero will cause getmsg() to return 10286 * the first message on the stream head read queue and putmsg() to send 10287 * a normal priority message. 10288 * 10289 * Flags for strmakemsg() arguments (should define strmakemsg() flags). 10290 * Used to determine the message type of the control part of a message, 10291 * if RS_HIPRI, M_PCPROTO, else M_PROTO. 10292 */ 10293 10294 10295 10296 10297 /* 10298 * Flags for getpmsg() and putpmsg() syscall arguments. 10299 */ 10300 10301 /* 10302 * These are settable by the user and will be set on return 10303 * to indicate the priority of message received. 10304 */ 10305 10306 10307 10308 10309 /* 10310 * This is a private flag passed by libc to kernel to 10311 * identify that it is a XPG4_2 application. No 10312 * applications need to know about this flag. 10313 */ 10314 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10315 /* 10316 * Flags returned as value of getmsg() and getpmsg() syscall. 10317 */ 10318 10319 10320 10321 /* 10322 * Define to indicate that all multiplexors beneath a stream should 10323 * be unlinked. 10324 */ 10325 10326 10327 /* 10328 * Flag definitions for the I_ATMARK ioctl. 10329 */ 10330 10331 10332 10333 /* 10334 * Stream Ioctl defines 10335 */ 10336 10337 /* (STR|000) in use */ 10338 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10339 /* (STR|016) in use */ 10340 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10341 /* 10342 * IOCTLs (STR|050) - (STR|055) are available for use. 10343 */ 10344 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10345 /* 10346 * User level ioctl format for ioctls that go downstream (I_STR) 10347 */ 10348 struct strioctl { 10349 int ic_cmd; /* command */ 10350 int ic_timout; /* timeout value */ 10351 int ic_len; /* length of data */ 10352 char *ic_dp; /* pointer to data */ 10353 }; 10354 # 308 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10355 /* 10356 * Value for timeouts (ioctl, select) that denotes infinity 10357 */ 10358 10359 10360 10361 10362 10363 10364 /* 10365 * For _I_CMD: similar to strioctl, but with included buffer (to avoid copyin/ 10366 * copyout from another address space). NOTE: the size of this structure must 10367 * be less than libproc.h`MAXARGL for pr_ioctl() to handle it. 10368 */ 10369 10370 typedef struct strcmd { 10371 int sc_cmd; /* ioctl command */ 10372 int sc_timeout; /* timeout value (in seconds) */ 10373 int sc_len; /* length of data */ 10374 int sc_pad; 10375 char sc_buf[2048]; /* data buffer */ 10376 } strcmd_t; 10377 10378 10379 /* 10380 * Stream buffer structure for putmsg and getmsg system calls 10381 */ 10382 struct strbuf { 10383 int maxlen; /* no. of bytes in buffer */ 10384 int len; /* no. of bytes returned */ 10385 caddr_t buf; /* pointer to data */ 10386 }; 10387 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10388 /* 10389 * Stream I_PEEK ioctl format 10390 */ 10391 struct strpeek { 10392 struct strbuf ctlbuf; 10393 struct strbuf databuf; 10394 t_uscalar_t flags; 10395 }; 10396 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10397 /* 10398 * Stream I_FDINSERT ioctl format 10399 */ 10400 struct strfdinsert { 10401 struct strbuf ctlbuf; 10402 struct strbuf databuf; 10403 t_uscalar_t flags; 10404 int fildes; 10405 int offset; 10406 }; 10407 # 392 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10408 /* 10409 * Receive file descriptor structure 10410 */ 10411 # 426 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10412 struct strrecvfd { 10413 int fd; 10414 uid_t uid; 10415 gid_t gid; 10416 10417 10418 10419 char fill[8]; 10420 10421 }; 10422 10423 10424 /* 10425 * For I_LIST ioctl. 10426 */ 10427 struct str_mlist { 10428 char l_name[8 +1]; 10429 }; 10430 10431 struct str_list { 10432 int sl_nmods; 10433 struct str_mlist *sl_modlist; 10434 }; 10435 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10436 /* 10437 * Private, for _I_INSERT/_I_REMOVE ioctl. 10438 */ 10439 struct strmodconf { 10440 int pos; /* Position to be inserted/removed. */ 10441 caddr_t mod_name; /* Name of module. */ 10442 }; 10443 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 10444 /* 10445 * For I_FLUSHBAND ioctl. Describes the priority 10446 * band for which the operation applies. 10447 */ 10448 struct bandinfo { 10449 unsigned char bi_pri; 10450 int bi_flag; 10451 }; 10452 10453 10454 /* 10455 * The argument for I_ESETSIG and I_EGETSIG ioctls. 10456 */ 10457 10458 struct strsigset { 10459 pid_t ss_pid; /* pgrp if negative */ 10460 int ss_events; /* S_ events */ 10461 }; 10462 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 10463 10464 10465 10466 10467 10468 extern int isastream(int); 10469 10470 extern int getmsg(int, struct strbuf *, 10471 struct strbuf *, int *); 10472 extern int putmsg(int, const struct strbuf *, const struct strbuf *, int); 10473 10474 extern int getpmsg(int, struct strbuf *, 10475 struct strbuf *, int *, 10476 int *); 10477 extern int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int); 10478 10479 /* 10480 * These three routines are duplicated in unistd.h; duplication necessitated 10481 * by XPG4.2 compliance/namespace issues. 10482 */ 10483 extern int ioctl(int, int, ...); 10484 extern int fattach(int, const char *); 10485 extern int fdetach(const char *); 10486 # 68 "../common/zones_utils.c" 2 10487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 10488 /* 10489 * CDDL HEADER START 10490 * 10491 * The contents of this file are subject to the terms of the 10492 * Common Development and Distribution License (the "License"). 10493 * You may not use this file except in compliance with the License. 10494 * 10495 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10496 * or http://www.opensolaris.org/os/licensing. 10497 * See the License for the specific language governing permissions 10498 * and limitations under the License. 10499 * 10500 * When distributing Covered Code, include this CDDL HEADER in each 10501 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10502 * If applicable, add the following below this CDDL HEADER, with the 10503 * fields enclosed by brackets "[]" replaced with your own identifying 10504 * information: Portions Copyright [yyyy] [name of copyright owner] 10505 * 10506 * CDDL HEADER END 10507 */ 10508 /* 10509 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10510 * 10511 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 10512 * Use is subject to license terms. 10513 */ 10514 10515 10516 10517 10518 10519 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 10520 /* 10521 * CDDL HEADER START 10522 * 10523 * The contents of this file are subject to the terms of the 10524 * Common Development and Distribution License (the "License"). 10525 * You may not use this file except in compliance with the License. 10526 * 10527 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10528 * or http://www.opensolaris.org/os/licensing. 10529 * See the License for the specific language governing permissions 10530 * and limitations under the License. 10531 * 10532 * 10533 * When distributing Covered Code, include this CDDL HEADER in each 10534 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10535 * If applicable, add the following below this CDDL HEADER, with the 10536 * fields enclosed by brackets "[]" replaced with your own identifying 10537 * information: Portions Copyright [yyyy] [name of copyright owner] 10538 * 10539 * CDDL HEADER END 10540 */ 10541 10542 /* 10543 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 10544 * Use is subject to license terms. 10545 * Copyright 2016 Joyent, Inc. 10546 */ 10547 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 10548 10549 10550 10551 10552 10553 /* 10554 * wchar_t is a built-in type in standard C++ and as such is not 10555 * defined here when using standard C++. However, the GNU compiler 10556 * fixincludes utility nonetheless creates its own version of this 10557 * header for use by gcc and g++. In that version it adds a redundant 10558 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 10559 * header we need to include the following magic comment: 10560 * 10561 * we must use the C++ compiler's type 10562 * 10563 * The above comment should not be removed or changed until GNU 10564 * gcc/fixinc/inclhack.def is updated to bypass this header. 10565 */ 10566 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 10567 extern char *dcgettext(const char *, const char *, const int); 10568 extern char *dgettext(const char *, const char *); 10569 extern char *gettext(const char *); 10570 extern char *textdomain(const char *); 10571 extern char *bindtextdomain(const char *, const char *); 10572 10573 /* 10574 * LI18NUX 2000 Globalization Specification Version 1.0 10575 * with Amendment 2 10576 */ 10577 extern char *dcngettext(const char *, const char *, 10578 const char *, unsigned long int, int); 10579 extern char *dngettext(const char *, const char *, 10580 const char *, unsigned long int); 10581 extern char *ngettext(const char *, const char *, unsigned long int); 10582 extern char *bind_textdomain_codeset(const char *, const char *); 10583 10584 /* Word handling functions --- requires dynamic linking */ 10585 /* Warning: these are experimental and subject to change. */ 10586 extern int wdinit(void); 10587 extern int wdchkind(wchar_t); 10588 extern int wdbindf(wchar_t, wchar_t, int); 10589 extern wchar_t *wddelim(wchar_t, wchar_t, int); 10590 extern wchar_t mcfiller(void); 10591 extern int mcwrap(void); 10592 # 69 "../common/zones_utils.c" 2 10593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1 10594 /* 10595 * CDDL HEADER START 10596 * 10597 * The contents of this file are subject to the terms of the 10598 * Common Development and Distribution License, Version 1.0 only 10599 * (the "License"). You may not use this file except in compliance 10600 * with the License. 10601 * 10602 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10603 * or http://www.opensolaris.org/os/licensing. 10604 * See the License for the specific language governing permissions 10605 * and limitations under the License. 10606 * 10607 * When distributing Covered Code, include this CDDL HEADER in each 10608 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10609 * If applicable, add the following below this CDDL HEADER, with the 10610 * fields enclosed by brackets "[]" replaced with your own identifying 10611 * information: Portions Copyright [yyyy] [name of copyright owner] 10612 * 10613 * CDDL HEADER END 10614 */ 10615 /* 10616 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 10617 * Use is subject to license terms. 10618 */ 10619 10620 /* 10621 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10622 * 10623 * Portions of this file developed by Garrett D'Amore are licensed 10624 * under the terms of the Common Development and Distribution License (CDDL) 10625 * version 1.0 only. The use of subsequent versions of the License are 10626 * is specifically prohibited unless those terms are not in conflict with 10627 * version 1.0 of the License. You can find this license on-line at 10628 * http://www.illumos.org/license/CDDL 10629 */ 10630 10631 10632 10633 10634 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1 10635 /* 10636 * CDDL HEADER START 10637 * 10638 * The contents of this file are subject to the terms of the 10639 * Common Development and Distribution License, Version 1.0 only 10640 * (the "License"). You may not use this file except in compliance 10641 * with the License. 10642 * 10643 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10644 * or http://www.opensolaris.org/os/licensing. 10645 * See the License for the specific language governing permissions 10646 * and limitations under the License. 10647 * 10648 * When distributing Covered Code, include this CDDL HEADER in each 10649 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10650 * If applicable, add the following below this CDDL HEADER, with the 10651 * fields enclosed by brackets "[]" replaced with your own identifying 10652 * information: Portions Copyright [yyyy] [name of copyright owner] 10653 * 10654 * CDDL HEADER END 10655 */ 10656 /* 10657 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10658 * Copyright 2014 PALO, Richard. 10659 * 10660 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 10661 * Use is subject to license terms. 10662 */ 10663 10664 /* Copyright (c) 1988 AT&T */ 10665 /* All Rights Reserved */ 10666 10667 10668 /* 10669 * An application should not include this header directly. Instead it 10670 * should be included only through the inclusion of other Sun headers. 10671 * 10672 * The contents of this header is limited to identifiers specified in the 10673 * C Standard. Any new identifiers specified in future amendments to the 10674 * C Standard must be placed in this header. If these new identifiers 10675 * are required to also be in the C++ Standard "std" namespace, then for 10676 * anything other than macro definitions, corresponding "using" directives 10677 * must also be added to <locale.h>. 10678 */ 10679 10680 10681 10682 10683 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10684 /* 10685 * CDDL HEADER START 10686 * 10687 * The contents of this file are subject to the terms of the 10688 * Common Development and Distribution License (the "License"). 10689 * You may not use this file except in compliance with the License. 10690 * 10691 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10692 * or http://www.opensolaris.org/os/licensing. 10693 * See the License for the specific language governing permissions 10694 * and limitations under the License. 10695 * 10696 * When distributing Covered Code, include this CDDL HEADER in each 10697 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10698 * If applicable, add the following below this CDDL HEADER, with the 10699 * fields enclosed by brackets "[]" replaced with your own identifying 10700 * information: Portions Copyright [yyyy] [name of copyright owner] 10701 * 10702 * CDDL HEADER END 10703 */ 10704 10705 /* 10706 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10707 * Copyright 2016 Joyent, Inc. 10708 * 10709 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10710 * Use is subject to license terms. 10711 */ 10712 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 10713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 10714 /* 10715 * This file and its contents are supplied under the terms of the 10716 * Common Development and Distribution License ("CDDL"), version 1.0. 10717 * You may only use this file in accordance with the terms of version 10718 * 1.0 of the CDDL. 10719 * 10720 * A full copy of the text of the CDDL should have accompanied this 10721 * source. A copy of the CDDL is also available via the Internet at 10722 * http://www.illumos.org/license/CDDL. 10723 */ 10724 10725 /* 10726 * Copyright 2014-2016 PALO, Richard. 10727 */ 10728 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 10729 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 10730 struct lconv { 10731 char *decimal_point; 10732 char *thousands_sep; 10733 char *grouping; 10734 char *int_curr_symbol; 10735 char *currency_symbol; 10736 char *mon_decimal_point; 10737 char *mon_thousands_sep; 10738 char *mon_grouping; 10739 char *positive_sign; 10740 char *negative_sign; 10741 char int_frac_digits; 10742 char frac_digits; 10743 char p_cs_precedes; 10744 char p_sep_by_space; 10745 char n_cs_precedes; 10746 char n_sep_by_space; 10747 char p_sign_posn; 10748 char n_sign_posn; 10749 10750 /* 10751 * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999 10752 * standard. Namespace and binary compatibility dictate that visibility 10753 * of these new members be limited. Visibility is limited to a strictly 10754 * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined. 10755 */ 10756 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 10757 }; 10758 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 10759 extern char *setlocale(int, const char *); 10760 extern struct lconv *localeconv(void); 10761 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 10762 10763 10764 10765 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 10766 /* 10767 * CDDL HEADER START 10768 * 10769 * The contents of this file are subject to the terms of the 10770 * Common Development and Distribution License (the "License"). 10771 * You may not use this file except in compliance with the License. 10772 * 10773 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10774 * or http://www.opensolaris.org/os/licensing. 10775 * See the License for the specific language governing permissions 10776 * and limitations under the License. 10777 * 10778 * When distributing Covered Code, include this CDDL HEADER in each 10779 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10780 * If applicable, add the following below this CDDL HEADER, with the 10781 * fields enclosed by brackets "[]" replaced with your own identifying 10782 * information: Portions Copyright [yyyy] [name of copyright owner] 10783 * 10784 * CDDL HEADER END 10785 */ 10786 /* 10787 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10788 * 10789 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 10790 * Use is subject to license terms. 10791 */ 10792 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 10793 10794 10795 /* 10796 * Allow global visibility for symbols defined in 10797 * C++ "std" namespace in <iso/locale_iso.h>. 10798 */ 10799 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 10800 /* 10801 * These were added in POSIX 2008 as part of the newlocale() specification. 10802 */ 10803 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 10804 extern locale_t duplocale(locale_t); 10805 extern void freelocale(locale_t); 10806 extern locale_t newlocale(int, const char *, locale_t); 10807 extern locale_t uselocale(locale_t); 10808 10809 10810 extern locale_t __global_locale(void); 10811 # 70 "../common/zones_utils.c" 2 10812 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1 10813 /* 10814 * CDDL HEADER START 10815 * 10816 * The contents of this file are subject to the terms of the 10817 * Common Development and Distribution License, Version 1.0 only 10818 * (the "License"). You may not use this file except in compliance 10819 * with the License. 10820 * 10821 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10822 * or http://www.opensolaris.org/os/licensing. 10823 * See the License for the specific language governing permissions 10824 * and limitations under the License. 10825 * 10826 * When distributing Covered Code, include this CDDL HEADER in each 10827 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10828 * If applicable, add the following below this CDDL HEADER, with the 10829 * fields enclosed by brackets "[]" replaced with your own identifying 10830 * information: Portions Copyright [yyyy] [name of copyright owner] 10831 * 10832 * CDDL HEADER END 10833 */ 10834 /* Copyright (c) 1988 AT&T */ 10835 /* All Rights Reserved */ 10836 10837 /* 10838 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10839 * Copyright 2016 Joyent, Inc. 10840 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 10841 * 10842 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10843 * Use is subject to license terms. 10844 */ 10845 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 10846 extern void __assert(const char *, const char *, int); 10847 10848 10849 /* 10850 * In C11 the static_assert macro is always defined, unlike the assert macro. 10851 */ 10852 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 10853 /* 10854 * Note that the ANSI C Standard requires all headers to be idempotent except 10855 * <assert.h> which is explicitly required not to be idempotent (section 4.1.2). 10856 * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do 10857 * not span this entire file. 10858 */ 10859 # 71 "../common/zones_utils.c" 2 10860 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 10861 /* 10862 * CDDL HEADER START 10863 * 10864 * The contents of this file are subject to the terms of the 10865 * Common Development and Distribution License (the "License"). 10866 * You may not use this file except in compliance with the License. 10867 * 10868 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10869 * or http://www.opensolaris.org/os/licensing. 10870 * See the License for the specific language governing permissions 10871 * and limitations under the License. 10872 * 10873 * When distributing Covered Code, include this CDDL HEADER in each 10874 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10875 * If applicable, add the following below this CDDL HEADER, with the 10876 * fields enclosed by brackets "[]" replaced with your own identifying 10877 * information: Portions Copyright [yyyy] [name of copyright owner] 10878 * 10879 * CDDL HEADER END 10880 */ 10881 /* 10882 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10883 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 10884 * 10885 * Copyright (c) 1989 AT&T 10886 * All Rights Reserved 10887 * 10888 */ 10889 10890 10891 10892 10893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10894 /* 10895 * CDDL HEADER START 10896 * 10897 * The contents of this file are subject to the terms of the 10898 * Common Development and Distribution License (the "License"). 10899 * You may not use this file except in compliance with the License. 10900 * 10901 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10902 * or http://www.opensolaris.org/os/licensing. 10903 * See the License for the specific language governing permissions 10904 * and limitations under the License. 10905 * 10906 * When distributing Covered Code, include this CDDL HEADER in each 10907 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10908 * If applicable, add the following below this CDDL HEADER, with the 10909 * fields enclosed by brackets "[]" replaced with your own identifying 10910 * information: Portions Copyright [yyyy] [name of copyright owner] 10911 * 10912 * CDDL HEADER END 10913 */ 10914 10915 /* 10916 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10917 * Copyright 2016 Joyent, Inc. 10918 * 10919 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10920 * Use is subject to license terms. 10921 */ 10922 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 10923 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10924 /* 10925 * CDDL HEADER START 10926 * 10927 * The contents of this file are subject to the terms of the 10928 * Common Development and Distribution License (the "License"). 10929 * You may not use this file except in compliance with the License. 10930 * 10931 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10932 * or http://www.opensolaris.org/os/licensing. 10933 * See the License for the specific language governing permissions 10934 * and limitations under the License. 10935 * 10936 * When distributing Covered Code, include this CDDL HEADER in each 10937 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10938 * If applicable, add the following below this CDDL HEADER, with the 10939 * fields enclosed by brackets "[]" replaced with your own identifying 10940 * information: Portions Copyright [yyyy] [name of copyright owner] 10941 * 10942 * CDDL HEADER END 10943 */ 10944 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10945 /* All Rights Reserved */ 10946 10947 10948 /* 10949 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10950 * Use is subject to license terms. 10951 * 10952 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10953 * Copyright 2016 Joyent, Inc. 10954 */ 10955 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 10956 10957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 10958 /* 10959 * CDDL HEADER START 10960 * 10961 * The contents of this file are subject to the terms of the 10962 * Common Development and Distribution License (the "License"). 10963 * You may not use this file except in compliance with the License. 10964 * 10965 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10966 * or http://www.opensolaris.org/os/licensing. 10967 * See the License for the specific language governing permissions 10968 * and limitations under the License. 10969 * 10970 * When distributing Covered Code, include this CDDL HEADER in each 10971 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10972 * If applicable, add the following below this CDDL HEADER, with the 10973 * fields enclosed by brackets "[]" replaced with your own identifying 10974 * information: Portions Copyright [yyyy] [name of copyright owner] 10975 * 10976 * CDDL HEADER END 10977 */ 10978 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10979 /* All Rights Reserved */ 10980 10981 10982 /* 10983 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10984 * 10985 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 10986 * Use is subject to license terms. 10987 */ 10988 /* 10989 * Copyright 2016 Joyent, Inc. 10990 */ 10991 10992 10993 10994 10995 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10996 /* 10997 * CDDL HEADER START 10998 * 10999 * The contents of this file are subject to the terms of the 11000 * Common Development and Distribution License (the "License"). 11001 * You may not use this file except in compliance with the License. 11002 * 11003 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11004 * or http://www.opensolaris.org/os/licensing. 11005 * See the License for the specific language governing permissions 11006 * and limitations under the License. 11007 * 11008 * When distributing Covered Code, include this CDDL HEADER in each 11009 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11010 * If applicable, add the following below this CDDL HEADER, with the 11011 * fields enclosed by brackets "[]" replaced with your own identifying 11012 * information: Portions Copyright [yyyy] [name of copyright owner] 11013 * 11014 * CDDL HEADER END 11015 */ 11016 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11017 /* All Rights Reserved */ 11018 11019 11020 /* 11021 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11022 * Use is subject to license terms. 11023 * 11024 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11025 * Copyright 2016 Joyent, Inc. 11026 */ 11027 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 11028 11029 11030 11031 11032 11033 11034 typedef struct 11035 { 11036 int a_type; 11037 union { 11038 long a_val; 11039 void *a_ptr; 11040 void (*a_fcn)(); 11041 } a_un; 11042 } auxv_t; 11043 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 11044 /* 11045 * These relate to the original PPC ABI document; Linux reused 11046 * the values for other things (see below), so disambiguation of 11047 * these values may require additional context in PPC binaries. 11048 * 11049 * AT_DCACHEBSIZE 10 smallest data cache block size 11050 * AT_ICACHEBSIZE 11 smallest instruction cache block size 11051 * AT_UCACHEBSIZE 12 smallest unified cache block size 11052 * 11053 * These are the values from LSB 1.3, the first five are also described 11054 * in the draft amd64 ABI. 11055 * 11056 * At the time of writing, Solaris doesn't place any of these values into 11057 * the aux vector, except AT_CLKTCK which is placed on the aux vector for 11058 * lx branded processes; also, we do similar things via AT_SUN_ values. 11059 * 11060 * AT_NOTELF 10 program is not ELF? 11061 * AT_UID 11 real user id 11062 * AT_EUID 12 effective user id 11063 * AT_GID 13 real group id 11064 * AT_EGID 14 effective group id 11065 * 11066 * AT_PLATFORM 15 11067 * AT_HWCAP 16 11068 * AT_CLKTCK 17 c.f. _SC_CLK_TCK 11069 * AT_FPUCW 18 11070 * 11071 * AT_DCACHEBSIZE 19 (moved from 10) 11072 * AT_ICACHEBSIZE 20 (moved from 11) 11073 * AT_UCACHEBSIZE 21 (moved from 12) 11074 * 11075 * AT_IGNOREPPC 22 11076 */ 11077 11078 /* 11079 * Sun extensions begin here 11080 */ 11081 11082 11083 11084 11085 11086 /* 11087 * The following attributes are specific to the 11088 * kernel implementation of the linker/loader. 11089 */ 11090 11091 11092 11093 11094 /* 11095 * The following aux vector provides a null-terminated platform 11096 * identification string. This information is the same as provided 11097 * by sysinfo(2) when invoked with the command SI_PLATFORM. 11098 */ 11099 11100 11101 /* 11102 * These attributes communicate performance -hints- about processor 11103 * hardware capabilities that might be useful to library implementations. 11104 */ 11105 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 11106 extern uint_t getisax(uint32_t *, uint_t); 11107 11108 11109 11110 11111 11112 /* 11113 * The following aux vector provides a pointer to a null-terminated 11114 * path name, a copy of the path name passed to the exec() system 11115 * call but that has had all symlinks resolved (see resolvepath(2)). 11116 */ 11117 11118 11119 11120 11121 11122 11123 11124 /* 11125 * Used to indicate to the runtime linker the name of the emulation binary, 11126 * if one is being used. For brands, this is the name of the brand library. 11127 */ 11128 11129 11130 11131 11132 /* 11133 * Aux vectors available for brand modules. 11134 */ 11135 11136 11137 11138 11139 /* 11140 * Aux vector for comm page 11141 */ 11142 11143 11144 /* 11145 * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above. 11146 */ 11147 11148 /* 11149 * The kernel is in a better position to determine whether a process needs to 11150 * ignore dangerous LD environment variables. If set, this flags tells 11151 * ld.so.1 to run "secure" and ignore the the environment. 11152 */ 11153 11154 11155 /* 11156 * If set, this flag indicates that hardware capabilites can be verified 11157 * against the AT_SUN_HWCAP value. 11158 */ 11159 11160 11161 /* 11162 * If set, this flag indicates that the the linker should not initialize 11163 * any of its link maps as primary link wrt the unified libc threading 11164 * interfaces. 11165 */ 11166 # 228 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 11167 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 1 11168 /* 11169 * CDDL HEADER START 11170 * 11171 * The contents of this file are subject to the terms of the 11172 * Common Development and Distribution License (the "License"). 11173 * You may not use this file except in compliance with the License. 11174 * 11175 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11176 * or http://www.opensolaris.org/os/licensing. 11177 * See the License for the specific language governing permissions 11178 * and limitations under the License. 11179 * 11180 * When distributing Covered Code, include this CDDL HEADER in each 11181 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11182 * If applicable, add the following below this CDDL HEADER, with the 11183 * fields enclosed by brackets "[]" replaced with your own identifying 11184 * information: Portions Copyright [yyyy] [name of copyright owner] 11185 * 11186 * CDDL HEADER END 11187 */ 11188 /* 11189 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 11190 * Copyright (c) 2015, Joyent, Inc. 11191 */ 11192 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 11193 /* 11194 * Flags used in AT_SUN_HWCAP elements to describe various userland 11195 * instruction set extensions available on different processors. 11196 * The basic assumption is that of the i386 ABI; that is, i386 plus i387 11197 * floating point. 11198 * 11199 * Note that if a given bit is set; the implication is that the kernel 11200 * provides all the underlying architectural support for the correct 11201 * functioning of the extended instruction(s). 11202 */ 11203 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 11204 /* 0x02000 withdrawn - do not assign */ 11205 11206 /* 0x08000 withdrawn - do not assign */ 11207 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 11208 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 11209 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 11210 /* 11211 * CDDL HEADER START 11212 * 11213 * The contents of this file are subject to the terms of the 11214 * Common Development and Distribution License (the "License"). 11215 * You may not use this file except in compliance with the License. 11216 * 11217 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11218 * or http://www.opensolaris.org/os/licensing. 11219 * See the License for the specific language governing permissions 11220 * and limitations under the License. 11221 * 11222 * When distributing Covered Code, include this CDDL HEADER in each 11223 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11224 * If applicable, add the following below this CDDL HEADER, with the 11225 * fields enclosed by brackets "[]" replaced with your own identifying 11226 * information: Portions Copyright [yyyy] [name of copyright owner] 11227 * 11228 * CDDL HEADER END 11229 */ 11230 11231 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 11232 /* 11233 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11234 * 11235 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 11236 * Use is subject to license terms. 11237 * Copyright 2015 Joyent, Inc. All rights reserved. 11238 */ 11239 11240 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 11241 /* All Rights Reserved */ 11242 11243 /* 11244 * University Copyright- Copyright (c) 1982, 1986, 1988 11245 * The Regents of the University of California 11246 * All Rights Reserved 11247 * 11248 * University Acknowledgment- Portions of this document are derived from 11249 * software developed by the University of California, Berkeley, and its 11250 * contributors. 11251 */ 11252 11253 11254 11255 11256 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11257 /* 11258 * CDDL HEADER START 11259 * 11260 * The contents of this file are subject to the terms of the 11261 * Common Development and Distribution License (the "License"). 11262 * You may not use this file except in compliance with the License. 11263 * 11264 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11265 * or http://www.opensolaris.org/os/licensing. 11266 * See the License for the specific language governing permissions 11267 * and limitations under the License. 11268 * 11269 * When distributing Covered Code, include this CDDL HEADER in each 11270 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11271 * If applicable, add the following below this CDDL HEADER, with the 11272 * fields enclosed by brackets "[]" replaced with your own identifying 11273 * information: Portions Copyright [yyyy] [name of copyright owner] 11274 * 11275 * CDDL HEADER END 11276 */ 11277 11278 /* 11279 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11280 * Copyright 2016 Joyent, Inc. 11281 * 11282 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11283 * Use is subject to license terms. 11284 */ 11285 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 11286 11287 11288 11289 11290 11291 11292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11293 /* 11294 * CDDL HEADER START 11295 * 11296 * The contents of this file are subject to the terms of the 11297 * Common Development and Distribution License (the "License"). 11298 * You may not use this file except in compliance with the License. 11299 * 11300 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11301 * or http://www.opensolaris.org/os/licensing. 11302 * See the License for the specific language governing permissions 11303 * and limitations under the License. 11304 * 11305 * When distributing Covered Code, include this CDDL HEADER in each 11306 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11307 * If applicable, add the following below this CDDL HEADER, with the 11308 * fields enclosed by brackets "[]" replaced with your own identifying 11309 * information: Portions Copyright [yyyy] [name of copyright owner] 11310 * 11311 * CDDL HEADER END 11312 */ 11313 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11314 /* All Rights Reserved */ 11315 11316 11317 /* 11318 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11319 * Use is subject to license terms. 11320 * 11321 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11322 * Copyright 2016 Joyent, Inc. 11323 */ 11324 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 11325 11326 11327 /* 11328 * Protections are chosen from these bits, or-ed together. 11329 * Note - not all implementations literally provide all possible 11330 * combinations. PROT_WRITE is often implemented as (PROT_READ | 11331 * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). 11332 * However, no implementation will permit a write to succeed 11333 * where PROT_WRITE has not been set. Also, no implementation will 11334 * allow any access to succeed where prot is specified as PROT_NONE. 11335 */ 11336 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11337 /* sharing types: must choose either SHARED or PRIVATE */ 11338 11339 11340 11341 11342 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ 11343 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11344 /* these flags not yet implemented */ 11345 11346 11347 11348 /* these flags are used by memcntl */ 11349 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11350 /* 11351 * For the sake of backward object compatibility, we use the _MAP_NEW flag. 11352 * This flag will be automatically or'ed in by the C library for all 11353 * new mmap calls. Previous binaries with old mmap calls will continue 11354 * to get 0 or -1 for return values. New mmap calls will get the mapped 11355 * address as the return value if successful and -1 on errors. By default, 11356 * new mmap calls automatically have the kernel assign the map address 11357 * unless the MAP_FIXED flag is given. 11358 */ 11359 11360 11361 11362 11363 11364 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ 11365 11366 11367 11368 11369 11370 /* 11371 * Values for mr_flags field of mmapobj_result_t below. 11372 * The bottom 16 bits are mutually exclusive and thus only one 11373 * of them can be set at a time. Use MR_GET_TYPE below to check this value. 11374 * The top 16 bits are used for flags which are not mutually exclusive and 11375 * thus more than one of these flags can be set for a given mmapobj_result_t. 11376 * 11377 * MR_PADDING being set indicates that this memory range represents the user 11378 * requested padding. 11379 * 11380 * MR_HDR_ELF being set indicates that the ELF header of the mapped object 11381 * is mapped at mr_addr + mr_offset. 11382 * 11383 * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped 11384 * object is mapped at mr_addr + mr_offset. 11385 */ 11386 11387 /* 11388 * External flags for mr_flags field below. 11389 */ 11390 11391 11392 11393 11394 /* 11395 * Internal flags for mr_flags field below. 11396 */ 11397 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11398 typedef struct mmapobj_result { 11399 caddr_t mr_addr; /* mapping address */ 11400 size_t mr_msize; /* mapping size */ 11401 size_t mr_fsize; /* file size */ 11402 size_t mr_offset; /* offset into file */ 11403 uint_t mr_prot; /* the protections provided */ 11404 uint_t mr_flags; /* info on the mapping */ 11405 } mmapobj_result_t; 11406 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11407 /* 11408 * large file compilation environment setup 11409 * 11410 * In the LP64 compilation environment, map large file interfaces 11411 * back to native versions where possible. 11412 */ 11413 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11414 11415 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11416 #pragma redefine_extname mmap64 mmap 11417 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11418 11419 11420 11421 11422 11423 11424 11425 11426 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11427 #pragma redefine_extname getpagesizes getpagesizes2 11428 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11429 11430 11431 11432 11433 11434 /* 11435 * Except for old binaries mmap() will return the resultant 11436 * address of mapping on success and (caddr_t)-1 on error. 11437 */ 11438 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11439 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); 11440 extern int munmap(caddr_t, size_t); 11441 extern int mprotect(caddr_t, size_t, int); 11442 extern int msync(caddr_t, size_t, int); 11443 extern int mlock(caddr_t, size_t); 11444 extern int munlock(caddr_t, size_t); 11445 extern int mincore(caddr_t, size_t, char *); 11446 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); 11447 extern int madvise(caddr_t, size_t, int); 11448 11449 extern int getpagesizes(size_t *, int); 11450 extern int getpagesizes2(size_t *, int); 11451 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); 11452 /* guard visibility of uint64_t */ 11453 11454 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, 11455 uint_t *); 11456 11457 11458 /* transitional large file interface version */ 11459 11460 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); 11461 11462 11463 11464 11465 extern int mlockall(int); 11466 extern int munlockall(void); 11467 extern int shm_open(const char *, int, mode_t); 11468 extern int shm_unlink(const char *); 11469 11470 11471 11472 extern int posix_madvise(void *, size_t, int); 11473 11474 11475 /* mmap failure value */ 11476 11477 11478 11479 11480 11481 11482 11483 /* 11484 * structure for memcntl hat advise operations. 11485 */ 11486 struct memcntl_mha { 11487 uint_t mha_cmd; /* command(s) */ 11488 uint_t mha_flags; 11489 size_t mha_pagesize; 11490 }; 11491 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11492 /* 11493 * advice to madvise 11494 * 11495 * Note, if more than 4 bits worth of advice (eg. 16) are specified then 11496 * changes will be necessary to the struct vpage. 11497 */ 11498 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11499 /* advice to posix_madvise */ 11500 /* these values must be kept in sync with the MADV_* values, above */ 11501 11502 11503 11504 11505 11506 11507 11508 /* flags to msync */ 11509 11510 /* modified for UNIX98 compliance */ 11511 11512 11513 11514 11515 11516 /* functions to mctl */ 11517 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11518 /* sub-commands for MC_HAT_ADVISE */ 11519 11520 11521 /* for last bss adjacent to */ 11522 /* brk area and brk area itself */ 11523 11524 /* processes main stack */ 11525 11526 11527 11528 11529 /* flags to mlockall */ 11530 11531 11532 11533 11534 11535 11536 /* definitions for meminfosys syscall */ 11537 11538 11539 11540 11541 11542 /* private structure for meminfo */ 11543 typedef struct meminfo { 11544 const uint64_t *mi_inaddr; /* array of input addresses */ 11545 const uint_t *mi_info_req; /* array of types of info requested */ 11546 uint64_t *mi_outdata; /* array of results are placed */ 11547 uint_t *mi_validity; /* array of bitwise result codes */ 11548 int mi_info_count; /* number of pieces of info requested */ 11549 } meminfo_t; 11550 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11551 /* 11552 * info_req request type definitions for meminfo 11553 * request types starting with MEMINFO_V are used for Virtual addresses 11554 * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical 11555 * addresses 11556 */ 11557 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 11558 /* maximum number of addresses meminfo() can process at a time */ 11559 11560 11561 /* maximum number of request types */ 11562 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 11563 11564 11565 11566 11567 11568 11569 /* 11570 * Information structures for various dlinfo() requests. 11571 */ 11572 11573 typedef struct dl_info { 11574 const char *dli_fname; /* file containing address range */ 11575 void *dli_fbase; /* base address of file image */ 11576 const char *dli_sname; /* symbol name */ 11577 void *dli_saddr; /* symbol address */ 11578 } Dl_info; 11579 typedef Dl_info Dl_info_t; 11580 11581 typedef struct dl_serpath { 11582 char *dls_name; /* library search path name */ 11583 uint_t dls_flags; /* path information */ 11584 } Dl_serpath; 11585 typedef Dl_serpath Dl_serpath_t; 11586 11587 typedef struct dl_serinfo { 11588 size_t dls_size; /* total buffer size */ 11589 uint_t dls_cnt; /* number of path entries */ 11590 Dl_serpath dls_serpath[1]; /* there may be more than one */ 11591 } Dl_serinfo; 11592 typedef Dl_serinfo Dl_serinfo_t; 11593 11594 typedef struct dl_argsinfo { 11595 long dla_argc; /* process argument count */ 11596 char **dla_argv; /* process arguments */ 11597 char **dla_envp; /* process environment variables */ 11598 auxv_t *dla_auxv; /* process auxv vectors */ 11599 } Dl_argsinfo; 11600 typedef Dl_argsinfo Dl_argsinfo_t; 11601 11602 typedef struct { 11603 mmapobj_result_t *dlm_maps; /* mapping information */ 11604 uint_t dlm_acnt; /* number of dlm_maps mappings */ 11605 uint_t dlm_rcnt; /* number of returned mappings */ 11606 } Dl_mapinfo_t; 11607 11608 typedef struct { 11609 uint_t dlui_version; /* version # */ 11610 uint_t dlui_flags; /* flags */ 11611 char *dlui_objname; /* path to object */ 11612 void *dlui_unwindstart; /* star of unwind hdr */ 11613 void *dlui_unwindend; /* end of unwind hdr */ 11614 void *dlui_segstart; /* start of segment described */ 11615 /* by unwind block */ 11616 void *dlui_segend; /* end of segment described */ 11617 /* by unwind block */ 11618 } Dl_amd64_unwindinfo; 11619 typedef Dl_amd64_unwindinfo Dl_amd64_unwindinfo_t; 11620 11621 typedef struct { 11622 const char *dld_refname; /* reference name */ 11623 const char *dld_depname; /* new dependency name */ 11624 } Dl_definfo_t; 11625 11626 11627 11628 11629 typedef ulong_t Lmid_t; 11630 11631 /* 11632 * Declarations used for dynamic linking support routines. 11633 */ 11634 extern void *dlopen(const char *, int); 11635 extern void *dlsym(void *, const char *); 11636 extern int dlclose(void *); 11637 extern char *dlerror(void); 11638 11639 extern void *dlmopen(Lmid_t, const char *, int); 11640 extern int dladdr(void *, Dl_info *); 11641 extern int dladdr1(void *, Dl_info *, void **, int); 11642 extern int dldump(const char *, const char *, int); 11643 extern int dlinfo(void *, int, void *); 11644 extern Dl_amd64_unwindinfo *dlamd64getunwind(void *, Dl_amd64_unwindinfo *); 11645 11646 11647 #pragma unknown_control_flow(dlopen, dlsym, dlclose, dlerror) 11648 11649 #pragma unknown_control_flow(dlmopen, dladdr, dladdr1, dldump, dlinfo) 11650 11651 11652 /* 11653 * Valid values for handle argument to dlsym(3x). 11654 */ 11655 11656 11657 /* of current object */ 11658 11659 11660 /* of current object, */ 11661 /* using currently */ 11662 /* loaded objects only. */ 11663 /* 11664 * Valid values for mode argument to dlopen. 11665 */ 11666 11667 11668 11669 11670 11671 11672 /* to group members */ 11673 11674 /* a group dependencies */ 11675 11676 /* members of the group */ 11677 11678 /* global objects */ 11679 11680 11681 /* available for dlsym */ 11682 11683 /* internal use only */ 11684 11685 /* 11686 * Valid values for flag argument to dldump. 11687 */ 11688 11689 11690 /* bind to main */ 11691 11692 /* bind to dependencies */ 11693 11694 /* bind to preload objs */ 11695 11696 /* bind to ourself */ 11697 11698 /* even if unresolved */ 11699 11700 11701 11702 11703 /* only */ 11704 11705 11706 /* internal use only */ 11707 11708 /* 11709 * Valid values for dladdr1() flags. 11710 */ 11711 11712 11713 11714 11715 11716 /* 11717 * Arguments for dlinfo() 11718 */ 11719 11720 11721 11722 11723 11724 11725 11726 /* internal use only */ 11727 11728 /* internal use only */ 11729 11730 11731 11732 /* environment and auxv */ 11733 11734 11735 11736 /* deferred dependency */ 11737 11738 /* deferred dependency */ 11739 /* using a symbol name */ 11740 11741 11742 11743 /* 11744 * Version information for Dl_amd64_unwindinfo.dlui_version 11745 */ 11746 11747 11748 11749 /* 11750 * Valid flags for Dl_amd64_unwindinfo.dlfi_flags 11751 */ 11752 11753 11754 /* matching the pc provided */ 11755 # 72 "../common/zones_utils.c" 2 11756 11757 /* 11758 * local includes 11759 */ 11760 11761 # 1 "../common/instzones_lib.h" 1 11762 /* 11763 * CDDL HEADER START 11764 * 11765 * The contents of this file are subject to the terms of the 11766 * Common Development and Distribution License (the "License"). 11767 * You may not use this file except in compliance with the License. 11768 * 11769 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11770 * or http://www.opensolaris.org/os/licensing. 11771 * See the License for the specific language governing permissions 11772 * and limitations under the License. 11773 * 11774 * When distributing Covered Code, include this CDDL HEADER in each 11775 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11776 * If applicable, add the following below this CDDL HEADER, with the 11777 * fields enclosed by brackets "[]" replaced with your own identifying 11778 * information: Portions Copyright [yyyy] [name of copyright owner] 11779 * 11780 * CDDL HEADER END 11781 */ 11782 /* 11783 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 11784 */ 11785 11786 11787 11788 11789 11790 11791 11792 /* 11793 * Module: instzones_lib.h 11794 * Group: libinstzones 11795 * Description: This module contains the libinstzones internal data structures, 11796 * constants, and function prototypes. This include should not be 11797 * needed by any external code (consumers of this library). 11798 */ 11799 11800 /* 11801 * required includes 11802 */ 11803 11804 /* System includes */ 11805 11806 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 11807 /* 11808 * CDDL HEADER START 11809 * 11810 * The contents of this file are subject to the terms of the 11811 * Common Development and Distribution License (the "License"). 11812 * You may not use this file except in compliance with the License. 11813 * 11814 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11815 * or http://www.opensolaris.org/os/licensing. 11816 * See the License for the specific language governing permissions 11817 * and limitations under the License. 11818 * 11819 * When distributing Covered Code, include this CDDL HEADER in each 11820 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11821 * If applicable, add the following below this CDDL HEADER, with the 11822 * fields enclosed by brackets "[]" replaced with your own identifying 11823 * information: Portions Copyright [yyyy] [name of copyright owner] 11824 * 11825 * CDDL HEADER END 11826 */ 11827 /* 11828 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11829 * Use is subject to license terms. 11830 */ 11831 11832 11833 11834 11835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11836 /* 11837 * CDDL HEADER START 11838 * 11839 * The contents of this file are subject to the terms of the 11840 * Common Development and Distribution License (the "License"). 11841 * You may not use this file except in compliance with the License. 11842 * 11843 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11844 * or http://www.opensolaris.org/os/licensing. 11845 * See the License for the specific language governing permissions 11846 * and limitations under the License. 11847 * 11848 * When distributing Covered Code, include this CDDL HEADER in each 11849 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11850 * If applicable, add the following below this CDDL HEADER, with the 11851 * fields enclosed by brackets "[]" replaced with your own identifying 11852 * information: Portions Copyright [yyyy] [name of copyright owner] 11853 * 11854 * CDDL HEADER END 11855 */ 11856 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11857 /* All Rights Reserved */ 11858 11859 11860 /* 11861 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11862 * Use is subject to license terms. 11863 * 11864 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11865 * Copyright 2016 Joyent, Inc. 11866 */ 11867 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 11868 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 11869 /* 11870 * CDDL HEADER START 11871 * 11872 * The contents of this file are subject to the terms of the 11873 * Common Development and Distribution License (the "License"). 11874 * You may not use this file except in compliance with the License. 11875 * 11876 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11877 * or http://www.opensolaris.org/os/licensing. 11878 * See the License for the specific language governing permissions 11879 * and limitations under the License. 11880 * 11881 * When distributing Covered Code, include this CDDL HEADER in each 11882 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11883 * If applicable, add the following below this CDDL HEADER, with the 11884 * fields enclosed by brackets "[]" replaced with your own identifying 11885 * information: Portions Copyright [yyyy] [name of copyright owner] 11886 * 11887 * CDDL HEADER END 11888 */ 11889 /* 11890 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 11891 * Copyright 2013, Joyent, Inc. All rights reserved. 11892 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 11893 * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>. 11894 */ 11895 11896 11897 11898 11899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11900 /* 11901 * CDDL HEADER START 11902 * 11903 * The contents of this file are subject to the terms of the 11904 * Common Development and Distribution License (the "License"). 11905 * You may not use this file except in compliance with the License. 11906 * 11907 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11908 * or http://www.opensolaris.org/os/licensing. 11909 * See the License for the specific language governing permissions 11910 * and limitations under the License. 11911 * 11912 * When distributing Covered Code, include this CDDL HEADER in each 11913 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11914 * If applicable, add the following below this CDDL HEADER, with the 11915 * fields enclosed by brackets "[]" replaced with your own identifying 11916 * information: Portions Copyright [yyyy] [name of copyright owner] 11917 * 11918 * CDDL HEADER END 11919 */ 11920 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11921 /* All Rights Reserved */ 11922 11923 11924 /* 11925 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11926 * Use is subject to license terms. 11927 * 11928 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11929 * Copyright 2016 Joyent, Inc. 11930 */ 11931 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11932 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 11933 /* 11934 * CDDL HEADER START 11935 * 11936 * The contents of this file are subject to the terms of the 11937 * Common Development and Distribution License (the "License"). 11938 * You may not use this file except in compliance with the License. 11939 * 11940 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11941 * or http://www.opensolaris.org/os/licensing. 11942 * See the License for the specific language governing permissions 11943 * and limitations under the License. 11944 * 11945 * When distributing Covered Code, include this CDDL HEADER in each 11946 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11947 * If applicable, add the following below this CDDL HEADER, with the 11948 * fields enclosed by brackets "[]" replaced with your own identifying 11949 * information: Portions Copyright [yyyy] [name of copyright owner] 11950 * 11951 * CDDL HEADER END 11952 */ 11953 /* 11954 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 11955 */ 11956 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 11958 /* 11959 * CDDL HEADER START 11960 * 11961 * The contents of this file are subject to the terms of the 11962 * Common Development and Distribution License (the "License"). 11963 * You may not use this file except in compliance with the License. 11964 * 11965 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11966 * or http://www.opensolaris.org/os/licensing. 11967 * See the License for the specific language governing permissions 11968 * and limitations under the License. 11969 * 11970 * When distributing Covered Code, include this CDDL HEADER in each 11971 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11972 * If applicable, add the following below this CDDL HEADER, with the 11973 * fields enclosed by brackets "[]" replaced with your own identifying 11974 * information: Portions Copyright [yyyy] [name of copyright owner] 11975 * 11976 * CDDL HEADER END 11977 */ 11978 11979 /* 11980 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 11981 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 11982 */ 11983 11984 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 11985 /* All Rights Reserved */ 11986 11987 /* 11988 * University Copyright- Copyright (c) 1982, 1986, 1988 11989 * The Regents of the University of California 11990 * All Rights Reserved 11991 * 11992 * University Acknowledgment- Portions of this document are derived from 11993 * software developed by the University of California, Berkeley, and its 11994 * contributors. 11995 */ 11996 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11997 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 11998 /* 11999 * CDDL HEADER START 12000 * 12001 * The contents of this file are subject to the terms of the 12002 * Common Development and Distribution License (the "License"). 12003 * You may not use this file except in compliance with the License. 12004 * 12005 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12006 * or http://www.opensolaris.org/os/licensing. 12007 * See the License for the specific language governing permissions 12008 * and limitations under the License. 12009 * 12010 * When distributing Covered Code, include this CDDL HEADER in each 12011 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12012 * If applicable, add the following below this CDDL HEADER, with the 12013 * fields enclosed by brackets "[]" replaced with your own identifying 12014 * information: Portions Copyright [yyyy] [name of copyright owner] 12015 * 12016 * CDDL HEADER END 12017 */ 12018 /* 12019 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 12020 */ 12021 12022 12023 12024 12025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 12026 /* 12027 * CDDL HEADER START 12028 * 12029 * The contents of this file are subject to the terms of the 12030 * Common Development and Distribution License (the "License"). 12031 * You may not use this file except in compliance with the License. 12032 * 12033 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12034 * or http://www.opensolaris.org/os/licensing. 12035 * See the License for the specific language governing permissions 12036 * and limitations under the License. 12037 * 12038 * When distributing Covered Code, include this CDDL HEADER in each 12039 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12040 * If applicable, add the following below this CDDL HEADER, with the 12041 * fields enclosed by brackets "[]" replaced with your own identifying 12042 * information: Portions Copyright [yyyy] [name of copyright owner] 12043 * 12044 * CDDL HEADER END 12045 */ 12046 12047 /* 12048 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 12049 * Copyright (c) 2012 by Delphix. All rights reserved. 12050 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12051 */ 12052 12053 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12054 /* All Rights Reserved */ 12055 12056 12057 12058 12059 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12060 /* 12061 * CDDL HEADER START 12062 * 12063 * The contents of this file are subject to the terms of the 12064 * Common Development and Distribution License (the "License"). 12065 * You may not use this file except in compliance with the License. 12066 * 12067 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12068 * or http://www.opensolaris.org/os/licensing. 12069 * See the License for the specific language governing permissions 12070 * and limitations under the License. 12071 * 12072 * When distributing Covered Code, include this CDDL HEADER in each 12073 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12074 * If applicable, add the following below this CDDL HEADER, with the 12075 * fields enclosed by brackets "[]" replaced with your own identifying 12076 * information: Portions Copyright [yyyy] [name of copyright owner] 12077 * 12078 * CDDL HEADER END 12079 */ 12080 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12081 /* All Rights Reserved */ 12082 12083 12084 /* 12085 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12086 * Use is subject to license terms. 12087 * 12088 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12089 * Copyright 2016 Joyent, Inc. 12090 */ 12091 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 12092 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1 12093 /* 12094 * CDDL HEADER START 12095 * 12096 * The contents of this file are subject to the terms of the 12097 * Common Development and Distribution License (the "License"). 12098 * You may not use this file except in compliance with the License. 12099 * 12100 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12101 * or http://www.opensolaris.org/os/licensing. 12102 * See the License for the specific language governing permissions 12103 * and limitations under the License. 12104 * 12105 * When distributing Covered Code, include this CDDL HEADER in each 12106 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12107 * If applicable, add the following below this CDDL HEADER, with the 12108 * fields enclosed by brackets "[]" replaced with your own identifying 12109 * information: Portions Copyright [yyyy] [name of copyright owner] 12110 * 12111 * CDDL HEADER END 12112 */ 12113 /* 12114 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 12115 * Copyright (c) 2012 by Delphix. All rights reserved. 12116 */ 12117 12118 12119 12120 12121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12122 /* 12123 * CDDL HEADER START 12124 * 12125 * The contents of this file are subject to the terms of the 12126 * Common Development and Distribution License (the "License"). 12127 * You may not use this file except in compliance with the License. 12128 * 12129 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12130 * or http://www.opensolaris.org/os/licensing. 12131 * See the License for the specific language governing permissions 12132 * and limitations under the License. 12133 * 12134 * When distributing Covered Code, include this CDDL HEADER in each 12135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12136 * If applicable, add the following below this CDDL HEADER, with the 12137 * fields enclosed by brackets "[]" replaced with your own identifying 12138 * information: Portions Copyright [yyyy] [name of copyright owner] 12139 * 12140 * CDDL HEADER END 12141 */ 12142 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12143 /* All Rights Reserved */ 12144 12145 12146 /* 12147 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12148 * Use is subject to license terms. 12149 * 12150 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12151 * Copyright 2016 Joyent, Inc. 12152 */ 12153 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 12154 12155 12156 12157 12158 12159 12160 /* 12161 * Per-allocation flags 12162 */ 12163 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 12164 /* 12165 * The following flags are restricted for use only within the kernel. 12166 * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. 12167 * VM_NORELOC is used by the kernel when static VA->PA mappings are required. 12168 */ 12169 12170 12171 /* 12172 * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags 12173 * and forgo reaping if the allocation or attempted import, fails. This 12174 * flag is a segkmem-specific flag, and should not be used by anyone else. 12175 */ 12176 12177 12178 /* 12179 * VM_ENDALLOC requests that large addresses be preferred in allocations. 12180 * Has no effect if VM_NEXTFIT is active. 12181 */ 12182 12183 12184 12185 12186 /* 12187 * Arena creation flags 12188 */ 12189 12190 12191 12192 12193 /* 12194 * internal use only; the import function uses the vmem_ximport_t interface 12195 * and may increase the request size if it so desires. 12196 * VMC_XALIGN, for use with vmem_xcreate, specifies that 12197 * the address returned by the import function will be 12198 * aligned according to the alignment argument. 12199 */ 12200 12201 12202 12203 12204 /* 12205 * Public segment types 12206 */ 12207 12208 12209 12210 /* 12211 * Implementation-private segment types 12212 */ 12213 12214 12215 12216 12217 /* 12218 * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may 12219 * call back into the arena being walked, so vmem_walk() must drop the 12220 * arena lock before each callback. The caveat is that since the arena 12221 * isn't locked, its state can change. Therefore it is up to the callback 12222 * routine to handle cases where the segment isn't of the expected type. 12223 * For example, we use this to walk heap_arena when generating a crash dump; 12224 * see segkmem_dump() for sample usage. 12225 */ 12226 12227 12228 typedef struct vmem vmem_t; 12229 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); 12230 typedef void (vmem_free_t)(vmem_t *, void *, size_t); 12231 12232 /* 12233 * Alternate import style; the requested size is passed in a pointer, 12234 * which can be increased by the import function if desired. 12235 */ 12236 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); 12237 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 12238 extern vmem_t *vmem_create(const char *, void *, size_t, size_t, 12239 vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); 12240 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, 12241 vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); 12242 extern void vmem_destroy(vmem_t *); 12243 extern void *vmem_alloc(vmem_t *, size_t, int); 12244 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, 12245 void *, void *, int); 12246 extern void vmem_free(vmem_t *, void *, size_t); 12247 extern void vmem_xfree(vmem_t *, void *, size_t); 12248 extern void *vmem_add(vmem_t *, void *, size_t, int); 12249 extern int vmem_contains(vmem_t *, void *, size_t); 12250 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); 12251 extern size_t vmem_size(vmem_t *, int); 12252 extern void vmem_qcache_reap(vmem_t *vmp); 12253 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 12254 12255 12256 12257 12258 12259 /* 12260 * Kernel memory allocator: DDI interfaces. 12261 * See kmem_alloc(9F) for details. 12262 */ 12263 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 12264 /* 12265 * Kernel memory allocator: private interfaces. 12266 * These interfaces are still evolving. 12267 * Do not use them in unbundled drivers. 12268 */ 12269 12270 /* 12271 * Flags for kmem_cache_create() 12272 */ 12273 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 12274 struct kmem_cache; /* cache structure is opaque to kmem clients */ 12275 12276 typedef struct kmem_cache kmem_cache_t; 12277 12278 /* Client response to kmem move callback */ 12279 typedef enum kmem_cbrc { 12280 KMEM_CBRC_YES, 12281 KMEM_CBRC_NO, 12282 KMEM_CBRC_LATER, 12283 KMEM_CBRC_DONT_NEED, 12284 KMEM_CBRC_DONT_KNOW 12285 } kmem_cbrc_t; 12286 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12287 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 12288 /* 12289 * CDDL HEADER START 12290 * 12291 * The contents of this file are subject to the terms of the 12292 * Common Development and Distribution License (the "License"). 12293 * You may not use this file except in compliance with the License. 12294 * 12295 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12296 * or http://www.opensolaris.org/os/licensing. 12297 * See the License for the specific language governing permissions 12298 * and limitations under the License. 12299 * 12300 * When distributing Covered Code, include this CDDL HEADER in each 12301 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12302 * If applicable, add the following below this CDDL HEADER, with the 12303 * fields enclosed by brackets "[]" replaced with your own identifying 12304 * information: Portions Copyright [yyyy] [name of copyright owner] 12305 * 12306 * CDDL HEADER END 12307 */ 12308 /* 12309 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 12310 * 12311 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12312 * Use is subject to license terms. 12313 */ 12314 12315 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12316 /* All Rights Reserved */ 12317 12318 /* 12319 * University Copyright- Copyright (c) 1982, 1986, 1988 12320 * The Regents of the University of California 12321 * All Rights Reserved 12322 * 12323 * University Acknowledgment- Portions of this document are derived from 12324 * software developed by the University of California, Berkeley, and its 12325 * contributors. 12326 */ 12327 12328 12329 12330 12331 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12332 /* 12333 * CDDL HEADER START 12334 * 12335 * The contents of this file are subject to the terms of the 12336 * Common Development and Distribution License (the "License"). 12337 * You may not use this file except in compliance with the License. 12338 * 12339 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12340 * or http://www.opensolaris.org/os/licensing. 12341 * See the License for the specific language governing permissions 12342 * and limitations under the License. 12343 * 12344 * When distributing Covered Code, include this CDDL HEADER in each 12345 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12346 * If applicable, add the following below this CDDL HEADER, with the 12347 * fields enclosed by brackets "[]" replaced with your own identifying 12348 * information: Portions Copyright [yyyy] [name of copyright owner] 12349 * 12350 * CDDL HEADER END 12351 */ 12352 12353 /* 12354 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12355 * Copyright 2016 Joyent, Inc. 12356 * 12357 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12358 * Use is subject to license terms. 12359 */ 12360 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12361 12362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12363 /* 12364 * CDDL HEADER START 12365 * 12366 * The contents of this file are subject to the terms of the 12367 * Common Development and Distribution License (the "License"). 12368 * You may not use this file except in compliance with the License. 12369 * 12370 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12371 * or http://www.opensolaris.org/os/licensing. 12372 * See the License for the specific language governing permissions 12373 * and limitations under the License. 12374 * 12375 * When distributing Covered Code, include this CDDL HEADER in each 12376 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12377 * If applicable, add the following below this CDDL HEADER, with the 12378 * fields enclosed by brackets "[]" replaced with your own identifying 12379 * information: Portions Copyright [yyyy] [name of copyright owner] 12380 * 12381 * CDDL HEADER END 12382 */ 12383 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12384 /* All Rights Reserved */ 12385 12386 12387 /* 12388 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12389 * Use is subject to license terms. 12390 * 12391 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12392 * Copyright 2016 Joyent, Inc. 12393 */ 12394 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12395 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 12396 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12397 /* All Rights Reserved */ 12398 12399 12400 /* 12401 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 12402 * All rights reserved. The Berkeley software License Agreement 12403 * specifies the terms and conditions for redistribution. 12404 */ 12405 12406 /* 12407 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12408 * 12409 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12410 * Use is subject to license terms. 12411 * 12412 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12413 */ 12414 12415 /* 12416 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 12417 */ 12418 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12419 12420 12421 12422 12423 12424 /* 12425 * Process priority specifications 12426 */ 12427 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12428 /* 12429 * Resource limits 12430 */ 12431 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12432 typedef unsigned long rlim_t; 12433 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12434 struct rlimit { 12435 rlim_t rlim_cur; /* current limit */ 12436 rlim_t rlim_max; /* maximum value for rlim_cur */ 12437 }; 12438 12439 /* transitional large file interface versions */ 12440 12441 12442 typedef u_longlong_t rlim64_t; 12443 12444 12445 12446 12447 12448 struct rlimit64 { 12449 rlim64_t rlim_cur; /* current limit */ 12450 rlim64_t rlim_max; /* maximum value for rlim_cur */ 12451 }; 12452 12453 12454 12455 /* 12456 * Although the saved rlimits were initially introduced by the large file API, 12457 * they are now available for all resource limits on the 64-bit kernel and for 12458 * cpu time and file size limits on the 32-bit kernel. 12459 */ 12460 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12461 struct rusage { 12462 struct timeval ru_utime; /* user time used */ 12463 struct timeval ru_stime; /* system time used */ 12464 long ru_maxrss; /* <unimp> */ 12465 long ru_ixrss; /* <unimp> */ 12466 long ru_idrss; /* <unimp> */ 12467 long ru_isrss; /* <unimp> */ 12468 long ru_minflt; /* any page faults not requiring I/O */ 12469 long ru_majflt; /* any page faults requiring I/O */ 12470 long ru_nswap; /* swaps */ 12471 long ru_inblock; /* block input operations */ 12472 long ru_oublock; /* block output operations */ 12473 long ru_msgsnd; /* streams messsages sent */ 12474 long ru_msgrcv; /* streams messages received */ 12475 long ru_nsignals; /* signals received */ 12476 long ru_nvcsw; /* voluntary context switches */ 12477 long ru_nivcsw; /* involuntary " */ 12478 }; 12479 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12480 /* 12481 * In the LP64 compilation environment, map large file interfaces 12482 * back to native versions where possible. 12483 */ 12484 12485 12486 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12487 #pragma redefine_extname setrlimit64 setrlimit 12488 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12489 12490 12491 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12492 #pragma redefine_extname getrlimit64 getrlimit 12493 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12494 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12495 extern int setrlimit(int, const struct rlimit *); 12496 extern int getrlimit(int, struct rlimit *); 12497 12498 /* transitional large file interfaces */ 12499 12500 12501 extern int setrlimit64(int, const struct rlimit64 *); 12502 extern int getrlimit64(int, struct rlimit64 *); 12503 12504 12505 extern int getpriority(int, id_t); 12506 extern int setpriority(int, id_t, int); 12507 extern int getrusage(int, struct rusage *); 12508 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12510 /* 12511 * CDDL HEADER START 12512 * 12513 * The contents of this file are subject to the terms of the 12514 * Common Development and Distribution License (the "License"). 12515 * You may not use this file except in compliance with the License. 12516 * 12517 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12518 * or http://www.opensolaris.org/os/licensing. 12519 * See the License for the specific language governing permissions 12520 * and limitations under the License. 12521 * 12522 * When distributing Covered Code, include this CDDL HEADER in each 12523 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12524 * If applicable, add the following below this CDDL HEADER, with the 12525 * fields enclosed by brackets "[]" replaced with your own identifying 12526 * information: Portions Copyright [yyyy] [name of copyright owner] 12527 * 12528 * CDDL HEADER END 12529 */ 12530 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12531 /* All Rights Reserved */ 12532 12533 12534 /* 12535 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12536 * Use is subject to license terms. 12537 * 12538 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12539 * Copyright 2016 Joyent, Inc. 12540 */ 12541 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12542 12543 12544 12545 12546 12547 /* 12548 * Available local actions and flags. 12549 */ 12550 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12551 /* 12552 * Available global actions and flags. 12553 */ 12554 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12555 /* 12556 * getrctl(2) flag values 12557 */ 12558 12559 12560 12561 12562 /* 12563 * setrctl(2) flag values 12564 */ 12565 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12566 /* 12567 * rctl_priv_t: rctl privilege defined values 12568 * A large amount of space has been deliberately left between these privileges 12569 * to permit future enrichment of the control privilege value. 12570 */ 12571 12572 12573 12574 12575 typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ 12576 typedef int rctl_priv_t; 12577 12578 typedef struct rctlblk rctlblk_t; 12579 12580 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); 12581 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); 12582 12583 typedef enum { 12584 RCENTITY_PROCESS, 12585 RCENTITY_TASK, 12586 RCENTITY_PROJECT, 12587 RCENTITY_ZONE 12588 } rctl_entity_t; 12589 12590 12591 12592 12593 typedef struct rctl_set rctl_set_t; 12594 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12595 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 12596 /* 12597 * CDDL HEADER START 12598 * 12599 * The contents of this file are subject to the terms of the 12600 * Common Development and Distribution License (the "License"). 12601 * You may not use this file except in compliance with the License. 12602 * 12603 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12604 * or http://www.opensolaris.org/os/licensing. 12605 * See the License for the specific language governing permissions 12606 * and limitations under the License. 12607 * 12608 * When distributing Covered Code, include this CDDL HEADER in each 12609 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12610 * If applicable, add the following below this CDDL HEADER, with the 12611 * fields enclosed by brackets "[]" replaced with your own identifying 12612 * information: Portions Copyright [yyyy] [name of copyright owner] 12613 * 12614 * CDDL HEADER END 12615 */ 12616 /* 12617 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12618 * Use is subject to license terms. 12619 */ 12620 12621 12622 12623 12624 #pragma ident "%Z%%M% %I% %E% SMI" 12625 12626 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 12627 /* 12628 * CDDL HEADER START 12629 * 12630 * The contents of this file are subject to the terms of the 12631 * Common Development and Distribution License (the "License"). 12632 * You may not use this file except in compliance with the License. 12633 * 12634 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12635 * or http://www.opensolaris.org/os/licensing. 12636 * See the License for the specific language governing permissions 12637 * and limitations under the License. 12638 * 12639 * When distributing Covered Code, include this CDDL HEADER in each 12640 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12641 * If applicable, add the following below this CDDL HEADER, with the 12642 * fields enclosed by brackets "[]" replaced with your own identifying 12643 * information: Portions Copyright [yyyy] [name of copyright owner] 12644 * 12645 * CDDL HEADER END 12646 */ 12647 /* 12648 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 12649 */ 12650 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 12651 12652 12653 12654 12655 12656 typedef struct ipc_rqty { /* datum protected by: */ 12657 rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ 12658 rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ 12659 rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ 12660 } ipc_rqty_t; 12661 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12662 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 12663 /* 12664 * CDDL HEADER START 12665 * 12666 * The contents of this file are subject to the terms of the 12667 * Common Development and Distribution License (the "License"). 12668 * You may not use this file except in compliance with the License. 12669 * 12670 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12671 * or http://www.opensolaris.org/os/licensing. 12672 * See the License for the specific language governing permissions 12673 * and limitations under the License. 12674 * 12675 * When distributing Covered Code, include this CDDL HEADER in each 12676 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12677 * If applicable, add the following below this CDDL HEADER, with the 12678 * fields enclosed by brackets "[]" replaced with your own identifying 12679 * information: Portions Copyright [yyyy] [name of copyright owner] 12680 * 12681 * CDDL HEADER END 12682 */ 12683 /* 12684 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12685 * 12686 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12687 * Use is subject to license terms. 12688 */ 12689 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 12690 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12691 /* 12692 * CDDL HEADER START 12693 * 12694 * The contents of this file are subject to the terms of the 12695 * Common Development and Distribution License (the "License"). 12696 * You may not use this file except in compliance with the License. 12697 * 12698 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12699 * or http://www.opensolaris.org/os/licensing. 12700 * See the License for the specific language governing permissions 12701 * and limitations under the License. 12702 * 12703 * When distributing Covered Code, include this CDDL HEADER in each 12704 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12705 * If applicable, add the following below this CDDL HEADER, with the 12706 * fields enclosed by brackets "[]" replaced with your own identifying 12707 * information: Portions Copyright [yyyy] [name of copyright owner] 12708 * 12709 * CDDL HEADER END 12710 */ 12711 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12712 /* All Rights Reserved */ 12713 12714 12715 /* 12716 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12717 * Use is subject to license terms. 12718 * 12719 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12720 * Copyright 2016 Joyent, Inc. 12721 */ 12722 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 12723 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 12724 /* 12725 * CDDL HEADER START 12726 * 12727 * The contents of this file are subject to the terms of the 12728 * Common Development and Distribution License (the "License"). 12729 * You may not use this file except in compliance with the License. 12730 * 12731 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12732 * or http://www.opensolaris.org/os/licensing. 12733 * See the License for the specific language governing permissions 12734 * and limitations under the License. 12735 * 12736 * When distributing Covered Code, include this CDDL HEADER in each 12737 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12738 * If applicable, add the following below this CDDL HEADER, with the 12739 * fields enclosed by brackets "[]" replaced with your own identifying 12740 * information: Portions Copyright [yyyy] [name of copyright owner] 12741 * 12742 * CDDL HEADER END 12743 */ 12744 /* 12745 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 12746 * All Rights Reserved 12747 * 12748 */ 12749 12750 /* 12751 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12752 * 12753 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 12754 * Use is subject to license terms. 12755 */ 12756 12757 12758 12759 12760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12761 /* 12762 * CDDL HEADER START 12763 * 12764 * The contents of this file are subject to the terms of the 12765 * Common Development and Distribution License (the "License"). 12766 * You may not use this file except in compliance with the License. 12767 * 12768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12769 * or http://www.opensolaris.org/os/licensing. 12770 * See the License for the specific language governing permissions 12771 * and limitations under the License. 12772 * 12773 * When distributing Covered Code, include this CDDL HEADER in each 12774 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12775 * If applicable, add the following below this CDDL HEADER, with the 12776 * fields enclosed by brackets "[]" replaced with your own identifying 12777 * information: Portions Copyright [yyyy] [name of copyright owner] 12778 * 12779 * CDDL HEADER END 12780 */ 12781 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12782 /* All Rights Reserved */ 12783 12784 12785 /* 12786 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12787 * Use is subject to license terms. 12788 * 12789 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12790 * Copyright 2016 Joyent, Inc. 12791 */ 12792 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 12793 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 12794 /* 12795 * CDDL HEADER START 12796 * 12797 * The contents of this file are subject to the terms of the 12798 * Common Development and Distribution License, Version 1.0 only 12799 * (the "License"). You may not use this file except in compliance 12800 * with the License. 12801 * 12802 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12803 * or http://www.opensolaris.org/os/licensing. 12804 * See the License for the specific language governing permissions 12805 * and limitations under the License. 12806 * 12807 * When distributing Covered Code, include this CDDL HEADER in each 12808 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12809 * If applicable, add the following below this CDDL HEADER, with the 12810 * fields enclosed by brackets "[]" replaced with your own identifying 12811 * information: Portions Copyright [yyyy] [name of copyright owner] 12812 * 12813 * CDDL HEADER END 12814 */ 12815 /* 12816 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12817 * Use is subject to license terms. 12818 */ 12819 12820 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12821 /* All Rights Reserved */ 12822 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 12823 12824 12825 12826 12827 12828 /* 12829 * Definitions for p_online, processor_info & lgrp system calls. 12830 */ 12831 12832 /* 12833 * Type for an lgrpid 12834 */ 12835 typedef uint16_t lgrpid_t; 12836 12837 /* 12838 * Type for processor name (CPU number). 12839 */ 12840 typedef int processorid_t; 12841 typedef int chipid_t; 12842 12843 /* 12844 * Flags and return values for p_online(2), and pi_state for processor_info(2). 12845 * These flags are *not* for in-kernel examination of CPU states. 12846 * See <sys/cpuvar.h> for appropriate informational functions. 12847 */ 12848 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 12849 /* 12850 * String names for processor states defined above. 12851 */ 12852 12853 12854 12855 12856 12857 12858 12859 /* 12860 * Structure filled in by processor_info(2). This structure 12861 * SHOULD NOT BE MODIFIED. Changes to the structure would 12862 * negate ABI compatibility. 12863 * 12864 * The string fields are guaranteed to contain a NULL. 12865 * 12866 * The pi_fputypes field contains a (possibly empty) comma-separated 12867 * list of floating point identifier strings. 12868 */ 12869 12870 12871 12872 typedef struct { 12873 int pi_state; /* processor state, see above */ 12874 char pi_processor_type[16]; /* ASCII CPU type */ 12875 char pi_fputypes[32]; /* ASCII FPU types */ 12876 int pi_clock; /* CPU clock freq in MHz */ 12877 } processor_info_t; 12878 12879 /* 12880 * Binding values for processor_bind(2) 12881 */ 12882 12883 12884 12885 12886 12887 12888 /* 12889 * User-level system call interface prototypes 12890 */ 12891 12892 12893 extern int p_online(processorid_t processorid, int flag); 12894 extern int processor_info(processorid_t processorid, 12895 processor_info_t *infop); 12896 extern int processor_bind(idtype_t idtype, id_t id, 12897 processorid_t processorid, processorid_t *obind); 12898 extern processorid_t getcpuid(void); 12899 extern lgrpid_t gethomelgroup(void); 12900 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 12901 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 12902 /* 12903 * CDDL HEADER START 12904 * 12905 * The contents of this file are subject to the terms of the 12906 * Common Development and Distribution License, Version 1.0 only 12907 * (the "License"). You may not use this file except in compliance 12908 * with the License. 12909 * 12910 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12911 * or http://www.opensolaris.org/os/licensing. 12912 * See the License for the specific language governing permissions 12913 * and limitations under the License. 12914 * 12915 * When distributing Covered Code, include this CDDL HEADER in each 12916 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12917 * If applicable, add the following below this CDDL HEADER, with the 12918 * fields enclosed by brackets "[]" replaced with your own identifying 12919 * information: Portions Copyright [yyyy] [name of copyright owner] 12920 * 12921 * CDDL HEADER END 12922 */ 12923 /* 12924 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12925 * Use is subject to license terms. 12926 */ 12927 12928 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12929 /* All Rights Reserved */ 12930 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 12931 12932 typedef int psetid_t; 12933 12934 /* special processor set id's */ 12935 12936 12937 12938 12939 12940 12941 12942 /* types of processor sets */ 12943 12944 12945 12946 12947 12948 extern int pset_create(psetid_t *); 12949 extern int pset_destroy(psetid_t); 12950 extern int pset_assign(psetid_t, processorid_t, psetid_t *); 12951 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); 12952 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); 12953 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); 12954 extern int pset_getloadavg(psetid_t, double [], int); 12955 extern int pset_list(psetid_t *, uint_t *); 12956 extern int pset_setattr(psetid_t, uint_t); 12957 extern int pset_getattr(psetid_t, uint_t *); 12958 12959 12960 12961 12962 12963 /* system call subcodes */ 12964 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 12965 /* attribute bits */ 12966 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12967 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 12968 /* 12969 * CDDL HEADER START 12970 * 12971 * The contents of this file are subject to the terms of the 12972 * Common Development and Distribution License (the "License"). 12973 * You may not use this file except in compliance with the License. 12974 * 12975 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12976 * or http://www.opensolaris.org/os/licensing. 12977 * See the License for the specific language governing permissions 12978 * and limitations under the License. 12979 * 12980 * When distributing Covered Code, include this CDDL HEADER in each 12981 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12982 * If applicable, add the following below this CDDL HEADER, with the 12983 * fields enclosed by brackets "[]" replaced with your own identifying 12984 * information: Portions Copyright [yyyy] [name of copyright owner] 12985 * 12986 * CDDL HEADER END 12987 */ 12988 /* 12989 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12990 * Use is subject to license terms. 12991 */ 12992 12993 12994 12995 12996 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12997 /* 12998 * CDDL HEADER START 12999 * 13000 * The contents of this file are subject to the terms of the 13001 * Common Development and Distribution License (the "License"). 13002 * You may not use this file except in compliance with the License. 13003 * 13004 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13005 * or http://www.opensolaris.org/os/licensing. 13006 * See the License for the specific language governing permissions 13007 * and limitations under the License. 13008 * 13009 * When distributing Covered Code, include this CDDL HEADER in each 13010 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13011 * If applicable, add the following below this CDDL HEADER, with the 13012 * fields enclosed by brackets "[]" replaced with your own identifying 13013 * information: Portions Copyright [yyyy] [name of copyright owner] 13014 * 13015 * CDDL HEADER END 13016 */ 13017 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13018 /* All Rights Reserved */ 13019 13020 13021 /* 13022 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13023 * Use is subject to license terms. 13024 * 13025 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13026 * Copyright 2016 Joyent, Inc. 13027 */ 13028 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 13029 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 13030 /* 13031 * types of label comparison 13032 */ 13033 13034 13035 13036 /* Manifest human readable label names */ 13037 13038 13039 13040 /* Binary Label Structure Definitions */ 13041 13042 typedef struct _mac_label_impl m_label_t; 13043 13044 typedef m_label_t blevel_t, /* compatibility */ 13045 bslabel_t, /* Sensitivity Label */ 13046 bclear_t; /* Clearance */ 13047 13048 typedef struct _tsol_binary_level_lrange { /* Level Range */ 13049 m_label_t *lower_bound; 13050 m_label_t *upper_bound; 13051 } m_range_t; 13052 13053 typedef m_range_t blrange_t; 13054 13055 typedef struct tsol_mlp_s { 13056 uchar_t mlp_ipp; 13057 uint16_t mlp_port; 13058 uint16_t mlp_port_upper; 13059 } tsol_mlp_t; 13060 13061 /* Procedure Interface Definitions available to user and kernel */ 13062 13063 extern int bltype(const void *, uint8_t); 13064 extern int blequal(const m_label_t *, const m_label_t *); 13065 extern int bldominates(const m_label_t *, const m_label_t *); 13066 extern int blstrictdom(const m_label_t *, const m_label_t *); 13067 extern int blinrange(const m_label_t *, const m_range_t *); 13068 extern void blmaximum(m_label_t *, const m_label_t *); 13069 extern void blminimum(m_label_t *, const m_label_t *); 13070 extern void bsllow(m_label_t *); 13071 extern void bslhigh(m_label_t *); 13072 extern void bclearlow(m_label_t *); 13073 extern void bclearhigh(m_label_t *); 13074 extern void bslundef(m_label_t *); 13075 extern void bclearundef(m_label_t *); 13076 extern void setbltype(void *, uint8_t); 13077 extern boolean_t bisinvalid(const void *); 13078 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 13079 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 13080 /* 13081 * CDDL HEADER START 13082 * 13083 * The contents of this file are subject to the terms of the 13084 * Common Development and Distribution License (the "License"). 13085 * You may not use this file except in compliance with the License. 13086 * 13087 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13088 * or http://www.opensolaris.org/os/licensing. 13089 * See the License for the specific language governing permissions 13090 * and limitations under the License. 13091 * 13092 * When distributing Covered Code, include this CDDL HEADER in each 13093 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13094 * If applicable, add the following below this CDDL HEADER, with the 13095 * fields enclosed by brackets "[]" replaced with your own identifying 13096 * information: Portions Copyright [yyyy] [name of copyright owner] 13097 * 13098 * CDDL HEADER END 13099 */ 13100 /* 13101 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13102 * Use is subject to license terms. 13103 */ 13104 13105 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 13106 /* All Rights Reserved */ 13107 13108 /* 13109 * Portions of this source code were derived from Berkeley 4.3 BSD 13110 * under license from the Regents of the University of California. 13111 */ 13112 13113 13114 13115 13116 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 13117 /* 13118 * CDDL HEADER START 13119 * 13120 * The contents of this file are subject to the terms of the 13121 * Common Development and Distribution License (the "License"). 13122 * You may not use this file except in compliance with the License. 13123 * 13124 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13125 * or http://www.opensolaris.org/os/licensing. 13126 * See the License for the specific language governing permissions 13127 * and limitations under the License. 13128 * 13129 * When distributing Covered Code, include this CDDL HEADER in each 13130 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13131 * If applicable, add the following below this CDDL HEADER, with the 13132 * fields enclosed by brackets "[]" replaced with your own identifying 13133 * information: Portions Copyright [yyyy] [name of copyright owner] 13134 * 13135 * CDDL HEADER END 13136 */ 13137 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13138 /* All Rights Reserved */ 13139 13140 13141 /* 13142 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13143 * Use is subject to license terms. 13144 * 13145 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13146 * Copyright 2016 Joyent, Inc. 13147 */ 13148 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 13149 13150 13151 13152 13153 13154 /* 13155 * The credential is an opaque kernel private data structure defined in 13156 * <sys/cred_impl.h>. 13157 */ 13158 13159 typedef struct cred cred_t; 13160 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 13161 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 13162 /* 13163 * CDDL HEADER START 13164 * 13165 * The contents of this file are subject to the terms of the 13166 * Common Development and Distribution License (the "License"). 13167 * You may not use this file except in compliance with the License. 13168 * 13169 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13170 * or http://www.opensolaris.org/os/licensing. 13171 * See the License for the specific language governing permissions 13172 * and limitations under the License. 13173 * 13174 * When distributing Covered Code, include this CDDL HEADER in each 13175 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13176 * If applicable, add the following below this CDDL HEADER, with the 13177 * fields enclosed by brackets "[]" replaced with your own identifying 13178 * information: Portions Copyright [yyyy] [name of copyright owner] 13179 * 13180 * CDDL HEADER END 13181 */ 13182 13183 /* 13184 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13185 * Use is subject to license terms. 13186 */ 13187 13188 13189 13190 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 13191 /* 13192 * CDDL HEADER START 13193 * 13194 * The contents of this file are subject to the terms of the 13195 * Common Development and Distribution License (the "License"). 13196 * You may not use this file except in compliance with the License. 13197 * 13198 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13199 * or http://www.opensolaris.org/os/licensing. 13200 * See the License for the specific language governing permissions 13201 * and limitations under the License. 13202 * 13203 * When distributing Covered Code, include this CDDL HEADER in each 13204 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13205 * If applicable, add the following below this CDDL HEADER, with the 13206 * fields enclosed by brackets "[]" replaced with your own identifying 13207 * information: Portions Copyright [yyyy] [name of copyright owner] 13208 * 13209 * CDDL HEADER END 13210 */ 13211 /* 13212 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13213 * Use is subject to license terms. 13214 * 13215 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 13216 */ 13217 13218 13219 13220 13221 /* 13222 * Definition of general kernel statistics structures and /dev/kstat ioctls 13223 */ 13224 13225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 13226 /* 13227 * CDDL HEADER START 13228 * 13229 * The contents of this file are subject to the terms of the 13230 * Common Development and Distribution License (the "License"). 13231 * You may not use this file except in compliance with the License. 13232 * 13233 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13234 * or http://www.opensolaris.org/os/licensing. 13235 * See the License for the specific language governing permissions 13236 * and limitations under the License. 13237 * 13238 * When distributing Covered Code, include this CDDL HEADER in each 13239 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13240 * If applicable, add the following below this CDDL HEADER, with the 13241 * fields enclosed by brackets "[]" replaced with your own identifying 13242 * information: Portions Copyright [yyyy] [name of copyright owner] 13243 * 13244 * CDDL HEADER END 13245 */ 13246 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13247 /* All Rights Reserved */ 13248 13249 13250 /* 13251 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13252 * Use is subject to license terms. 13253 * 13254 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13255 * Copyright 2016 Joyent, Inc. 13256 */ 13257 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 13258 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 13259 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13260 /* All Rights Reserved */ 13261 13262 13263 /* 13264 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 13265 * All rights reserved. The Berkeley software License Agreement 13266 * specifies the terms and conditions for redistribution. 13267 */ 13268 13269 /* 13270 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13271 * 13272 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13273 * Use is subject to license terms. 13274 * 13275 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13276 */ 13277 13278 /* 13279 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 13280 */ 13281 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 13282 13283 13284 13285 13286 13287 typedef int kid_t; /* unique kstat id */ 13288 13289 /* 13290 * Kernel statistics driver (/dev/kstat) ioctls 13291 */ 13292 13293 13294 13295 13296 13297 13298 13299 /* 13300 * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): 13301 * 13302 * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); 13303 * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); 13304 * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); 13305 */ 13306 13307 13308 13309 /* 13310 * The generic kstat header 13311 */ 13312 13313 typedef struct kstat { 13314 /* 13315 * Fields relevant to both kernel and user 13316 */ 13317 hrtime_t ks_crtime; /* creation time (from gethrtime()) */ 13318 struct kstat *ks_next; /* kstat chain linkage */ 13319 kid_t ks_kid; /* unique kstat ID */ 13320 char ks_module[31]; /* provider module name */ 13321 uchar_t ks_resv; /* reserved, currently just padding */ 13322 int ks_instance; /* provider module's instance */ 13323 char ks_name[31]; /* kstat name */ 13324 uchar_t ks_type; /* kstat data type */ 13325 char ks_class[31]; /* kstat class */ 13326 uchar_t ks_flags; /* kstat flags */ 13327 void *ks_data; /* kstat type-specific data */ 13328 uint_t ks_ndata; /* # of type-specific data records */ 13329 size_t ks_data_size; /* total size of kstat data section */ 13330 hrtime_t ks_snaptime; /* time of last data shapshot */ 13331 /* 13332 * Fields relevant to kernel only 13333 */ 13334 int (*ks_update)(struct kstat *, int); /* dynamic update */ 13335 void *ks_private; /* arbitrary provider-private data */ 13336 int (*ks_snapshot)(struct kstat *, void *, int); 13337 void *ks_lock; /* protects this kstat's data */ 13338 } kstat_t; 13339 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13340 /* 13341 * kstat structure and locking strategy 13342 * 13343 * Each kstat consists of a header section (a kstat_t) and a data section. 13344 * The system maintains a set of kstats, protected by kstat_chain_lock. 13345 * kstat_chain_lock protects all additions to/deletions from this set, 13346 * as well as all changes to kstat headers. kstat data sections are 13347 * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, 13348 * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their 13349 * operations on that kstat. It is up to the kstat provider to decide whether 13350 * guaranteeing consistent data to kstat clients is sufficiently important 13351 * to justify the locking cost. Note, however, that most statistic updates 13352 * already occur under one of the provider's mutexes, so if the provider sets 13353 * ks_lock to point to that mutex, then kstat data locking is free. 13354 * 13355 * NOTE: variable-size kstats MUST employ kstat data locking, to prevent 13356 * data-size races with kstat clients. 13357 * 13358 * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) 13359 * in the kstat header so that users don't have to be exposed to all of the 13360 * kernel's lock-related data structures. 13361 */ 13362 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13363 /* 13364 * kstat time 13365 * 13366 * All times associated with kstats (e.g. creation time, snapshot time, 13367 * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, 13368 * as returned by gethrtime(). The accuracy of these timestamps is machine 13369 * dependent, but the precision (units) is the same across all platforms. 13370 */ 13371 13372 /* 13373 * kstat identity (KID) 13374 * 13375 * Each kstat is assigned a unique KID (kstat ID) when it is added to the 13376 * global kstat chain. The KID is used as a cookie by /dev/kstat to 13377 * request information about the corresponding kstat. There is also 13378 * an identity associated with the entire kstat chain, kstat_chain_id, 13379 * which is bumped each time a kstat is added or deleted. /dev/kstat uses 13380 * the chain ID to detect changes in the kstat chain (e.g., a new disk 13381 * coming online) between ioctl()s. 13382 */ 13383 13384 /* 13385 * kstat module, kstat instance 13386 * 13387 * ks_module and ks_instance contain the name and instance of the module 13388 * that created the kstat. In cases where there can only be one instance, 13389 * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its 13390 * module name. 13391 */ 13392 13393 /* 13394 * kstat name 13395 * 13396 * ks_name gives a meaningful name to a kstat. The full kstat namespace 13397 * is module.instance.name, so the name only need be unique within a 13398 * module. kstat_create() will fail if you try to create a kstat with 13399 * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are 13400 * allowed in kstat names, but strongly discouraged, since they hinder 13401 * awk-style processing at user level. 13402 */ 13403 13404 /* 13405 * kstat type 13406 * 13407 * The kstat mechanism provides several flavors of kstat data, defined 13408 * below. The "raw" kstat type is just treated as an array of bytes; you 13409 * can use this to export any kind of data you want. 13410 * 13411 * Some kstat types allow multiple data structures per kstat, e.g. 13412 * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each 13413 * kstat data type. 13414 * 13415 * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To 13416 * get this information, read out the standard system kstat "kstat_types". 13417 */ 13418 13419 13420 /* ks_ndata >= 1 */ 13421 13422 /* ks_ndata >= 1 */ 13423 13424 /* ks_ndata == 1 */ 13425 13426 /* ks_ndata == 1 */ 13427 13428 /* ks_ndata >= 1 */ 13429 13430 13431 13432 /* 13433 * kstat class 13434 * 13435 * Each kstat can be characterized as belonging to some broad class 13436 * of statistics, e.g. disk, tape, net, vm, streams, etc. This field 13437 * can be used as a filter to extract related kstats. The following 13438 * values are currently in use: disk, tape, net, controller, vm, kvm, 13439 * hat, streams, kstat, and misc. (The kstat class encompasses things 13440 * like kstat_types.) 13441 */ 13442 13443 /* 13444 * kstat flags 13445 * 13446 * Any of the following flags may be passed to kstat_create(). They are 13447 * all zero by default. 13448 * 13449 * KSTAT_FLAG_VIRTUAL: 13450 * 13451 * Tells kstat_create() not to allocate memory for the 13452 * kstat data section; instead, you will set the ks_data 13453 * field to point to the data you wish to export. This 13454 * provides a convenient way to export existing data 13455 * structures. 13456 * 13457 * KSTAT_FLAG_VAR_SIZE: 13458 * 13459 * The size of the kstat you are creating will vary over time. 13460 * For example, you may want to use the kstat mechanism to 13461 * export a linked list. NOTE: The kstat framework does not 13462 * manage the data section, so all variable-size kstats must be 13463 * virtual kstats. Moreover, variable-size kstats MUST employ 13464 * kstat data locking to prevent data-size races with kstat 13465 * clients. See the section on "kstat snapshot" for details. 13466 * 13467 * KSTAT_FLAG_WRITABLE: 13468 * 13469 * Makes the kstat's data section writable by root. 13470 * The ks_snapshot routine (see below) does not need to check for 13471 * this; permission checking is handled in the kstat driver. 13472 * 13473 * KSTAT_FLAG_PERSISTENT: 13474 * 13475 * Indicates that this kstat is to be persistent over time. 13476 * For persistent kstats, kstat_delete() simply marks the 13477 * kstat as dormant; a subsequent kstat_create() reactivates 13478 * the kstat. This feature is provided so that statistics 13479 * are not lost across driver close/open (e.g., raw disk I/O 13480 * on a disk with no mounted partitions.) 13481 * NOTE: Persistent kstats cannot be virtual, since ks_data 13482 * points to garbage as soon as the driver goes away. 13483 * 13484 * The following flags are maintained by the kstat framework: 13485 * 13486 * KSTAT_FLAG_DORMANT: 13487 * 13488 * For persistent kstats, indicates that the kstat is in the 13489 * dormant state (e.g., the corresponding device is closed). 13490 * 13491 * KSTAT_FLAG_INVALID: 13492 * 13493 * This flag is set when a kstat is in a transitional state, 13494 * e.g. between kstat_create() and kstat_install(). 13495 * kstat clients must not attempt to access the kstat's data 13496 * if this flag is set. 13497 * 13498 * KSTAT_FLAG_LONGSTRINGS: 13499 * 13500 * Indicates that this kstat contains long strings (which 13501 * are stored outside of the kstat data section). When copied 13502 * out to user space the string data will be held in the data 13503 * section provided by the user. 13504 */ 13505 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13506 /* 13507 * Dynamic update support 13508 * 13509 * The kstat mechanism allows for an optional ks_update function to update 13510 * kstat data. This is useful for drivers where the underlying device 13511 * keeps cheap hardware stats, but extraction is expensive. Instead of 13512 * constantly keeping the kstat data section up to date, you can supply a 13513 * ks_update function which updates the kstat's data section on demand. 13514 * To take advantage of this feature, simply set the ks_update field before 13515 * calling kstat_install(). 13516 * 13517 * The ks_update function, if supplied, must have the following structure: 13518 * 13519 * int 13520 * foo_kstat_update(kstat_t *ksp, int rw) 13521 * { 13522 * if (rw == KSTAT_WRITE) { 13523 * ... update the native stats from ksp->ks_data; 13524 * return EACCES if you don't support this 13525 * } else { 13526 * ... update ksp->ks_data from the native stats 13527 * } 13528 * } 13529 * 13530 * The ks_update return codes are: 0 for success, EACCES if you don't allow 13531 * KSTAT_WRITE, and EIO for any other type of error. 13532 * 13533 * In general, the ks_update function may need to refer to provider-private 13534 * data; for example, it may need a pointer to the provider's raw statistics. 13535 * The ks_private field is available for this purpose. Its use is entirely 13536 * at the provider's discretion. 13537 * 13538 * All variable-size kstats MUST supply a ks_update routine, which computes 13539 * and sets ks_data_size (and ks_ndata if that is meaningful), since these 13540 * are needed to perform kstat snapshots (see below). 13541 * 13542 * No kstat locking should be done inside the ks_update routine. The caller 13543 * will already be holding the kstat's ks_lock (to ensure consistent data). 13544 */ 13545 13546 13547 13548 13549 /* 13550 * Kstat snapshot 13551 * 13552 * In order to get a consistent view of a kstat's data, clients must obey 13553 * the kstat's locking strategy. However, these clients may need to perform 13554 * operations on the data which could cause a fault (e.g. copyout()), or 13555 * operations which are simply expensive. Doing so could cause deadlock 13556 * (e.g. if you're holding a disk's kstat lock which is ultimately required 13557 * to resolve a copyout() fault), performance degradation (since the providers' 13558 * activity is serialized at the kstat lock), device timing problems, etc. 13559 * 13560 * To avoid these problems, kstat data is provided via snapshots. Taking 13561 * a snapshot is a simple process: allocate a wired-down kernel buffer, 13562 * acquire the kstat's data lock, copy the data into the buffer ("take the 13563 * snapshot"), and release the lock. This ensures that the kstat's data lock 13564 * will be held as briefly as possible, and that no faults will occur while 13565 * the lock is held. 13566 * 13567 * Normally, the snapshot is taken by default_kstat_snapshot(), which 13568 * timestamps the data (sets ks_snaptime), copies it, and does a little 13569 * massaging to deal with incomplete transactions on i/o kstats. However, 13570 * this routine only works for kstats with contiguous data (the typical case). 13571 * If you create a kstat whose data is, say, a linked list, you must provide 13572 * your own ks_snapshot routine. The routine you supply must have the 13573 * following prototype (replace "foo" with something appropriate): 13574 * 13575 * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); 13576 * 13577 * The minimal snapshot routine -- one which copies contiguous data that 13578 * doesn't need any massaging -- would be this: 13579 * 13580 * ksp->ks_snaptime = gethrtime(); 13581 * if (rw == KSTAT_WRITE) 13582 * bcopy(buf, ksp->ks_data, ksp->ks_data_size); 13583 * else 13584 * bcopy(ksp->ks_data, buf, ksp->ks_data_size); 13585 * return (0); 13586 * 13587 * A more illuminating example is taking a snapshot of a linked list: 13588 * 13589 * ksp->ks_snaptime = gethrtime(); 13590 * if (rw == KSTAT_WRITE) 13591 * return (EACCES); ... See below ... 13592 * for (foo = first_foo; foo; foo = foo->next) { 13593 * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); 13594 * buf = ((struct foo *) buf) + 1; 13595 * } 13596 * return (0); 13597 * 13598 * In the example above, we have decided that we don't want to allow 13599 * KSTAT_WRITE access, so we return EACCES if this is attempted. 13600 * 13601 * The key points are: 13602 * 13603 * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. 13604 * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, 13605 * and from the buffer to the kstat on KSTAT_WRITE. 13606 * (3) ks_snapshot return values are: 0 for success, EACCES if you 13607 * don't allow KSTAT_WRITE, and EIO for any other type of error. 13608 * 13609 * Named kstats (see section on "Named statistics" below) containing long 13610 * strings (KSTAT_DATA_STRING) need special handling. The kstat driver 13611 * assumes that all strings are copied into the buffer after the array of 13612 * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point 13613 * into the copy within the buffer. The default snapshot routine does this, 13614 * but overriding routines should contain at least the following: 13615 * 13616 * if (rw == KSTAT_READ) { 13617 * kstat_named_t *knp = buf; 13618 * char *end = knp + ksp->ks_ndata; 13619 * uint_t i; 13620 * 13621 * ... Do the regular copy ... 13622 * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); 13623 * 13624 * for (i = 0; i < ksp->ks_ndata; i++, knp++) { 13625 * if (knp[i].data_type == KSTAT_DATA_STRING && 13626 * KSTAT_NAMED_STR_PTR(knp) != NULL) { 13627 * bcopy(KSTAT_NAMED_STR_PTR(knp), end, 13628 * KSTAT_NAMED_STR_BUFLEN(knp)); 13629 * KSTAT_NAMED_STR_PTR(knp) = end; 13630 * end += KSTAT_NAMED_STR_BUFLEN(knp); 13631 * } 13632 * } 13633 */ 13634 13635 /* 13636 * Named statistics. 13637 * 13638 * List of arbitrary name=value statistics. 13639 */ 13640 13641 typedef struct kstat_named { 13642 char name[31]; /* name of counter */ 13643 uchar_t data_type; /* data type */ 13644 union { 13645 char c[16]; /* enough for 128-bit ints */ 13646 int32_t i32; 13647 uint32_t ui32; 13648 struct { 13649 union { 13650 char *ptr; /* NULL-term string */ 13651 13652 13653 13654 char __pad[8]; /* 64-bit padding */ 13655 } addr; 13656 uint32_t len; /* # bytes for strlen + '\0' */ 13657 } str; 13658 /* 13659 * The int64_t and uint64_t types are not valid for a maximally conformant 13660 * 32-bit compilation environment (cc -Xc) using compilers prior to the 13661 * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). 13662 * In these cases, the visibility of i64 and ui64 is only permitted for 13663 * 64-bit compilation environments or 32-bit non-maximally conformant 13664 * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the 13665 * C99 ANSI C compilation environment, the long long type is supported. 13666 * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). 13667 */ 13668 13669 int64_t i64; 13670 uint64_t ui64; 13671 13672 long l; 13673 ulong_t ul; 13674 13675 /* These structure members are obsolete */ 13676 13677 longlong_t ll; 13678 u_longlong_t ull; 13679 float f; 13680 double d; 13681 } value; /* value of counter */ 13682 } kstat_named_t; 13683 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13684 /* 13685 * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) 13686 * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof 13687 * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the 13688 * amount of space required to store the strings (ie, the sum of 13689 * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the 13690 * space required to store the kstat_named_t's. 13691 * 13692 * The default update routine will update ks_data_size automatically for 13693 * variable-length kstats containing long strings (using the default update 13694 * routine only makes sense if the string is the only thing that is changing 13695 * in size, and ks_ndata is constant). Fixed-length kstats containing long 13696 * strings must explicitly change ks_data_size (after creation but before 13697 * initialization) to reflect the correct amount of space required for the 13698 * long strings and the kstat_named_t's. 13699 */ 13700 13701 13702 /* These types are obsolete */ 13703 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13704 /* 13705 * Retrieve the pointer of the string contained in the given named kstat. 13706 */ 13707 13708 13709 /* 13710 * Retrieve the length of the buffer required to store the string in the given 13711 * named kstat. 13712 */ 13713 13714 13715 /* 13716 * Interrupt statistics. 13717 * 13718 * An interrupt is a hard interrupt (sourced from the hardware device 13719 * itself), a soft interrupt (induced by the system via the use of 13720 * some system interrupt source), a watchdog interrupt (induced by 13721 * a periodic timer call), spurious (an interrupt entry point was 13722 * entered but there was no interrupt condition to service), 13723 * or multiple service (an interrupt condition was detected and 13724 * serviced just prior to returning from any of the other types). 13725 * 13726 * Measurement of the spurious class of interrupts is useful for 13727 * autovectored devices in order to pinpoint any interrupt latency 13728 * problems in a particular system configuration. 13729 * 13730 * Devices that have more than one interrupt of the same 13731 * type should use multiple structures. 13732 */ 13733 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 13734 typedef struct kstat_intr { 13735 uint_t intrs[5]; /* interrupt counters */ 13736 } kstat_intr_t; 13737 13738 13739 13740 /* 13741 * I/O statistics. 13742 */ 13743 13744 typedef struct kstat_io { 13745 13746 /* 13747 * Basic counters. 13748 * 13749 * The counters should be updated at the end of service 13750 * (e.g., just prior to calling biodone()). 13751 */ 13752 13753 u_longlong_t nread; /* number of bytes read */ 13754 u_longlong_t nwritten; /* number of bytes written */ 13755 uint_t reads; /* number of read operations */ 13756 uint_t writes; /* number of write operations */ 13757 13758 /* 13759 * Accumulated time and queue length statistics. 13760 * 13761 * Accumulated time statistics are kept as a running sum 13762 * of "active" time. Queue length statistics are kept as a 13763 * running sum of the product of queue length and elapsed time 13764 * at that length -- i.e., a Riemann sum for queue length 13765 * integrated against time. (You can also think of the active time 13766 * as a Riemann sum, for the boolean function (queue_length > 0) 13767 * integrated against time, or you can think of it as the 13768 * Lebesgue measure of the set on which queue_length > 0.) 13769 * 13770 * ^ 13771 * | _________ 13772 * 8 | i4 | 13773 * | | | 13774 * Queue 6 | | 13775 * Length | _________ | | 13776 * 4 | i2 |_______| | 13777 * | | i3 | 13778 * 2_______| | 13779 * | i1 | 13780 * |_______________________________| 13781 * Time-> t1 t2 t3 t4 13782 * 13783 * At each change of state (entry or exit from the queue), 13784 * we add the elapsed time (since the previous state change) 13785 * to the active time if the queue length was non-zero during 13786 * that interval; and we add the product of the elapsed time 13787 * times the queue length to the running length*time sum. 13788 * 13789 * This method is generalizable to measuring residency 13790 * in any defined system: instead of queue lengths, think 13791 * of "outstanding RPC calls to server X". 13792 * 13793 * A large number of I/O subsystems have at least two basic 13794 * "lists" of transactions they manage: one for transactions 13795 * that have been accepted for processing but for which processing 13796 * has yet to begin, and one for transactions which are actively 13797 * being processed (but not done). For this reason, two cumulative 13798 * time statistics are defined here: wait (pre-service) time, 13799 * and run (service) time. 13800 * 13801 * All times are 64-bit nanoseconds (hrtime_t), as returned by 13802 * gethrtime(). 13803 * 13804 * The units of cumulative busy time are accumulated nanoseconds. 13805 * The units of cumulative length*time products are elapsed time 13806 * times queue length. 13807 * 13808 * Updates to the fields below are performed implicitly by calls to 13809 * these five functions: 13810 * 13811 * kstat_waitq_enter() 13812 * kstat_waitq_exit() 13813 * kstat_runq_enter() 13814 * kstat_runq_exit() 13815 * 13816 * kstat_waitq_to_runq() (see below) 13817 * kstat_runq_back_to_waitq() (see below) 13818 * 13819 * Since kstat_waitq_exit() is typically followed immediately 13820 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() 13821 * function which performs both operations. This is a performance 13822 * win since only one timestamp is required. 13823 * 13824 * In some instances, it may be necessary to move a request from 13825 * the run queue back to the wait queue, e.g. for write throttling. 13826 * For these situations, call kstat_runq_back_to_waitq(). 13827 * 13828 * These fields should never be updated by any other means. 13829 */ 13830 13831 hrtime_t wtime; /* cumulative wait (pre-service) time */ 13832 hrtime_t wlentime; /* cumulative wait length*time product */ 13833 hrtime_t wlastupdate; /* last time wait queue changed */ 13834 hrtime_t rtime; /* cumulative run (service) time */ 13835 hrtime_t rlentime; /* cumulative run length*time product */ 13836 hrtime_t rlastupdate; /* last time run queue changed */ 13837 13838 uint_t wcnt; /* count of elements in wait state */ 13839 uint_t rcnt; /* count of elements in run state */ 13840 13841 } kstat_io_t; 13842 13843 13844 13845 /* 13846 * Event timer statistics - cumulative elapsed time and number of events. 13847 * 13848 * Updates to these fields are performed implicitly by calls to 13849 * kstat_timer_start() and kstat_timer_stop(). 13850 */ 13851 13852 typedef struct kstat_timer { 13853 char name[31]; /* event name */ 13854 uchar_t resv; /* reserved */ 13855 u_longlong_t num_events; /* number of events */ 13856 hrtime_t elapsed_time; /* cumulative elapsed time */ 13857 hrtime_t min_time; /* shortest event duration */ 13858 hrtime_t max_time; /* longest event duration */ 13859 hrtime_t start_time; /* previous event start time */ 13860 hrtime_t stop_time; /* previous event stop time */ 13861 } kstat_timer_t; 13862 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 13863 13864 13865 13866 13867 13868 /* 13869 * This allows various pieces in and around IP to have a separate instance 13870 * for each instance of IP. This is used to support zones that have an 13871 * exclusive stack. 13872 * Pieces of software far removed from IP (e.g., kernel software 13873 * sitting on top of TCP or UDP) probably should not use the netstack 13874 * support; if such software wants to support separate zones it 13875 * can do that using the zones framework (zone_key_create() etc) 13876 * whether there is a shared IP stack or and exclusive IP stack underneath. 13877 */ 13878 13879 /* 13880 * Each netstack has an identifier. We reuse the zoneid allocation for 13881 * this but have a separate typedef. Thus the shared stack (used by 13882 * the global zone and other shared stack zones) have a zero ID, and 13883 * the exclusive stacks have a netstackid that is the same as their zoneid. 13884 */ 13885 typedef id_t netstackid_t; 13886 13887 13888 13889 /* 13890 * One for each module which uses netstack support. 13891 * Used in netstack_register(). 13892 * 13893 * The order of these is important for some modules both for 13894 * the creation (which done in ascending order) and destruction (which is 13895 * done in in decending order). 13896 */ 13897 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 13898 /* 13899 * State maintained for each module which tracks the state of 13900 * the create, shutdown and destroy callbacks. 13901 * 13902 * Keeps track of pending actions to avoid holding locks when 13903 * calling into the create/shutdown/destroy functions in the module. 13904 */ 13905 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 13906 /* User-level compile like IP Filter needs a netstack_t. Dummy */ 13907 typedef uint_t nm_state_t; 13908 13909 13910 /* 13911 * One for every netstack in the system. 13912 * We use a union so that the compilar and lint can provide type checking - 13913 * in principle we could have 13914 * #define netstack_arp netstack_modules[NS_ARP] 13915 * etc, but that would imply void * types hence no type checking by the 13916 * compiler. 13917 * 13918 * All the fields in netstack_t except netstack_next are protected by 13919 * netstack_lock. netstack_next is protected by netstack_g_lock. 13920 */ 13921 struct netstack { 13922 union { 13923 void *nu_modules[(18 +1)]; 13924 struct { 13925 struct dls_stack *nu_dls; 13926 struct iptun_stack *nu_iptun; 13927 struct str_stack *nu_str; 13928 struct hook_stack *nu_hook; 13929 struct neti_stack *nu_neti; 13930 struct arp_stack *nu_arp; 13931 struct ip_stack *nu_ip; 13932 struct icmp_stack *nu_icmp; 13933 struct udp_stack *nu_udp; 13934 struct tcp_stack *nu_tcp; 13935 struct sctp_stack *nu_sctp; 13936 struct rts_stack *nu_rts; 13937 struct ipsec_stack *nu_ipsec; 13938 struct keysock_stack *nu_keysock; 13939 struct spd_stack *nu_spdsock; 13940 struct ipsecah_stack *nu_ipsecah; 13941 struct ipsecesp_stack *nu_ipsecesp; 13942 struct ipnet_stack *nu_ipnet; 13943 struct ilb_stack *nu_ilb; 13944 } nu_s; 13945 } netstack_u; 13946 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 13947 nm_state_t netstack_m_state[(18 +1)]; /* module state */ 13948 13949 kmutex_t netstack_lock; 13950 struct netstack *netstack_next; 13951 netstackid_t netstack_stackid; 13952 int netstack_numzones; /* Number of zones using this */ 13953 int netstack_refcnt; /* Number of hold-rele */ 13954 int netstack_flags; /* See below */ 13955 13956 13957 13958 13959 13960 }; 13961 typedef struct netstack netstack_t; 13962 13963 /* netstack_flags values */ 13964 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 13965 /* 13966 * One for each of the NS_* values. 13967 */ 13968 struct netstack_registry { 13969 int nr_flags; /* 0 if nothing registered */ 13970 void *(*nr_create)(netstackid_t, netstack_t *); 13971 void (*nr_shutdown)(netstackid_t, void *); 13972 void (*nr_destroy)(netstackid_t, void *); 13973 }; 13974 13975 /* nr_flags values */ 13976 13977 13978 13979 /* 13980 * To support kstat_create_netstack() using kstat_add_zone we need 13981 * to track both 13982 * - all zoneids that use the global/shared stack 13983 * - all kstats that have been added for the shared stack 13984 */ 13985 13986 extern void netstack_init(void); 13987 extern void netstack_hold(netstack_t *); 13988 extern void netstack_rele(netstack_t *); 13989 extern netstack_t *netstack_find_by_cred(const cred_t *); 13990 extern netstack_t *netstack_find_by_stackid(netstackid_t); 13991 extern netstack_t *netstack_find_by_zoneid(zoneid_t); 13992 13993 extern zoneid_t netstackid_to_zoneid(netstackid_t); 13994 extern zoneid_t netstack_get_zoneid(netstack_t *); 13995 extern netstackid_t zoneid_to_netstackid(zoneid_t); 13996 13997 extern netstack_t *netstack_get_current(void); 13998 13999 /* 14000 * Register interest in changes to the set of netstacks. 14001 * The createfn and destroyfn are required, but the shutdownfn can be 14002 * NULL. 14003 * Note that due to the current zsd implementation, when the create 14004 * function is called the zone isn't fully present, thus functions 14005 * like zone_find_by_* will fail, hence the create function can not 14006 * use many zones kernel functions including zcmn_err(). 14007 */ 14008 extern void netstack_register(int, 14009 void *(*)(netstackid_t, netstack_t *), 14010 void (*)(netstackid_t, void *), 14011 void (*)(netstackid_t, void *)); 14012 extern void netstack_unregister(int); 14013 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, 14014 uint_t, uchar_t, netstackid_t); 14015 extern void kstat_delete_netstack(kstat_t *, netstackid_t); 14016 14017 /* 14018 * Simple support for walking all the netstacks. 14019 * The caller of netstack_next() needs to call netstack_rele() when 14020 * done with a netstack. 14021 */ 14022 typedef int netstack_handle_t; 14023 14024 extern void netstack_next_init(netstack_handle_t *); 14025 extern void netstack_next_fini(netstack_handle_t *); 14026 extern netstack_t *netstack_next(netstack_handle_t *); 14027 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 14029 /* 14030 * CDDL HEADER START 14031 * 14032 * The contents of this file are subject to the terms of the 14033 * Common Development and Distribution License (the "License"). 14034 * You may not use this file except in compliance with the License. 14035 * 14036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14037 * or http://www.opensolaris.org/os/licensing. 14038 * See the License for the specific language governing permissions 14039 * and limitations under the License. 14040 * 14041 * When distributing Covered Code, include this CDDL HEADER in each 14042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14043 * If applicable, add the following below this CDDL HEADER, with the 14044 * fields enclosed by brackets "[]" replaced with your own identifying 14045 * information: Portions Copyright [yyyy] [name of copyright owner] 14046 * 14047 * CDDL HEADER END 14048 */ 14049 /* 14050 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14051 * 14052 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14053 * Use is subject to license terms. 14054 */ 14055 14056 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14057 /* All Rights Reserved */ 14058 14059 14060 14061 14062 14063 14064 14065 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14066 /* 14067 * CDDL HEADER START 14068 * 14069 * The contents of this file are subject to the terms of the 14070 * Common Development and Distribution License (the "License"). 14071 * You may not use this file except in compliance with the License. 14072 * 14073 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14074 * or http://www.opensolaris.org/os/licensing. 14075 * See the License for the specific language governing permissions 14076 * and limitations under the License. 14077 * 14078 * When distributing Covered Code, include this CDDL HEADER in each 14079 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14080 * If applicable, add the following below this CDDL HEADER, with the 14081 * fields enclosed by brackets "[]" replaced with your own identifying 14082 * information: Portions Copyright [yyyy] [name of copyright owner] 14083 * 14084 * CDDL HEADER END 14085 */ 14086 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14087 /* All Rights Reserved */ 14088 14089 14090 /* 14091 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14092 * Use is subject to license terms. 14093 * 14094 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14095 * Copyright 2016 Joyent, Inc. 14096 */ 14097 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 14098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 14099 /* 14100 * CDDL HEADER START 14101 * 14102 * The contents of this file are subject to the terms of the 14103 * Common Development and Distribution License (the "License"). 14104 * You may not use this file except in compliance with the License. 14105 * 14106 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14107 * or http://www.opensolaris.org/os/licensing. 14108 * See the License for the specific language governing permissions 14109 * and limitations under the License. 14110 * 14111 * When distributing Covered Code, include this CDDL HEADER in each 14112 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14113 * If applicable, add the following below this CDDL HEADER, with the 14114 * fields enclosed by brackets "[]" replaced with your own identifying 14115 * information: Portions Copyright [yyyy] [name of copyright owner] 14116 * 14117 * CDDL HEADER END 14118 */ 14119 /* 14120 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14121 * Use is subject to license terms. 14122 */ 14123 14124 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14125 /* All Rights Reserved */ 14126 14127 /* 14128 * Portions of this source code were derived from Berkeley 4.3 BSD 14129 * under license from the Regents of the University of California. 14130 */ 14131 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 14132 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 14133 /* 17-21 reserved for obsolete interface */ 14134 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 14135 /* 14136 * Functions reserved for A_FREEZE (may not be available on all platforms) 14137 * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete 14138 * The first two are succeeded by AD_SUSPEND_TO_DISK and 14139 * AD_CHECK_SUSPEND_TO_DISK respectively. 14140 * AD_FORCE should not be used by any new application 14141 * 14142 * We maintain compatibility with the earlier interfaces: 14143 * AD_COMPRESS and AD_CHECK, by preserving those values 14144 * in the corresponding new interfaces 14145 */ 14146 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 14147 /* 14148 * NOTE: the following defines comprise an Unstable interface. Their semantics 14149 * may change or they may be removed completely in a later release 14150 */ 14151 14152 14153 14154 14155 14156 14157 14158 /* 14159 * Functions of A_CONFIG. Unstable interface. 14160 */ 14161 14162 14163 /* 14164 * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, 14165 * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most 14166 * 256 characters. 14167 */ 14168 14169 14170 14171 /* 14172 * FMRI for boot-config service. 14173 */ 14174 14175 14176 14177 /* 14178 * Property group that contains all Fast Reboot configuration properties. 14179 */ 14180 14181 14182 /* 14183 * Property group that contains all Fast Reboot blacklisting information. 14184 */ 14185 14186 14187 /* 14188 * Non-persistent property group which contains all the properties that 14189 * will override settings in the BOOT_CONFIG_PG_PARAMS property group. 14190 */ 14191 14192 14193 14194 14195 /* 14196 * Flag representations of fastboot configuration. 14197 */ 14198 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 14199 extern int uadmin(int, int, uintptr_t); 14200 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 14202 /* 14203 * CDDL HEADER START 14204 * 14205 * The contents of this file are subject to the terms of the 14206 * Common Development and Distribution License, Version 1.0 only 14207 * (the "License"). You may not use this file except in compliance 14208 * with the License. 14209 * 14210 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14211 * or http://www.opensolaris.org/os/licensing. 14212 * See the License for the specific language governing permissions 14213 * and limitations under the License. 14214 * 14215 * When distributing Covered Code, include this CDDL HEADER in each 14216 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14217 * If applicable, add the following below this CDDL HEADER, with the 14218 * fields enclosed by brackets "[]" replaced with your own identifying 14219 * information: Portions Copyright [yyyy] [name of copyright owner] 14220 * 14221 * CDDL HEADER END 14222 */ 14223 /* 14224 * Copyright (c) 1991, Sun Microsystems, Inc. 14225 */ 14226 14227 /* 14228 * DKI/DDI MT synchronization primitives. 14229 */ 14230 14231 14232 14233 14234 #pragma ident "%Z%%M% %I% %E% SMI" 14235 14236 /* 14237 * The presence of this file is specified by the DKI/DDI. 14238 */ 14239 14240 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 14241 /* 14242 * CDDL HEADER START 14243 * 14244 * The contents of this file are subject to the terms of the 14245 * Common Development and Distribution License, Version 1.0 only 14246 * (the "License"). You may not use this file except in compliance 14247 * with the License. 14248 * 14249 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14250 * or http://www.opensolaris.org/os/licensing. 14251 * See the License for the specific language governing permissions 14252 * and limitations under the License. 14253 * 14254 * When distributing Covered Code, include this CDDL HEADER in each 14255 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14256 * If applicable, add the following below this CDDL HEADER, with the 14257 * fields enclosed by brackets "[]" replaced with your own identifying 14258 * information: Portions Copyright [yyyy] [name of copyright owner] 14259 * 14260 * CDDL HEADER END 14261 */ 14262 /* 14263 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 14264 * All rights reserved. 14265 */ 14266 14267 /* 14268 * t_lock.h: Prototypes for disp_locks, plus include files 14269 * that describe the interfaces to kernel synch. 14270 * objects. 14271 */ 14272 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 14273 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 14275 /* 14276 * CDDL HEADER START 14277 * 14278 * The contents of this file are subject to the terms of the 14279 * Common Development and Distribution License (the "License"). 14280 * You may not use this file except in compliance with the License. 14281 * 14282 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14283 * or http://www.opensolaris.org/os/licensing. 14284 * See the License for the specific language governing permissions 14285 * and limitations under the License. 14286 * 14287 * When distributing Covered Code, include this CDDL HEADER in each 14288 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14289 * If applicable, add the following below this CDDL HEADER, with the 14290 * fields enclosed by brackets "[]" replaced with your own identifying 14291 * information: Portions Copyright [yyyy] [name of copyright owner] 14292 * 14293 * CDDL HEADER END 14294 */ 14295 /* 14296 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14297 * Use is subject to license terms. 14298 */ 14299 14300 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14301 /* All Rights Reserved */ 14302 14303 /* 14304 * Portions of this source code were derived from Berkeley 4.3 BSD 14305 * under license from the Regents of the University of California. 14306 */ 14307 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 14308 typedef uint16_t sa_family_t; 14309 14310 14311 /* 14312 * Structure used by kernel to store most 14313 * addresses. 14314 */ 14315 struct sockaddr { 14316 sa_family_t sa_family; /* address family */ 14317 char sa_data[14]; /* up to 14 bytes of direct address */ 14318 }; 14319 14320 14321 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 14322 /* 14323 * CDDL HEADER START 14324 * 14325 * The contents of this file are subject to the terms of the 14326 * Common Development and Distribution License (the "License"). 14327 * You may not use this file except in compliance with the License. 14328 * 14329 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14330 * or http://www.opensolaris.org/os/licensing. 14331 * See the License for the specific language governing permissions 14332 * and limitations under the License. 14333 * 14334 * When distributing Covered Code, include this CDDL HEADER in each 14335 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14336 * If applicable, add the following below this CDDL HEADER, with the 14337 * fields enclosed by brackets "[]" replaced with your own identifying 14338 * information: Portions Copyright [yyyy] [name of copyright owner] 14339 * 14340 * CDDL HEADER END 14341 */ 14342 /* 14343 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 14344 */ 14345 14346 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14347 /* All Rights Reserved */ 14348 14349 /* 14350 * University Copyright- Copyright (c) 1982, 1986, 1988 14351 * The Regents of the University of California 14352 * All Rights Reserved 14353 * 14354 * University Acknowledgment- Portions of this document are derived from 14355 * software developed by the University of California, Berkeley, and its 14356 * contributors. 14357 */ 14358 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 14359 /* 14360 * Definitions for UNIX IPC domain. 14361 */ 14362 struct sockaddr_un { 14363 sa_family_t sun_family; /* AF_UNIX */ 14364 char sun_path[108]; /* path name (gag) */ 14365 }; 14366 14367 14368 14369 /* 14370 * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to 14371 * change. 14372 * 14373 * Also, include a strlen() prototype, and we have to protect it w.r.t. 14374 * UNIX{98,03}. And because there's strlen, we need size_t as well. 14375 */ 14376 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 14377 extern size_t strlen(const char *); 14378 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 14379 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 14380 /* 14381 * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. 14382 * Use is subject to license terms. 14383 */ 14384 /* 14385 * Copyright (c) 1990, 1993 14386 * The Regents of the University of California. All rights reserved. 14387 * 14388 * Redistribution and use in source and binary forms, with or without 14389 * modification, are permitted provided that the following conditions 14390 * are met: 14391 * 1. Redistributions of source code must retain the above copyright 14392 * notice, this list of conditions and the following disclaimer. 14393 * 2. Redistributions in binary form must reproduce the above copyright 14394 * notice, this list of conditions and the following disclaimer in the 14395 * documentation and/or other materials provided with the distribution. 14396 * 3. All advertising materials mentioning features or use of this software 14397 * must display the following acknowledgement: 14398 * This product includes software developed by the University of 14399 * California, Berkeley and its contributors. 14400 * 4. Neither the name of the University nor the names of its contributors 14401 * may be used to endorse or promote products derived from this software 14402 * without specific prior written permission. 14403 * 14404 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 14405 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14406 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 14407 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 14408 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 14409 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 14410 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 14411 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 14412 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 14413 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 14414 * SUCH DAMAGE. 14415 */ 14416 14417 14418 14419 14420 #pragma ident "%Z%%M% %I% %E% SMI" 14421 /* from UCB 8.1 (Berkeley) 6/10/93 */ 14422 14423 14424 14425 14426 14427 /* 14428 * A Link-Level Sockaddr may specify the interface in one of two 14429 * ways: either by means of a system-provided index number (computed 14430 * anew and possibly differently on every reboot), or by a human-readable 14431 * string such as "il0" (for managerial convenience). 14432 * 14433 * Census taking actions, such as something akin to SIOCGCONF would return 14434 * both the index and the human name. 14435 * 14436 * High volume transactions (such as giving a link-level ``from'' address 14437 * in a recvfrom or recvmsg call) may be likely only to provide the indexed 14438 * form, (which requires fewer copy operations and less space). 14439 * 14440 * The form and interpretation of the link-level address is purely a matter 14441 * of convention between the device driver and its consumers; however, it is 14442 * expected that all drivers for an interface of a given if_type will agree. 14443 */ 14444 14445 /* 14446 * Structure of a Link-Level sockaddr: 14447 */ 14448 struct sockaddr_dl { 14449 ushort_t sdl_family; /* AF_LINK */ 14450 ushort_t sdl_index; /* if != 0, system given index for interface */ 14451 uchar_t sdl_type; /* interface type */ 14452 uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ 14453 uchar_t sdl_alen; /* link level address length */ 14454 uchar_t sdl_slen; /* link layer selector length */ 14455 char sdl_data[244]; /* contains both if name and ll address */ 14456 }; 14457 14458 14459 14460 14461 extern char *_link_ntoa(const unsigned char *, char *, int, int); 14462 extern unsigned char *_link_aton(const char *, int *); 14463 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 14464 14465 14466 14467 /* 14468 * sockaddr_storage: 14469 * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr 14470 * structures. Has sufficient size and alignment for those sockaddrs. 14471 */ 14472 14473 /* 14474 * Desired maximum size, alignment size and related types. 14475 */ 14476 14477 14478 /* 14479 * To represent desired sockaddr max alignment for platform, a 14480 * type is chosen which may depend on implementation platform architecture. 14481 * Type chosen based on alignment size restrictions from <sys/isa_defs.h>. 14482 * We desire to force up to (but no more than) 64-bit (8 byte) alignment, 14483 * on platforms where it is possible to do so. (e.g not possible on ia32). 14484 * For all currently supported platforms by our implementation 14485 * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64) 14486 * type "double" is suitable for that intent. 14487 * 14488 * Note: Type "double" is chosen over the more obvious integer type int64_t. 14489 * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. 14490 */ 14491 typedef double sockaddr_maxalign_t; 14492 14493 14494 14495 /* 14496 * Definitions used for sockaddr_storage structure paddings design. 14497 */ 14498 14499 14500 14501 14502 struct sockaddr_storage { 14503 sa_family_t ss_family; /* Address family */ 14504 /* Following fields are implementation specific */ 14505 char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; 14506 sockaddr_maxalign_t _ss_align; 14507 char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; 14508 }; 14509 14510 14511 /* 14512 * To be compatible with the Linux interfaces used, this structure is 14513 * placed in socket_impl.h so that an include for <sys/socket.h> will 14514 * pickup this structure. This structure is for use with PF_PACKET 14515 * sockets. 14516 */ 14517 struct sockaddr_ll { 14518 uint16_t sll_family; 14519 uint16_t sll_protocol; 14520 int32_t sll_ifindex; 14521 uint16_t sll_hatype; 14522 uint8_t sll_pkttype; 14523 uint8_t sll_halen; 14524 uint8_t sll_addr[8]; 14525 }; 14526 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 14528 /* 14529 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14530 * Use is subject to license terms. 14531 * 14532 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 14533 */ 14534 /* 14535 * Copyright (c) 1982, 1986 Regents of the University of California. 14536 * All rights reserved. 14537 * 14538 * Redistribution and use in source and binary forms are permitted 14539 * provided that this notice is preserved and that due credit is given 14540 * to the University of California at Berkeley. The name of the University 14541 * may not be used to endorse or promote products derived from this 14542 * software without specific prior written permission. This software 14543 * is provided ``as is'' without express or implied warranty. 14544 */ 14545 14546 /* 14547 * Constants and structures defined by the internet system, 14548 * according to following documents 14549 * 14550 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 14551 * http://www.iana.org/assignments/protocol-numbers 14552 * http://www.iana.org/assignments/port-numbers 14553 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 14554 * 14555 */ 14556 14557 14558 14559 14560 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 14561 /* 14562 * CDDL HEADER START 14563 * 14564 * The contents of this file are subject to the terms of the 14565 * Common Development and Distribution License (the "License"). 14566 * You may not use this file except in compliance with the License. 14567 * 14568 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14569 * or http://www.opensolaris.org/os/licensing. 14570 * See the License for the specific language governing permissions 14571 * and limitations under the License. 14572 * 14573 * When distributing Covered Code, include this CDDL HEADER in each 14574 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14575 * If applicable, add the following below this CDDL HEADER, with the 14576 * fields enclosed by brackets "[]" replaced with your own identifying 14577 * information: Portions Copyright [yyyy] [name of copyright owner] 14578 * 14579 * CDDL HEADER END 14580 */ 14581 14582 /* 14583 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 14584 * Copyright 2016 Joyent, Inc. 14585 * 14586 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 14587 * Use is subject to license terms. 14588 */ 14589 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 14590 14591 14592 14593 14594 14595 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14596 /* 14597 * CDDL HEADER START 14598 * 14599 * The contents of this file are subject to the terms of the 14600 * Common Development and Distribution License (the "License"). 14601 * You may not use this file except in compliance with the License. 14602 * 14603 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14604 * or http://www.opensolaris.org/os/licensing. 14605 * See the License for the specific language governing permissions 14606 * and limitations under the License. 14607 * 14608 * When distributing Covered Code, include this CDDL HEADER in each 14609 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14610 * If applicable, add the following below this CDDL HEADER, with the 14611 * fields enclosed by brackets "[]" replaced with your own identifying 14612 * information: Portions Copyright [yyyy] [name of copyright owner] 14613 * 14614 * CDDL HEADER END 14615 */ 14616 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14617 /* All Rights Reserved */ 14618 14619 14620 /* 14621 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14622 * Use is subject to license terms. 14623 * 14624 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14625 * Copyright 2016 Joyent, Inc. 14626 */ 14627 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 14628 14629 14630 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 14631 /* 14632 * CDDL HEADER START 14633 * 14634 * The contents of this file are subject to the terms of the 14635 * Common Development and Distribution License (the "License"). 14636 * You may not use this file except in compliance with the License. 14637 * 14638 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14639 * or http://www.opensolaris.org/os/licensing. 14640 * See the License for the specific language governing permissions 14641 * and limitations under the License. 14642 * 14643 * When distributing Covered Code, include this CDDL HEADER in each 14644 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14645 * If applicable, add the following below this CDDL HEADER, with the 14646 * fields enclosed by brackets "[]" replaced with your own identifying 14647 * information: Portions Copyright [yyyy] [name of copyright owner] 14648 * 14649 * CDDL HEADER END 14650 */ 14651 /* 14652 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14653 * Use is subject to license terms. 14654 */ 14655 14656 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14657 /* All Rights Reserved */ 14658 14659 /* 14660 * Portions of this source code were derived from Berkeley 4.3 BSD 14661 * under license from the Regents of the University of California. 14662 */ 14663 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 14664 14665 14666 14667 14668 14669 /* 14670 * The socklen definitions are reproduced here from sys/socket.h so as to 14671 * not introduce that namespace into existing users of netinet/in.h. 14672 */ 14673 14674 14675 14676 typedef uint32_t socklen_t; 14677 14678 14679 14680 14681 14682 typedef void *Psocklen_t; 14683 14684 14685 14686 14687 14688 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 14689 /* 14690 * CDDL HEADER START 14691 * 14692 * The contents of this file are subject to the terms of the 14693 * Common Development and Distribution License (the "License"). 14694 * You may not use this file except in compliance with the License. 14695 * 14696 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14697 * or http://www.opensolaris.org/os/licensing. 14698 * See the License for the specific language governing permissions 14699 * and limitations under the License. 14700 * 14701 * When distributing Covered Code, include this CDDL HEADER in each 14702 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14703 * If applicable, add the following below this CDDL HEADER, with the 14704 * fields enclosed by brackets "[]" replaced with your own identifying 14705 * information: Portions Copyright [yyyy] [name of copyright owner] 14706 * 14707 * CDDL HEADER END 14708 */ 14709 /* 14710 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14711 * Use is subject to license terms. 14712 */ 14713 14714 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14715 /* All Rights Reserved */ 14716 14717 14718 14719 14720 14721 /* 14722 * For source compatibility 14723 */ 14724 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 14725 /* 14726 * CDDL HEADER START 14727 * 14728 * The contents of this file are subject to the terms of the 14729 * Common Development and Distribution License (the "License"). 14730 * You may not use this file except in compliance with the License. 14731 * 14732 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14733 * or http://www.opensolaris.org/os/licensing. 14734 * See the License for the specific language governing permissions 14735 * and limitations under the License. 14736 * 14737 * 14738 * When distributing Covered Code, include this CDDL HEADER in each 14739 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14740 * If applicable, add the following below this CDDL HEADER, with the 14741 * fields enclosed by brackets "[]" replaced with your own identifying 14742 * information: Portions Copyright [yyyy] [name of copyright owner] 14743 * 14744 * CDDL HEADER END 14745 */ 14746 14747 /* 14748 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 14749 * Use is subject to license terms. 14750 * Copyright 2016 Joyent, Inc. 14751 */ 14752 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 14753 14754 14755 14756 14757 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 14758 /* 14759 * CDDL HEADER START 14760 * 14761 * The contents of this file are subject to the terms of the 14762 * Common Development and Distribution License, Version 1.0 only 14763 * (the "License"). You may not use this file except in compliance 14764 * with the License. 14765 * 14766 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14767 * or http://www.opensolaris.org/os/licensing. 14768 * See the License for the specific language governing permissions 14769 * and limitations under the License. 14770 * 14771 * When distributing Covered Code, include this CDDL HEADER in each 14772 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14773 * If applicable, add the following below this CDDL HEADER, with the 14774 * fields enclosed by brackets "[]" replaced with your own identifying 14775 * information: Portions Copyright [yyyy] [name of copyright owner] 14776 * 14777 * CDDL HEADER END 14778 */ 14779 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14780 /* All Rights Reserved */ 14781 14782 14783 /* 14784 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14785 * 14786 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. 14787 * All rights reserved. 14788 */ 14789 14790 /* 14791 * Copyright 2015, Joyent, Inc. 14792 */ 14793 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 14794 /* 14795 * Structure of file descriptor/event pairs supplied in 14796 * the poll arrays. 14797 */ 14798 typedef struct pollfd { 14799 int fd; /* file desc to poll */ 14800 short events; /* events of interest on fd */ 14801 short revents; /* events that occurred on fd */ 14802 } pollfd_t; 14803 14804 typedef unsigned long nfds_t; 14805 14806 /* 14807 * Testable select events 14808 */ 14809 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 14810 /* 14811 * Non-testable poll events (may not be specified in events field, 14812 * but may be returned in revents field). 14813 */ 14814 14815 14816 14817 14818 /* 14819 * These events will never be specified in revents, but may be specified in 14820 * events to control /dev/poll behavior. 14821 */ 14822 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 14823 int poll(struct pollfd *, nfds_t, int); 14824 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 14825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 14826 /* 14827 * CDDL HEADER START 14828 * 14829 * The contents of this file are subject to the terms of the 14830 * Common Development and Distribution License, Version 1.0 only 14831 * (the "License"). You may not use this file except in compliance 14832 * with the License. 14833 * 14834 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14835 * or http://www.opensolaris.org/os/licensing. 14836 * See the License for the specific language governing permissions 14837 * and limitations under the License. 14838 * 14839 * When distributing Covered Code, include this CDDL HEADER in each 14840 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14841 * If applicable, add the following below this CDDL HEADER, with the 14842 * fields enclosed by brackets "[]" replaced with your own identifying 14843 * information: Portions Copyright [yyyy] [name of copyright owner] 14844 * 14845 * CDDL HEADER END 14846 */ 14847 /* 14848 * Copyright (c) 1997-1998 by Sun Microsystems, Inc. 14849 * All rights reserved. 14850 */ 14851 14852 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14853 /* All Rights Reserved */ 14854 14855 14856 14857 14858 14859 #pragma ident "%Z%%M% %I% %E% SMI" 14860 14861 14862 14863 14864 14865 /* 14866 * This file contains all machine-dependent declarations 14867 * in STREAMS. 14868 */ 14869 14870 /* 14871 * Copy data from one data buffer to another. 14872 * The addresses must be word aligned - if not, use bcopy! 14873 */ 14874 14875 14876 /* 14877 * save the address of the calling function on the 3b2 to 14878 * enable tracking of who is allocating message blocks 14879 */ 14880 14881 14882 /* 14883 * macro to check pointer alignment 14884 * (true if alignment is sufficient for worst case) 14885 */ 14886 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 14887 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 14888 /* 14889 * CDDL HEADER START 14890 * 14891 * The contents of this file are subject to the terms of the 14892 * Common Development and Distribution License (the "License"). 14893 * You may not use this file except in compliance with the License. 14894 * 14895 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14896 * or http://www.opensolaris.org/os/licensing. 14897 * See the License for the specific language governing permissions 14898 * and limitations under the License. 14899 * 14900 * When distributing Covered Code, include this CDDL HEADER in each 14901 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14902 * If applicable, add the following below this CDDL HEADER, with the 14903 * fields enclosed by brackets "[]" replaced with your own identifying 14904 * information: Portions Copyright [yyyy] [name of copyright owner] 14905 * 14906 * CDDL HEADER END 14907 */ 14908 /* 14909 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14910 * Use is subject to license terms. 14911 */ 14912 14913 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14914 /* All Rights Reserved */ 14915 14916 /* 14917 * Portions of this source code were derived from Berkeley 4.3 BSD 14918 * under license from the Regents of the University of California. 14919 */ 14920 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 14921 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 14922 /* 14923 * CDDL HEADER START 14924 * 14925 * The contents of this file are subject to the terms of the 14926 * Common Development and Distribution License, Version 1.0 only 14927 * (the "License"). You may not use this file except in compliance 14928 * with the License. 14929 * 14930 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14931 * or http://www.opensolaris.org/os/licensing. 14932 * See the License for the specific language governing permissions 14933 * and limitations under the License. 14934 * 14935 * When distributing Covered Code, include this CDDL HEADER in each 14936 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14937 * If applicable, add the following below this CDDL HEADER, with the 14938 * fields enclosed by brackets "[]" replaced with your own identifying 14939 * information: Portions Copyright [yyyy] [name of copyright owner] 14940 * 14941 * CDDL HEADER END 14942 */ 14943 /* 14944 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 14945 * All rights reserved. 14946 */ 14947 14948 /* 14949 * t_lock.h: Prototypes for disp_locks, plus include files 14950 * that describe the interfaces to kernel synch. 14951 * objects. 14952 */ 14953 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 14954 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 14955 /* 14956 * CDDL HEADER START 14957 * 14958 * The contents of this file are subject to the terms of the 14959 * Common Development and Distribution License, Version 1.0 only 14960 * (the "License"). You may not use this file except in compliance 14961 * with the License. 14962 * 14963 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14964 * or http://www.opensolaris.org/os/licensing. 14965 * See the License for the specific language governing permissions 14966 * and limitations under the License. 14967 * 14968 * When distributing Covered Code, include this CDDL HEADER in each 14969 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14970 * If applicable, add the following below this CDDL HEADER, with the 14971 * fields enclosed by brackets "[]" replaced with your own identifying 14972 * information: Portions Copyright [yyyy] [name of copyright owner] 14973 * 14974 * CDDL HEADER END 14975 */ 14976 /* 14977 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 14978 * Use is subject to license terms. 14979 */ 14980 14981 14982 14983 14984 #pragma ident "%Z%%M% %I% %E% SMI" 14985 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 14986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 14987 /* 14988 * CDDL HEADER START 14989 * 14990 * The contents of this file are subject to the terms of the 14991 * Common Development and Distribution License (the "License"). 14992 * You may not use this file except in compliance with the License. 14993 * 14994 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14995 * or http://www.opensolaris.org/os/licensing. 14996 * See the License for the specific language governing permissions 14997 * and limitations under the License. 14998 * 14999 * 15000 * When distributing Covered Code, include this CDDL HEADER in each 15001 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15002 * If applicable, add the following below this CDDL HEADER, with the 15003 * fields enclosed by brackets "[]" replaced with your own identifying 15004 * information: Portions Copyright [yyyy] [name of copyright owner] 15005 * 15006 * CDDL HEADER END 15007 */ 15008 15009 /* 15010 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 15011 * Use is subject to license terms. 15012 * Copyright 2016 Joyent, Inc. 15013 */ 15014 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 15015 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 15016 /* 15017 * XXX Ick. This type needs to be visible outside the above guard because 15018 * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. 15019 * If we can make proc internals less visible, (which we obviously should) 15020 * then this can be invisible too. 15021 */ 15022 typedef unsigned int model_t; 15023 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 15024 15025 15026 15027 15028 15029 /* 15030 * Data queue. 15031 * 15032 * NOTE: The *only* public fields are documented in queue(9S). 15033 * Everything else is implementation-private. 15034 * 15035 * The locking rules for the queue_t structure are extremely subtle and vary 15036 * widely depending on the field in question. As such, each field is 15037 * annotated according to the following legend: 15038 * 15039 * Q9S: The field is documented in queue(9S) and may be accessed without 15040 * locks by a STREAMS module when inside an entry point (e.g., put(9E)). 15041 * However, no fields can be directly modified unless q_lock is held 15042 * (which is not possible in a DDI compliant STREAMS module), with the 15043 * following exceptions: 15044 * 15045 * - q_ptr: can be modified as per the rules of the STREAMS module. 15046 * The STREAMS framework ignores q_ptr and thus imposes *no* 15047 * locking rules on it. 15048 * - q_qinfo: can be modified before qprocson(). 15049 * 15050 * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the 15051 * rules of the STREAMS module. The STREAMS framework never 15052 * modifies these fields, and is tolerant of temporarily 15053 * stale field values. 15054 * 15055 * In general, the STREAMS framework employs one of the following 15056 * techniques to ensure STREAMS modules can safely access Q9S fields: 15057 * 15058 * - The field is only modified by the framework when the stream is 15059 * locked with strlock() (q_next). 15060 * 15061 * - The field is modified by the framework, but the modifies are 15062 * atomic, and temporarily stale values are harmless (q_count, 15063 * q_first, q_last). 15064 * 15065 * - The field is modified by the framework, but the field's visible 15066 * values are either constant or directly under the control 15067 * of the STREAMS module itself (q_flag). 15068 * 15069 * QLK: The field must be accessed or modified under q_lock, except when 15070 * the stream has been locked with strlock(). If multiple q_locks must 15071 * be acquired, q_locks at higher addresses must be taken first. 15072 * 15073 * STR: The field can be accessed without a lock, but must be modified under 15074 * strlock(). 15075 * 15076 * SQLK: The field must be accessed or modified under SQLOCK(). 15077 * 15078 * NOLK: The field can be accessed without a lock, but can only be modified 15079 * when the queue_t is not known to any other threads. 15080 * 15081 * SVLK: The field must be accessed or modified under the service_queue lock. 15082 * Note that service_lock must be taken after any needed q_locks, 15083 * and that no other lock should be taken while service_lock is held. 15084 * 15085 * In addition, it is always acceptable to modify a field that is not yet 15086 * known to any other threads -- and other special case exceptions exist in 15087 * the code. Also, q_lock is used with q_wait to implement a stream head 15088 * monitor for reads and writes. 15089 */ 15090 typedef struct queue { 15091 struct qinit *q_qinfo; /* Q9S: Q processing procedure */ 15092 struct msgb *q_first; /* Q9S: first message in Q */ 15093 struct msgb *q_last; /* Q9S: last message in Q */ 15094 struct queue *q_next; /* Q9S: next Q in stream */ 15095 struct queue *q_link; /* SVLK: next Q for scheduling */ 15096 void *q_ptr; /* Q9S: module-specific data */ 15097 size_t q_count; /* Q9S: number of bytes on Q */ 15098 uint_t q_flag; /* Q9S: Q state */ 15099 ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ 15100 ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ 15101 size_t q_hiwat; /* Q9S: Q high water mark */ 15102 size_t q_lowat; /* Q9S: Q low water mark */ 15103 struct qband *q_bandp; /* QLK: band flow information */ 15104 kmutex_t q_lock; /* NOLK: structure lock */ 15105 struct stdata *q_stream; /* NOLK: stream backpointer */ 15106 struct syncq *q_syncq; /* NOLK: associated syncq */ 15107 unsigned char q_nband; /* QLK: number of bands */ 15108 kcondvar_t q_wait; /* NOLK: read/write sleep CV */ 15109 struct queue *q_nfsrv; /* STR: next Q with svc routine */ 15110 ushort_t q_draining; /* QLK: Q is draining */ 15111 short q_struiot; /* QLK: sync streams Q UIO mode */ 15112 clock_t q_qtstamp; /* QLK: when Q was enabled */ 15113 size_t q_mblkcnt; /* QLK: mblk count */ 15114 uint_t q_syncqmsgs; /* QLK: syncq message count */ 15115 size_t q_rwcnt; /* QLK: # threads in rwnext() */ 15116 pri_t q_spri; /* QLK: Q scheduling priority */ 15117 15118 /* 15119 * Syncq scheduling 15120 */ 15121 struct msgb *q_sqhead; /* QLK: first syncq message */ 15122 struct msgb *q_sqtail; /* QLK: last syncq message */ 15123 struct queue *q_sqnext; /* SQLK: next Q on syncq list */ 15124 struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ 15125 uint_t q_sqflags; /* SQLK: syncq flags */ 15126 clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ 15127 15128 /* 15129 * NOLK: Reference to the queue's module's implementation 15130 * structure. This will be NULL for queues associated with drivers. 15131 */ 15132 struct fmodsw_impl *q_fp; 15133 } queue_t; 15134 15135 /* 15136 * Queue flags; unused flags not documented in queue(9S) can be recycled. 15137 */ 15138 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15139 /* UNUSED 0x00000200 was QHLIST */ 15140 /* UNUSED 0x00000400 was QUNSAFE */ 15141 15142 15143 15144 15145 15146 15147 /* all MT type flags */ 15148 15149 15150 15151 15152 15153 15154 /* UNUSED 0x00400000 was QHOT */ 15155 /* UNUSED 0x00800000 was QNEXTHOT */ 15156 /* UNUSED 0x01000000 was _QNEXTLESS */ 15157 15158 15159 15160 15161 /* direct interface to/from sockfs */ 15162 15163 /* queue sqflags (protected by SQLOCK). */ 15164 15165 15166 /* This is also noted by the */ 15167 /* q_draining field, but this one is */ 15168 /* protected by SQLOCK */ 15169 15170 /* 15171 * Structure that describes the separate information 15172 * for each priority band in the queue. 15173 */ 15174 typedef struct qband { 15175 struct qband *qb_next; /* next band's info */ 15176 size_t qb_count; /* number of bytes in band */ 15177 struct msgb *qb_first; /* beginning of band's data */ 15178 struct msgb *qb_last; /* end of band's data */ 15179 size_t qb_hiwat; /* high water mark for band */ 15180 size_t qb_lowat; /* low water mark for band */ 15181 uint_t qb_flag; /* see below */ 15182 size_t qb_mblkcnt; /* mblk counter for runaway msgs */ 15183 } qband_t; 15184 15185 /* 15186 * qband flags 15187 */ 15188 15189 15190 15191 15192 /* 15193 * Maximum number of bands. 15194 */ 15195 15196 15197 /* 15198 * Fields that can be manipulated through strqset() and strqget(). 15199 */ 15200 typedef enum qfields { 15201 QHIWAT = 0, /* q_hiwat or qb_hiwat */ 15202 QLOWAT = 1, /* q_lowat or qb_lowat */ 15203 QMAXPSZ = 2, /* q_maxpsz */ 15204 QMINPSZ = 3, /* q_minpsz */ 15205 QCOUNT = 4, /* q_count or qb_count */ 15206 QFIRST = 5, /* q_first or qb_first */ 15207 QLAST = 6, /* q_last or qb_last */ 15208 QFLAG = 7, /* q_flag or qb_flag */ 15209 QSTRUIOT = 8, /* q_struiot */ 15210 QBAD = 9 15211 } qfields_t; 15212 15213 /* 15214 * Module information structure 15215 */ 15216 struct module_info { 15217 ushort_t mi_idnum; /* module id number */ 15218 char *mi_idname; /* module name */ 15219 ssize_t mi_minpsz; /* min packet size accepted */ 15220 ssize_t mi_maxpsz; /* max packet size accepted */ 15221 size_t mi_hiwat; /* hi-water mark */ 15222 size_t mi_lowat; /* lo-water mark */ 15223 }; 15224 15225 /* 15226 * queue information structure (with Synchronous STREAMS extensions) 15227 */ 15228 struct qinit { 15229 int (*qi_putp)(); /* put procedure */ 15230 int (*qi_srvp)(); /* service procedure */ 15231 int (*qi_qopen)(); /* called on startup */ 15232 int (*qi_qclose)(); /* called on finish */ 15233 int (*qi_qadmin)(); /* for future use */ 15234 struct module_info *qi_minfo; /* module information structure */ 15235 struct module_stat *qi_mstat; /* module statistics structure */ 15236 int (*qi_rwp)(); /* r/w procedure */ 15237 int (*qi_infop)(); /* information procedure */ 15238 int qi_struiot; /* stream uio type for struio() */ 15239 }; 15240 15241 /* 15242 * Values for qi_struiot and q_struiot: 15243 */ 15244 15245 15246 15247 15248 /* 15249 * Streamtab (used in cdevsw and fmodsw to point to module or driver) 15250 */ 15251 struct streamtab { 15252 struct qinit *st_rdinit; 15253 struct qinit *st_wrinit; 15254 struct qinit *st_muxrinit; 15255 struct qinit *st_muxwinit; 15256 }; 15257 15258 /* 15259 * Structure sent to mux drivers to indicate a link. 15260 */ 15261 struct linkblk { 15262 queue_t *l_qtop; /* lowest level write queue of upper stream */ 15263 /* (set to NULL for persistent links) */ 15264 queue_t *l_qbot; /* highest level write queue of lower stream */ 15265 int l_index; /* index for lower stream. */ 15266 }; 15267 15268 /* 15269 * Esballoc data buffer freeing routine 15270 */ 15271 typedef struct free_rtn { 15272 void (*free_func)(); 15273 caddr_t free_arg; 15274 } frtn_t; 15275 15276 /* 15277 * Data block descriptor 15278 * 15279 * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, 15280 * as described in datab(9S). Everything else is implementation-private. 15281 */ 15282 15283 15284 15285 typedef struct datab { 15286 frtn_t *db_frtnp; 15287 unsigned char *db_base; 15288 unsigned char *db_lim; 15289 unsigned char db_ref; 15290 unsigned char db_type; 15291 unsigned char db_flags; 15292 unsigned char db_struioflag; 15293 pid_t db_cpid; /* cached pid, needs verification */ 15294 void *db_cache; /* kmem cache descriptor */ 15295 struct msgb *db_mblk; 15296 void (*db_free)(struct msgb *, struct datab *); 15297 void (*db_lastfree)(struct msgb *, struct datab *); 15298 intptr_t db_cksumstart; 15299 intptr_t db_cksumend; 15300 intptr_t db_cksumstuff; 15301 union { 15302 double enforce_alignment; 15303 unsigned char data[8]; 15304 struct { 15305 union { 15306 uint32_t u32; 15307 uint16_t u16; 15308 } cksum_val; /* used to store calculated cksum */ 15309 uint16_t flags; 15310 uint16_t pad; 15311 } cksum; 15312 /* 15313 * Union used for future extensions (pointer to data ?). 15314 */ 15315 } db_struioun; 15316 struct fthdr *db_fthdr; 15317 cred_t *db_credp; /* credential */ 15318 } dblk_t; 15319 15320 15321 15322 15323 /* 15324 * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>). 15325 */ 15326 15327 15328 15329 /* 15330 * Used by GLDv2 to store the TCI information. 15331 */ 15332 15333 15334 /* 15335 * Message block descriptor 15336 */ 15337 typedef struct msgb { 15338 struct msgb *b_next; 15339 struct msgb *b_prev; 15340 struct msgb *b_cont; 15341 unsigned char *b_rptr; 15342 unsigned char *b_wptr; 15343 struct datab *b_datap; 15344 unsigned char b_band; 15345 unsigned char b_tag; 15346 unsigned short b_flag; 15347 queue_t *b_queue; /* for sync queues */ 15348 } mblk_t; 15349 15350 /* 15351 * bcache descriptor 15352 */ 15353 typedef struct bcache { 15354 kmutex_t mutex; 15355 struct kmem_cache *buffer_cache; 15356 struct kmem_cache *dblk_cache; 15357 int alloc; 15358 int destroy; 15359 size_t size; 15360 uint_t align; 15361 } bcache_t; 15362 15363 /* 15364 * db_flags values (all implementation private!) 15365 */ 15366 15367 15368 15369 15370 /* 15371 * db_struioflag values: 15372 */ 15373 15374 15375 15376 15377 15378 15379 /* 15380 * Message flags. These are interpreted by the stream head. 15381 */ 15382 15383 15384 /* write side of stream */ 15385 15386 /* UNUSED 0x08 was MSGNOGET (can be recycled) */ 15387 15388 15389 15390 15391 /* 15392 * Streams message types. 15393 */ 15394 15395 /* 15396 * Data and protocol messages (regular and priority) 15397 */ 15398 15399 15400 15401 15402 /* 15403 * Control messages (regular and priority) 15404 */ 15405 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15406 /* 15407 * Control messages (high priority; go to head of queue) 15408 */ 15409 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15410 /* 15411 * Queue message class definitions. 15412 */ 15413 15414 15415 15416 /* 15417 * IOCTL structure - this structure is the format of the M_IOCTL message type. 15418 */ 15419 15420 struct iocblk { 15421 int ioc_cmd; /* ioctl command type */ 15422 cred_t *ioc_cr; /* full credentials */ 15423 uint_t ioc_id; /* ioctl id */ 15424 uint_t ioc_flag; /* see below */ 15425 size_t ioc_count; /* count of bytes in data field */ 15426 int ioc_rval; /* return value */ 15427 int ioc_error; /* error code */ 15428 }; 15429 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15430 typedef struct iocblk *IOCP; 15431 15432 /* {ioc,cp}_flags values */ 15433 15434 15435 15436 15437 15438 15439 15440 /* 15441 * Is the ioctl data formatted for our native model? 15442 */ 15443 15444 15445 15446 /* 15447 * structure for the M_COPYIN and M_COPYOUT message types. 15448 */ 15449 15450 struct copyreq { 15451 int cq_cmd; /* ioctl command (from ioc_cmd) */ 15452 cred_t *cq_cr; /* full credentials (from ioc_cmd) */ 15453 uint_t cq_id; /* ioctl id (from ioc_id) */ 15454 uint_t cq_flag; /* must be zero */ 15455 mblk_t *cq_private; /* private state information */ 15456 caddr_t cq_addr; /* address to copy data to/from */ 15457 size_t cq_size; /* number of bytes to copy */ 15458 }; 15459 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15460 /* 15461 * structure for the M_IOCDATA message type. 15462 */ 15463 15464 struct copyresp { 15465 int cp_cmd; /* ioctl command (from ioc_cmd) */ 15466 cred_t *cp_cr; /* full credentials (from ioc_cmd) */ 15467 uint_t cp_id; /* ioctl id (from ioc_id) */ 15468 uint_t cp_flag; /* datamodel IOC_ flags; see above */ 15469 mblk_t *cp_private; /* private state information */ 15470 caddr_t cp_rval; /* status of request: 0 -> success */ 15471 /* non-zero -> failure */ 15472 }; 15473 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15474 /* 15475 * Since these structures are all intended to travel in the same message 15476 * at different stages of a STREAMS ioctl, this union is used to determine 15477 * the message size in strdoioctl(). 15478 */ 15479 union ioctypes { 15480 struct iocblk iocblk; 15481 struct copyreq copyreq; 15482 struct copyresp copyresp; 15483 }; 15484 15485 /* 15486 * Options structure for M_SETOPTS message. This is sent upstream 15487 * by a module or driver to set stream head options. 15488 */ 15489 struct stroptions { 15490 uint_t so_flags; /* options to set */ 15491 short so_readopt; /* read option */ 15492 ushort_t so_wroff; /* write offset */ 15493 ssize_t so_minpsz; /* minimum read packet size */ 15494 ssize_t so_maxpsz; /* maximum read packet size */ 15495 size_t so_hiwat; /* read queue high water mark */ 15496 size_t so_lowat; /* read queue low water mark */ 15497 unsigned char so_band; /* band for water marks */ 15498 ushort_t so_erropt; /* error option */ 15499 ssize_t so_maxblk; /* maximum message block size */ 15500 ushort_t so_copyopt; /* copy options (see stropts.h) */ 15501 ushort_t so_tail; /* space available at the end */ 15502 }; 15503 15504 /* flags for stream options set message */ 15505 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 15506 /* 15507 * Miscellaneous parameters and flags. 15508 */ 15509 15510 /* 15511 * Values for stream flag in open to indicate module open, clone open, 15512 * and the return value for failure. 15513 */ 15514 15515 15516 15517 15518 /* 15519 * Priority definitions for block allocation. 15520 */ 15521 15522 15523 15524 15525 /* 15526 * Value for packet size that denotes infinity 15527 */ 15528 15529 15530 /* 15531 * Flags for flushq() 15532 */ 15533 15534 15535 15536 /* 15537 * Flag for transparent ioctls 15538 */ 15539 15540 15541 /* 15542 * Stream head default high/low water marks 15543 */ 15544 15545 15546 15547 /* 15548 * qwriter perimeter types 15549 */ 15550 15551 15552 15553 /* 15554 * Definitions of Streams macros and function interfaces. 15555 */ 15556 15557 /* 15558 * canenable - check if queue can be enabled by putq(). 15559 */ 15560 15561 15562 /* 15563 * Test if data block type is one of the data messages (i.e. not a control 15564 * message). 15565 */ 15566 15567 15568 15569 15570 15571 15572 15573 /* 15574 * Extract queue class of message block. 15575 */ 15576 15577 15578 /* 15579 * Align address on next lower word boundary. 15580 */ 15581 15582 15583 /* 15584 * Find the max size of data block. 15585 */ 15586 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 15587 15588 /* 15589 * Symbols such as htonl() are required to be exposed through this file, 15590 * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h> 15591 */ 15592 15593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 15594 /* 15595 * CDDL HEADER START 15596 * 15597 * The contents of this file are subject to the terms of the 15598 * Common Development and Distribution License (the "License"). 15599 * You may not use this file except in compliance with the License. 15600 * 15601 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15602 * or http://www.opensolaris.org/os/licensing. 15603 * See the License for the specific language governing permissions 15604 * and limitations under the License. 15605 * 15606 * When distributing Covered Code, include this CDDL HEADER in each 15607 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15608 * If applicable, add the following below this CDDL HEADER, with the 15609 * fields enclosed by brackets "[]" replaced with your own identifying 15610 * information: Portions Copyright [yyyy] [name of copyright owner] 15611 * 15612 * CDDL HEADER END 15613 */ 15614 15615 /* 15616 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15617 * Use is subject to license terms. 15618 */ 15619 15620 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 15621 /* All Rights Reserved */ 15622 15623 /* 15624 * University Copyright- Copyright (c) 1982, 1986, 1988 15625 * The Regents of the University of California 15626 * All Rights Reserved 15627 * 15628 * University Acknowledgment- Portions of this document are derived from 15629 * software developed by the University of California, Berkeley, and its 15630 * contributors. 15631 */ 15632 15633 15634 15635 15636 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 15637 /* 15638 * CDDL HEADER START 15639 * 15640 * The contents of this file are subject to the terms of the 15641 * Common Development and Distribution License (the "License"). 15642 * You may not use this file except in compliance with the License. 15643 * 15644 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15645 * or http://www.opensolaris.org/os/licensing. 15646 * See the License for the specific language governing permissions 15647 * and limitations under the License. 15648 * 15649 * 15650 * When distributing Covered Code, include this CDDL HEADER in each 15651 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15652 * If applicable, add the following below this CDDL HEADER, with the 15653 * fields enclosed by brackets "[]" replaced with your own identifying 15654 * information: Portions Copyright [yyyy] [name of copyright owner] 15655 * 15656 * CDDL HEADER END 15657 */ 15658 15659 /* 15660 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 15661 * Use is subject to license terms. 15662 * Copyright 2016 Joyent, Inc. 15663 */ 15664 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 15665 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 15666 /* 15667 * CDDL HEADER START 15668 * 15669 * The contents of this file are subject to the terms of the 15670 * Common Development and Distribution License, Version 1.0 only 15671 * (the "License"). You may not use this file except in compliance 15672 * with the License. 15673 * 15674 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15675 * or http://www.opensolaris.org/os/licensing. 15676 * See the License for the specific language governing permissions 15677 * and limitations under the License. 15678 * 15679 * When distributing Covered Code, include this CDDL HEADER in each 15680 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15681 * If applicable, add the following below this CDDL HEADER, with the 15682 * fields enclosed by brackets "[]" replaced with your own identifying 15683 * information: Portions Copyright [yyyy] [name of copyright owner] 15684 * 15685 * CDDL HEADER END 15686 */ 15687 /* 15688 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15689 * 15690 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 15691 * Use is subject to license terms. 15692 */ 15693 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 15694 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15695 /* 15696 * macros for conversion between host and (internet) network byte order 15697 */ 15698 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15699 typedef uint16_t in_port_t; 15700 15701 15702 15703 15704 typedef uint32_t in_addr_t; 15705 15706 15707 15708 extern uint32_t htonl(uint32_t); 15709 extern uint16_t htons(uint16_t); 15710 extern uint32_t ntohl(uint32_t); 15711 extern uint16_t ntohs(uint16_t); 15712 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15713 extern uint64_t htonll(uint64_t); 15714 extern uint64_t ntohll(uint64_t); 15715 15716 15717 15718 15719 15720 15721 /* 15722 * Macros to reverse byte order 15723 */ 15724 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15725 /* 15726 * Macros to convert from a specific byte order to/from native byte order 15727 */ 15728 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15729 /* 15730 * Macros to read unaligned values from a specific byte order to 15731 * native byte order 15732 */ 15733 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 15734 /* 15735 * Macros to write unaligned values from native byte order to a specific byte 15736 * order. 15737 */ 15738 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 15739 15740 15741 15742 15743 15744 15745 15746 /* 15747 * Note: IPv4 address data structures usage conventions. 15748 * The "in_addr_t" type below (required by Unix standards) 15749 * is NOT a typedef of "struct in_addr" and violates the usual 15750 * conventions where "struct <name>" and <name>_t are corresponding 15751 * typedefs. 15752 * To minimize confusion, kernel data structures/usage prefers use 15753 * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" 15754 * The user level APIs continue to follow the historic popular 15755 * practice of using "struct in_addr". 15756 */ 15757 15758 15759 15760 15761 15762 15763 15764 typedef uint32_t ipaddr_t; 15765 15766 15767 15768 15769 struct in6_addr { 15770 union { 15771 /* 15772 * Note: Static initalizers of "union" type assume 15773 * the constant on the RHS is the type of the first member 15774 * of union. 15775 * To make static initializers (and efficient usage) work, 15776 * the order of members exposed to user and kernel view of 15777 * this data structure is different. 15778 * User environment sees specified uint8_t type as first 15779 * member whereas kernel sees most efficient type as 15780 * first member. 15781 */ 15782 15783 15784 15785 15786 uint8_t _S6_u8[16]; /* IPv6 address */ 15787 uint32_t _S6_u32[4]; /* IPv6 address */ 15788 15789 uint32_t __S6_align; /* Align on 32 bit boundary */ 15790 } _S6_un; 15791 }; 15792 15793 15794 15795 15796 15797 15798 15799 typedef struct in6_addr in6_addr_t; 15800 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15801 /* 15802 * Protocols 15803 * 15804 * Some of these constant names are copied for the DTrace IP provider in 15805 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 15806 * in sync. 15807 */ 15808 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15809 /* Transmission Protocol */ 15810 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15811 /* 15812 * Port/socket numbers: network standard functions 15813 * 15814 * Entries should exist here for each port number compiled into an ON 15815 * component, such as snoop. 15816 */ 15817 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15818 /* 15819 * Port/socket numbers: host specific functions 15820 */ 15821 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15822 /* 15823 * Internet Key Exchange (IKE) ports 15824 */ 15825 15826 15827 15828 /* 15829 * UNIX TCP sockets 15830 */ 15831 15832 15833 15834 15835 15836 15837 /* 15838 * UNIX UDP sockets 15839 */ 15840 15841 15842 15843 15844 15845 15846 15847 /* 15848 * DHCPv6 UDP ports 15849 */ 15850 15851 15852 15853 15854 15855 /* 15856 * Ports < IPPORT_RESERVED are reserved for 15857 * privileged processes (e.g. root). 15858 * Ports > IPPORT_USERRESERVED are reserved 15859 * for servers, not necessarily privileged. 15860 */ 15861 15862 15863 15864 /* 15865 * Link numbers 15866 */ 15867 15868 15869 15870 15871 /* 15872 * IPv4 Internet address 15873 * This definition contains obsolete fields for compatibility 15874 * with SunOS 3.x and 4.2bsd. The presence of subnets renders 15875 * divisions into fixed fields misleading at best. New code 15876 * should use only the s_addr field. 15877 */ 15878 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15879 struct in_addr { 15880 union { 15881 struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; 15882 struct { uint16_t s_w1, s_w2; } S_un_w; 15883 15884 uint32_t S_addr; 15885 15886 15887 15888 } S_un; 15889 15890 15891 15892 15893 15894 15895 }; 15896 15897 /* 15898 * Definitions of bits in internet address integers. 15899 * On subnets, the decomposition of addresses to host and net parts 15900 * is done according to subnet mask, not the masks here. 15901 * 15902 * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, 15903 * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto 15904 * obsolete". IN_MULTICAST macro should be used to test if a address 15905 * is a multicast address. 15906 */ 15907 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15908 /* 15909 * We have removed CLASS E checks from the kernel 15910 * But we preserve these defines for userland in order 15911 * to avoid compile breakage of some 3rd party piece of software 15912 */ 15913 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15914 /* Scoped IPv4 prefixes (in host byte-order) */ 15915 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15916 /* RFC 3927 IPv4 link local address (i in host byte-order) */ 15917 15918 15919 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ 15920 15921 15922 15923 15924 15925 15926 /* 15927 * Define a macro to stuff the loopback address into an Internet address 15928 */ 15929 15930 15931 15932 15933 15934 15935 /* 15936 * IPv4 Socket address. 15937 */ 15938 struct sockaddr_in { 15939 sa_family_t sin_family; 15940 in_port_t sin_port; 15941 struct in_addr sin_addr; 15942 15943 char sin_zero[8]; 15944 15945 15946 15947 }; 15948 15949 15950 /* 15951 * IPv6 socket address. 15952 */ 15953 struct sockaddr_in6 { 15954 sa_family_t sin6_family; 15955 in_port_t sin6_port; 15956 uint32_t sin6_flowinfo; 15957 struct in6_addr sin6_addr; 15958 uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ 15959 uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ 15960 }; 15961 15962 /* 15963 * Macros for accessing the traffic class and flow label fields from 15964 * sin6_flowinfo. 15965 * These are designed to be applied to a 32-bit value. 15966 */ 15967 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15968 /* masks */ 15969 15970 15971 15972 15973 15974 /* 15975 * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for 15976 * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) 15977 * only. They need to be different for User/Kernel versions because union 15978 * component data structure is defined differently (it is identical at 15979 * binary representation level). 15980 * 15981 * const struct in6_addr IN6ADDR_ANY_INIT; 15982 * const struct in6_addr IN6ADDR_LOOPBACK_INIT; 15983 */ 15984 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 15985 /* 15986 * RFC 2553 specifies the following macros. Their type is defined 15987 * as "int" in the RFC but they only have boolean significance 15988 * (zero or non-zero). For the purposes of our comment notation, 15989 * we assume a hypothetical type "bool" defined as follows to 15990 * write the prototypes assumed for macros in our comments better. 15991 * 15992 * typedef int bool; 15993 */ 15994 15995 /* 15996 * IN6 macros used to test for special IPv6 addresses 15997 * (Mostly from spec) 15998 * 15999 * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); 16000 * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); 16001 * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); 16002 * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); 16003 * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); 16004 * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); 16005 * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 16006 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); 16007 * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 16008 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); 16009 * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); 16010 * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); 16011 * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); 16012 * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 16013 * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 16014 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, 16015 * const struct in6_addr *); -- Not from RFC2553 16016 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 16017 */ 16018 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16019 /* 16020 * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY 16021 * Note: This macro is currently NOT defined in RFC2553 specification 16022 * and not a standard macro that portable applications should use. 16023 */ 16024 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16025 /* Exclude loopback and unspecified address */ 16026 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16027 /* 16028 * Note: 16029 * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 16030 * specification and not a standard macro that portable applications 16031 * should use. 16032 */ 16033 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16034 /* 16035 * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or 16036 * RFC, and shouldn't be used by portable applications. It is used to see 16037 * if an address is a solicited-node multicast address, which is prefixed 16038 * with ff02:0:0:0:0:1:ff00::/104. 16039 */ 16040 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16041 /* 16042 * Macros to a) test for 6to4 IPv6 address, and b) to test if two 16043 * 6to4 addresses have the same /48 prefix, and, hence, are from the 16044 * same 6to4 site. 16045 */ 16046 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16047 /* 16048 * IN6_IS_ADDR_LINKSCOPE 16049 * Identifies an address as being either link-local, link-local multicast or 16050 * node-local multicast. All types of addresses are considered to be unique 16051 * within the scope of a given link. 16052 */ 16053 16054 16055 16056 16057 /* 16058 * Useful utility macros for operations with IPv6 addresses 16059 * Note: These macros are NOT defined in the RFC2553 or any other 16060 * standard specification and are not standard macros that portable 16061 * applications should use. 16062 */ 16063 16064 /* 16065 * IN6_V4MAPPED_TO_INADDR 16066 * IN6_V4MAPPED_TO_IPADDR 16067 * Assign a IPv4-Mapped IPv6 address to an IPv4 address. 16068 * Note: These macros are NOT defined in RFC2553 or any other standard 16069 * specification and are not macros that portable applications should 16070 * use. 16071 * 16072 * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); 16073 * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); 16074 * 16075 */ 16076 16077 16078 16079 16080 16081 /* 16082 * IN6_INADDR_TO_V4MAPPED 16083 * IN6_IPADDR_TO_V4MAPPED 16084 * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped 16085 * address. 16086 * Note: These macros are NOT defined in RFC2553 or any other standard 16087 * specification and are not macros that portable applications should 16088 * use. 16089 * 16090 * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); 16091 * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); 16092 * 16093 */ 16094 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16095 /* 16096 * IN6_6TO4_TO_V4ADDR 16097 * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 16098 * address. 16099 * Note: This macro is NOT defined in RFC2553 or any other standard 16100 * specification and is not a macro that portable applications should 16101 * use. 16102 * Note: we don't use the IPADDR form of the macro because we need 16103 * to do a bytewise copy; the V4ADDR in the 6to4 address is not 16104 * 32-bit aligned. 16105 * 16106 * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); 16107 * 16108 */ 16109 16110 16111 16112 16113 16114 16115 /* 16116 * IN6_V4ADDR_TO_6TO4 16117 * Given an IPv4 address and an IPv6 address for output, a 6to4 address 16118 * will be created from the IPv4 Address. 16119 * Note: This method for creating 6to4 addresses is not standardized 16120 * outside of Solaris. The newly created 6to4 address will be of the form 16121 * 2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and 16122 * HOSTID will equal 1. 16123 * 16124 * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) 16125 * 16126 */ 16127 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16128 /* 16129 * IN6_ARE_ADDR_EQUAL (defined in RFC2292) 16130 * Compares if IPv6 addresses are equal. 16131 * Note: Compares in order of high likelyhood of a miss so we minimize 16132 * compares. (Current heuristic order, compare in reverse order of 16133 * uint32_t units) 16134 * 16135 * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, 16136 * const struct in6_addr *); 16137 */ 16138 16139 16140 16141 16142 16143 16144 /* 16145 * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) 16146 * Compares if prefixed parts of IPv6 addresses are equal. 16147 * 16148 * uint32_t IN6_MASK_FROM_PREFIX(int, int); 16149 * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, 16150 * const struct in6_addr *, 16151 * int); 16152 */ 16153 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16154 /* 16155 * Options for use with [gs]etsockopt at the IP level. 16156 * 16157 * Note: Some of the IP_ namespace has conflict with and 16158 * and is exposed through <xti.h>. (It also requires exposing 16159 * options not implemented). The options with potential 16160 * for conflicts use #ifndef guards. 16161 */ 16162 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16163 /* 16164 * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in 16165 * is used to differentiate b/w the two. 16166 */ 16167 16168 16169 16170 16171 16172 /* 16173 * Different preferences that can be requested from IPSEC protocols. 16174 */ 16175 16176 16177 16178 16179 /* 16180 * This can be used with the setsockopt() call to set per socket security 16181 * options. When the application uses per-socket API, we will reflect 16182 * the request on both outbound and inbound packets. 16183 */ 16184 16185 typedef struct ipsec_req { 16186 uint_t ipsr_ah_req; /* AH request */ 16187 uint_t ipsr_esp_req; /* ESP request */ 16188 uint_t ipsr_self_encap_req; /* Self-Encap request */ 16189 uint8_t ipsr_auth_alg; /* Auth algs for AH */ 16190 uint8_t ipsr_esp_alg; /* Encr algs for ESP */ 16191 uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ 16192 } ipsec_req_t; 16193 16194 /* 16195 * MCAST_* options are protocol-independent. The actual definitions 16196 * are with the v6 options below; this comment is here to note the 16197 * namespace usage. 16198 * 16199 * #define MCAST_JOIN_GROUP 0x29 16200 * #define MCAST_LEAVE_GROUP 0x2a 16201 * #define MCAST_BLOCK_SOURCE 0x2b 16202 * #define MCAST_UNBLOCK_SOURCE 0x2c 16203 * #define MCAST_JOIN_SOURCE_GROUP 0x2d 16204 * #define MCAST_LEAVE_SOURCE_GROUP 0x2e 16205 */ 16206 16207 16208 /* 16209 * SunOS private (potentially not portable) IP_ option names 16210 */ 16211 16212 16213 16214 /* can be reused 0x44 */ 16215 16216 16217 /* 16218 * Option values and names (when !_XPG5) shared with <xti_inet.h> 16219 */ 16220 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16221 /* 16222 * The following option values are reserved by <xti_inet.h> 16223 * 16224 * T_IP_OPTIONS 0x107 - IP per-packet options 16225 * T_IP_TOS 0x108 - IP per packet type of service 16226 */ 16227 16228 /* 16229 * Default value constants for multicast attributes controlled by 16230 * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. 16231 */ 16232 16233 16234 16235 16236 /* 16237 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 16238 */ 16239 struct ip_mreq { 16240 struct in_addr imr_multiaddr; /* IP multicast address of group */ 16241 struct in_addr imr_interface; /* local IP address of interface */ 16242 }; 16243 16244 /* 16245 * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, 16246 * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. 16247 */ 16248 struct ip_mreq_source { 16249 struct in_addr imr_multiaddr; /* IP address of group */ 16250 struct in_addr imr_sourceaddr; /* IP address of source */ 16251 struct in_addr imr_interface; /* IP address of interface */ 16252 }; 16253 16254 /* 16255 * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on 16256 * IPv6 addresses. 16257 */ 16258 struct ipv6_mreq { 16259 struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ 16260 unsigned int ipv6mr_interface; /* interface index */ 16261 }; 16262 16263 /* 16264 * Use #pragma pack() construct to force 32-bit alignment on amd64. 16265 * This is needed to keep the structure size and offsets consistent 16266 * between a 32-bit app and the 64-bit amd64 kernel in structures 16267 * where 64-bit alignment would create gaps (in this case, structures 16268 * which have a uint32_t followed by a struct sockaddr_storage). 16269 */ 16270 16271 16272 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16273 #pragma pack(4) 16274 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16275 16276 16277 16278 /* 16279 * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. 16280 */ 16281 struct group_req { 16282 uint32_t gr_interface; /* interface index */ 16283 struct sockaddr_storage gr_group; /* group address */ 16284 }; 16285 16286 /* 16287 * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, 16288 * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. 16289 */ 16290 struct group_source_req { 16291 uint32_t gsr_interface; /* interface index */ 16292 struct sockaddr_storage gsr_group; /* group address */ 16293 struct sockaddr_storage gsr_source; /* source address */ 16294 }; 16295 16296 /* 16297 * Argument for SIOC[GS]MSFILTER ioctls 16298 */ 16299 struct group_filter { 16300 uint32_t gf_interface; /* interface index */ 16301 struct sockaddr_storage gf_group; /* multicast address */ 16302 uint32_t gf_fmode; /* filter mode */ 16303 uint32_t gf_numsrc; /* number of sources */ 16304 struct sockaddr_storage gf_slist[1]; /* source address */ 16305 }; 16306 16307 16308 16309 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16310 #pragma pack() 16311 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16312 16313 16314 16315 16316 16317 16318 16319 /* 16320 * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) 16321 */ 16322 struct ip_msfilter { 16323 struct in_addr imsf_multiaddr; /* IP multicast address of group */ 16324 struct in_addr imsf_interface; /* local IP address of interface */ 16325 uint32_t imsf_fmode; /* filter mode */ 16326 uint32_t imsf_numsrc; /* number of sources in src_list */ 16327 struct in_addr imsf_slist[1]; /* start of source list */ 16328 }; 16329 16330 16331 16332 16333 16334 /* 16335 * Multicast source filter manipulation functions in libsocket; 16336 * defined in RFC 3678. 16337 */ 16338 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, 16339 uint_t, struct sockaddr_storage *); 16340 16341 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, 16342 uint_t *, struct sockaddr_storage *); 16343 16344 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, 16345 uint32_t, struct in_addr *); 16346 16347 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, 16348 uint32_t *, struct in_addr *); 16349 16350 /* 16351 * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() 16352 */ 16353 16354 16355 16356 /* 16357 * Argument struct for IP_PKTINFO option 16358 */ 16359 typedef struct in_pktinfo { 16360 unsigned int ipi_ifindex; /* send/recv interface index */ 16361 struct in_addr ipi_spec_dst; /* matched source address */ 16362 struct in_addr ipi_addr; /* src/dst address in IP hdr */ 16363 } in_pktinfo_t; 16364 16365 /* 16366 * Argument struct for IPV6_PKTINFO option 16367 */ 16368 struct in6_pktinfo { 16369 struct in6_addr ipi6_addr; /* src/dst IPv6 address */ 16370 unsigned int ipi6_ifindex; /* send/recv interface index */ 16371 }; 16372 16373 /* 16374 * Argument struct for IPV6_MTUINFO option 16375 */ 16376 struct ip6_mtuinfo { 16377 struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ 16378 uint32_t ip6m_mtu; /* path MTU in host byte order */ 16379 }; 16380 16381 /* 16382 * IPv6 routing header types 16383 */ 16384 16385 16386 extern socklen_t inet6_rth_space(int type, int segments); 16387 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); 16388 extern int inet6_rth_add(void *bp, const struct in6_addr *addr); 16389 extern int inet6_rth_reverse(const void *in, void *out); 16390 extern int inet6_rth_segments(const void *bp); 16391 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); 16392 16393 extern int inet6_opt_init(void *extbuf, socklen_t extlen); 16394 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, 16395 uint8_t type, socklen_t len, uint_t align, void **databufp); 16396 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); 16397 extern int inet6_opt_set_val(void *databuf, int offset, void *val, 16398 socklen_t vallen); 16399 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, 16400 uint8_t *typep, socklen_t *lenp, void **databufp); 16401 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, 16402 uint8_t type, socklen_t *lenp, void **databufp); 16403 extern int inet6_opt_get_val(void *databuf, int offset, void *val, 16404 socklen_t vallen); 16405 16406 16407 /* 16408 * Argument structure for IP_ADD_PROXY_ADDR. 16409 * Note that this is an unstable, experimental interface. It may change 16410 * later. Don't use it unless you know what it is. 16411 */ 16412 typedef struct { 16413 struct in_addr in_prefix_addr; 16414 unsigned int in_prefix_len; 16415 } in_prefix_t; 16416 16417 16418 16419 /* 16420 * IPv6 options 16421 */ 16422 16423 /* packets. */ 16424 /* argument type: uint_t */ 16425 16426 /* multicast packets. */ 16427 /* argument type: struct in6_addr */ 16428 16429 /* multicast packets. */ 16430 /* argument type: uint_t */ 16431 16432 /* multicast packets on same socket. */ 16433 /* argument type: uint_t */ 16434 16435 /* argument type: struct ipv6_mreq */ 16436 16437 /* argument type: struct ipv6_mreq */ 16438 16439 /* 16440 * Other XPG6 constants. 16441 */ 16442 16443 /* decimal notation. */ 16444 16445 /* standard colon-hex notation. */ 16446 16447 16448 16449 16450 16451 /* 16452 * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept 16453 * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP 16454 * and IPV6_LEAVE_GROUP respectively. 16455 */ 16456 16457 /* argument type: struct ipv6_mreq */ 16458 16459 /* argument type: struct ipv6_mreq */ 16460 16461 16462 /* arg type: "struct in6_pktingo" - */ 16463 16464 16465 16466 16467 /* the routing header */ 16468 16469 16470 /* the routing header */ 16471 16472 16473 16474 16475 /* 16476 * This options exists for backwards compatability and should no longer be 16477 * used. Use IPV6_RECVDSTOPTS instead. 16478 */ 16479 16480 16481 16482 16483 /* 16484 * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables 16485 * the receipt of both headers. 16486 */ 16487 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16488 /* 16489 * enable/disable receipt of both both IPV6_DSTOPTS headers. 16490 */ 16491 16492 16493 /* 16494 * protocol-independent multicast membership options. 16495 */ 16496 16497 16498 16499 16500 16501 16502 16503 /* 32Bit field for IPV6_SRC_PREFERENCES */ 16504 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 16505 /* 16506 * SunOS private (potentially not portable) IPV6_ option names 16507 */ 16508 16509 16510 /* unspecified (all zeros) */ 16511 16512 /* 16513 * Miscellaneous IPv6 constants. 16514 */ 16515 16516 16517 16518 16519 /* 16520 * Extern declarations for pre-defined global const variables 16521 */ 16522 16523 16524 16525 extern const struct in6_addr in6addr_any; 16526 extern const struct in6_addr in6addr_loopback; 16527 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 16528 16529 16530 16531 16532 16533 /* 16534 * NOTE 16535 * 16536 * The contents of this file are private to the implementation of 16537 * Solaris and are subject to change at any time without notice. 16538 * Applications and drivers using these interfaces may fail to 16539 * run on future releases. 16540 */ 16541 16542 /* Available both in kernel and for user space */ 16543 16544 /* zone id restrictions and special ids */ 16545 16546 16547 16548 16549 16550 16551 /* 16552 * Special zoneid_t token to refer to all zones. 16553 */ 16554 16555 16556 /* system call subcodes */ 16557 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 16558 /* zone attributes */ 16559 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 16560 /* Start of the brand-specific attribute namespace */ 16561 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 16562 /* 16563 * Exit values that may be returned by scripts or programs invoked by various 16564 * zone commands. 16565 * 16566 * These are defined as: 16567 * 16568 * ZONE_SUBPROC_OK 16569 * =============== 16570 * The subprocess completed successfully. 16571 * 16572 * ZONE_SUBPROC_USAGE 16573 * ================== 16574 * The subprocess failed with a usage message, or a usage message should 16575 * be output in its behalf. 16576 * 16577 * ZONE_SUBPROC_NOTCOMPLETE 16578 * ======================== 16579 * The subprocess did not complete, but the actions performed by the 16580 * subprocess require no recovery actions by the user. 16581 * 16582 * For example, if the subprocess were called by "zoneadm install," the 16583 * installation of the zone did not succeed but the user need not perform 16584 * a "zoneadm uninstall" before attempting another install. 16585 * 16586 * ZONE_SUBPROC_FATAL 16587 * ================== 16588 * The subprocess failed in a fatal manner, usually one that will require 16589 * some type of recovery action by the user. 16590 * 16591 * For example, if the subprocess were called by "zoneadm install," the 16592 * installation of the zone did not succeed and the user will need to 16593 * perform a "zoneadm uninstall" before another install attempt is 16594 * possible. 16595 * 16596 * The non-success exit values are large to avoid accidental collision 16597 * with values used internally by some commands (e.g. "Z_ERR" and 16598 * "Z_USAGE" as used by zoneadm.) 16599 */ 16600 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 16601 typedef struct { 16602 const char *zone_name; 16603 const char *zone_root; 16604 const struct priv_set *zone_privs; 16605 size_t zone_privssz; 16606 const char *rctlbuf; 16607 size_t rctlbufsz; 16608 int *extended_error; 16609 const char *zfsbuf; 16610 size_t zfsbufsz; 16611 int match; /* match level */ 16612 uint32_t doi; /* DOI for label */ 16613 const bslabel_t *label; /* label associated with zone */ 16614 int flags; 16615 } zone_def; 16616 16617 /* extended error information */ 16618 16619 16620 16621 16622 16623 /* 16624 * zone_status values 16625 * 16626 * You must modify zone_status_names in mdb(1M)'s genunix module 16627 * (genunix/zone.c) when you modify this enum. 16628 */ 16629 typedef enum { 16630 ZONE_IS_UNINITIALIZED = 0, 16631 ZONE_IS_INITIALIZED, 16632 ZONE_IS_READY, 16633 ZONE_IS_BOOTING, 16634 ZONE_IS_RUNNING, 16635 ZONE_IS_SHUTTING_DOWN, 16636 ZONE_IS_EMPTY, 16637 ZONE_IS_DOWN, 16638 ZONE_IS_DYING, 16639 ZONE_IS_DEAD 16640 } zone_status_t; 16641 16642 16643 16644 /* 16645 * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also 16646 * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. 16647 */ 16648 typedef enum zone_cmd { 16649 Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, 16650 Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN 16651 } zone_cmd_t; 16652 16653 /* 16654 * The structure of a request to zoneadmd. 16655 */ 16656 typedef struct zone_cmd_arg { 16657 uint64_t uniqid; /* unique "generation number" */ 16658 zone_cmd_t cmd; /* requested action */ 16659 uint32_t _pad; /* need consistent 32/64 bit alignmt */ 16660 char locale[1024]; /* locale in which to render messages */ 16661 char bootbuf[256]; /* arguments passed to zone_boot() */ 16662 } zone_cmd_arg_t; 16663 16664 /* 16665 * Structure of zoneadmd's response to a request. A NULL return value means 16666 * the caller should attempt to restart zoneadmd and retry. 16667 */ 16668 typedef struct zone_cmd_rval { 16669 int rval; /* return value of request */ 16670 char errbuf[1]; /* variable-sized buffer containing error messages */ 16671 } zone_cmd_rval_t; 16672 16673 /* 16674 * The zone support infrastructure uses the zone name as a component 16675 * of unix domain (AF_UNIX) sockets, which are limited to 108 characters 16676 * in length, so ZONENAME_MAX is limited by that. 16677 */ 16678 16679 16680 16681 16682 /* 16683 * Extended Regular expression (see regex(5)) which matches all valid zone 16684 * names. 16685 */ 16686 16687 16688 /* 16689 * Where the zones support infrastructure places temporary files. 16690 */ 16691 16692 16693 /* 16694 * The path to the door used by clients to communicate with zoneadmd. 16695 */ 16696 16697 16698 16699 /* zone_flags */ 16700 /* 16701 * Threads that read or write the following flag must hold zone_lock. 16702 */ 16703 16704 16705 /* 16706 * The following threads are set when the zone is created and never changed. 16707 * Threads that test for these flags don't have to hold zone_lock. 16708 */ 16709 16710 16711 16712 16713 16714 /* zone_create flags */ 16715 16716 16717 /* zone network properties */ 16718 16719 16720 16721 16722 16723 16724 typedef struct zone_net_data { 16725 int zn_type; 16726 int zn_len; 16727 datalink_id_t zn_linkid; 16728 uint8_t zn_val[1]; 16729 } zone_net_data_t; 16730 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 16731 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 16732 /* 16733 * CDDL HEADER START 16734 * 16735 * The contents of this file are subject to the terms of the 16736 * Common Development and Distribution License (the "License"). 16737 * You may not use this file except in compliance with the License. 16738 * 16739 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16740 * or http://www.opensolaris.org/os/licensing. 16741 * See the License for the specific language governing permissions 16742 * and limitations under the License. 16743 * 16744 * When distributing Covered Code, include this CDDL HEADER in each 16745 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16746 * If applicable, add the following below this CDDL HEADER, with the 16747 * fields enclosed by brackets "[]" replaced with your own identifying 16748 * information: Portions Copyright [yyyy] [name of copyright owner] 16749 * 16750 * CDDL HEADER END 16751 */ 16752 /* 16753 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16754 * 16755 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16756 */ 16757 16758 16759 16760 16761 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16762 /* 16763 * CDDL HEADER START 16764 * 16765 * The contents of this file are subject to the terms of the 16766 * Common Development and Distribution License (the "License"). 16767 * You may not use this file except in compliance with the License. 16768 * 16769 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16770 * or http://www.opensolaris.org/os/licensing. 16771 * See the License for the specific language governing permissions 16772 * and limitations under the License. 16773 * 16774 * When distributing Covered Code, include this CDDL HEADER in each 16775 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16776 * If applicable, add the following below this CDDL HEADER, with the 16777 * fields enclosed by brackets "[]" replaced with your own identifying 16778 * information: Portions Copyright [yyyy] [name of copyright owner] 16779 * 16780 * CDDL HEADER END 16781 */ 16782 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16783 /* All Rights Reserved */ 16784 16785 16786 /* 16787 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16788 * Use is subject to license terms. 16789 * 16790 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16791 * Copyright 2016 Joyent, Inc. 16792 */ 16793 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 16794 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 16795 /* 16796 * CDDL HEADER START 16797 * 16798 * The contents of this file are subject to the terms of the 16799 * Common Development and Distribution License (the "License"). 16800 * You may not use this file except in compliance with the License. 16801 * 16802 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16803 * or http://www.opensolaris.org/os/licensing. 16804 * See the License for the specific language governing permissions 16805 * and limitations under the License. 16806 * 16807 * When distributing Covered Code, include this CDDL HEADER in each 16808 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16809 * If applicable, add the following below this CDDL HEADER, with the 16810 * fields enclosed by brackets "[]" replaced with your own identifying 16811 * information: Portions Copyright [yyyy] [name of copyright owner] 16812 * 16813 * CDDL HEADER END 16814 */ 16815 /* 16816 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16817 * Use is subject to license terms. 16818 */ 16819 16820 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16821 /* All Rights Reserved */ 16822 16823 /* 16824 * Portions of this source code were derived from Berkeley 4.3 BSD 16825 * under license from the Regents of the University of California. 16826 */ 16827 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 16828 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 16829 /* 16830 * CDDL HEADER START 16831 * 16832 * The contents of this file are subject to the terms of the 16833 * Common Development and Distribution License (the "License"). 16834 * You may not use this file except in compliance with the License. 16835 * 16836 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16837 * or http://www.opensolaris.org/os/licensing. 16838 * See the License for the specific language governing permissions 16839 * and limitations under the License. 16840 * 16841 * When distributing Covered Code, include this CDDL HEADER in each 16842 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16843 * If applicable, add the following below this CDDL HEADER, with the 16844 * fields enclosed by brackets "[]" replaced with your own identifying 16845 * information: Portions Copyright [yyyy] [name of copyright owner] 16846 * 16847 * CDDL HEADER END 16848 */ 16849 /* 16850 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16851 * Copyright 2015, Joyent, Inc. All rights reserved. 16852 * 16853 * Privilege constant definitions. Privileges and privilege sets 16854 * are only known by name and should be mapped at runtime. 16855 * 16856 * THIS FILE WAS GENERATED; DO NOT EDIT 16857 */ 16858 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 16859 /* 16860 * Privilege names 16861 */ 16862 /* 16863 * Allows a process to request critical events without limitation. 16864 * Allows a process to request reliable delivery of all events on 16865 * any event queue. 16866 */ 16867 16868 16869 /* 16870 * Allows a process to set the service FMRI value of a process 16871 * contract template. 16872 */ 16873 16874 16875 /* 16876 * Allows a process to observe contract events generated by 16877 * contracts created and owned by users other than the process's 16878 * effective user ID. 16879 * Allows a process to open contract event endpoints belonging to 16880 * contracts created and owned by users other than the process's 16881 * effective user ID. 16882 */ 16883 16884 16885 /* 16886 * Allow a process to access per-CPU hardware performance counters. 16887 */ 16888 16889 16890 /* 16891 * Allows DTrace kernel-level tracing. 16892 */ 16893 16894 16895 /* 16896 * Allows DTrace process-level tracing. 16897 * Allows process-level tracing probes to be placed and enabled in 16898 * processes to which the user has permissions. 16899 */ 16900 16901 16902 /* 16903 * Allows DTrace user-level tracing. 16904 * Allows use of the syscall and profile DTrace providers to 16905 * examine processes to which the user has permissions. 16906 */ 16907 16908 16909 /* 16910 * Allows a process to change a file's owner user ID. 16911 * Allows a process to change a file's group ID to one other than 16912 * the process' effective group ID or one of the process' 16913 * supplemental group IDs. 16914 */ 16915 16916 16917 /* 16918 * Allows a process to give away its files; a process with this 16919 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 16920 * in effect. 16921 */ 16922 16923 16924 /* 16925 * Allows a process to execute an executable file whose permission 16926 * bits or ACL do not allow the process execute permission. 16927 */ 16928 16929 16930 /* 16931 * Allows a process to read a file or directory whose permission 16932 * bits or ACL do not allow the process read permission. 16933 */ 16934 16935 16936 /* 16937 * Allows a process to search a directory whose permission bits or 16938 * ACL do not allow the process search permission. 16939 */ 16940 16941 16942 /* 16943 * Allows a process to write a file or directory whose permission 16944 * bits or ACL do not allow the process write permission. 16945 * In order to write files owned by uid 0 in the absence of an 16946 * effective uid of 0 ALL privileges are required. 16947 */ 16948 16949 16950 /* 16951 * Allows a process to set the sensitivity label of a file or 16952 * directory to a sensitivity label that does not dominate the 16953 * existing sensitivity label. 16954 * This privilege is interpreted only if the system is configured 16955 * with Trusted Extensions. 16956 */ 16957 16958 16959 /* 16960 * Allows a process to set immutable, nounlink or appendonly 16961 * file attributes. 16962 */ 16963 16964 16965 /* 16966 * Allows a process to create hardlinks to files owned by a uid 16967 * different from the process' effective uid. 16968 */ 16969 16970 16971 /* 16972 * Allows a process which is not the owner of a file or directory 16973 * to perform the following operations that are normally permitted 16974 * only for the file owner: modify that file's access and 16975 * modification times; remove or rename a file or directory whose 16976 * parent directory has the ``save text image after execution'' 16977 * (sticky) bit set; mount a ``namefs'' upon a file; modify 16978 * permission bits or ACL except for the set-uid and set-gid 16979 * bits. 16980 */ 16981 16982 16983 /* 16984 * Allows a process to read objects in the filesystem. 16985 */ 16986 16987 16988 /* 16989 * Allows a process to change the ownership of a file or write to 16990 * a file without the set-user-ID and set-group-ID bits being 16991 * cleared. 16992 * Allows a process to set the set-group-ID bit on a file or 16993 * directory whose group is not the process' effective group or 16994 * one of the process' supplemental groups. 16995 * Allows a process to set the set-user-ID bit on a file with 16996 * different ownership in the presence of PRIV_FILE_OWNER. 16997 * Additional restrictions apply when creating or modifying a 16998 * set-uid 0 file. 16999 */ 17000 17001 17002 /* 17003 * Allows a process to set the sensitivity label of a file or 17004 * directory to a sensitivity label that dominates the existing 17005 * sensitivity label. 17006 * This privilege is interpreted only if the system is configured 17007 * with Trusted Extensions. 17008 */ 17009 17010 17011 /* 17012 * Allows a process to modify objects in the filesystem. 17013 */ 17014 17015 17016 /* 17017 * Allows a process to make privileged ioctls to graphics devices. 17018 * Typically only xserver process needs to have this privilege. 17019 * A process with this privilege is also allowed to perform 17020 * privileged graphics device mappings. 17021 */ 17022 17023 17024 /* 17025 * Allows a process to perform privileged mappings through a 17026 * graphics device. 17027 */ 17028 17029 17030 /* 17031 * Allows a process to read a System V IPC 17032 * Message Queue, Semaphore Set, or Shared Memory Segment whose 17033 * permission bits do not allow the process read permission. 17034 * Allows a process to read remote shared memory whose 17035 * permission bits do not allow the process read permission. 17036 */ 17037 17038 17039 /* 17040 * Allows a process to write a System V IPC 17041 * Message Queue, Semaphore Set, or Shared Memory Segment whose 17042 * permission bits do not allow the process write permission. 17043 * Allows a process to read remote shared memory whose 17044 * permission bits do not allow the process write permission. 17045 * Additional restrictions apply if the owner of the object has uid 0 17046 * and the effective uid of the current process is not 0. 17047 */ 17048 17049 17050 /* 17051 * Allows a process which is not the owner of a System 17052 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 17053 * remove, change ownership of, or change permission bits of the 17054 * Message Queue, Semaphore Set, or Shared Memory Segment. 17055 * Additional restrictions apply if the owner of the object has uid 0 17056 * and the effective uid of the current process is not 0. 17057 */ 17058 17059 17060 /* 17061 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 17062 */ 17063 17064 17065 /* 17066 * Allow a process to bind to a port that is configured as a 17067 * multi-level port(MLP) for the process's zone. This privilege 17068 * applies to both shared address and zone-specific address MLPs. 17069 * See tnzonecfg(4) from the Trusted Extensions manual pages for 17070 * information on configuring MLP ports. 17071 * This privilege is interpreted only if the system is configured 17072 * with Trusted Extensions. 17073 */ 17074 17075 17076 /* 17077 * Allows a process to send and receive ICMP packets. 17078 */ 17079 17080 17081 /* 17082 * Allows a process to set NET_MAC_AWARE process flag by using 17083 * setpflags(2). This privilege also allows a process to set 17084 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 17085 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 17086 * option both allow a local process to communicate with an 17087 * unlabeled peer if the local process' label dominates the 17088 * peer's default label, or if the local process runs in the 17089 * global zone. 17090 * This privilege is interpreted only if the system is configured 17091 * with Trusted Extensions. 17092 */ 17093 17094 17095 /* 17096 * Allows a process to set SO_MAC_IMPLICIT option by using 17097 * setsockopt(3SOCKET). This allows a privileged process to 17098 * transmit implicitly-labeled packets to a peer. 17099 * This privilege is interpreted only if the system is configured 17100 * with Trusted Extensions. 17101 */ 17102 17103 17104 /* 17105 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 17106 * while not requiring them to need PRIV_NET_RAWACCESS. 17107 */ 17108 17109 17110 /* 17111 * Allows a process to bind to a privileged port 17112 * number. The privilege port numbers are 1-1023 (the traditional 17113 * UNIX privileged ports) as well as those ports marked as 17114 * "udp/tcp_extra_priv_ports" with the exception of the ports 17115 * reserved for use by NFS. 17116 */ 17117 17118 17119 /* 17120 * Allows a process to have direct access to the network layer. 17121 */ 17122 17123 17124 /* 17125 * Allows a process to generate audit records. 17126 * Allows a process to get its own audit pre-selection information. 17127 */ 17128 17129 17130 /* 17131 * Allows a process to change its root directory. 17132 */ 17133 17134 17135 /* 17136 * Allows a process to use high resolution timers. 17137 */ 17138 17139 17140 /* 17141 * Allows a process to call execve(). 17142 */ 17143 17144 17145 /* 17146 * Allows a process to call fork1()/forkall()/vfork() 17147 */ 17148 17149 17150 /* 17151 * Allows a process to examine the status of processes other 17152 * than those it can send signals to. Processes which cannot 17153 * be examined cannot be seen in /proc and appear not to exist. 17154 */ 17155 17156 17157 /* 17158 * Allows a process to lock pages in physical memory. 17159 */ 17160 17161 17162 /* 17163 * Allows a process to access physical memory information. 17164 */ 17165 17166 17167 /* 17168 * Allows a process to send signals to other processes, inspect 17169 * and modify process state to other processes regardless of 17170 * ownership. When modifying another process, additional 17171 * restrictions apply: the effective privilege set of the 17172 * attaching process must be a superset of the target process' 17173 * effective, permitted and inheritable sets; the limit set must 17174 * be a superset of the target's limit set; if the target process 17175 * has any uid set to 0 all privilege must be asserted unless the 17176 * effective uid is 0. 17177 * Allows a process to bind arbitrary processes to CPUs. 17178 */ 17179 17180 17181 /* 17182 * Allows a process to elevate its priority above its current level. 17183 */ 17184 17185 17186 /* 17187 * Allows all that PRIV_PROC_PRIOUP allows. 17188 * Allows a process to change its scheduling class to any scheduling class, 17189 * including the RT class. 17190 */ 17191 17192 17193 /* 17194 * Allows a process to send signals or trace processes outside its 17195 * session. 17196 */ 17197 17198 17199 /* 17200 * Allows a process to set its uids at will. 17201 * Assuming uid 0 requires all privileges to be asserted. 17202 */ 17203 17204 17205 /* 17206 * Allows a process to assign a new task ID to the calling process. 17207 */ 17208 17209 17210 /* 17211 * Allows a process to trace or send signals to processes in 17212 * other zones. 17213 */ 17214 17215 17216 /* 17217 * Allows a process to enable and disable and manage accounting through 17218 * acct(2), getacct(2), putacct(2) and wracct(2). 17219 */ 17220 17221 17222 /* 17223 * Allows a process to perform system administration tasks such 17224 * as setting node and domain name and specifying nscd and coreadm 17225 * settings. 17226 */ 17227 17228 17229 /* 17230 * Allows a process to start the (kernel) audit daemon. 17231 * Allows a process to view and set audit state (audit user ID, 17232 * audit terminal ID, audit sessions ID, audit pre-selection mask). 17233 * Allows a process to turn off and on auditing. 17234 * Allows a process to configure the audit parameters (cache and 17235 * queue sizes, event to class mappings, policy options). 17236 */ 17237 17238 17239 /* 17240 * Allows a process to perform various system configuration tasks. 17241 * Allows a process to add and remove swap devices; when adding a swap 17242 * device, a process must also have sufficient privileges to read from 17243 * and write to the swap device. 17244 */ 17245 17246 17247 /* 17248 * Allows a process to successfully call a kernel module that 17249 * calls the kernel drv_priv(9F) function to check for allowed 17250 * access. 17251 * Allows a process to open the real console device directly. 17252 * Allows a process to open devices that have been exclusively opened. 17253 */ 17254 17255 17256 /* 17257 * Allows a process to increase the size of a System V IPC Message 17258 * Queue buffer. 17259 */ 17260 17261 17262 /* 17263 * Allows a process to unlink and link directories. 17264 */ 17265 17266 17267 /* 17268 * Allows filesystem specific administrative procedures, such as 17269 * filesystem configuration ioctls, quota calls and creation/deletion 17270 * of snapshots. 17271 * Allows a process to mount and unmount filesystems which would 17272 * otherwise be restricted (i.e., most filesystems except 17273 * namefs). 17274 * A process performing a mount operation needs to have 17275 * appropriate access to the device being mounted (read-write for 17276 * "rw" mounts, read for "ro" mounts). 17277 * A process performing any of the aforementioned 17278 * filesystem operations needs to have read/write/owner 17279 * access to the mount point. 17280 * Only regular files and directories can serve as mount points 17281 * for processes which do not have all zone privileges asserted. 17282 * Unless a process has all zone privileges, the mount(2) 17283 * system call will force the "nosuid" and "restrict" options, the 17284 * latter only for autofs mountpoints. 17285 * Regardless of privileges, a process running in a non-global zone may 17286 * only control mounts performed from within said zone. 17287 * Outside the global zone, the "nodevices" option is always forced. 17288 */ 17289 17290 17291 /* 17292 * Allows a process to configure IP tunnel links. 17293 */ 17294 17295 17296 /* 17297 * Allows a process to configure all classes of datalinks, including 17298 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 17299 */ 17300 17301 17302 /* 17303 * Allows a process to configure a system's IP interfaces and routes. 17304 * Allows a process to configure network parameters using ndd. 17305 * Allows a process access to otherwise restricted information using ndd. 17306 * Allows a process to configure IPsec. 17307 * Allows a process to pop anchored STREAMs modules with matching zoneid. 17308 */ 17309 17310 17311 /* 17312 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 17313 * PRIV_SYS_PPP_CONFIG allow. 17314 * Allows a process to push the rpcmod STREAMs module. 17315 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 17316 * than the top of the module stack. 17317 */ 17318 17319 17320 /* 17321 * Allows a process to perform Sun private NFS specific system calls. 17322 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 17323 * and port 4045 (lockd). 17324 */ 17325 17326 17327 /* 17328 * Allows a process to create and destroy PPP (sppp) interfaces. 17329 * Allows a process to configure PPP tunnels (sppptun). 17330 */ 17331 17332 17333 /* 17334 * Allows a process to bind processes to processor sets. 17335 */ 17336 17337 17338 /* 17339 * Allows all that PRIV_SYS_RES_BIND allows. 17340 * Allows a process to create and delete processor sets, assign 17341 * CPUs to processor sets and override the PSET_NOESCAPE property. 17342 * Allows a process to change the operational status of CPUs in 17343 * the system using p_online(2). 17344 * Allows a process to configure resource pools and to bind 17345 * processes to pools 17346 */ 17347 17348 17349 /* 17350 * Allows a process to modify the resource limits specified 17351 * by setrlimit(2) and setrctl(2) without restriction. 17352 * Allows a process to exceed the per-user maximum number of 17353 * processes. 17354 * Allows a process to extend or create files on a filesystem that 17355 * has less than minfree space in reserve. 17356 */ 17357 17358 17359 /* 17360 * Allows a process to access the Sun private SMB kernel module. 17361 * Allows a process to bind to ports reserved by NetBIOS and SMB: 17362 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 17363 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 17364 */ 17365 17366 17367 /* 17368 * Allows a process to successfully call a third party loadable module 17369 * that calls the kernel suser() function to check for allowed access. 17370 * This privilege exists only for third party loadable module 17371 * compatibility and is not used by Solaris proper. 17372 */ 17373 17374 17375 /* 17376 * Allows a process to manipulate system time using any of the 17377 * appropriate system calls: stime, adjtime, ntp_adjtime and 17378 * the IA specific RTC calls. 17379 */ 17380 17381 17382 /* 17383 * Allows a process to translate labels that are not dominated 17384 * by the process' sensitivity label to and from an external 17385 * string form. 17386 * This privilege is interpreted only if the system is configured 17387 * with Trusted Extensions. 17388 */ 17389 17390 17391 /* 17392 * Allows a process to manage virtualized environments such as 17393 * xVM(5). 17394 */ 17395 17396 17397 /* 17398 * Allows a process to override colormap restrictions. 17399 * Allows a process to install or remove colormaps. 17400 * Allows a process to retrieve colormap cell entries allocated 17401 * by other processes. 17402 * This privilege is interpreted only if the system is configured 17403 * with Trusted Extensions. 17404 */ 17405 17406 17407 /* 17408 * Allows a process to configure or destroy resources that are 17409 * permanently retained by the X server. 17410 * Allows a process to use SetScreenSaver to set the screen 17411 * saver timeout value. 17412 * Allows a process to use ChangeHosts to modify the display 17413 * access control list. 17414 * Allows a process to use GrabServer. 17415 * Allows a process to use the SetCloseDownMode request which 17416 * may retain window, pixmap, colormap, property, cursor, font, 17417 * or graphic context resources. 17418 * This privilege is interpreted only if the system is configured 17419 * with Trusted Extensions. 17420 */ 17421 17422 17423 /* 17424 * Allows a process to read from a window resource that it does 17425 * not own (has a different user ID). 17426 * This privilege is interpreted only if the system is configured 17427 * with Trusted Extensions. 17428 */ 17429 17430 17431 /* 17432 * Allows a process to write to or create a window resource that 17433 * it does not own (has a different user ID). A newly created 17434 * window property is created with the window's user ID. 17435 * This privilege is interpreted only if the system is configured 17436 * with Trusted Extensions. 17437 */ 17438 17439 17440 /* 17441 * Allows a process to perform operations on window input devices. 17442 * Allows a process to get and set keyboard and pointer controls. 17443 * Allows a process to modify pointer button and key mappings. 17444 * This privilege is interpreted only if the system is configured 17445 * with Trusted Extensions. 17446 */ 17447 17448 17449 /* 17450 * Allows a process to use the direct graphics access (DGA) X protocol 17451 * extensions. Direct process access to the frame buffer is still 17452 * required. Thus the process must have MAC and DAC privileges that 17453 * allow access to the frame buffer, or the frame buffer must be 17454 * allocated to the process. 17455 * This privilege is interpreted only if the system is configured 17456 * with Trusted Extensions. 17457 */ 17458 17459 17460 /* 17461 * Allows a process to set the sensitivity label of a window resource 17462 * to a sensitivity label that does not dominate the existing 17463 * sensitivity label. 17464 * This privilege is interpreted only if the system is configured 17465 * with Trusted Extensions. 17466 */ 17467 17468 17469 /* 17470 * Allows a process to set a font path. 17471 * This privilege is interpreted only if the system is configured 17472 * with Trusted Extensions. 17473 */ 17474 17475 17476 /* 17477 * Allows a process to read from a window resource whose sensitivity 17478 * label is not equal to the process sensitivity label. 17479 * This privilege is interpreted only if the system is configured 17480 * with Trusted Extensions. 17481 */ 17482 17483 17484 /* 17485 * Allows a process to create a window resource whose sensitivity 17486 * label is not equal to the process sensitivity label. 17487 * A newly created window property is created with the window's 17488 * sensitivity label. 17489 * This privilege is interpreted only if the system is configured 17490 * with Trusted Extensions. 17491 */ 17492 17493 17494 /* 17495 * Allows a process to request inter-window data moves without the 17496 * intervention of the selection confirmer. 17497 * This privilege is interpreted only if the system is configured 17498 * with Trusted Extensions. 17499 */ 17500 17501 17502 /* 17503 * Allows a process to set the sensitivity label of a window 17504 * resource to a sensitivity label that dominates the existing 17505 * sensitivity label. 17506 * This privilege is interpreted only if the system is configured 17507 * with Trusted Extensions. 17508 */ 17509 17510 17511 /* 17512 * Allows a process access to the xVM(5) control devices for 17513 * managing guest domains and the hypervisor. This privilege is 17514 * used only if booted into xVM on x86 platforms. 17515 */ 17516 17517 17518 17519 /* 17520 * Privilege set names 17521 */ 17522 /* 17523 * Set of privileges currently in effect. 17524 */ 17525 17526 17527 /* 17528 * Set of privileges that comes into effect on exec. 17529 */ 17530 17531 17532 /* 17533 * Set of privileges that can be put into the effective set without 17534 * restriction. 17535 */ 17536 17537 17538 /* 17539 * Set of privileges that determines the absolute upper bound of 17540 * privileges this process and its off-spring can obtain. 17541 */ 17542 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 17543 17544 17545 17546 17547 17548 typedef uint32_t priv_chunk_t; 17549 typedef struct priv_set priv_set_t; 17550 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17551 /* 17552 * Userland type definitions. 17553 */ 17554 17555 typedef const char *priv_ptype_t; 17556 typedef const char *priv_t; 17557 17558 17559 17560 /* 17561 * priv_op_t indicates a privilege operation type 17562 */ 17563 typedef enum priv_op { 17564 PRIV_ON, 17565 PRIV_OFF, 17566 PRIV_SET 17567 } priv_op_t; 17568 17569 /* 17570 * Privilege system call subcodes. 17571 */ 17572 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17573 /* 17574 * Maximum length of a user defined privilege name. 17575 */ 17576 17577 17578 /* 17579 * Privilege interface functions for those parts of the kernel that 17580 * know nothing of the privilege internals. 17581 * 17582 * A privilege implementation can have a varying number of sets; sets 17583 * consist of a number of priv_chunk_t's and the size is expressed as such. 17584 * The privileges can be represented as 17585 * 17586 * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] 17587 * ... priv_infosize of extra information ... 17588 * 17589 * Extra data contained in the privilege information consists of chunks 17590 * of data with specified size and type all headed by a priv_info_t header 17591 * which defines both the type of information as well as the size of the 17592 * information. ((char*)&info)+info->priv_info_size should be rounded up 17593 * to point to the next piece of information. 17594 */ 17595 17596 typedef struct priv_impl_info { 17597 uint32_t priv_headersize; /* sizeof (priv_impl_info) */ 17598 uint32_t priv_flags; /* additional flags */ 17599 uint32_t priv_nsets; /* number of priv sets */ 17600 uint32_t priv_setsize; /* size in priv_chunk_t */ 17601 uint32_t priv_max; /* highest actual valid priv */ 17602 uint32_t priv_infosize; /* Per proc. additional info */ 17603 uint32_t priv_globalinfosize; /* Per system info */ 17604 } priv_impl_info_t; 17605 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17606 /* 17607 * Per credential flags. 17608 */ 17609 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17610 /* user-settable flags: */ 17611 17612 17613 17614 /* 17615 * Header of the privilege info data structure; multiple structures can 17616 * follow the privilege sets and priv_impl_info structures. 17617 */ 17618 typedef struct priv_info { 17619 uint32_t priv_info_type; 17620 uint32_t priv_info_size; 17621 } priv_info_t; 17622 17623 typedef struct priv_info_uint { 17624 priv_info_t info; 17625 uint_t val; 17626 } priv_info_uint_t; 17627 17628 /* 17629 * Global privilege set information item; the actual size of the array is 17630 * {priv_setsize}. 17631 */ 17632 typedef struct priv_info_set { 17633 priv_info_t info; 17634 priv_chunk_t set[1]; 17635 } priv_info_set_t; 17636 17637 /* 17638 * names[1] is a place holder which can contain multiple NUL terminated, 17639 * non-empty strings. 17640 */ 17641 17642 typedef struct priv_info_names { 17643 priv_info_t info; 17644 int cnt; /* number of strings */ 17645 char names[1]; /* "string1\0string2\0 ..stringN\0" */ 17646 } priv_info_names_t; 17647 17648 /* 17649 * Privilege information types. 17650 */ 17651 17652 17653 17654 17655 17656 /* 17657 * Special "privileges" used to indicate special conditions in privilege 17658 * debugging/tracing code. 17659 */ 17660 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 17661 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1 17662 /* 17663 * CDDL HEADER START 17664 * 17665 * The contents of this file are subject to the terms of the 17666 * Common Development and Distribution License (the "License"). 17667 * You may not use this file except in compliance with the License. 17668 * 17669 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17670 * or http://www.opensolaris.org/os/licensing. 17671 * See the License for the specific language governing permissions 17672 * and limitations under the License. 17673 * 17674 * When distributing Covered Code, include this CDDL HEADER in each 17675 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17676 * If applicable, add the following below this CDDL HEADER, with the 17677 * fields enclosed by brackets "[]" replaced with your own identifying 17678 * information: Portions Copyright [yyyy] [name of copyright owner] 17679 * 17680 * CDDL HEADER END 17681 */ 17682 /* 17683 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17684 * Use is subject to license terms. 17685 */ 17686 17687 17688 17689 17690 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 17691 /* 17692 * CDDL HEADER START 17693 * 17694 * The contents of this file are subject to the terms of the 17695 * Common Development and Distribution License (the "License"). 17696 * You may not use this file except in compliance with the License. 17697 * 17698 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17699 * or http://www.opensolaris.org/os/licensing. 17700 * See the License for the specific language governing permissions 17701 * and limitations under the License. 17702 * 17703 * When distributing Covered Code, include this CDDL HEADER in each 17704 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17705 * If applicable, add the following below this CDDL HEADER, with the 17706 * fields enclosed by brackets "[]" replaced with your own identifying 17707 * information: Portions Copyright [yyyy] [name of copyright owner] 17708 * 17709 * CDDL HEADER END 17710 */ 17711 /* 17712 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 17713 * Use is subject to license terms. 17714 * Copyright 2015 Nexenta Systems, Inc. 17715 */ 17716 17717 17718 17719 17720 #pragma ident "%Z%%M% %I% %E% SMI" 17721 17722 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 17723 /* 17724 * CDDL HEADER START 17725 * 17726 * The contents of this file are subject to the terms of the 17727 * Common Development and Distribution License, Version 1.0 only 17728 * (the "License"). You may not use this file except in compliance 17729 * with the License. 17730 * 17731 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17732 * or http://www.opensolaris.org/os/licensing. 17733 * See the License for the specific language governing permissions 17734 * and limitations under the License. 17735 * 17736 * When distributing Covered Code, include this CDDL HEADER in each 17737 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17738 * If applicable, add the following below this CDDL HEADER, with the 17739 * fields enclosed by brackets "[]" replaced with your own identifying 17740 * information: Portions Copyright [yyyy] [name of copyright owner] 17741 * 17742 * CDDL HEADER END 17743 */ 17744 /* 17745 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17746 * 17747 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17748 * Use is subject to license terms. 17749 */ 17750 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2 17751 17752 17753 17754 17755 17756 /* 17757 * Interoperability types for programs. Used for: 17758 * 17759 * Crossing between 32-bit and 64-bit domains. 17760 * 17761 * On disk data formats such as filesystem meta data 17762 * and disk label. 17763 * 17764 * Note: Applications should never include this 17765 * header file. 17766 */ 17767 typedef uint32_t caddr32_t; 17768 typedef int32_t daddr32_t; 17769 typedef int32_t off32_t; 17770 typedef uint32_t ino32_t; 17771 typedef int32_t blkcnt32_t; 17772 typedef uint32_t fsblkcnt32_t; 17773 typedef uint32_t fsfilcnt32_t; 17774 typedef int32_t id32_t; 17775 typedef uint32_t major32_t; 17776 typedef uint32_t minor32_t; 17777 typedef int32_t key32_t; 17778 typedef uint32_t mode32_t; 17779 typedef uint32_t uid32_t; 17780 typedef uint32_t gid32_t; 17781 typedef uint32_t nlink32_t; 17782 typedef uint32_t dev32_t; 17783 typedef int32_t pid32_t; 17784 typedef uint32_t size32_t; 17785 typedef int32_t ssize32_t; 17786 typedef int32_t time32_t; 17787 typedef int32_t clock32_t; 17788 typedef uint32_t uintptr32_t; 17789 typedef int32_t intptr32_t; 17790 17791 struct timeval32 { 17792 time32_t tv_sec; /* seconds */ 17793 int32_t tv_usec; /* and microseconds */ 17794 }; 17795 17796 typedef struct timespec32 { 17797 time32_t tv_sec; /* seconds */ 17798 int32_t tv_nsec; /* and nanoseconds */ 17799 } timespec32_t; 17800 17801 typedef struct timespec32 timestruc32_t; 17802 17803 typedef struct itimerspec32 { 17804 struct timespec32 it_interval; 17805 struct timespec32 it_value; 17806 } itimerspec32_t; 17807 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 17808 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 17809 /* 17810 * CDDL HEADER START 17811 * 17812 * The contents of this file are subject to the terms of the 17813 * Common Development and Distribution License (the "License"). 17814 * You may not use this file except in compliance with the License. 17815 * 17816 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17817 * or http://www.opensolaris.org/os/licensing. 17818 * See the License for the specific language governing permissions 17819 * and limitations under the License. 17820 * 17821 * When distributing Covered Code, include this CDDL HEADER in each 17822 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17823 * If applicable, add the following below this CDDL HEADER, with the 17824 * fields enclosed by brackets "[]" replaced with your own identifying 17825 * information: Portions Copyright [yyyy] [name of copyright owner] 17826 * 17827 * CDDL HEADER END 17828 */ 17829 /* 17830 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17831 * Use is subject to license terms. 17832 */ 17833 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 17834 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 17835 /* 17836 * CDDL HEADER START 17837 * 17838 * The contents of this file are subject to the terms of the 17839 * Common Development and Distribution License (the "License"). 17840 * You may not use this file except in compliance with the License. 17841 * 17842 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17843 * or http://www.opensolaris.org/os/licensing. 17844 * See the License for the specific language governing permissions 17845 * and limitations under the License. 17846 * 17847 * When distributing Covered Code, include this CDDL HEADER in each 17848 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17849 * If applicable, add the following below this CDDL HEADER, with the 17850 * fields enclosed by brackets "[]" replaced with your own identifying 17851 * information: Portions Copyright [yyyy] [name of copyright owner] 17852 * 17853 * CDDL HEADER END 17854 */ 17855 /* 17856 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17857 * 17858 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 17859 * Use is subject to license terms. 17860 */ 17861 17862 17863 17864 17865 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 17866 /* 17867 * CDDL HEADER START 17868 * 17869 * The contents of this file are subject to the terms of the 17870 * Common Development and Distribution License (the "License"). 17871 * You may not use this file except in compliance with the License. 17872 * 17873 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17874 * or http://www.opensolaris.org/os/licensing. 17875 * See the License for the specific language governing permissions 17876 * and limitations under the License. 17877 * 17878 * When distributing Covered Code, include this CDDL HEADER in each 17879 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17880 * If applicable, add the following below this CDDL HEADER, with the 17881 * fields enclosed by brackets "[]" replaced with your own identifying 17882 * information: Portions Copyright [yyyy] [name of copyright owner] 17883 * 17884 * CDDL HEADER END 17885 */ 17886 /* 17887 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17888 * 17889 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 17890 */ 17891 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2 17892 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 17893 /* 17894 * library functions prototype. 17895 */ 17896 17897 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *); 17898 extern int getppriv(priv_ptype_t, priv_set_t *); 17899 extern int setpflags(uint_t, uint_t); 17900 extern uint_t getpflags(uint_t); 17901 extern const priv_impl_info_t *getprivimplinfo(void); 17902 17903 extern int priv_set(priv_op_t, priv_ptype_t, ...); 17904 extern boolean_t priv_ineffect(const char *); 17905 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **); 17906 extern char *priv_set_to_str(const priv_set_t *, char, int); 17907 17908 extern int priv_getbyname(const char *); 17909 extern const char *priv_getbynum(int); 17910 extern int priv_getsetbyname(const char *); 17911 extern const char *priv_getsetbynum(int); 17912 extern char *priv_gettext(const char *); 17913 17914 extern priv_set_t *priv_allocset(void); 17915 extern void priv_freeset(priv_set_t *); 17916 17917 extern void priv_emptyset(priv_set_t *); 17918 extern void priv_basicset(priv_set_t *); 17919 extern void priv_fillset(priv_set_t *); 17920 extern boolean_t priv_isemptyset(const priv_set_t *); 17921 extern boolean_t priv_isfullset(const priv_set_t *); 17922 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *); 17923 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *); 17924 extern void priv_intersect(const priv_set_t *, priv_set_t *); 17925 extern void priv_union(const priv_set_t *, priv_set_t *); 17926 extern void priv_inverse(priv_set_t *); 17927 extern int priv_addset(priv_set_t *, const char *); 17928 extern void priv_copyset(const priv_set_t *, priv_set_t *); 17929 extern int priv_delset(priv_set_t *, const char *); 17930 extern boolean_t priv_ismember(const priv_set_t *, const char *); 17931 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 17932 17933 17934 17935 17936 17937 /* Procedural Interface Structure Definitions */ 17938 17939 struct label_info { /* structure returned by label_info */ 17940 short ilabel_len; /* max Information Label length */ 17941 short slabel_len; /* max Sensitivity Label length */ 17942 short clabel_len; /* max CMW Label length */ 17943 short clear_len; /* max Clearance Label length */ 17944 short vers_len; /* version string length */ 17945 short header_len; /* max len of banner page header */ 17946 short protect_as_len; /* max len of banner page protect as */ 17947 short caveats_len; /* max len of banner page caveats */ 17948 short channels_len; /* max len of banner page channels */ 17949 }; 17950 17951 typedef struct label_set_identifier { /* valid label set identifier */ 17952 int type; /* type of the set */ 17953 char *name; /* name of the set if needed */ 17954 } set_id; 17955 17956 struct name_fields { /* names for label builder fields */ 17957 char *class_name; /* Classifications field name */ 17958 char *comps_name; /* Compartments field name */ 17959 char *marks_name; /* Markings field name */ 17960 }; 17961 17962 /* Label Set Identifier Types */ 17963 17964 /* 17965 * The accreditation ranges as specified in the label encodings file. 17966 * The name parameter is ignored. 17967 * 17968 * System Accreditation Range is all valid labels plus Admin High and Low. 17969 * 17970 * User Accreditation Range is valid user labels as defined in the 17971 * ACCREDITATION RANGE: section of the label encodings file. 17972 */ 17973 17974 17975 17976 17977 17978 /* System Call Interface Definitions */ 17979 17980 extern int getlabel(const char *, m_label_t *); 17981 extern int fgetlabel(int, m_label_t *); 17982 17983 extern int getplabel(m_label_t *); 17984 extern int setflabel(const char *, m_label_t *); 17985 extern char *getpathbylabel(const char *, char *, size_t, 17986 const m_label_t *sl); 17987 extern m_label_t *getzonelabelbyid(zoneid_t); 17988 extern m_label_t *getzonelabelbyname(const char *); 17989 extern zoneid_t getzoneidbylabel(const m_label_t *); 17990 extern char *getzonenamebylabel(const m_label_t *); 17991 extern char *getzonerootbyid(zoneid_t); 17992 extern char *getzonerootbyname(const char *); 17993 extern char *getzonerootbylabel(const m_label_t *); 17994 extern m_label_t *getlabelbypath(const char *); 17995 17996 17997 /* Flag word values */ 17998 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 17999 /* implies NEW_LABEL */ 18000 18001 18002 18003 18004 /* Procedure Interface Definitions available to user */ 18005 18006 /* APIs shared with the kernel are in <sys/tsol/label.h */ 18007 18008 extern m_label_t *blabel_alloc(void); 18009 extern void blabel_free(m_label_t *); 18010 extern size32_t blabel_size(void); 18011 extern char *bsltoh(const m_label_t *); 18012 extern char *bcleartoh(const m_label_t *); 18013 18014 extern char *bsltoh_r(const m_label_t *, char *); 18015 extern char *bcleartoh_r(const m_label_t *, char *); 18016 extern char *h_alloc(uint8_t); 18017 extern void h_free(char *); 18018 18019 extern int htobsl(const char *, m_label_t *); 18020 extern int htobclear(const char *, m_label_t *); 18021 18022 extern m_range_t *getuserrange(const char *); 18023 extern m_range_t *getdevicerange(const char *); 18024 18025 extern int set_effective_priv(priv_op_t, int, ...); 18026 extern int set_inheritable_priv(priv_op_t, int, ...); 18027 extern int set_permitted_priv(priv_op_t, int, ...); 18028 extern int is_system_labeled(void); 18029 18030 /* Procedures needed for multi-level printing */ 18031 18032 extern int tsol_check_admin_auth(uid_t uid); 18033 18034 /* APIs implemented via labeld */ 18035 18036 extern int blinset(const m_label_t *, const set_id *); 18037 extern int labelinfo(struct label_info *); 18038 extern ssize_t labelvers(char **, size_t); 18039 extern char *bltocolor(const m_label_t *); 18040 extern char *bltocolor_r(const m_label_t *, size_t, char *); 18041 18042 extern ssize_t bsltos(const m_label_t *, char **, size_t, int); 18043 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int); 18044 18045 18046 extern char *sbsltos(const m_label_t *, size_t); 18047 extern char *sbcleartos(const m_label_t *, size_t); 18048 18049 18050 extern int stobsl(const char *, m_label_t *, int, int *); 18051 extern int stobclear(const char *, m_label_t *, int, int *); 18052 extern int bslvalid(const m_label_t *); 18053 extern int bclearvalid(const m_label_t *); 18054 18055 /* DIA label conversion and parsing */ 18056 18057 /* Conversion types */ 18058 18059 typedef enum _m_label_str { 18060 M_LABEL = 1, /* process or user clearance */ 18061 M_INTERNAL = 2, /* internal form for use in public databases */ 18062 M_COLOR = 3, /* process label color */ 18063 PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */ 18064 PRINTER_LABEL = 5, /* DIA banner page label */ 18065 PRINTER_CAVEATS = 6, /* DIA banner page caveats */ 18066 PRINTER_CHANNELS = 7 /* DIA banner page handling channels */ 18067 } m_label_str_t; 18068 18069 /* Flags for conversion, not all flags apply to all types */ 18070 18071 18072 18073 18074 extern int label_to_str(const m_label_t *, char **, const m_label_str_t, 18075 uint_t); 18076 extern int l_to_str_internal(const m_label_t *, char **); 18077 18078 /* Parsing types */ 18079 typedef enum _m_label_type { 18080 MAC_LABEL = 1, /* process or object label */ 18081 USER_CLEAR = 2 /* user's clearance (LUB) */ 18082 } m_label_type_t; 18083 18084 /* Flags for parsing */ 18085 18086 18087 18088 18089 18090 18091 /* EINVAL sub codes */ 18092 18093 18094 18095 /* bad requested label type, bad previous label type */ 18096 18097 18098 extern int str_to_label(const char *, m_label_t **, const m_label_type_t, 18099 uint_t, int *); 18100 extern int hexstr_to_label(const char *, m_label_t *); 18101 18102 extern m_label_t *m_label_alloc(const m_label_type_t); 18103 18104 extern int m_label_dup(m_label_t **, const m_label_t *); 18105 18106 extern void m_label_free(m_label_t *); 18107 18108 /* Contract Private interfaces with the label builder GUIs */ 18109 18110 extern int bslcvtfull(const m_label_t *, const m_range_t *, int, 18111 char **, char **[], char **[], char *[], int *, int *); 18112 extern int bslcvt(const m_label_t *, int, char **, char *[]); 18113 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int, 18114 char **, char **[], char **[], char *[], int *, int *); 18115 extern int bclearcvt(const m_label_t *, int, char **, char *[]); 18116 18117 extern int labelfields(struct name_fields *); 18118 extern int userdefs(m_label_t *, m_label_t *); 18119 extern int zonecopy(m_label_t *, char *, char *, char *, int); 18120 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 18121 18122 18123 18124 18125 18126 /* 18127 * Functions for mapping between id and name for active zones. 18128 */ 18129 extern zoneid_t getzoneid(void); 18130 extern zoneid_t getzoneidbyname(const char *); 18131 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t); 18132 18133 /* 18134 * NOTE 18135 * 18136 * The remaining contents of this file are private to the implementation 18137 * of Solaris and are subject to change at any time without notice, 18138 * Applications using these interfaces may fail to run on future releases. 18139 */ 18140 18141 extern int zonept(int, zoneid_t); 18142 extern int zone_get_id(const char *, zoneid_t *); 18143 18144 /* System call API */ 18145 extern zoneid_t zone_create(const char *, const char *, 18146 const struct priv_set *, const char *, size_t, const char *, size_t, int *, 18147 int, int, const bslabel_t *, int); 18148 extern int zone_boot(zoneid_t); 18149 extern int zone_destroy(zoneid_t); 18150 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t); 18151 extern int zone_setattr(zoneid_t, int, void *, size_t); 18152 extern int zone_enter(zoneid_t); 18153 extern int zone_list(zoneid_t *, uint_t *); 18154 extern int zone_shutdown(zoneid_t); 18155 extern int zone_version(int *); 18156 extern int zone_add_datalink(zoneid_t, datalink_id_t); 18157 extern int zone_remove_datalink(zoneid_t, datalink_id_t); 18158 extern int zone_check_datalink(zoneid_t *, datalink_id_t); 18159 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *); 18160 # 46 "../common/instzones_lib.h" 2 18161 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 18162 /* 18163 * CDDL HEADER START 18164 * 18165 * The contents of this file are subject to the terms of the 18166 * Common Development and Distribution License (the "License"). 18167 * You may not use this file except in compliance with the License. 18168 * 18169 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18170 * or http://www.opensolaris.org/os/licensing. 18171 * See the License for the specific language governing permissions 18172 * and limitations under the License. 18173 * 18174 * When distributing Covered Code, include this CDDL HEADER in each 18175 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18176 * If applicable, add the following below this CDDL HEADER, with the 18177 * fields enclosed by brackets "[]" replaced with your own identifying 18178 * information: Portions Copyright [yyyy] [name of copyright owner] 18179 * 18180 * CDDL HEADER END 18181 */ 18182 18183 /* 18184 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 18185 */ 18186 18187 18188 18189 18190 /* 18191 * Zone configuration header file. 18192 */ 18193 18194 18195 18196 18197 18198 /* sys/socket.h is required by net/if.h, which has a constant needed here */ 18199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 18200 /* 18201 * CDDL HEADER START 18202 * 18203 * The contents of this file are subject to the terms of the 18204 * Common Development and Distribution License (the "License"). 18205 * You may not use this file except in compliance with the License. 18206 * 18207 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18208 * or http://www.opensolaris.org/os/licensing. 18209 * See the License for the specific language governing permissions 18210 * and limitations under the License. 18211 * 18212 * When distributing Covered Code, include this CDDL HEADER in each 18213 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18214 * If applicable, add the following below this CDDL HEADER, with the 18215 * fields enclosed by brackets "[]" replaced with your own identifying 18216 * information: Portions Copyright [yyyy] [name of copyright owner] 18217 * 18218 * CDDL HEADER END 18219 */ 18220 18221 /* 18222 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 18223 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 18224 */ 18225 18226 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 18227 /* All Rights Reserved */ 18228 18229 /* 18230 * University Copyright- Copyright (c) 1982, 1986, 1988 18231 * The Regents of the University of California 18232 * All Rights Reserved 18233 * 18234 * University Acknowledgment- Portions of this document are derived from 18235 * software developed by the University of California, Berkeley, and its 18236 * contributors. 18237 */ 18238 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18239 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1 18240 /* 18241 * CDDL HEADER START 18242 * 18243 * The contents of this file are subject to the terms of the 18244 * Common Development and Distribution License, Version 1.0 only 18245 * (the "License"). You may not use this file except in compliance 18246 * with the License. 18247 * 18248 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18249 * or http://www.opensolaris.org/os/licensing. 18250 * See the License for the specific language governing permissions 18251 * and limitations under the License. 18252 * 18253 * When distributing Covered Code, include this CDDL HEADER in each 18254 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18255 * If applicable, add the following below this CDDL HEADER, with the 18256 * fields enclosed by brackets "[]" replaced with your own identifying 18257 * information: Portions Copyright [yyyy] [name of copyright owner] 18258 * 18259 * CDDL HEADER END 18260 */ 18261 /* 18262 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18263 */ 18264 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18265 /* All Rights Reserved */ 18266 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 18267 /* 18268 * Opcodes for the sysfs() system call. 18269 */ 18270 18271 18272 18273 18274 18275 int sysfs(int, ...); 18276 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18277 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1 18278 /* 18279 * CDDL HEADER START 18280 * 18281 * The contents of this file are subject to the terms of the 18282 * Common Development and Distribution License, Version 1.0 only 18283 * (the "License"). You may not use this file except in compliance 18284 * with the License. 18285 * 18286 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18287 * or http://www.opensolaris.org/os/licensing. 18288 * See the License for the specific language governing permissions 18289 * and limitations under the License. 18290 * 18291 * When distributing Covered Code, include this CDDL HEADER in each 18292 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18293 * If applicable, add the following below this CDDL HEADER, with the 18294 * fields enclosed by brackets "[]" replaced with your own identifying 18295 * information: Portions Copyright [yyyy] [name of copyright owner] 18296 * 18297 * CDDL HEADER END 18298 */ 18299 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18300 /* All Rights Reserved */ 18301 18302 18303 /* 18304 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18305 * 18306 * Copyright (c) 1996, 1999 by Sun Microsystems, Inc. 18307 * All rights reserved. 18308 */ 18309 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 18310 /* 18311 * Flag bits passed to mount(2). 18312 */ 18313 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 18314 /* 18315 * Additional flag bits that domount() is prepared to interpret, but that 18316 * can't be passed through mount(2). 18317 */ 18318 18319 18320 18321 /* 18322 * Mask to sift out flag bits allowable from mount(2). 18323 */ 18324 18325 18326 18327 18328 /* 18329 * Mask to sift out flag bits allowable from umount2(2). 18330 */ 18331 18332 18333 18334 /* 18335 * Maximum option string length accepted or returned by mount(2). 18336 */ 18337 18338 18339 18340 int mount(const char *, const char *, int, ...); 18341 int umount(const char *); 18342 int umount2(const char *, int); 18343 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18344 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 18345 /* 18346 * CDDL HEADER START 18347 * 18348 * The contents of this file are subject to the terms of the 18349 * Common Development and Distribution License (the "License"). 18350 * You may not use this file except in compliance with the License. 18351 * 18352 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18353 * or http://www.opensolaris.org/os/licensing. 18354 * See the License for the specific language governing permissions 18355 * and limitations under the License. 18356 * 18357 * When distributing Covered Code, include this CDDL HEADER in each 18358 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18359 * If applicable, add the following below this CDDL HEADER, with the 18360 * fields enclosed by brackets "[]" replaced with your own identifying 18361 * information: Portions Copyright [yyyy] [name of copyright owner] 18362 * 18363 * CDDL HEADER END 18364 */ 18365 /* 18366 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18367 * 18368 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 18369 * Use is subject to license terms. 18370 */ 18371 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18372 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 18373 /* 18374 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18375 * Use is subject to license terms. 18376 * 18377 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 18378 */ 18379 /* 18380 * Copyright (c) 1982, 1986 Regents of the University of California. 18381 * All rights reserved. 18382 * 18383 * Redistribution and use in source and binary forms are permitted 18384 * provided that this notice is preserved and that due credit is given 18385 * to the University of California at Berkeley. The name of the University 18386 * may not be used to endorse or promote products derived from this 18387 * software without specific prior written permission. This software 18388 * is provided ``as is'' without express or implied warranty. 18389 */ 18390 18391 /* 18392 * Constants and structures defined by the internet system, 18393 * according to following documents 18394 * 18395 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 18396 * http://www.iana.org/assignments/protocol-numbers 18397 * http://www.iana.org/assignments/port-numbers 18398 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 18399 * 18400 */ 18401 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18402 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 18403 /* 18404 * CDDL HEADER START 18405 * 18406 * The contents of this file are subject to the terms of the 18407 * Common Development and Distribution License (the "License"). 18408 * You may not use this file except in compliance with the License. 18409 * 18410 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18411 * or http://www.opensolaris.org/os/licensing. 18412 * See the License for the specific language governing permissions 18413 * and limitations under the License. 18414 * 18415 * When distributing Covered Code, include this CDDL HEADER in each 18416 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18417 * If applicable, add the following below this CDDL HEADER, with the 18418 * fields enclosed by brackets "[]" replaced with your own identifying 18419 * information: Portions Copyright [yyyy] [name of copyright owner] 18420 * 18421 * CDDL HEADER END 18422 */ 18423 /* 18424 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18425 * 18426 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 18427 */ 18428 18429 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 18430 /* All Rights Reserved */ 18431 18432 /* 18433 * University Copyright- Copyright (c) 1982, 1986, 1988 18434 * The Regents of the University of California 18435 * All Rights Reserved 18436 * 18437 * University Acknowledgment- Portions of this document are derived from 18438 * software developed by the University of California, Berkeley, and its 18439 * contributors. 18440 */ 18441 18442 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 18443 18444 18445 18446 18447 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18448 /* 18449 * CDDL HEADER START 18450 * 18451 * The contents of this file are subject to the terms of the 18452 * Common Development and Distribution License (the "License"). 18453 * You may not use this file except in compliance with the License. 18454 * 18455 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18456 * or http://www.opensolaris.org/os/licensing. 18457 * See the License for the specific language governing permissions 18458 * and limitations under the License. 18459 * 18460 * When distributing Covered Code, include this CDDL HEADER in each 18461 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18462 * If applicable, add the following below this CDDL HEADER, with the 18463 * fields enclosed by brackets "[]" replaced with your own identifying 18464 * information: Portions Copyright [yyyy] [name of copyright owner] 18465 * 18466 * CDDL HEADER END 18467 */ 18468 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18469 /* All Rights Reserved */ 18470 18471 18472 /* 18473 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18474 * Use is subject to license terms. 18475 * 18476 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18477 * Copyright 2016 Joyent, Inc. 18478 */ 18479 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18480 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 18481 /* 18482 * CDDL HEADER START 18483 * 18484 * The contents of this file are subject to the terms of the 18485 * Common Development and Distribution License (the "License"). 18486 * You may not use this file except in compliance with the License. 18487 * 18488 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18489 * or http://www.opensolaris.org/os/licensing. 18490 * See the License for the specific language governing permissions 18491 * and limitations under the License. 18492 * 18493 * When distributing Covered Code, include this CDDL HEADER in each 18494 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18495 * If applicable, add the following below this CDDL HEADER, with the 18496 * fields enclosed by brackets "[]" replaced with your own identifying 18497 * information: Portions Copyright [yyyy] [name of copyright owner] 18498 * 18499 * CDDL HEADER END 18500 */ 18501 /* 18502 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18503 * 18504 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 18505 * Use is subject to license terms. 18506 * 18507 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18508 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 18509 */ 18510 18511 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18512 /* All Rights Reserved */ 18513 18514 /* 18515 * University Copyright- Copyright (c) 1982, 1986, 1988 18516 * The Regents of the University of California 18517 * All Rights Reserved 18518 * 18519 * University Acknowledgment- Portions of this document are derived from 18520 * software developed by the University of California, Berkeley, and its 18521 * contributors. 18522 */ 18523 18524 18525 18526 18527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 18528 /* 18529 * CDDL HEADER START 18530 * 18531 * The contents of this file are subject to the terms of the 18532 * Common Development and Distribution License (the "License"). 18533 * You may not use this file except in compliance with the License. 18534 * 18535 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18536 * or http://www.opensolaris.org/os/licensing. 18537 * See the License for the specific language governing permissions 18538 * and limitations under the License. 18539 * 18540 * When distributing Covered Code, include this CDDL HEADER in each 18541 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18542 * If applicable, add the following below this CDDL HEADER, with the 18543 * fields enclosed by brackets "[]" replaced with your own identifying 18544 * information: Portions Copyright [yyyy] [name of copyright owner] 18545 * 18546 * CDDL HEADER END 18547 */ 18548 18549 /* 18550 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 18551 * Copyright 2016 Joyent, Inc. 18552 * 18553 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 18554 * Use is subject to license terms. 18555 */ 18556 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 18557 18558 18559 18560 18561 18562 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18563 /* 18564 * CDDL HEADER START 18565 * 18566 * The contents of this file are subject to the terms of the 18567 * Common Development and Distribution License (the "License"). 18568 * You may not use this file except in compliance with the License. 18569 * 18570 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18571 * or http://www.opensolaris.org/os/licensing. 18572 * See the License for the specific language governing permissions 18573 * and limitations under the License. 18574 * 18575 * When distributing Covered Code, include this CDDL HEADER in each 18576 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18577 * If applicable, add the following below this CDDL HEADER, with the 18578 * fields enclosed by brackets "[]" replaced with your own identifying 18579 * information: Portions Copyright [yyyy] [name of copyright owner] 18580 * 18581 * CDDL HEADER END 18582 */ 18583 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18584 /* All Rights Reserved */ 18585 18586 18587 /* 18588 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18589 * Use is subject to license terms. 18590 * 18591 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18592 * Copyright 2016 Joyent, Inc. 18593 */ 18594 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 18595 18596 /* 18597 * I/O parameter information. A uio structure describes the I/O which 18598 * is to be performed by an operation. Typically the data movement will 18599 * be performed by a routine such as uiomove(), which updates the uio 18600 * structure to reflect what was done. 18601 */ 18602 18603 18604 18605 18606 18607 18608 18609 typedef struct iovec { 18610 caddr_t iov_base; 18611 18612 size_t iov_len; 18613 18614 18615 18616 } iovec_t; 18617 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18618 /* 18619 * Segment flag values. 18620 */ 18621 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; 18622 18623 typedef struct uio { 18624 iovec_t *uio_iov; /* pointer to array of iovecs */ 18625 int uio_iovcnt; /* number of iovecs */ 18626 lloff_t _uio_offset; /* file offset */ 18627 uio_seg_t uio_segflg; /* address space (kernel or user) */ 18628 uint16_t uio_fmode; /* file mode flags */ 18629 uint16_t uio_extflg; /* extended flags */ 18630 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 18631 ssize_t uio_resid; /* residual count */ 18632 } uio_t; 18633 18634 /* 18635 * Extended uio_t uioa_t used for asynchronous uio. 18636 * 18637 * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" 18638 * as there isn't a formal definition of IOV_MAX for the kernel. 18639 */ 18640 18641 18642 typedef struct uioa_page_s { /* locked uio_iov state */ 18643 int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ 18644 void **uioa_ppp; /* page_t or pfn_t arrary */ 18645 caddr_t uioa_base; /* address base */ 18646 size_t uioa_len; /* span length */ 18647 } uioa_page_t; 18648 18649 typedef struct uioa_s { 18650 iovec_t *uio_iov; /* pointer to array of iovecs */ 18651 int uio_iovcnt; /* number of iovecs */ 18652 lloff_t _uio_offset; /* file offset */ 18653 uio_seg_t uio_segflg; /* address space (kernel or user) */ 18654 uint16_t uio_fmode; /* file mode flags */ 18655 uint16_t uio_extflg; /* extended flags */ 18656 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 18657 ssize_t uio_resid; /* residual count */ 18658 /* 18659 * uioa extended members. 18660 */ 18661 uint32_t uioa_state; /* state of asynch i/o */ 18662 ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ 18663 uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ 18664 void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ 18665 void *uioa_hwst[4]; /* opaque hardware state */ 18666 uioa_page_t uioa_locked[16]; /* Per iov locked pages */ 18667 } uioa_t; 18668 18669 /* 18670 * uio extensions 18671 * 18672 * PSARC 2009/478: Copy Reduction Interfaces 18673 */ 18674 typedef enum xuio_type { 18675 UIOTYPE_ASYNCIO, 18676 UIOTYPE_ZEROCOPY 18677 } xuio_type_t; 18678 18679 typedef struct xuio { 18680 uio_t xu_uio; /* Embedded UIO structure */ 18681 18682 /* Extended uio fields */ 18683 enum xuio_type xu_type; /* What kind of uio structure? */ 18684 union { 18685 /* Async I/O Support, intend to replace uioa_t. */ 18686 struct { 18687 uint32_t xu_a_state; /* state of async i/o */ 18688 /* bytes that have been uioamove()ed */ 18689 ssize_t xu_a_mbytes; 18690 uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ 18691 /* pointer into lcur->uioa_ppp[] */ 18692 void **xu_a_lppp; 18693 void *xu_a_hwst[4]; /* opaque hardware state */ 18694 /* Per iov locked pages */ 18695 uioa_page_t xu_a_locked[16]; 18696 } xu_aio; 18697 18698 /* 18699 * Copy Reduction Support -- facilate loaning / returning of 18700 * filesystem cache buffers. 18701 */ 18702 struct { 18703 int xu_zc_rw; /* read or write buffer */ 18704 void *xu_zc_priv; /* fs specific */ 18705 } xu_zc; 18706 } xu_ext; 18707 } xuio_t; 18708 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18709 /* 18710 * I/O direction. 18711 */ 18712 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; 18713 18714 /* 18715 * uio_extflg: extended flags 18716 * 18717 * NOTE: This flag will be used in uiomove to determine if non-temporal 18718 * access, ie, access bypassing caches, should be used. Filesystems that 18719 * don't initialize this field could experience suboptimal performance due to 18720 * the random data the field contains. 18721 * 18722 * NOTE: This flag is also used by uioasync callers to pass an extended 18723 * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all 18724 * consumers of a uioa_t require the uio_extflg to be initialized. 18725 */ 18726 18727 18728 18729 18730 18731 18732 /* 18733 * Global uioasync capability shadow state. 18734 */ 18735 typedef struct uioasync_s { 18736 boolean_t enabled; /* Is uioasync enabled? */ 18737 size_t mincnt; /* Minimum byte count for use of */ 18738 } uioasync_t; 18739 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18740 extern ssize_t readv(int, const struct iovec *, int); 18741 extern ssize_t writev(int, const struct iovec *, int); 18742 18743 /* 18744 * When in the large file compilation environment, 18745 * map preadv/pwritev to their 64 bit offset versions 18746 */ 18747 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18748 /* In the LP64 compilation environment, the APIs are already large file */ 18749 18750 18751 18752 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18753 #pragma redefine_extname preadv64 preadv 18754 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18755 18756 18757 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18758 #pragma redefine_extname pwritev64 pwritev 18759 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 18760 18761 18762 18763 18764 18765 18766 18767 extern ssize_t preadv(int, const struct iovec *, int, off_t); 18768 extern ssize_t pwritev(int, const struct iovec *, int, off_t); 18769 18770 /* 18771 * preadv64 and pwritev64 should be defined when: 18772 * - Using the transitional compilation environment, and not 18773 * the large file compilation environment. 18774 */ 18775 18776 18777 extern ssize_t preadv64(int, const struct iovec *, int, off64_t); 18778 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); 18779 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18780 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 18781 /* 18782 * CDDL HEADER START 18783 * 18784 * The contents of this file are subject to the terms of the 18785 * Common Development and Distribution License (the "License"). 18786 * You may not use this file except in compliance with the License. 18787 * 18788 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18789 * or http://www.opensolaris.org/os/licensing. 18790 * See the License for the specific language governing permissions 18791 * and limitations under the License. 18792 * 18793 * When distributing Covered Code, include this CDDL HEADER in each 18794 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18795 * If applicable, add the following below this CDDL HEADER, with the 18796 * fields enclosed by brackets "[]" replaced with your own identifying 18797 * information: Portions Copyright [yyyy] [name of copyright owner] 18798 * 18799 * CDDL HEADER END 18800 */ 18801 18802 /* 18803 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 18804 * Copyright 2016 Joyent, Inc. 18805 * 18806 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 18807 * Use is subject to license terms. 18808 */ 18809 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 18811 /* 18812 * CDDL HEADER START 18813 * 18814 * The contents of this file are subject to the terms of the 18815 * Common Development and Distribution License (the "License"). 18816 * You may not use this file except in compliance with the License. 18817 * 18818 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18819 * or http://www.opensolaris.org/os/licensing. 18820 * See the License for the specific language governing permissions 18821 * and limitations under the License. 18822 * 18823 * When distributing Covered Code, include this CDDL HEADER in each 18824 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18825 * If applicable, add the following below this CDDL HEADER, with the 18826 * fields enclosed by brackets "[]" replaced with your own identifying 18827 * information: Portions Copyright [yyyy] [name of copyright owner] 18828 * 18829 * CDDL HEADER END 18830 */ 18831 /* 18832 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18833 * Use is subject to license terms. 18834 */ 18835 18836 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 18837 /* All Rights Reserved */ 18838 18839 /* 18840 * Portions of this source code were derived from Berkeley 4.3 BSD 18841 * under license from the Regents of the University of California. 18842 */ 18843 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18844 18845 18846 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 18847 /* 18848 * CDDL HEADER START 18849 * 18850 * The contents of this file are subject to the terms of the 18851 * Common Development and Distribution License, Version 1.0 only 18852 * (the "License"). You may not use this file except in compliance 18853 * with the License. 18854 * 18855 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18856 * or http://www.opensolaris.org/os/licensing. 18857 * See the License for the specific language governing permissions 18858 * and limitations under the License. 18859 * 18860 * When distributing Covered Code, include this CDDL HEADER in each 18861 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18862 * If applicable, add the following below this CDDL HEADER, with the 18863 * fields enclosed by brackets "[]" replaced with your own identifying 18864 * information: Portions Copyright [yyyy] [name of copyright owner] 18865 * 18866 * CDDL HEADER END 18867 */ 18868 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18869 /* All Rights Reserved */ 18870 18871 18872 /* 18873 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18874 * 18875 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18876 * Use is subject to license terms. 18877 */ 18878 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 18879 struct netconfig { 18880 char *nc_netid; /* network identifier */ 18881 unsigned int nc_semantics; /* defined below */ 18882 unsigned int nc_flag; /* defined below */ 18883 char *nc_protofmly; /* protocol family name */ 18884 char *nc_proto; /* protocol name */ 18885 char *nc_device; /* device name for network id */ 18886 unsigned int nc_nlookups; /* # of entries in nc_lookups */ 18887 char **nc_lookups; /* list of lookup directories */ 18888 unsigned int nc_unused[8]; /* borrowed for lockd etc. */ 18889 }; 18890 18891 typedef struct { 18892 struct netconfig **nc_head; 18893 struct netconfig **nc_curr; 18894 } NCONF_HANDLE; 18895 18896 /* 18897 * Values of nc_semantics 18898 */ 18899 18900 18901 18902 18903 18904 /* 18905 * NOT FOR PUBLIC USE, Solaris internal only. 18906 * This value of nc_semantics is strictly for use of Remote Direct 18907 * Memory Access provider interfaces in Solaris only and not for 18908 * general use. Do not use this value for general purpose user or 18909 * kernel programming. If used the behavior is undefined. 18910 * This is a PRIVATE interface to be used by Solaris kRPC only. 18911 */ 18912 18913 18914 /* 18915 * Values of nc_flag 18916 */ 18917 18918 18919 18920 18921 18922 /* 18923 * Values of nc_protofmly 18924 */ 18925 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 18926 /* 18927 * NOT FOR PUBLIC USE, Solaris internal only. 18928 * This value of nc_semantics is strictly for use of Remote Direct 18929 * Memory Access provider interfaces in Solaris only and not for 18930 * general use. Do not use this value for general purpose user or 18931 * kernel programming. If used the behavior is undefined. 18932 * This is a PRIVATE interface to be used by Solaris kRPC only. 18933 */ 18934 18935 18936 /* 18937 * Values for nc_proto 18938 */ 18939 18940 18941 18942 18943 18944 18945 /* 18946 * Values for nc_proto for "rdma" protofmly 18947 */ 18948 18949 18950 18951 18952 extern void *setnetconfig(void); 18953 extern int endnetconfig(void *); 18954 extern struct netconfig *getnetconfig(void *); 18955 extern struct netconfig *getnetconfigent(const char *); 18956 extern void freenetconfigent(struct netconfig *); 18957 extern void *setnetpath(void); 18958 extern int endnetpath(void *); 18959 extern struct netconfig *getnetpath(void *); 18960 extern void nc_perror(const char *); 18961 extern char *nc_sperror(void); 18962 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18963 18964 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 18965 /* 18966 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18967 * Use is subject to license terms. 18968 * 18969 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 18970 */ 18971 /* 18972 * Copyright (c) 1982, 1986 Regents of the University of California. 18973 * All rights reserved. 18974 * 18975 * Redistribution and use in source and binary forms are permitted 18976 * provided that this notice is preserved and that due credit is given 18977 * to the University of California at Berkeley. The name of the University 18978 * may not be used to endorse or promote products derived from this 18979 * software without specific prior written permission. This software 18980 * is provided ``as is'' without express or implied warranty. 18981 */ 18982 18983 /* 18984 * Constants and structures defined by the internet system, 18985 * according to following documents 18986 * 18987 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 18988 * http://www.iana.org/assignments/protocol-numbers 18989 * http://www.iana.org/assignments/port-numbers 18990 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 18991 * 18992 */ 18993 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 18994 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 18995 /* 18996 * Definitions related to sockets: types, address families, options. 18997 */ 18998 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 18999 /* 19000 * Types 19001 */ 19002 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19003 /* 19004 * Flags for socket() and accept4() 19005 */ 19006 19007 19008 19009 19010 /* 19011 * Option flags per-socket. 19012 */ 19013 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19014 /* 19015 * Socket options are passed using a signed integer, but it is also rare 19016 * for more than one to ever be passed at the same time with setsockopt 19017 * and only one at a time can be retrieved with getsockopt. 19018 * 19019 * Since the lower numbers cannot be renumbered for compatibility reasons, 19020 * it would seem that we need to start a new number space (0x40000000 - 19021 * 0x7fffffff) for those that don't need to be stored as a bit flag 19022 * somewhere. This limits the flag options to 30 but that seems to be 19023 * plenty, anyway. 0x40000000 is reserved for future use. 19024 */ 19025 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19026 /* 19027 * N.B.: The following definition is present only for compatibility 19028 * with release 3.0. It will disappear in later releases. 19029 */ 19030 19031 19032 /* 19033 * Additional options, not kept in so_options. 19034 */ 19035 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19036 /* "Socket"-level control message types: */ 19037 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19038 /* 19039 * Socket filter options 19040 */ 19041 19042 19043 19044 19045 19046 /* 19047 * Structure returned by FIL_LIST 19048 */ 19049 struct fil_info { 19050 int fi_flags; /* see below (FILF_*) */ 19051 int fi_pos; /* position (0 is bottom) */ 19052 char fi_name[32]; /* filter name */ 19053 }; 19054 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19055 /* 19056 * Structure used for manipulating linger option. 19057 */ 19058 struct linger { 19059 int l_onoff; /* option on/off */ 19060 int l_linger; /* linger time */ 19061 }; 19062 19063 /* 19064 * Levels for (get/set)sockopt() that don't apply to a specific protocol. 19065 */ 19066 19067 19068 19069 19070 19071 19072 19073 /* 19074 * Address families. 19075 * 19076 * Some of these constant names are copied for the DTrace IP provider in 19077 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 19078 * in sync. 19079 */ 19080 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19081 /* 19082 * Protocol families, same as address families for now. 19083 */ 19084 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19085 /* 19086 * Maximum queue length specifiable by listen. 19087 */ 19088 19089 19090 /* 19091 * Message header for recvmsg and sendmsg calls. 19092 */ 19093 struct msghdr { 19094 void *msg_name; /* optional address */ 19095 socklen_t msg_namelen; /* size of address */ 19096 struct iovec *msg_iov; /* scatter/gather array */ 19097 int msg_iovlen; /* # elements in msg_iov */ 19098 19099 19100 19101 19102 19103 19104 caddr_t msg_accrights; /* access rights sent/received */ 19105 int msg_accrightslen; 19106 19107 }; 19108 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19109 /* Added for XPGv2 compliance */ 19110 19111 19112 19113 19114 19115 /* with left over data */ 19116 /* End of XPGv2 compliance */ 19117 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19118 /* Added for XPGv2 compliance */ 19119 19120 19121 19122 19123 struct cmsghdr { 19124 socklen_t cmsg_len; /* data byte count, including hdr */ 19125 int cmsg_level; /* originating protocol */ 19126 int cmsg_type; /* protocol-specific type */ 19127 }; 19128 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 19129 extern int accept(int, struct sockaddr *, Psocklen_t); 19130 extern int accept4(int, struct sockaddr *, Psocklen_t, int); 19131 extern int bind(int, const struct sockaddr *, socklen_t); 19132 extern int connect(int, const struct sockaddr *, socklen_t); 19133 extern int getpeername(int, struct sockaddr *, Psocklen_t); 19134 extern int getsockname(int, struct sockaddr *, Psocklen_t); 19135 extern int getsockopt(int, int, int, void *, Psocklen_t); 19136 extern int listen(int, int); /* XXX - fixme??? where do I go */ 19137 extern int socketpair(int, int, int, int *); 19138 extern ssize_t recv(int, void *, size_t, int); 19139 extern ssize_t recvfrom(int, void *, size_t, int, 19140 struct sockaddr *, Psocklen_t); 19141 extern ssize_t recvmsg(int, struct msghdr *, int); 19142 extern ssize_t send(int, const void *, size_t, int); 19143 extern ssize_t sendmsg(int, const struct msghdr *, int); 19144 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, 19145 socklen_t); 19146 extern int setsockopt(int, int, int, const void *, socklen_t); 19147 extern int shutdown(int, int); 19148 extern int socket(int, int, int); 19149 19150 19151 extern int sockatmark(int); 19152 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1 19154 /* 19155 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 19156 */ 19157 19158 /* 19159 * Copyright (c) 1982, 1986 Regents of the University of California. 19160 * All rights reserved. The Berkeley software License Agreement 19161 * specifies the terms and conditions for redistribution. 19162 */ 19163 19164 19165 19166 19167 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86 */ 19168 19169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 19170 /* 19171 * CDDL HEADER START 19172 * 19173 * The contents of this file are subject to the terms of the 19174 * Common Development and Distribution License (the "License"). 19175 * You may not use this file except in compliance with the License. 19176 * 19177 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19178 * or http://www.opensolaris.org/os/licensing. 19179 * See the License for the specific language governing permissions 19180 * and limitations under the License. 19181 * 19182 * When distributing Covered Code, include this CDDL HEADER in each 19183 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19184 * If applicable, add the following below this CDDL HEADER, with the 19185 * fields enclosed by brackets "[]" replaced with your own identifying 19186 * information: Portions Copyright [yyyy] [name of copyright owner] 19187 * 19188 * CDDL HEADER END 19189 */ 19190 19191 /* 19192 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 19193 * Copyright 2016 Joyent, Inc. 19194 * 19195 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19196 * Use is subject to license terms. 19197 */ 19198 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 19199 19200 19201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 19202 /* 19203 * CDDL HEADER START 19204 * 19205 * The contents of this file are subject to the terms of the 19206 * Common Development and Distribution License (the "License"). 19207 * You may not use this file except in compliance with the License. 19208 * 19209 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19210 * or http://www.opensolaris.org/os/licensing. 19211 * See the License for the specific language governing permissions 19212 * and limitations under the License. 19213 * 19214 * When distributing Covered Code, include this CDDL HEADER in each 19215 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19216 * If applicable, add the following below this CDDL HEADER, with the 19217 * fields enclosed by brackets "[]" replaced with your own identifying 19218 * information: Portions Copyright [yyyy] [name of copyright owner] 19219 * 19220 * CDDL HEADER END 19221 */ 19222 /* 19223 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19224 * 19225 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19226 */ 19227 19228 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 19229 /* All Rights Reserved */ 19230 19231 /* 19232 * University Copyright- Copyright (c) 1982, 1986, 1988 19233 * The Regents of the University of California 19234 * All Rights Reserved 19235 * 19236 * University Acknowledgment- Portions of this document are derived from 19237 * software developed by the University of California, Berkeley, and its 19238 * contributors. 19239 */ 19240 19241 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 19242 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 19243 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 19244 /* 19245 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19246 * Use is subject to license terms. 19247 * 19248 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 19249 */ 19250 /* 19251 * Copyright (c) 1982, 1986 Regents of the University of California. 19252 * All rights reserved. 19253 * 19254 * Redistribution and use in source and binary forms are permitted 19255 * provided that this notice is preserved and that due credit is given 19256 * to the University of California at Berkeley. The name of the University 19257 * may not be used to endorse or promote products derived from this 19258 * software without specific prior written permission. This software 19259 * is provided ``as is'' without express or implied warranty. 19260 */ 19261 19262 /* 19263 * Constants and structures defined by the internet system, 19264 * according to following documents 19265 * 19266 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 19267 * http://www.iana.org/assignments/protocol-numbers 19268 * http://www.iana.org/assignments/port-numbers 19269 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 19270 * 19271 */ 19272 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 19273 19274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 19275 /* 19276 * CDDL HEADER START 19277 * 19278 * The contents of this file are subject to the terms of the 19279 * Common Development and Distribution License (the "License"). 19280 * You may not use this file except in compliance with the License. 19281 * 19282 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19283 * or http://www.opensolaris.org/os/licensing. 19284 * See the License for the specific language governing permissions 19285 * and limitations under the License. 19286 * 19287 * When distributing Covered Code, include this CDDL HEADER in each 19288 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19289 * If applicable, add the following below this CDDL HEADER, with the 19290 * fields enclosed by brackets "[]" replaced with your own identifying 19291 * information: Portions Copyright [yyyy] [name of copyright owner] 19292 * 19293 * CDDL HEADER END 19294 */ 19295 /* 19296 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 19297 * Use is subject to license terms. 19298 * Copyright 2015 Nexenta Systems, Inc. 19299 */ 19300 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 19301 19302 19303 19304 19305 19306 19307 19308 /* 19309 * Structures defining a network interface, providing a packet 19310 * transport mechanism (ala level 0 of the PUP protocols). 19311 * 19312 * Each interface accepts output datagrams of a specified maximum 19313 * length, and provides higher level routines with input datagrams 19314 * received from its medium. 19315 * 19316 * Output occurs when the routine if_output is called, with three parameters: 19317 * (*ifp->if_output)(ifp, m, dst) 19318 * Here m is the mbuf chain to be sent and dst is the destination address. 19319 * The output routine encapsulates the supplied datagram if necessary, 19320 * and then transmits it on its medium. 19321 * 19322 * On input, each interface unwraps the data received by it, and either 19323 * places it on the input queue of a internetwork datagram routine 19324 * and posts the associated software interrupt, or passes the datagram to a raw 19325 * packet input routine. 19326 * 19327 * Routines exist for locating interfaces by their addresses 19328 * or for locating a interface on a certain network, as well as more general 19329 * routing and gateway routines maintaining information used to locate 19330 * interfaces. These routines live in the files if.c and route.c 19331 */ 19332 19333 19334 19335 /* 19336 * Structure defining a queue for a network interface. 19337 * 19338 * (Would like to call this struct ``if'', but C isn't PL/1.) 19339 */ 19340 struct ifnet { 19341 char *if_name; /* name, e.g. ``en'' or ``lo'' */ 19342 short if_unit; /* sub-unit for lower level driver */ 19343 short if_mtu; /* maximum transmission unit */ 19344 short if_flags; /* up/down, broadcast, etc. */ 19345 short if_timer; /* time 'til if_watchdog called */ 19346 ushort_t if_promisc; /* net # of requests for promisc mode */ 19347 int if_metric; /* routing metric (external only) */ 19348 struct ifaddr *if_addrlist; /* linked list of addresses per if */ 19349 struct ifqueue { 19350 struct mbuf *ifq_head; 19351 struct mbuf *ifq_tail; 19352 int ifq_len; 19353 int ifq_maxlen; 19354 int ifq_drops; 19355 } if_snd; /* output queue */ 19356 /* procedure handles */ 19357 int (*if_init)(); /* init routine */ 19358 int (*if_output)(); /* output routine */ 19359 int (*if_ioctl)(); /* ioctl routine */ 19360 int (*if_reset)(); /* bus reset routine */ 19361 int (*if_watchdog)(); /* timer routine */ 19362 /* generic interface statistics */ 19363 int if_ipackets; /* packets received on interface */ 19364 int if_ierrors; /* input errors on interface */ 19365 int if_opackets; /* packets sent on interface */ 19366 int if_oerrors; /* output errors on interface */ 19367 int if_collisions; /* collisions on csma interfaces */ 19368 /* end statistics */ 19369 struct ifnet *if_next; 19370 struct ifnet *if_upper; /* next layer up */ 19371 struct ifnet *if_lower; /* next layer down */ 19372 int (*if_input)(); /* input routine */ 19373 int (*if_ctlin)(); /* control input routine */ 19374 int (*if_ctlout)(); /* control output routine */ 19375 struct map *if_memmap; /* rmap for interface specific memory */ 19376 }; 19377 19378 /* 19379 * NOTE : These flags are not directly used within IP. 19380 * ip_if.h has definitions derived from this which is used within IP. 19381 * If you define a flag here, you need to define one in ip_if.h before 19382 * using the new flag in IP. Don't use these flags directly in IP. 19383 */ 19384 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19385 /* 19386 * The IFF_MULTICAST flag indicates that the network can support the 19387 * transmission and reception of higher-level (e.g., IP) multicast packets. 19388 * It is independent of hardware support for multicasting; for example, 19389 * point-to-point links or pure broadcast networks may well support 19390 * higher-level multicasts. 19391 */ 19392 19393 19394 19395 19396 19397 19398 19399 /* 19400 * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS. 19401 * Should use SIOC[GS]LIFFLAGS which has a larger flags field. 19402 */ 19403 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19404 /* 19405 * The IFF_XRESOLV flag is an evolving interface and is subject 19406 * to change without notice. 19407 */ 19408 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19409 /* flags that cannot be changed by userland on any interface */ 19410 19411 19412 19413 19414 19415 19416 19417 /* flags that cannot be changed by userland on an IPMP interface */ 19418 19419 19420 /* flags that can never be set on an IPMP interface */ 19421 19422 19423 19424 /* 19425 * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1) 19426 * input routines have queues of messages stored on ifqueue structures 19427 * (defined above). Entries are added to and deleted from these structures 19428 * by these macros, which should be called with ipl raised to splimp(). 19429 */ 19430 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19431 /* 19432 * Packets destined for level-1 protocol input routines 19433 * have a pointer to the receiving interface prepended to the data. 19434 * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet. 19435 * IF_ADJ should be used otherwise to adjust for its presence. 19436 */ 19437 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19438 /* 19439 * The ifaddr structure contains information about one address 19440 * of an interface. They are maintained by the different address families, 19441 * are allocated and attached when an address is set, and are linked 19442 * together so all addresses for an interface can be located. 19443 */ 19444 struct ifaddr { 19445 struct sockaddr ifa_addr; /* address of interface */ 19446 union { 19447 struct sockaddr ifu_broadaddr; 19448 struct sockaddr ifu_dstaddr; 19449 } ifa_ifu; 19450 19451 19452 struct ifnet *ifa_ifp; /* back-pointer to interface */ 19453 struct ifaddr *ifa_next; /* next address for interface */ 19454 }; 19455 19456 /* 19457 * For SIOCLIF*ND ioctls. 19458 * 19459 * The lnr_state_* fields use the ND_* neighbor reachability states. 19460 * The 3 different fields are for use with SIOCLIFSETND to cover the cases 19461 * when 19462 * A new entry is created 19463 * The entry already exists and the link-layer address is the same 19464 * The entry already exists and the link-layer address differs 19465 * 19466 * Use ND_UNCHANGED to not change any state. 19467 */ 19468 19469 typedef struct lif_nd_req { 19470 struct sockaddr_storage lnr_addr; 19471 uint8_t lnr_state_create; /* When creating */ 19472 uint8_t lnr_state_same_lla; /* Update same addr */ 19473 uint8_t lnr_state_diff_lla; /* Update w/ diff. */ 19474 int lnr_hdw_len; 19475 int lnr_flags; /* See below */ 19476 /* padding because ia32 "long long"s are only 4-byte aligned. */ 19477 int lnr_pad0; 19478 char lnr_hdw_addr[64]; 19479 } lif_nd_req_t; 19480 19481 /* 19482 * Neighbor reachability states 19483 * Used with SIOCLIF*ND ioctls. 19484 */ 19485 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19486 /* 19487 * lnr_flags value of lif_nd_req. 19488 * Used with SIOCLIF*ND ioctls. 19489 */ 19490 19491 19492 19493 19494 19495 19496 /* 19497 * the NDF_STATIC entry ensures that an NCE will not be deleted, and is 19498 * used by non-ON applications like IPv6 test suites. 19499 */ 19500 19501 19502 /* For SIOC[GS]LIFLNKINFO */ 19503 typedef struct lif_ifinfo_req { 19504 uint8_t lir_maxhops; 19505 uint32_t lir_reachtime; /* Reachable time in msec */ 19506 uint32_t lir_reachretrans; /* Retransmission timer msec */ 19507 uint32_t lir_maxmtu; 19508 } lif_ifinfo_req_t; 19509 19510 19511 19512 /* 19513 * Maximum lengths of interface name and IPMP group name; these are the same 19514 * for historical reasons. Note that the actual maximum length of a name is 19515 * one byte less than these constants since the kernel always sets the final 19516 * byte of lifr_name and lifr_groupname to NUL. 19517 */ 19518 19519 19520 19521 19522 19523 19524 19525 /* 19526 * Interface request structure used for socket 19527 * ioctl's. All interface ioctl's must have parameter 19528 * definitions which begin with ifr_name. The 19529 * remainder may be interface specific. 19530 * Note: This data structure uses 64bit type uint64_t which is not 19531 * a valid type for strict ANSI/ISO C compilation for ILP32. 19532 * Applications with ioctls using this structure that insist on 19533 * building with strict ANSI/ISO C (-Xc) will need to be LP64. 19534 */ 19535 19536 struct lifreq { 19537 char lifr_name[32]; /* if name, e.g. "en0" */ 19538 union { 19539 int lifru_addrlen; /* for subnet/token etc */ 19540 uint_t lifru_ppa; /* SIOCSLIFNAME */ 19541 } lifr_lifru1; 19542 19543 19544 uint_t lifr_type; /* IFT_ETHER, ... */ 19545 union { 19546 struct sockaddr_storage lifru_addr; 19547 struct sockaddr_storage lifru_dstaddr; 19548 struct sockaddr_storage lifru_broadaddr; 19549 struct sockaddr_storage lifru_token; /* With lifr_addrlen */ 19550 struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */ 19551 int lifru_index; /* interface index */ 19552 uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */ 19553 int lifru_metric; 19554 uint_t lifru_mtu; 19555 int lif_muxid[2]; /* mux id's for arp and ip */ 19556 struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */ 19557 struct lif_ifinfo_req lifru_ifinfo_req; 19558 char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */ 19559 char lifru_binding[32]; /* SIOCGLIFBINDING */ 19560 zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */ 19561 uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */ 19562 } lifr_lifru; 19563 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19564 }; 19565 19566 19567 /* 19568 * Argument structure for SIOCT* address testing ioctls. 19569 */ 19570 struct sioc_addrreq { 19571 struct sockaddr_storage sa_addr; /* Address to test */ 19572 int sa_res; /* Result - 0/1 */ 19573 int sa_pad; 19574 }; 19575 19576 /* 19577 * Argument structure used by mrouted to get src-grp pkt counts using 19578 * SIOCGETLSGCNT. See <netinet/ip_mroute.h>. 19579 */ 19580 struct sioc_lsg_req { 19581 struct sockaddr_storage slr_src; 19582 struct sockaddr_storage slr_grp; 19583 uint_t slr_pktcnt; 19584 uint_t slr_bytecnt; 19585 uint_t slr_wrong_if; 19586 uint_t slr_pad; 19587 }; 19588 19589 /* Argument structure for SIOCGLIFDADSTATE ioctl */ 19590 typedef enum { 19591 DAD_IN_PROGRESS = 0x1, 19592 DAD_DONE = 0x2 19593 } glif_dad_state_t; 19594 19595 /* 19596 * OBSOLETE: Replaced by struct lifreq. Supported for compatibility. 19597 * 19598 * Interface request structure used for socket 19599 * ioctl's. All interface ioctl's must have parameter 19600 * definitions which begin with ifr_name. The 19601 * remainder may be interface specific. 19602 */ 19603 struct ifreq { 19604 19605 char ifr_name[16]; /* if name, e.g. "en0" */ 19606 union { 19607 struct sockaddr ifru_addr; 19608 struct sockaddr ifru_dstaddr; 19609 char ifru_oname[16]; /* other if name */ 19610 struct sockaddr ifru_broadaddr; 19611 int ifru_index; /* interface index */ 19612 uint_t ifru_mtu; 19613 short ifru_flags; 19614 int ifru_metric; 19615 char ifru_data[1]; /* interface dependent data */ 19616 char ifru_enaddr[6]; 19617 int if_muxid[2]; /* mux id's for arp and ip */ 19618 19619 /* Struct for flags/ppa */ 19620 struct ifr_ppaflags { 19621 short ifrup_flags; /* Space of ifru_flags. */ 19622 short ifrup_filler; 19623 uint_t ifrup_ppa; 19624 } ifru_ppaflags; 19625 19626 /* Struct for FDDI ioctl's */ 19627 struct ifr_dnld_reqs { 19628 uint32_t v_addr; 19629 uint32_t m_addr; 19630 uint32_t ex_addr; 19631 uint32_t size; 19632 } ifru_dnld_req; 19633 19634 /* Struct for FDDI stats */ 19635 struct ifr_fddi_stats { 19636 uint32_t stat_size; 19637 uint32_t fddi_stats; 19638 } ifru_fddi_stat; 19639 19640 struct ifr_netmapents { 19641 uint32_t map_ent_size, /* size of netmap structure */ 19642 entry_number; /* index into netmap list */ 19643 uint32_t fddi_map_ent; /* pointer to user structure */ 19644 } ifru_netmapent; 19645 19646 /* Field for generic ioctl for fddi */ 19647 19648 struct ifr_fddi_gen_struct { 19649 uint32_t ifru_fddi_gioctl; /* field for gen ioctl */ 19650 uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */ 19651 } ifru_fddi_gstruct; 19652 19653 } ifr_ifru; 19654 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19655 /* For setting ppa */ 19656 19657 19658 /* FDDI specific */ 19659 19660 19661 19662 19663 19664 19665 19666 }; 19667 19668 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */ 19669 struct lifnum { 19670 sa_family_t lifn_family; 19671 int lifn_flags; /* request specific interfaces */ 19672 int lifn_count; /* Result */ 19673 }; 19674 19675 /* 19676 * Structure used in SIOCGLIFCONF request. 19677 * Used to retrieve interface configuration 19678 * for machine (useful for programs which 19679 * must know all networks accessible) for a given address family. 19680 * Using AF_UNSPEC will retrieve all address families. 19681 */ 19682 struct lifconf { 19683 sa_family_t lifc_family; 19684 int lifc_flags; /* request specific interfaces */ 19685 int lifc_len; /* size of associated buffer */ 19686 union { 19687 caddr_t lifcu_buf; 19688 struct lifreq *lifcu_req; 19689 } lifc_lifcu; 19690 19691 19692 }; 19693 19694 /* 19695 * Structure used in SIOCGLIFSRCOF to get the interface 19696 * configuration list for those interfaces that use an address 19697 * hosted on the interface (set in lifs_ifindex), as the source 19698 * address. 19699 */ 19700 struct lifsrcof { 19701 uint_t lifs_ifindex; /* interface of interest */ 19702 size_t lifs_maxlen; /* size of buffer: input */ 19703 size_t lifs_len; /* size of buffer: output */ 19704 union { 19705 caddr_t lifsu_buf; 19706 struct lifreq *lifsu_req; 19707 } lifs_lifsu; 19708 19709 19710 }; 19711 19712 /* Flags */ 19713 19714 19715 /* be used to communicate outside the */ 19716 /* node (exclude interfaces which are */ 19717 /* IFF_NOXMIT, IFF_NOLOCAL, */ 19718 /* IFF_LOOPBACK, IFF_DEPRECATED, or */ 19719 /* not IFF_UP). Has priority over */ 19720 /* LIFC_NOXMIT. */ 19721 19722 19723 /* (must be issued from global zone) */ 19724 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19725 /* 19726 * IPMP group information, for use with SIOCGLIFGROUPINFO. 19727 */ 19728 typedef struct lifgroupinfo { 19729 char gi_grname[32]; /* group name (set by caller) */ 19730 char gi_grifname[32]; /* IPMP meta-interface name */ 19731 char gi_m4ifname[32]; /* v4 mcast interface name */ 19732 char gi_m6ifname[32]; /* v6 mcast interface name */ 19733 char gi_bcifname[32]; /* v4 bcast interface name */ 19734 boolean_t gi_v4; /* group is plumbed for v4 */ 19735 boolean_t gi_v6; /* group is plumbed for v6 */ 19736 uint_t gi_nv4; /* # of underlying v4 if's */ 19737 uint_t gi_nv6; /* # of underlying v6 if's */ 19738 uint_t gi_mactype; /* DLPI mac type of group */ 19739 } lifgroupinfo_t; 19740 19741 /* 19742 * OBSOLETE: Structure used in SIOCGIFCONF request. 19743 * Used to retrieve interface configuration 19744 * for machine (useful for programs which 19745 * must know all networks accessible). 19746 */ 19747 struct ifconf { 19748 int ifc_len; /* size of associated buffer */ 19749 union { 19750 caddr_t ifcu_buf; 19751 struct ifreq *ifcu_req; 19752 } ifc_ifcu; 19753 19754 19755 }; 19756 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 19757 typedef struct if_data { 19758 /* generic interface information */ 19759 uchar_t ifi_type; /* ethernet, tokenring, etc */ 19760 uchar_t ifi_addrlen; /* media address length */ 19761 uchar_t ifi_hdrlen; /* media header length */ 19762 uint_t ifi_mtu; /* maximum transmission unit */ 19763 uint_t ifi_metric; /* routing metric (external only) */ 19764 uint_t ifi_baudrate; /* linespeed */ 19765 /* volatile statistics */ 19766 uint_t ifi_ipackets; /* packets received on interface */ 19767 uint_t ifi_ierrors; /* input errors on interface */ 19768 uint_t ifi_opackets; /* packets sent on interface */ 19769 uint_t ifi_oerrors; /* output errors on interface */ 19770 uint_t ifi_collisions; /* collisions on csma interfaces */ 19771 uint_t ifi_ibytes; /* total number of octets received */ 19772 uint_t ifi_obytes; /* total number of octets sent */ 19773 uint_t ifi_imcasts; /* packets received via multicast */ 19774 uint_t ifi_omcasts; /* packets sent via multicast */ 19775 uint_t ifi_iqdrops; /* dropped on input, this interface */ 19776 uint_t ifi_noproto; /* destined for unsupported protocol */ 19777 19778 struct timeval32 ifi_lastchange; /* last updated */ 19779 19780 19781 19782 } if_data_t; 19783 19784 /* 19785 * Message format for use in obtaining information about interfaces 19786 * from the routing socket 19787 */ 19788 typedef struct if_msghdr { 19789 ushort_t ifm_msglen; /* to skip over non-understood messages */ 19790 uchar_t ifm_version; /* future binary compatibility */ 19791 uchar_t ifm_type; /* message type */ 19792 int ifm_addrs; /* like rtm_addrs */ 19793 int ifm_flags; /* value of if_flags */ 19794 ushort_t ifm_index; /* index for associated ifp */ 19795 struct if_data ifm_data; /* statistics and other data about if */ 19796 } if_msghdr_t; 19797 19798 /* 19799 * Message format for use in obtaining information about interface addresses 19800 * from the routing socket 19801 */ 19802 typedef struct ifa_msghdr { 19803 ushort_t ifam_msglen; /* to skip over non-understood messages */ 19804 uchar_t ifam_version; /* future binary compatibility */ 19805 uchar_t ifam_type; /* message type */ 19806 int ifam_addrs; /* like rtm_addrs */ 19807 int ifam_flags; /* route flags */ 19808 ushort_t ifam_index; /* index for associated ifp */ 19809 int ifam_metric; /* value of ipif_metric */ 19810 } ifa_msghdr_t; 19811 19812 19813 19814 /* 19815 * The if_nameindex structure holds the interface index value about 19816 * a single interface. An array of this structure is used to return 19817 * all interfaces and indexes. 19818 */ 19819 struct if_nameindex { 19820 unsigned if_index; /* positive interface index */ 19821 char *if_name; /* if name, e.g. "en0" */ 19822 }; 19823 19824 /* Interface index identification API definitions */ 19825 extern unsigned if_nametoindex(const char *); 19826 extern char *if_indextoname(unsigned, char *); 19827 extern struct if_nameindex *if_nameindex(void); 19828 extern void if_freenameindex(struct if_nameindex *); 19829 19830 19831 /* 19832 * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if 19833 * struct sockaddr_dl needs to be modified as the interface index is placed 19834 * in this structure by the kernel. 19835 */ 19836 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19837 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 19838 /* 19839 * CDDL HEADER START 19840 * 19841 * The contents of this file are subject to the terms of the 19842 * Common Development and Distribution License (the "License"). 19843 * You may not use this file except in compliance with the License. 19844 * 19845 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19846 * or http://www.opensolaris.org/os/licensing. 19847 * See the License for the specific language governing permissions 19848 * and limitations under the License. 19849 * 19850 * When distributing Covered Code, include this CDDL HEADER in each 19851 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19852 * If applicable, add the following below this CDDL HEADER, with the 19853 * fields enclosed by brackets "[]" replaced with your own identifying 19854 * information: Portions Copyright [yyyy] [name of copyright owner] 19855 * 19856 * CDDL HEADER END 19857 */ 19858 19859 /* 19860 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19861 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19862 */ 19863 19864 /* Copyright (c) 1988 AT&T */ 19865 /* All Rights Reserved */ 19866 19867 /* 19868 * User-visible pieces of the ANSI C standard I/O package. 19869 */ 19870 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 19872 /* 19873 * CDDL HEADER START 19874 * 19875 * The contents of this file are subject to the terms of the 19876 * Common Development and Distribution License, Version 1.0 only 19877 * (the "License"). You may not use this file except in compliance 19878 * with the License. 19879 * 19880 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19881 * or http://www.opensolaris.org/os/licensing. 19882 * See the License for the specific language governing permissions 19883 * and limitations under the License. 19884 * 19885 * When distributing Covered Code, include this CDDL HEADER in each 19886 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19887 * If applicable, add the following below this CDDL HEADER, with the 19888 * fields enclosed by brackets "[]" replaced with your own identifying 19889 * information: Portions Copyright [yyyy] [name of copyright owner] 19890 * 19891 * CDDL HEADER END 19892 */ 19893 /* 19894 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19895 * Use is subject to license terms. 19896 */ 19897 19898 19899 19900 19901 #pragma ident "%Z%%M% %I% %E% SMI" 19902 19903 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 19904 /* 19905 * CDDL HEADER START 19906 * 19907 * The contents of this file are subject to the terms of the 19908 * Common Development and Distribution License (the "License"). 19909 * You may not use this file except in compliance with the License. 19910 * 19911 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19912 * or http://www.opensolaris.org/os/licensing. 19913 * See the License for the specific language governing permissions 19914 * and limitations under the License. 19915 * 19916 * When distributing Covered Code, include this CDDL HEADER in each 19917 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19918 * If applicable, add the following below this CDDL HEADER, with the 19919 * fields enclosed by brackets "[]" replaced with your own identifying 19920 * information: Portions Copyright [yyyy] [name of copyright owner] 19921 * 19922 * CDDL HEADER END 19923 */ 19924 /* 19925 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 19926 */ 19927 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 19928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19929 /* 19930 * CDDL HEADER START 19931 * 19932 * The contents of this file are subject to the terms of the 19933 * Common Development and Distribution License (the "License"). 19934 * You may not use this file except in compliance with the License. 19935 * 19936 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19937 * or http://www.opensolaris.org/os/licensing. 19938 * See the License for the specific language governing permissions 19939 * and limitations under the License. 19940 * 19941 * When distributing Covered Code, include this CDDL HEADER in each 19942 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19943 * If applicable, add the following below this CDDL HEADER, with the 19944 * fields enclosed by brackets "[]" replaced with your own identifying 19945 * information: Portions Copyright [yyyy] [name of copyright owner] 19946 * 19947 * CDDL HEADER END 19948 */ 19949 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19950 /* All Rights Reserved */ 19951 19952 19953 /* 19954 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19955 * Use is subject to license terms. 19956 * 19957 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19958 * Copyright 2016 Joyent, Inc. 19959 */ 19960 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 19961 19962 19963 19964 19965 19966 int rctl_walk(int (*)(const char *, void *), void *); 19967 19968 hrtime_t rctlblk_get_firing_time(rctlblk_t *); 19969 uint_t rctlblk_get_global_action(rctlblk_t *); 19970 uint_t rctlblk_get_global_flags(rctlblk_t *); 19971 uint_t rctlblk_get_local_action(rctlblk_t *, int *); 19972 uint_t rctlblk_get_local_flags(rctlblk_t *); 19973 id_t rctlblk_get_recipient_pid(rctlblk_t *); 19974 rctl_priv_t rctlblk_get_privilege(rctlblk_t *); 19975 rctl_qty_t rctlblk_get_value(rctlblk_t *); 19976 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); 19977 19978 void rctlblk_set_local_action(rctlblk_t *, uint_t, int); 19979 void rctlblk_set_local_flags(rctlblk_t *, uint_t); 19980 void rctlblk_set_recipient_pid(rctlblk_t *, id_t); 19981 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); 19982 void rctlblk_set_value(rctlblk_t *, rctl_qty_t); 19983 19984 size_t rctlblk_size(void); 19985 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 19987 /* 19988 * CDDL HEADER START 19989 * 19990 * The contents of this file are subject to the terms of the 19991 * Common Development and Distribution License (the "License"). 19992 * You may not use this file except in compliance with the License. 19993 * 19994 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19995 * or http://www.opensolaris.org/os/licensing. 19996 * See the License for the specific language governing permissions 19997 * and limitations under the License. 19998 * 19999 * When distributing Covered Code, include this CDDL HEADER in each 20000 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20001 * If applicable, add the following below this CDDL HEADER, with the 20002 * fields enclosed by brackets "[]" replaced with your own identifying 20003 * information: Portions Copyright [yyyy] [name of copyright owner] 20004 * 20005 * CDDL HEADER END 20006 */ 20007 /* 20008 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20009 * Use is subject to license terms. 20010 */ 20011 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20012 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1 20013 /* 20014 * CDDL HEADER START 20015 * 20016 * The contents of this file are subject to the terms of the 20017 * Common Development and Distribution License (the "License"). 20018 * You may not use this file except in compliance with the License. 20019 * 20020 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20021 * or http://www.opensolaris.org/os/licensing. 20022 * See the License for the specific language governing permissions 20023 * and limitations under the License. 20024 * 20025 * When distributing Covered Code, include this CDDL HEADER in each 20026 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20027 * If applicable, add the following below this CDDL HEADER, with the 20028 * fields enclosed by brackets "[]" replaced with your own identifying 20029 * information: Portions Copyright [yyyy] [name of copyright owner] 20030 * 20031 * CDDL HEADER END 20032 */ 20033 20034 /* 20035 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 20036 * Copyright (c) 2011, Joyent, Inc. All rights reserved. 20037 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 20038 */ 20039 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 20040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20041 /* 20042 * CDDL HEADER START 20043 * 20044 * The contents of this file are subject to the terms of the 20045 * Common Development and Distribution License (the "License"). 20046 * You may not use this file except in compliance with the License. 20047 * 20048 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20049 * or http://www.opensolaris.org/os/licensing. 20050 * See the License for the specific language governing permissions 20051 * and limitations under the License. 20052 * 20053 * When distributing Covered Code, include this CDDL HEADER in each 20054 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20055 * If applicable, add the following below this CDDL HEADER, with the 20056 * fields enclosed by brackets "[]" replaced with your own identifying 20057 * information: Portions Copyright [yyyy] [name of copyright owner] 20058 * 20059 * CDDL HEADER END 20060 */ 20061 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20062 /* All Rights Reserved */ 20063 20064 20065 /* 20066 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20067 * Use is subject to license terms. 20068 * 20069 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20070 * Copyright 2016 Joyent, Inc. 20071 */ 20072 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2 20073 20074 typedef struct __brand_handle *brand_handle_t; 20075 20076 typedef struct priv_iter_s { 20077 char *pi_name; 20078 char *pi_set; 20079 char *pi_iptype; 20080 } priv_iter_t; 20081 20082 extern brand_handle_t brand_open(const char *); 20083 extern void brand_close(brand_handle_t); 20084 20085 extern boolean_t brand_allow_exclusive_ip(brand_handle_t); 20086 20087 extern int brand_get_attach(brand_handle_t, const char *, const char *, 20088 char *, size_t); 20089 extern int brand_get_boot(brand_handle_t, const char *, const char *, 20090 char *, size_t); 20091 extern int brand_get_brandname(brand_handle_t, char *, size_t); 20092 extern int brand_get_clone(brand_handle_t, const char *, const char *, 20093 char *, size_t); 20094 extern int brand_get_detach(brand_handle_t, const char *, const char *, 20095 char *, size_t); 20096 extern int brand_get_shutdown(brand_handle_t, const char *, const char *, 20097 char *, size_t); 20098 extern int brand_get_halt(brand_handle_t, const char *, const char *, 20099 char *, size_t); 20100 extern int brand_get_initname(brand_handle_t, char *, size_t); 20101 extern boolean_t brand_restartinit(brand_handle_t); 20102 extern int brand_get_install(brand_handle_t, const char *, const char *, 20103 char *, size_t); 20104 extern int brand_get_installopts(brand_handle_t, char *, size_t); 20105 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t); 20106 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *, 20107 char *, size_t); 20108 extern int brand_get_modname(brand_handle_t, char *, size_t); 20109 extern int brand_get_postattach(brand_handle_t, const char *, const char *, 20110 char *, size_t); 20111 extern int brand_get_postclone(brand_handle_t, const char *, const char *, 20112 char *, size_t); 20113 extern int brand_get_postinstall(brand_handle_t, const char *, const char *, 20114 char *, size_t); 20115 extern int brand_get_postsnap(brand_handle_t, const char *, const char *, 20116 char *, size_t); 20117 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *, 20118 char *, size_t); 20119 extern int brand_get_predetach(brand_handle_t, const char *, const char *, 20120 char *, size_t); 20121 extern int brand_get_presnap(brand_handle_t, const char *, const char *, 20122 char *, size_t); 20123 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *, 20124 char *, size_t); 20125 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *, 20126 char *, size_t); 20127 extern int brand_get_query(brand_handle_t, const char *, const char *, 20128 char *, size_t); 20129 extern int brand_get_uninstall(brand_handle_t, const char *, const char *, 20130 char *, size_t); 20131 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *, 20132 char *, size_t); 20133 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t); 20134 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t); 20135 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *, 20136 char *, size_t); 20137 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *, 20138 size_t); 20139 20140 extern int brand_config_iter_privilege(brand_handle_t, 20141 int (*func)(void *, priv_iter_t *), void *); 20142 20143 extern int brand_platform_iter_devices(brand_handle_t, const char *, 20144 int (*)(void *, const char *, const char *), void *, const char *); 20145 extern int brand_platform_iter_gmounts(brand_handle_t, const char *, 20146 int (*)(void *, const char *, const char *, const char *, const char *), 20147 void *); 20148 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *, 20149 const char *, const char *), void *); 20150 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *, 20151 const char *, const char *, const char *, const char *), void *); 20152 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1 20154 /* 20155 * CDDL HEADER START 20156 * 20157 * The contents of this file are subject to the terms of the 20158 * Common Development and Distribution License, Version 1.0 only 20159 * (the "License"). You may not use this file except in compliance 20160 * with the License. 20161 * 20162 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20163 * or http://www.opensolaris.org/os/licensing. 20164 * See the License for the specific language governing permissions 20165 * and limitations under the License. 20166 * 20167 * When distributing Covered Code, include this CDDL HEADER in each 20168 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20169 * If applicable, add the following below this CDDL HEADER, with the 20170 * fields enclosed by brackets "[]" replaced with your own identifying 20171 * information: Portions Copyright [yyyy] [name of copyright owner] 20172 * 20173 * CDDL HEADER END 20174 */ 20175 /* 20176 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20177 * Use is subject to license terms. 20178 */ 20179 20180 20181 20182 20183 #pragma ident "%Z%%M% %I% %E% SMI" 20184 20185 20186 20187 20188 20189 /* 20190 * The copyright in this file is taken from the original Leach 20191 * & Salz UUID specification, from which this implementation 20192 * is derived. 20193 */ 20194 20195 /* 20196 * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. 20197 * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & 20198 * Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 20199 * Microsoft. To anyone who acknowledges that this file is provided 20200 * "AS IS" without any express or implied warranty: permission to use, 20201 * copy, modify, and distribute this file for any purpose is hereby 20202 * granted without fee, provided that the above copyright notices and 20203 * this notice appears in all source code copies, and that none of the 20204 * names of Open Software Foundation, Inc., Hewlett-Packard Company, 20205 * or Digital Equipment Corporation be used in advertising or 20206 * publicity pertaining to distribution of the software without 20207 * specific, written prior permission. Neither Open Software 20208 * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital 20209 * Equipment Corporation makes any representations about the 20210 * suitability of this software for any purpose. 20211 */ 20212 20213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20214 /* 20215 * CDDL HEADER START 20216 * 20217 * The contents of this file are subject to the terms of the 20218 * Common Development and Distribution License (the "License"). 20219 * You may not use this file except in compliance with the License. 20220 * 20221 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20222 * or http://www.opensolaris.org/os/licensing. 20223 * See the License for the specific language governing permissions 20224 * and limitations under the License. 20225 * 20226 * When distributing Covered Code, include this CDDL HEADER in each 20227 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20228 * If applicable, add the following below this CDDL HEADER, with the 20229 * fields enclosed by brackets "[]" replaced with your own identifying 20230 * information: Portions Copyright [yyyy] [name of copyright owner] 20231 * 20232 * CDDL HEADER END 20233 */ 20234 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20235 /* All Rights Reserved */ 20236 20237 20238 /* 20239 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20240 * Use is subject to license terms. 20241 * 20242 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20243 * Copyright 2016 Joyent, Inc. 20244 */ 20245 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 20246 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 20247 /* 20248 * CDDL HEADER START 20249 * 20250 * The contents of this file are subject to the terms of the 20251 * Common Development and Distribution License (the "License"). 20252 * You may not use this file except in compliance with the License. 20253 * 20254 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20255 * or http://www.opensolaris.org/os/licensing. 20256 * See the License for the specific language governing permissions 20257 * and limitations under the License. 20258 * 20259 * When distributing Covered Code, include this CDDL HEADER in each 20260 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20261 * If applicable, add the following below this CDDL HEADER, with the 20262 * fields enclosed by brackets "[]" replaced with your own identifying 20263 * information: Portions Copyright [yyyy] [name of copyright owner] 20264 * 20265 * CDDL HEADER END 20266 */ 20267 20268 /* 20269 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20270 * Use is subject to license terms. 20271 */ 20272 20273 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 20274 /* All Rights Reserved */ 20275 20276 /* 20277 * University Copyright- Copyright (c) 1982, 1986, 1988 20278 * The Regents of the University of California 20279 * All Rights Reserved 20280 * 20281 * University Acknowledgment- Portions of this document are derived from 20282 * software developed by the University of California, Berkeley, and its 20283 * contributors. 20284 */ 20285 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 20286 20287 typedef struct { 20288 uint8_t nodeID[6]; 20289 } uuid_node_t; 20290 20291 /* 20292 * The uuid type used throughout when referencing uuids themselves 20293 */ 20294 struct uuid { 20295 uint32_t time_low; 20296 uint16_t time_mid; 20297 uint16_t time_hi_and_version; 20298 uint8_t clock_seq_hi_and_reserved; 20299 uint8_t clock_seq_low; 20300 uint8_t node_addr[6]; 20301 }; 20302 20303 20304 20305 20306 20307 typedef uchar_t uuid_t[16]; 20308 20309 /* 20310 * Convert a uuid to/from little-endian format 20311 */ 20312 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20313 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1 20314 /* 20315 * CDDL HEADER START 20316 * 20317 * The contents of this file are subject to the terms of the 20318 * Common Development and Distribution License (the "License"). 20319 * You may not use this file except in compliance with the License. 20320 * 20321 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20322 * or http://www.opensolaris.org/os/licensing. 20323 * See the License for the specific language governing permissions 20324 * and limitations under the License. 20325 * 20326 * When distributing Covered Code, include this CDDL HEADER in each 20327 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20328 * If applicable, add the following below this CDDL HEADER, with the 20329 * fields enclosed by brackets "[]" replaced with your own identifying 20330 * information: Portions Copyright [yyyy] [name of copyright owner] 20331 * 20332 * CDDL HEADER END 20333 */ 20334 /* 20335 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 20336 */ 20337 20338 20339 20340 20341 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20342 /* 20343 * CDDL HEADER START 20344 * 20345 * The contents of this file are subject to the terms of the 20346 * Common Development and Distribution License (the "License"). 20347 * You may not use this file except in compliance with the License. 20348 * 20349 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20350 * or http://www.opensolaris.org/os/licensing. 20351 * See the License for the specific language governing permissions 20352 * and limitations under the License. 20353 * 20354 * When distributing Covered Code, include this CDDL HEADER in each 20355 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20356 * If applicable, add the following below this CDDL HEADER, with the 20357 * fields enclosed by brackets "[]" replaced with your own identifying 20358 * information: Portions Copyright [yyyy] [name of copyright owner] 20359 * 20360 * CDDL HEADER END 20361 */ 20362 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20363 /* All Rights Reserved */ 20364 20365 20366 /* 20367 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20368 * Use is subject to license terms. 20369 * 20370 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20371 * Copyright 2016 Joyent, Inc. 20372 */ 20373 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 20374 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 20375 /* 20376 * CDDL HEADER START 20377 * 20378 * The contents of this file are subject to the terms of the 20379 * Common Development and Distribution License, Version 1.0 only 20380 * (the "License"). You may not use this file except in compliance 20381 * with the License. 20382 * 20383 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20384 * or http://www.opensolaris.org/os/licensing. 20385 * See the License for the specific language governing permissions 20386 * and limitations under the License. 20387 * 20388 * When distributing Covered Code, include this CDDL HEADER in each 20389 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20390 * If applicable, add the following below this CDDL HEADER, with the 20391 * fields enclosed by brackets "[]" replaced with your own identifying 20392 * information: Portions Copyright [yyyy] [name of copyright owner] 20393 * 20394 * CDDL HEADER END 20395 */ 20396 /* Copyright (c) 1988 AT&T */ 20397 /* All Rights Reserved */ 20398 20399 /* 20400 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20401 * 20402 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 20403 * Use is subject to license terms. 20404 */ 20405 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 20406 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 20407 /* 20408 * CDDL HEADER START 20409 * 20410 * The contents of this file are subject to the terms of the 20411 * Common Development and Distribution License (the "License"). 20412 * You may not use this file except in compliance with the License. 20413 * 20414 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20415 * or http://www.opensolaris.org/os/licensing. 20416 * See the License for the specific language governing permissions 20417 * and limitations under the License. 20418 * 20419 * When distributing Covered Code, include this CDDL HEADER in each 20420 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20421 * If applicable, add the following below this CDDL HEADER, with the 20422 * fields enclosed by brackets "[]" replaced with your own identifying 20423 * information: Portions Copyright [yyyy] [name of copyright owner] 20424 * 20425 * CDDL HEADER END 20426 */ 20427 20428 /* 20429 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20430 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 20431 */ 20432 20433 /* Copyright (c) 1988 AT&T */ 20434 /* All Rights Reserved */ 20435 20436 /* 20437 * User-visible pieces of the ANSI C standard I/O package. 20438 */ 20439 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 20440 20441 20442 20443 20444 20445 /* 20446 * Standard flags codes. 20447 */ 20448 20449 20450 /* 20451 * Standard error codes. 20452 */ 20453 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 20454 /* 20455 * Standard program exit codes. 20456 */ 20457 20458 20459 20460 20461 /* 20462 * Exit status profiles. 20463 */ 20464 20465 20466 20467 /* 20468 * Error reporting functions. 20469 */ 20470 uint32_t uu_error(void); 20471 const char *uu_strerror(uint32_t); 20472 20473 /* 20474 * Program notification functions. 20475 */ 20476 extern void uu_alt_exit(int); 20477 extern const char *uu_setpname(char *); 20478 extern const char *uu_getpname(void); 20479 /*PRINTFLIKE1*/ 20480 extern void uu_warn(const char *, ...); 20481 extern void uu_vwarn(const char *, va_list); 20482 /*PRINTFLIKE1*/ 20483 extern void uu_die(const char *, ...) __attribute__((__noreturn__)); 20484 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__)); 20485 /*PRINTFLIKE2*/ 20486 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__)); 20487 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__)); 20488 20489 /* 20490 * Exit status functions (not to be used directly) 20491 */ 20492 extern int *uu_exit_ok(void); 20493 extern int *uu_exit_fatal(void); 20494 extern int *uu_exit_usage(void); 20495 20496 /* 20497 * string->number conversions 20498 */ 20499 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t); 20500 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t); 20501 20502 /* 20503 * Debug print facility functions. 20504 */ 20505 typedef struct uu_dprintf uu_dprintf_t; 20506 20507 typedef enum { 20508 UU_DPRINTF_SILENT, 20509 UU_DPRINTF_FATAL, 20510 UU_DPRINTF_WARNING, 20511 UU_DPRINTF_NOTICE, 20512 UU_DPRINTF_INFO, 20513 UU_DPRINTF_DEBUG 20514 } uu_dprintf_severity_t; 20515 20516 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t, 20517 uint_t); 20518 /*PRINTFLIKE3*/ 20519 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t, 20520 const char *, ...); 20521 extern void uu_dprintf_destroy(uu_dprintf_t *); 20522 extern const char *uu_dprintf_getname(uu_dprintf_t *); 20523 20524 /* 20525 * Identifier test flags and function. 20526 */ 20527 20528 20529 20530 int uu_check_name(const char *, uint_t); 20531 20532 /* 20533 * File creation functions. 20534 */ 20535 extern int uu_open_tmp(const char *dir, uint_t uflags); 20536 20537 /* 20538 * Convenience functions. 20539 */ 20540 20541 20542 /*PRINTFLIKE1*/ 20543 extern char *uu_msprintf(const char *format, ...); 20544 extern void *uu_zalloc(size_t); 20545 extern char *uu_strdup(const char *); 20546 extern void uu_free(void *); 20547 20548 extern boolean_t uu_strcaseeq(const char *a, const char *b); 20549 extern boolean_t uu_streq(const char *a, const char *b); 20550 extern char *uu_strndup(const char *s, size_t n); 20551 extern boolean_t uu_strbw(const char *a, const char *b); 20552 extern void *uu_memdup(const void *buf, size_t sz); 20553 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len); 20554 20555 /* 20556 * Comparison function type definition. 20557 * Developers should be careful in their use of the _private argument. If you 20558 * break interface guarantees, you get undefined behavior. 20559 */ 20560 typedef int uu_compare_fn_t(const void *__left, const void *__right, 20561 void *__private); 20562 20563 /* 20564 * Walk variant flags. 20565 * A data structure need not provide support for all variants and 20566 * combinations. Refer to the appropriate documentation. 20567 */ 20568 20569 20570 20571 20572 20573 20574 /* 20575 * Walk callback function return codes. 20576 */ 20577 20578 20579 20580 20581 /* 20582 * Walk callback function type definition. 20583 */ 20584 typedef int uu_walk_fn_t(void *_elem, void *_private); 20585 20586 /* 20587 * lists: opaque structures 20588 */ 20589 typedef struct uu_list_pool uu_list_pool_t; 20590 typedef struct uu_list uu_list_t; 20591 20592 typedef struct uu_list_node { 20593 uintptr_t uln_opaque[2]; 20594 } uu_list_node_t; 20595 20596 typedef struct uu_list_walk uu_list_walk_t; 20597 20598 typedef uintptr_t uu_list_index_t; 20599 20600 /* 20601 * lists: interface 20602 * 20603 * basic usage: 20604 * typedef struct foo { 20605 * ... 20606 * uu_list_node_t foo_node; 20607 * ... 20608 * } foo_t; 20609 * 20610 * static int 20611 * foo_compare(void *l_arg, void *r_arg, void *private) 20612 * { 20613 * foo_t *l = l_arg; 20614 * foo_t *r = r_arg; 20615 * 20616 * if (... l greater than r ...) 20617 * return (1); 20618 * if (... l less than r ...) 20619 * return (-1); 20620 * return (0); 20621 * } 20622 * 20623 * ... 20624 * // at initialization time 20625 * foo_pool = uu_list_pool_create("foo_pool", 20626 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 20627 * debugging? 0 : UU_AVL_POOL_DEBUG); 20628 * ... 20629 */ 20630 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t, 20631 uu_compare_fn_t *, uint32_t); 20632 20633 20634 void uu_list_pool_destroy(uu_list_pool_t *); 20635 20636 /* 20637 * usage: 20638 * 20639 * foo_t *a; 20640 * a = malloc(sizeof(*a)); 20641 * uu_list_node_init(a, &a->foo_list, pool); 20642 * ... 20643 * uu_list_node_fini(a, &a->foo_list, pool); 20644 * free(a); 20645 */ 20646 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *); 20647 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *); 20648 20649 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t); 20650 20651 20652 20653 void uu_list_destroy(uu_list_t *); /* list must be empty */ 20654 20655 size_t uu_list_numnodes(uu_list_t *); 20656 20657 void *uu_list_first(uu_list_t *); 20658 void *uu_list_last(uu_list_t *); 20659 20660 void *uu_list_next(uu_list_t *, void *); 20661 void *uu_list_prev(uu_list_t *, void *); 20662 20663 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t); 20664 20665 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t); 20666 void *uu_list_walk_next(uu_list_walk_t *); 20667 void uu_list_walk_end(uu_list_walk_t *); 20668 20669 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *); 20670 void uu_list_insert(uu_list_t *, void *, uu_list_index_t); 20671 20672 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t); 20673 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t); 20674 20675 void *uu_list_teardown(uu_list_t *, void **); 20676 20677 void uu_list_remove(uu_list_t *, void *); 20678 20679 /* 20680 * lists: interfaces for non-sorted lists only 20681 */ 20682 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem); 20683 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem); 20684 20685 /* 20686 * avl trees: opaque structures 20687 */ 20688 typedef struct uu_avl_pool uu_avl_pool_t; 20689 typedef struct uu_avl uu_avl_t; 20690 20691 typedef struct uu_avl_node { 20692 20693 uintptr_t uan_opaque[3]; 20694 20695 20696 20697 } uu_avl_node_t; 20698 20699 typedef struct uu_avl_walk uu_avl_walk_t; 20700 20701 typedef uintptr_t uu_avl_index_t; 20702 20703 /* 20704 * avl trees: interface 20705 * 20706 * basic usage: 20707 * typedef struct foo { 20708 * ... 20709 * uu_avl_node_t foo_node; 20710 * ... 20711 * } foo_t; 20712 * 20713 * static int 20714 * foo_compare(void *l_arg, void *r_arg, void *private) 20715 * { 20716 * foo_t *l = l_arg; 20717 * foo_t *r = r_arg; 20718 * 20719 * if (... l greater than r ...) 20720 * return (1); 20721 * if (... l less than r ...) 20722 * return (-1); 20723 * return (0); 20724 * } 20725 * 20726 * ... 20727 * // at initialization time 20728 * foo_pool = uu_avl_pool_create("foo_pool", 20729 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 20730 * debugging? 0 : UU_AVL_POOL_DEBUG); 20731 * ... 20732 */ 20733 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t, 20734 uu_compare_fn_t *, uint32_t); 20735 20736 20737 void uu_avl_pool_destroy(uu_avl_pool_t *); 20738 20739 /* 20740 * usage: 20741 * 20742 * foo_t *a; 20743 * a = malloc(sizeof(*a)); 20744 * uu_avl_node_init(a, &a->foo_avl, pool); 20745 * ... 20746 * uu_avl_node_fini(a, &a->foo_avl, pool); 20747 * free(a); 20748 */ 20749 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *); 20750 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *); 20751 20752 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t); 20753 20754 20755 void uu_avl_destroy(uu_avl_t *); /* list must be empty */ 20756 20757 size_t uu_avl_numnodes(uu_avl_t *); 20758 20759 void *uu_avl_first(uu_avl_t *); 20760 void *uu_avl_last(uu_avl_t *); 20761 20762 void *uu_avl_next(uu_avl_t *, void *); 20763 void *uu_avl_prev(uu_avl_t *, void *); 20764 20765 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t); 20766 20767 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t); 20768 void *uu_avl_walk_next(uu_avl_walk_t *); 20769 void uu_avl_walk_end(uu_avl_walk_t *); 20770 20771 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *); 20772 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t); 20773 20774 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t); 20775 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t); 20776 20777 void *uu_avl_teardown(uu_avl_t *, void **); 20778 20779 void uu_avl_remove(uu_avl_t *, void *); 20780 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1 20782 /* 20783 * CDDL HEADER START 20784 * 20785 * The contents of this file are subject to the terms of the 20786 * Common Development and Distribution License (the "License"). 20787 * You may not use this file except in compliance with the License. 20788 * 20789 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20790 * or http://www.opensolaris.org/os/licensing. 20791 * See the License for the specific language governing permissions 20792 * and limitations under the License. 20793 * 20794 * When distributing Covered Code, include this CDDL HEADER in each 20795 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20796 * If applicable, add the following below this CDDL HEADER, with the 20797 * fields enclosed by brackets "[]" replaced with your own identifying 20798 * information: Portions Copyright [yyyy] [name of copyright owner] 20799 * 20800 * CDDL HEADER END 20801 */ 20802 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20803 /* All Rights Reserved */ 20804 20805 20806 /* 20807 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20808 * 20809 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20810 * Use is subject to license terms. 20811 */ 20812 20813 20814 20815 20816 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20817 /* 20818 * CDDL HEADER START 20819 * 20820 * The contents of this file are subject to the terms of the 20821 * Common Development and Distribution License (the "License"). 20822 * You may not use this file except in compliance with the License. 20823 * 20824 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20825 * or http://www.opensolaris.org/os/licensing. 20826 * See the License for the specific language governing permissions 20827 * and limitations under the License. 20828 * 20829 * When distributing Covered Code, include this CDDL HEADER in each 20830 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20831 * If applicable, add the following below this CDDL HEADER, with the 20832 * fields enclosed by brackets "[]" replaced with your own identifying 20833 * information: Portions Copyright [yyyy] [name of copyright owner] 20834 * 20835 * CDDL HEADER END 20836 */ 20837 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20838 /* All Rights Reserved */ 20839 20840 20841 /* 20842 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20843 * Use is subject to license terms. 20844 * 20845 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20846 * Copyright 2016 Joyent, Inc. 20847 */ 20848 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2 20849 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 20850 /* 20851 * The fields in struct extmnttab should match those in struct mnttab until new 20852 * fields are encountered. This allows hasmntopt(), getmntent_common() and 20853 * mntioctl() to cast one type to the other safely. 20854 * 20855 * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all 20856 * match those in the corresponding 32-bit versions defined in mntvnops.c. 20857 */ 20858 struct mnttab { 20859 char *mnt_special; 20860 char *mnt_mountp; 20861 char *mnt_fstype; 20862 char *mnt_mntopts; 20863 char *mnt_time; 20864 }; 20865 20866 struct extmnttab { 20867 char *mnt_special; 20868 char *mnt_mountp; 20869 char *mnt_fstype; 20870 char *mnt_mntopts; 20871 char *mnt_time; 20872 uint_t mnt_major; 20873 uint_t mnt_minor; 20874 }; 20875 20876 struct mntentbuf { 20877 struct extmnttab *mbuf_emp; 20878 size_t mbuf_bufsize; 20879 char *mbuf_buf; 20880 }; 20881 20882 20883 extern void resetmnttab(FILE *); 20884 extern int getmntent(FILE *, struct mnttab *); 20885 extern int getextmntent(FILE *, struct extmnttab *, size_t); 20886 extern int getmntany(FILE *, struct mnttab *, struct mnttab *); 20887 extern char *hasmntopt(struct mnttab *, char *); 20888 extern char *mntopt(char **); 20889 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20890 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 20891 /* 20892 * CDDL HEADER START 20893 * 20894 * The contents of this file are subject to the terms of the 20895 * Common Development and Distribution License (the "License"). 20896 * You may not use this file except in compliance with the License. 20897 * 20898 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20899 * or http://www.opensolaris.org/os/licensing. 20900 * See the License for the specific language governing permissions 20901 * and limitations under the License. 20902 * 20903 * When distributing Covered Code, include this CDDL HEADER in each 20904 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20905 * If applicable, add the following below this CDDL HEADER, with the 20906 * fields enclosed by brackets "[]" replaced with your own identifying 20907 * information: Portions Copyright [yyyy] [name of copyright owner] 20908 * 20909 * CDDL HEADER END 20910 */ 20911 20912 /* 20913 * Copyright (c) 2013 Gary Mills 20914 * 20915 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 20916 * Use is subject to license terms. 20917 */ 20918 20919 /* Copyright (c) 1988 AT&T */ 20920 /* All Rights Reserved */ 20921 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 20922 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 1 20923 /* 20924 * CDDL HEADER START 20925 * 20926 * The contents of this file are subject to the terms of the 20927 * Common Development and Distribution License, Version 1.0 only 20928 * (the "License"). You may not use this file except in compliance 20929 * with the License. 20930 * 20931 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20932 * or http://www.opensolaris.org/os/licensing. 20933 * See the License for the specific language governing permissions 20934 * and limitations under the License. 20935 * 20936 * When distributing Covered Code, include this CDDL HEADER in each 20937 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20938 * If applicable, add the following below this CDDL HEADER, with the 20939 * fields enclosed by brackets "[]" replaced with your own identifying 20940 * information: Portions Copyright [yyyy] [name of copyright owner] 20941 * 20942 * CDDL HEADER END 20943 */ 20944 /* 20945 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20946 * 20947 * Copyright 1997 Sun Microsystems, Inc. All rights reserved. 20948 * Use is subject to license terms. 20949 */ 20950 20951 /* Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T */ 20952 /* All Rights Reserved */ 20953 20954 /* 20955 * Portions of this source code were derived from Berkeley 4.3 BSD 20956 * under license from the Regents of the University of California. 20957 */ 20958 20959 20960 20961 20962 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 20963 /* 20964 * CDDL HEADER START 20965 * 20966 * The contents of this file are subject to the terms of the 20967 * Common Development and Distribution License (the "License"). 20968 * You may not use this file except in compliance with the License. 20969 * 20970 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20971 * or http://www.opensolaris.org/os/licensing. 20972 * See the License for the specific language governing permissions 20973 * and limitations under the License. 20974 * 20975 * When distributing Covered Code, include this CDDL HEADER in each 20976 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20977 * If applicable, add the following below this CDDL HEADER, with the 20978 * fields enclosed by brackets "[]" replaced with your own identifying 20979 * information: Portions Copyright [yyyy] [name of copyright owner] 20980 * 20981 * CDDL HEADER END 20982 */ 20983 20984 /* 20985 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 20986 * Copyright 2016 Joyent, Inc. 20987 * 20988 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20989 * Use is subject to license terms. 20990 */ 20991 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 20992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20993 /* 20994 * CDDL HEADER START 20995 * 20996 * The contents of this file are subject to the terms of the 20997 * Common Development and Distribution License (the "License"). 20998 * You may not use this file except in compliance with the License. 20999 * 21000 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21001 * or http://www.opensolaris.org/os/licensing. 21002 * See the License for the specific language governing permissions 21003 * and limitations under the License. 21004 * 21005 * When distributing Covered Code, include this CDDL HEADER in each 21006 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21007 * If applicable, add the following below this CDDL HEADER, with the 21008 * fields enclosed by brackets "[]" replaced with your own identifying 21009 * information: Portions Copyright [yyyy] [name of copyright owner] 21010 * 21011 * CDDL HEADER END 21012 */ 21013 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21014 /* All Rights Reserved */ 21015 21016 21017 /* 21018 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21019 * Use is subject to license terms. 21020 * 21021 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21022 * Copyright 2016 Joyent, Inc. 21023 */ 21024 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 21025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 21026 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21027 /* All Rights Reserved */ 21028 21029 21030 /* 21031 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 21032 * All rights reserved. The Berkeley software License Agreement 21033 * specifies the terms and conditions for redistribution. 21034 */ 21035 21036 /* 21037 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21038 * 21039 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21040 * Use is subject to license terms. 21041 * 21042 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21043 */ 21044 21045 /* 21046 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 21047 */ 21048 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 21049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1 21050 /* 21051 * CDDL HEADER START 21052 * 21053 * The contents of this file are subject to the terms of the 21054 * Common Development and Distribution License, Version 1.0 only 21055 * (the "License"). You may not use this file except in compliance 21056 * with the License. 21057 * 21058 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21059 * or http://www.opensolaris.org/os/licensing. 21060 * See the License for the specific language governing permissions 21061 * and limitations under the License. 21062 * 21063 * When distributing Covered Code, include this CDDL HEADER in each 21064 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21065 * If applicable, add the following below this CDDL HEADER, with the 21066 * fields enclosed by brackets "[]" replaced with your own identifying 21067 * information: Portions Copyright [yyyy] [name of copyright owner] 21068 * 21069 * CDDL HEADER END 21070 */ 21071 /* Copyright (c) 1988 AT&T */ 21072 /* All Rights Reserved */ 21073 21074 21075 /* 21076 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21077 * 21078 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 21079 * Use is subject to license terms. 21080 */ 21081 21082 21083 21084 21085 21086 /* 21087 * Note: The getutent(3c) family of interfaces are obsolete. 21088 * The getutxent(3c) family provide a superset of this functionality 21089 * and should be used in place of getutent(3c). 21090 */ 21091 21092 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21093 /* 21094 * CDDL HEADER START 21095 * 21096 * The contents of this file are subject to the terms of the 21097 * Common Development and Distribution License (the "License"). 21098 * You may not use this file except in compliance with the License. 21099 * 21100 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21101 * or http://www.opensolaris.org/os/licensing. 21102 * See the License for the specific language governing permissions 21103 * and limitations under the License. 21104 * 21105 * When distributing Covered Code, include this CDDL HEADER in each 21106 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21107 * If applicable, add the following below this CDDL HEADER, with the 21108 * fields enclosed by brackets "[]" replaced with your own identifying 21109 * information: Portions Copyright [yyyy] [name of copyright owner] 21110 * 21111 * CDDL HEADER END 21112 */ 21113 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21114 /* All Rights Reserved */ 21115 21116 21117 /* 21118 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21119 * Use is subject to license terms. 21120 * 21121 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21122 * Copyright 2016 Joyent, Inc. 21123 */ 21124 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 21125 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 21126 struct exit_status { 21127 short e_termination; /* Process termination status */ 21128 short e_exit; /* Process exit status */ 21129 }; 21130 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 21131 /* 21132 * This data structure describes the utmp entries returned by 21133 * the getutent(3c) family of APIs. It does not (necessarily) 21134 * correspond to the contents of the utmp or wtmp files. 21135 * 21136 * Applications should only interact with this subsystem via 21137 * the getutxent(3c) family of APIs, as the getutent(3c) family 21138 * are obsolete. 21139 */ 21140 struct utmp { 21141 char ut_user[8]; /* User login name */ 21142 char ut_id[4]; /* /etc/inittab id(usually line #) */ 21143 char ut_line[12]; /* device name (console, lnxx) */ 21144 short ut_pid; /* short for compat. - process id */ 21145 short ut_type; /* type of entry */ 21146 struct exit_status ut_exit; /* The exit status of a process */ 21147 /* marked as DEAD_PROCESS. */ 21148 time_t ut_time; /* time entry was made */ 21149 }; 21150 21151 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 21152 /* 21153 * CDDL HEADER START 21154 * 21155 * The contents of this file are subject to the terms of the 21156 * Common Development and Distribution License (the "License"). 21157 * You may not use this file except in compliance with the License. 21158 * 21159 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21160 * or http://www.opensolaris.org/os/licensing. 21161 * See the License for the specific language governing permissions 21162 * and limitations under the License. 21163 * 21164 * When distributing Covered Code, include this CDDL HEADER in each 21165 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21166 * If applicable, add the following below this CDDL HEADER, with the 21167 * fields enclosed by brackets "[]" replaced with your own identifying 21168 * information: Portions Copyright [yyyy] [name of copyright owner] 21169 * 21170 * CDDL HEADER END 21171 */ 21172 /* 21173 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 21174 * Use is subject to license terms. 21175 * Copyright 2015 Nexenta Systems, Inc. 21176 */ 21177 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 21178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 21179 /* 21180 * CDDL HEADER START 21181 * 21182 * The contents of this file are subject to the terms of the 21183 * Common Development and Distribution License, Version 1.0 only 21184 * (the "License"). You may not use this file except in compliance 21185 * with the License. 21186 * 21187 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21188 * or http://www.opensolaris.org/os/licensing. 21189 * See the License for the specific language governing permissions 21190 * and limitations under the License. 21191 * 21192 * When distributing Covered Code, include this CDDL HEADER in each 21193 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21194 * If applicable, add the following below this CDDL HEADER, with the 21195 * fields enclosed by brackets "[]" replaced with your own identifying 21196 * information: Portions Copyright [yyyy] [name of copyright owner] 21197 * 21198 * CDDL HEADER END 21199 */ 21200 /* 21201 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21202 * 21203 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 21204 * Use is subject to license terms. 21205 */ 21206 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 21207 21208 /* 21209 * This data structure describes the utmp *file* contents using 21210 * fixed-width data types. It should only be used by the implementation. 21211 * 21212 * Applications should use the getutxent(3c) family of routines to interact 21213 * with this database. 21214 */ 21215 21216 struct futmp { 21217 char ut_user[8]; /* User login name */ 21218 char ut_id[4]; /* /etc/inittab id */ 21219 char ut_line[12]; /* device name (console, lnxx) */ 21220 int16_t ut_pid; /* process id */ 21221 int16_t ut_type; /* type of entry */ 21222 struct { 21223 int16_t e_termination; /* Process termination status */ 21224 int16_t e_exit; /* Process exit status */ 21225 } ut_exit; /* The exit status of a process */ 21226 time32_t ut_time; /* time entry was made */ 21227 }; 21228 21229 21230 21231 /* Definitions for ut_type */ 21232 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 21233 /* Special strings or formats used in the "ut_line" field when */ 21234 /* accounting for something other than a process. */ 21235 /* No string for the ut_line field can be more than 11 chars + */ 21236 /* a NULL in length. */ 21237 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 21238 /* Define and macro for determing if a normal user wrote the entry */ 21239 /* and marking the utmpx entry as a normal user */ 21240 21241 21242 21243 21244 21245 extern void endutent(void); 21246 extern struct utmp *getutent(void); 21247 extern struct utmp *getutid(const struct utmp *); 21248 extern struct utmp *getutline(const struct utmp *); 21249 extern struct utmp *pututline(const struct utmp *); 21250 extern void setutent(void); 21251 extern int utmpname(const char *); 21252 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 21253 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 21254 /* 21255 * This data structure describes the utmpx entries returned by 21256 * the getutxent(3c) family of APIs. It does not (necessarily) 21257 * correspond to the contents of the utmpx or wtmpx files. 21258 * 21259 * Applications should only interact with this subsystem via 21260 * the getutxent(3c) family of APIs. 21261 */ 21262 struct utmpx { 21263 char ut_user[32]; /* user login name */ 21264 char ut_id[4]; /* inittab id */ 21265 char ut_line[32]; /* device name (console, lnxx) */ 21266 pid_t ut_pid; /* process id */ 21267 short ut_type; /* type of entry */ 21268 21269 struct exit_status ut_exit; /* process termination/exit status */ 21270 21271 21272 21273 struct timeval ut_tv; /* time entry was made */ 21274 int ut_session; /* session ID, used for windowing */ 21275 21276 int pad[5]; /* reserved for future use */ 21277 21278 21279 21280 short ut_syslen; /* significant length of ut_host */ 21281 /* including terminating null */ 21282 char ut_host[257]; /* remote host name */ 21283 }; 21284 21285 21286 21287 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 21288 /* 21289 * CDDL HEADER START 21290 * 21291 * The contents of this file are subject to the terms of the 21292 * Common Development and Distribution License (the "License"). 21293 * You may not use this file except in compliance with the License. 21294 * 21295 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21296 * or http://www.opensolaris.org/os/licensing. 21297 * See the License for the specific language governing permissions 21298 * and limitations under the License. 21299 * 21300 * When distributing Covered Code, include this CDDL HEADER in each 21301 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21302 * If applicable, add the following below this CDDL HEADER, with the 21303 * fields enclosed by brackets "[]" replaced with your own identifying 21304 * information: Portions Copyright [yyyy] [name of copyright owner] 21305 * 21306 * CDDL HEADER END 21307 */ 21308 /* 21309 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 21310 * Use is subject to license terms. 21311 * Copyright 2015 Nexenta Systems, Inc. 21312 */ 21313 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 21314 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 21315 /* 21316 * CDDL HEADER START 21317 * 21318 * The contents of this file are subject to the terms of the 21319 * Common Development and Distribution License, Version 1.0 only 21320 * (the "License"). You may not use this file except in compliance 21321 * with the License. 21322 * 21323 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21324 * or http://www.opensolaris.org/os/licensing. 21325 * See the License for the specific language governing permissions 21326 * and limitations under the License. 21327 * 21328 * When distributing Covered Code, include this CDDL HEADER in each 21329 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21330 * If applicable, add the following below this CDDL HEADER, with the 21331 * fields enclosed by brackets "[]" replaced with your own identifying 21332 * information: Portions Copyright [yyyy] [name of copyright owner] 21333 * 21334 * CDDL HEADER END 21335 */ 21336 /* 21337 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21338 * 21339 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 21340 * Use is subject to license terms. 21341 */ 21342 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 21343 21344 /* 21345 * This data structure describes the utmp *file* contents using 21346 * fixed-width data types. It should only be used by the implementation. 21347 * 21348 * Applications should use the getutxent(3c) family of routines to interact 21349 * with this database. 21350 */ 21351 21352 struct futmpx { 21353 char ut_user[32]; /* user login name */ 21354 char ut_id[4]; /* inittab id */ 21355 char ut_line[32]; /* device name (console, lnxx) */ 21356 pid32_t ut_pid; /* process id */ 21357 int16_t ut_type; /* type of entry */ 21358 struct { 21359 int16_t e_termination; /* process termination status */ 21360 int16_t e_exit; /* process exit status */ 21361 } ut_exit; /* exit status of a process */ 21362 struct timeval32 ut_tv; /* time entry was made */ 21363 int32_t ut_session; /* session ID, user for windowing */ 21364 int32_t pad[5]; /* reserved for future use */ 21365 int16_t ut_syslen; /* significant length of ut_host */ 21366 char ut_host[257]; /* remote host name */ 21367 }; 21368 21369 21370 21371 /* Define and macro for determing if a normal user wrote the entry */ 21372 /* and marking the utmpx entry as a normal user */ 21373 21374 21375 21376 21377 21378 21379 extern void endutxent(void); 21380 extern struct utmpx *getutxent(void); 21381 extern struct utmpx *getutxid(const struct utmpx *); 21382 extern struct utmpx *getutxline(const struct utmpx *); 21383 extern struct utmpx *pututxline(const struct utmpx *); 21384 extern void setutxent(void); 21385 21386 21387 extern int utmpxname(const char *); 21388 extern struct utmpx *makeutx(const struct utmpx *); 21389 extern struct utmpx *modutx(const struct utmpx *); 21390 extern void getutmp(const struct utmpx *, struct utmp *); 21391 extern void getutmpx(const struct utmp *, struct utmpx *); 21392 extern void updwtmp(const char *, struct utmp *); 21393 extern void updwtmpx(const char *, struct utmpx *); 21394 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 21395 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 21396 /* 21397 * Warning: these are shared with the admin/install consolidation. 21398 * Do not insert states between any of the currently defined states, 21399 * and any new states must be evaluated for impact on range comparisons. 21400 */ 21401 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 21402 /* Owner, group, and mode (defined by packaging) for the config directory */ 21403 21404 21405 21406 21407 /* Owner, group, and mode (defined by packaging) for the index file */ 21408 21409 21410 21411 21412 /* The maximum length of the VERSION string in the pkginfo(4) file. */ 21413 21414 21415 /* 21416 * Shortened alias names for the zones rctls. 21417 */ 21418 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 21419 /* Default name for zone detached manifest */ 21420 21421 21422 /* 21423 * Bit flag definitions for passing into libzonecfg functions. 21424 */ 21425 21426 21427 /* 21428 * The integer field expresses the current values on a get. 21429 * On a put, it represents the new values if >= 0 or "don't change" if < 0. 21430 */ 21431 struct zoneent { 21432 char zone_name[64]; /* name of the zone */ 21433 int zone_state; /* configured | incomplete | installed */ 21434 char zone_path[1024]; /* path to zone storage */ 21435 uuid_t zone_uuid; /* unique ID for zone */ 21436 char zone_newname[64]; /* for doing renames */ 21437 }; 21438 21439 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */ 21440 21441 typedef uint_t zone_state_t; 21442 21443 typedef struct zone_fsopt { 21444 struct zone_fsopt *zone_fsopt_next; 21445 char zone_fsopt_opt[1024]; 21446 } zone_fsopt_t; 21447 21448 struct zone_fstab { 21449 char zone_fs_special[1024]; /* special file */ 21450 char zone_fs_dir[1024]; /* mount point */ 21451 char zone_fs_type[16]; /* e.g. ufs */ 21452 zone_fsopt_t *zone_fs_options; /* mount options */ 21453 char zone_fs_raw[1024]; /* device to fsck */ 21454 }; 21455 21456 struct zone_nwiftab { 21457 char zone_nwif_address[46]; /* shared-ip only */ 21458 char zone_nwif_allowed_address[46]; /* excl-ip only */ 21459 char zone_nwif_physical[32]; 21460 char zone_nwif_defrouter[46]; 21461 }; 21462 21463 struct zone_devtab { 21464 char zone_dev_match[1024]; 21465 }; 21466 21467 struct zone_rctlvaltab { 21468 char zone_rctlval_priv[256]; 21469 char zone_rctlval_limit[256]; 21470 char zone_rctlval_action[256]; 21471 struct zone_rctlvaltab *zone_rctlval_next; 21472 }; 21473 21474 struct zone_rctltab { 21475 char zone_rctl_name[256]; 21476 struct zone_rctlvaltab *zone_rctl_valptr; 21477 }; 21478 21479 struct zone_attrtab { 21480 char zone_attr_name[256]; 21481 char zone_attr_type[256]; 21482 char zone_attr_value[2 * 1024]; 21483 }; 21484 21485 struct zone_dstab { 21486 char zone_dataset_name[256]; 21487 }; 21488 21489 struct zone_psettab { 21490 char zone_ncpu_min[256]; 21491 char zone_ncpu_max[256]; 21492 char zone_importance[256]; 21493 }; 21494 21495 struct zone_mcaptab { 21496 char zone_physmem_cap[256]; 21497 }; 21498 21499 struct zone_pkgtab { 21500 char zone_pkg_name[256]; 21501 char zone_pkg_version[256]; 21502 }; 21503 21504 struct zone_devpermtab { 21505 char zone_devperm_name[1024]; 21506 uid_t zone_devperm_uid; 21507 gid_t zone_devperm_gid; 21508 mode_t zone_devperm_mode; 21509 char *zone_devperm_acl; 21510 }; 21511 21512 struct zone_admintab { 21513 char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))]; 21514 char zone_admin_auths[4096]; 21515 }; 21516 21517 typedef struct zone_userauths { 21518 char user[(sizeof (((struct utmpx *)0)->ut_user))]; 21519 char zonename[64]; 21520 struct zone_userauths *next; 21521 } zone_userauths_t; 21522 21523 typedef struct { 21524 uu_avl_node_t zpe_entry; 21525 char *zpe_name; 21526 char *zpe_vers; 21527 } zone_pkg_entry_t; 21528 21529 typedef enum zone_iptype { 21530 ZS_SHARED, 21531 ZS_EXCLUSIVE 21532 } zone_iptype_t; 21533 21534 /* 21535 * Basic configuration management routines. 21536 */ 21537 extern zone_dochandle_t zonecfg_init_handle(void); 21538 extern int zonecfg_get_handle(const char *, zone_dochandle_t); 21539 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t); 21540 extern int zonecfg_get_template_handle(const char *, const char *, 21541 zone_dochandle_t); 21542 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t); 21543 extern int zonecfg_check_handle(zone_dochandle_t); 21544 extern void zonecfg_fini_handle(zone_dochandle_t); 21545 extern int zonecfg_destroy(const char *, boolean_t); 21546 extern int zonecfg_destroy_snapshot(const char *); 21547 extern int zonecfg_save(zone_dochandle_t); 21548 extern int zonecfg_create_snapshot(const char *); 21549 extern char *zonecfg_strerror(int); 21550 extern int zonecfg_access(const char *, int); 21551 extern void zonecfg_set_root(const char *); 21552 extern const char *zonecfg_get_root(void); 21553 extern boolean_t zonecfg_in_alt_root(void); 21554 extern int zonecfg_num_resources(zone_dochandle_t, char *); 21555 extern int zonecfg_del_all_resources(zone_dochandle_t, char *); 21556 extern boolean_t zonecfg_valid_ncpus(char *, char *); 21557 extern boolean_t zonecfg_valid_importance(char *); 21558 extern int zonecfg_str_to_bytes(char *, uint64_t *); 21559 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *); 21560 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *); 21561 21562 /* 21563 * Zone name, path to zone directory, autoboot setting, pool, boot 21564 * arguments, and scheduling-class. 21565 */ 21566 extern int zonecfg_validate_zonename(const char *); 21567 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t); 21568 extern int zonecfg_set_name(zone_dochandle_t, char *); 21569 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t); 21570 extern int zonecfg_set_zonepath(zone_dochandle_t, char *); 21571 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *); 21572 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t); 21573 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *); 21574 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t); 21575 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t); 21576 extern int zonecfg_set_pool(zone_dochandle_t, char *); 21577 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t); 21578 extern int zonecfg_set_bootargs(zone_dochandle_t, char *); 21579 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t); 21580 extern int zonecfg_set_sched(zone_dochandle_t, char *); 21581 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int); 21582 21583 /* 21584 * Set/retrieve the brand for the zone 21585 */ 21586 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t); 21587 extern int zonecfg_set_brand(zone_dochandle_t, char *); 21588 21589 /* 21590 * Filesystem configuration. 21591 */ 21592 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *); 21593 extern int zonecfg_delete_filesystem(zone_dochandle_t, 21594 struct zone_fstab *); 21595 extern int zonecfg_modify_filesystem(zone_dochandle_t, 21596 struct zone_fstab *, struct zone_fstab *); 21597 extern int zonecfg_lookup_filesystem(zone_dochandle_t, 21598 struct zone_fstab *); 21599 extern int zonecfg_add_fs_option(struct zone_fstab *, char *); 21600 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *); 21601 extern void zonecfg_free_fs_option_list(zone_fsopt_t *); 21602 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *, 21603 void *), void *); 21604 21605 /* 21606 * Network interface configuration. 21607 */ 21608 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *); 21609 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *); 21610 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *, 21611 struct zone_nwiftab *); 21612 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *); 21613 21614 /* 21615 * Hostid emulation configuration. 21616 */ 21617 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t); 21618 extern int zonecfg_set_hostid(zone_dochandle_t, const char *); 21619 21620 /* 21621 * Allowed FS mounts configuration. 21622 */ 21623 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t); 21624 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *); 21625 21626 /* 21627 * Device configuration and rule matching. 21628 */ 21629 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *); 21630 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *); 21631 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *, 21632 struct zone_devtab *); 21633 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *); 21634 21635 /* 21636 * Resource control configuration. 21637 */ 21638 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *); 21639 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *); 21640 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *, 21641 struct zone_rctltab *); 21642 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *); 21643 extern int zonecfg_add_rctl_value(struct zone_rctltab *, 21644 struct zone_rctlvaltab *); 21645 extern int zonecfg_remove_rctl_value(struct zone_rctltab *, 21646 struct zone_rctlvaltab *); 21647 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *); 21648 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *); 21649 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t); 21650 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *); 21651 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *); 21652 extern int zonecfg_apply_rctls(char *, zone_dochandle_t); 21653 21654 /* 21655 * Generic attribute configuration and type/value extraction. 21656 */ 21657 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *); 21658 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *); 21659 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *, 21660 struct zone_attrtab *); 21661 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *); 21662 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *, 21663 boolean_t *); 21664 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *); 21665 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *, 21666 size_t); 21667 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *); 21668 21669 /* 21670 * ZFS configuration. 21671 */ 21672 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *); 21673 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *); 21674 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *, 21675 struct zone_dstab *); 21676 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *); 21677 21678 /* 21679 * cpu-set configuration. 21680 */ 21681 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *); 21682 extern int zonecfg_delete_pset(zone_dochandle_t); 21683 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *); 21684 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *); 21685 21686 /* 21687 * mem-cap configuration. 21688 */ 21689 extern int zonecfg_delete_mcap(zone_dochandle_t); 21690 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *); 21691 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *); 21692 21693 /* 21694 * Temporary pool support functions. 21695 */ 21696 extern int zonecfg_destroy_tmp_pool(char *, char *, int); 21697 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int); 21698 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int); 21699 extern boolean_t zonecfg_warn_poold(zone_dochandle_t); 21700 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t); 21701 21702 /* 21703 * Miscellaneous utility functions. 21704 */ 21705 extern int zonecfg_enable_rcapd(char *, int); 21706 21707 /* 21708 * attach/detach support. 21709 */ 21710 extern int zonecfg_get_attach_handle(const char *, const char *, 21711 const char *, boolean_t, zone_dochandle_t); 21712 extern int zonecfg_attach_manifest(int, zone_dochandle_t, 21713 zone_dochandle_t); 21714 extern int zonecfg_detach_save(zone_dochandle_t, uint_t); 21715 extern boolean_t zonecfg_detached(const char *); 21716 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced); 21717 extern int zonecfg_dev_manifest(zone_dochandle_t); 21718 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *, 21719 uid_t, gid_t, mode_t, const char *); 21720 extern void zonecfg_set_swinv(zone_dochandle_t); 21721 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *); 21722 21723 /* 21724 * External zone verification support. 21725 */ 21726 extern int zonecfg_verify_save(zone_dochandle_t, char *); 21727 21728 /* 21729 * '*ent' iterator routines. 21730 */ 21731 extern int zonecfg_setfsent(zone_dochandle_t); 21732 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *); 21733 extern int zonecfg_endfsent(zone_dochandle_t); 21734 extern int zonecfg_setnwifent(zone_dochandle_t); 21735 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *); 21736 extern int zonecfg_endnwifent(zone_dochandle_t); 21737 extern int zonecfg_setdevent(zone_dochandle_t); 21738 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *); 21739 extern int zonecfg_enddevent(zone_dochandle_t); 21740 extern int zonecfg_setattrent(zone_dochandle_t); 21741 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *); 21742 extern int zonecfg_endattrent(zone_dochandle_t); 21743 extern int zonecfg_setrctlent(zone_dochandle_t); 21744 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *); 21745 extern int zonecfg_endrctlent(zone_dochandle_t); 21746 extern int zonecfg_setdsent(zone_dochandle_t); 21747 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *); 21748 extern int zonecfg_enddsent(zone_dochandle_t); 21749 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *); 21750 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *); 21751 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *, 21752 uu_avl_t *); 21753 extern int zonecfg_setdevperment(zone_dochandle_t); 21754 extern int zonecfg_getdevperment(zone_dochandle_t, 21755 struct zone_devpermtab *); 21756 extern int zonecfg_enddevperment(zone_dochandle_t); 21757 extern int zonecfg_setadminent(zone_dochandle_t); 21758 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *); 21759 extern int zonecfg_endadminent(zone_dochandle_t); 21760 21761 /* 21762 * Privilege-related functions. 21763 */ 21764 extern int zonecfg_default_privset(priv_set_t *, const char *); 21765 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *, 21766 char **); 21767 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **); 21768 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *); 21769 21770 /* 21771 * Higher-level routines. 21772 */ 21773 extern int zone_get_brand(char *, char *, size_t); 21774 extern int zone_get_rootpath(char *, char *, size_t); 21775 extern int zone_get_devroot(char *, char *, size_t); 21776 extern int zone_get_zonepath(char *, char *, size_t); 21777 extern int zone_get_state(char *, zone_state_t *); 21778 extern int zone_set_state(char *, zone_state_t); 21779 extern char *zone_state_str(zone_state_t); 21780 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t); 21781 extern int zonecfg_get_uuid(const char *, uuid_t); 21782 extern int zonecfg_default_brand(char *, size_t); 21783 21784 /* 21785 * Iterator for configured zones. 21786 */ 21787 extern FILE *setzoneent(void); 21788 extern char *getzoneent(FILE *); 21789 extern struct zoneent *getzoneent_private(FILE *); 21790 extern void endzoneent(FILE *); 21791 21792 /* 21793 * File-system-related convenience functions. 21794 */ 21795 extern boolean_t zonecfg_valid_fs_type(const char *); 21796 21797 /* 21798 * Network-related convenience functions. 21799 */ 21800 extern boolean_t zonecfg_same_net_address(char *, char *); 21801 extern int zonecfg_valid_net_address(char *, struct lifreq *); 21802 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *); 21803 21804 /* 21805 * Rctl-related common functions. 21806 */ 21807 extern boolean_t zonecfg_is_rctl(const char *); 21808 extern boolean_t zonecfg_valid_rctlname(const char *); 21809 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *); 21810 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *); 21811 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *, 21812 rctlblk_t *); 21813 21814 /* 21815 * Live Upgrade support functions. Shared between ON and install gate. 21816 */ 21817 extern FILE *zonecfg_open_scratch(const char *, boolean_t); 21818 extern int zonecfg_lock_scratch(FILE *); 21819 extern void zonecfg_close_scratch(FILE *); 21820 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *, 21821 size_t); 21822 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *, 21823 size_t); 21824 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t, 21825 char *, size_t); 21826 extern int zonecfg_add_scratch(FILE *, const char *, const char *, 21827 const char *); 21828 extern int zonecfg_delete_scratch(FILE *, const char *); 21829 extern boolean_t zonecfg_is_scratch(const char *); 21830 21831 /* 21832 * zoneadmd support functions. Shared between zoneadm and brand hook code. 21833 */ 21834 extern void zonecfg_init_lock_file(const char *, char **); 21835 extern void zonecfg_release_lock_file(const char *, int); 21836 extern int zonecfg_grab_lock_file(const char *, int *); 21837 extern boolean_t zonecfg_lock_file_held(int *); 21838 extern int zonecfg_ping_zoneadmd(const char *); 21839 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *, 21840 boolean_t); 21841 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *); 21842 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *, 21843 boolean_t); 21844 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *, 21845 char *); 21846 extern int zonecfg_delete_admin(zone_dochandle_t, 21847 struct zone_admintab *, char *); 21848 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *, 21849 struct zone_admintab *, char *); 21850 extern int zonecfg_delete_admins(zone_dochandle_t, char *); 21851 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *); 21852 extern int zonecfg_authorize_users(zone_dochandle_t, char *); 21853 extern int zonecfg_update_userauths(zone_dochandle_t, char *); 21854 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *); 21855 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *); 21856 extern boolean_t zonecfg_valid_auths(const char *, const char *); 21857 # 47 "../common/instzones_lib.h" 2 21858 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1 21859 /* 21860 * CDDL HEADER START 21861 * 21862 * The contents of this file are subject to the terms of the 21863 * Common Development and Distribution License (the "License"). 21864 * You may not use this file except in compliance with the License. 21865 * 21866 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21867 * or http://www.opensolaris.org/os/licensing. 21868 * See the License for the specific language governing permissions 21869 * and limitations under the License. 21870 * 21871 * When distributing Covered Code, include this CDDL HEADER in each 21872 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21873 * If applicable, add the following below this CDDL HEADER, with the 21874 * fields enclosed by brackets "[]" replaced with your own identifying 21875 * information: Portions Copyright [yyyy] [name of copyright owner] 21876 * 21877 * CDDL HEADER END 21878 */ 21879 /* 21880 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 21881 * Use is subject to license terms. 21882 */ 21883 21884 21885 21886 21887 #pragma ident "%Z%%M% %I% %E% SMI" 21888 21889 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21890 /* 21891 * CDDL HEADER START 21892 * 21893 * The contents of this file are subject to the terms of the 21894 * Common Development and Distribution License (the "License"). 21895 * You may not use this file except in compliance with the License. 21896 * 21897 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21898 * or http://www.opensolaris.org/os/licensing. 21899 * See the License for the specific language governing permissions 21900 * and limitations under the License. 21901 * 21902 * When distributing Covered Code, include this CDDL HEADER in each 21903 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21904 * If applicable, add the following below this CDDL HEADER, with the 21905 * fields enclosed by brackets "[]" replaced with your own identifying 21906 * information: Portions Copyright [yyyy] [name of copyright owner] 21907 * 21908 * CDDL HEADER END 21909 */ 21910 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21911 /* All Rights Reserved */ 21912 21913 21914 /* 21915 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21916 * Use is subject to license terms. 21917 * 21918 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21919 * Copyright 2016 Joyent, Inc. 21920 */ 21921 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 21922 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1 21923 /* 21924 * CDDL HEADER START 21925 * 21926 * The contents of this file are subject to the terms of the 21927 * Common Development and Distribution License (the "License"). 21928 * You may not use this file except in compliance with the License. 21929 * 21930 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21931 * or http://www.opensolaris.org/os/licensing. 21932 * See the License for the specific language governing permissions 21933 * and limitations under the License. 21934 * 21935 * When distributing Covered Code, include this CDDL HEADER in each 21936 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21937 * If applicable, add the following below this CDDL HEADER, with the 21938 * fields enclosed by brackets "[]" replaced with your own identifying 21939 * information: Portions Copyright [yyyy] [name of copyright owner] 21940 * 21941 * CDDL HEADER END 21942 */ 21943 /* 21944 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 21945 * Use is subject to license terms. 21946 */ 21947 21948 21949 21950 21951 #pragma ident "%Z%%M% %I% %E% SMI" 21952 21953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21954 /* 21955 * CDDL HEADER START 21956 * 21957 * The contents of this file are subject to the terms of the 21958 * Common Development and Distribution License (the "License"). 21959 * You may not use this file except in compliance with the License. 21960 * 21961 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21962 * or http://www.opensolaris.org/os/licensing. 21963 * See the License for the specific language governing permissions 21964 * and limitations under the License. 21965 * 21966 * When distributing Covered Code, include this CDDL HEADER in each 21967 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21968 * If applicable, add the following below this CDDL HEADER, with the 21969 * fields enclosed by brackets "[]" replaced with your own identifying 21970 * information: Portions Copyright [yyyy] [name of copyright owner] 21971 * 21972 * CDDL HEADER END 21973 */ 21974 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21975 /* All Rights Reserved */ 21976 21977 21978 /* 21979 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21980 * Use is subject to license terms. 21981 * 21982 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21983 * Copyright 2016 Joyent, Inc. 21984 */ 21985 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2 21986 21987 21988 21989 21990 21991 typedef uint64_t ctevid_t; 21992 21993 /* 21994 * Contract parameter maximum size, in bytes 21995 */ 21996 21997 21998 /* 21999 * Common event types 22000 */ 22001 22002 22003 /* 22004 * Level of status detail requested 22005 */ 22006 22007 22008 22009 22010 /* 22011 * Values for ctev_flags. 22012 */ 22013 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 22014 typedef enum ctstate { 22015 CTS_OWNED, /* contract is owned by a process */ 22016 CTS_INHERITED, /* contract has been inherited by its parent */ 22017 CTS_ORPHAN, /* contract has no parent */ 22018 CTS_DEAD /* contract has been destroyed */ 22019 } ctstate_t; 22020 22021 typedef enum ct_typeid { 22022 CTT_PROCESS, /* process contract */ 22023 CTT_DEVICE, /* device contract */ 22024 CTT_MAXTYPE 22025 } ct_typeid_t; 22026 22027 typedef struct ct_event { 22028 ctid_t ctev_id; 22029 uint32_t ctev_pad1; 22030 ctevid_t ctev_evid; 22031 ct_typeid_t ctev_cttype; 22032 uint32_t ctev_flags; 22033 uint32_t ctev_type; 22034 uint32_t ctev_nbytes; 22035 uint32_t ctev_goffset; 22036 uint32_t ctev_pad2; 22037 char *ctev_buffer; 22038 } ct_event_t; 22039 22040 typedef struct ct_status { 22041 ctid_t ctst_id; 22042 zoneid_t ctst_zoneid; 22043 ct_typeid_t ctst_type; 22044 pid_t ctst_holder; 22045 ctstate_t ctst_state; 22046 int ctst_nevents; 22047 int ctst_ntime; 22048 int ctst_qtime; 22049 uint64_t ctst_nevid; 22050 uint_t ctst_detail; 22051 size_t ctst_nbytes; 22052 uint_t ctst_critical; 22053 uint_t ctst_informative; 22054 uint64_t ctst_cookie; 22055 char *ctst_buffer; 22056 } ct_status_t; 22057 22058 typedef struct ct_param { 22059 uint32_t ctpm_id; 22060 uint32_t ctpm_size; 22061 void *ctpm_value; 22062 } ct_param_t; 22063 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 22064 22065 22066 22067 22068 22069 typedef void *ct_stathdl_t; 22070 typedef void *ct_evthdl_t; 22071 22072 /* 22073 * Common routines 22074 */ 22075 extern int ct_tmpl_activate(int); 22076 extern int ct_tmpl_clear(int); 22077 extern int ct_tmpl_create(int, ctid_t *); 22078 extern int ct_tmpl_set_cookie(int, uint64_t); 22079 extern int ct_tmpl_get_cookie(int, uint64_t *); 22080 extern int ct_tmpl_set_critical(int, uint_t); 22081 extern int ct_tmpl_get_critical(int, uint_t *); 22082 extern int ct_tmpl_set_informative(int, uint_t); 22083 extern int ct_tmpl_get_informative(int, uint_t *); 22084 22085 extern int ct_ctl_adopt(int); 22086 extern int ct_ctl_abandon(int); 22087 extern int ct_ctl_ack(int, ctevid_t); 22088 extern int ct_ctl_nack(int, ctevid_t); 22089 extern int ct_ctl_qack(int, ctevid_t); 22090 extern int ct_ctl_newct(int, ctevid_t, int); 22091 22092 extern int ct_status_read(int, int, ct_stathdl_t *); 22093 extern void ct_status_free(ct_stathdl_t); 22094 22095 extern ctid_t ct_status_get_id(ct_stathdl_t); 22096 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t); 22097 extern const char *ct_status_get_type(ct_stathdl_t); 22098 extern id_t ct_status_get_holder(ct_stathdl_t); 22099 extern ctstate_t ct_status_get_state(ct_stathdl_t); 22100 extern int ct_status_get_nevents(ct_stathdl_t); 22101 extern int ct_status_get_ntime(ct_stathdl_t); 22102 extern int ct_status_get_qtime(ct_stathdl_t); 22103 extern ctevid_t ct_status_get_nevid(ct_stathdl_t); 22104 extern uint_t ct_status_get_informative(ct_stathdl_t); 22105 extern uint_t ct_status_get_critical(ct_stathdl_t); 22106 extern uint64_t ct_status_get_cookie(ct_stathdl_t); 22107 22108 extern int ct_event_read(int, ct_evthdl_t *); 22109 extern int ct_event_read_critical(int, ct_evthdl_t *); 22110 extern int ct_event_reset(int); 22111 extern int ct_event_reliable(int); 22112 extern void ct_event_free(ct_evthdl_t); 22113 22114 extern uint_t ct_event_get_flags(ct_evthdl_t); 22115 extern ctid_t ct_event_get_ctid(ct_evthdl_t); 22116 extern ctevid_t ct_event_get_evid(ct_evthdl_t); 22117 extern uint_t ct_event_get_type(ct_evthdl_t); 22118 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *); 22119 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *); 22120 22121 /* 22122 * Process contract routines 22123 */ 22124 extern int ct_pr_tmpl_set_transfer(int, ctid_t); 22125 extern int ct_pr_tmpl_set_fatal(int, uint_t); 22126 extern int ct_pr_tmpl_set_param(int, uint_t); 22127 extern int ct_pr_tmpl_set_svc_fmri(int, const char *); 22128 extern int ct_pr_tmpl_set_svc_aux(int, const char *); 22129 22130 extern int ct_pr_tmpl_get_transfer(int, ctid_t *); 22131 extern int ct_pr_tmpl_get_fatal(int, uint_t *); 22132 extern int ct_pr_tmpl_get_param(int, uint_t *); 22133 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t); 22134 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t); 22135 22136 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *); 22137 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *); 22138 extern int ct_pr_event_get_signal(ct_evthdl_t, int *); 22139 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *); 22140 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *); 22141 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *); 22142 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **); 22143 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **); 22144 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **); 22145 22146 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *); 22147 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *); 22148 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *); 22149 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *); 22150 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **); 22151 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **); 22152 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *); 22153 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **); 22154 22155 /* 22156 * Device contract routines 22157 */ 22158 int ct_dev_tmpl_set_minor(int, char *); 22159 int ct_dev_tmpl_set_aset(int, uint_t); 22160 int ct_dev_tmpl_set_noneg(int); 22161 int ct_dev_tmpl_clear_noneg(int); 22162 int ct_dev_tmpl_get_minor(int, char *, size_t *); 22163 int ct_dev_tmpl_get_aset(int, uint_t *); 22164 int ct_dev_tmpl_get_noneg(int, uint_t *); 22165 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *); 22166 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *); 22167 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *); 22168 int ct_dev_status_get_minor(ct_stathdl_t, char **); 22169 # 48 "../common/instzones_lib.h" 2 22170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1 22171 /* 22172 * CDDL HEADER START 22173 * 22174 * The contents of this file are subject to the terms of the 22175 * Common Development and Distribution License (the "License"). 22176 * You may not use this file except in compliance with the License. 22177 * 22178 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22179 * or http://www.opensolaris.org/os/licensing. 22180 * See the License for the specific language governing permissions 22181 * and limitations under the License. 22182 * 22183 * When distributing Covered Code, include this CDDL HEADER in each 22184 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22185 * If applicable, add the following below this CDDL HEADER, with the 22186 * fields enclosed by brackets "[]" replaced with your own identifying 22187 * information: Portions Copyright [yyyy] [name of copyright owner] 22188 * 22189 * CDDL HEADER END 22190 */ 22191 22192 /* 22193 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 22194 */ 22195 22196 22197 22198 22199 22200 /* 22201 * Module: instzones_api.h 22202 * Group: libinstzones 22203 * Description: This module contains the libinstzones API data structures, 22204 * constants, and function prototypes. 22205 */ 22206 22207 /* 22208 * required includes 22209 */ 22210 22211 /* System includes */ 22212 22213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 22214 /* 22215 * CDDL HEADER START 22216 * 22217 * The contents of this file are subject to the terms of the 22218 * Common Development and Distribution License, Version 1.0 only 22219 * (the "License"). You may not use this file except in compliance 22220 * with the License. 22221 * 22222 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22223 * or http://www.opensolaris.org/os/licensing. 22224 * See the License for the specific language governing permissions 22225 * and limitations under the License. 22226 * 22227 * When distributing Covered Code, include this CDDL HEADER in each 22228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22229 * If applicable, add the following below this CDDL HEADER, with the 22230 * fields enclosed by brackets "[]" replaced with your own identifying 22231 * information: Portions Copyright [yyyy] [name of copyright owner] 22232 * 22233 * CDDL HEADER END 22234 */ 22235 /* Copyright (c) 1988 AT&T */ 22236 /* All Rights Reserved */ 22237 22238 /* 22239 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22240 * 22241 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 22242 * Use is subject to license terms. 22243 */ 22244 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22245 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 22246 /* 22247 * CDDL HEADER START 22248 * 22249 * The contents of this file are subject to the terms of the 22250 * Common Development and Distribution License (the "License"). 22251 * You may not use this file except in compliance with the License. 22252 * 22253 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22254 * or http://www.opensolaris.org/os/licensing. 22255 * See the License for the specific language governing permissions 22256 * and limitations under the License. 22257 * 22258 * When distributing Covered Code, include this CDDL HEADER in each 22259 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22260 * If applicable, add the following below this CDDL HEADER, with the 22261 * fields enclosed by brackets "[]" replaced with your own identifying 22262 * information: Portions Copyright [yyyy] [name of copyright owner] 22263 * 22264 * CDDL HEADER END 22265 */ 22266 22267 /* 22268 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22269 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 22270 */ 22271 22272 /* Copyright (c) 1988 AT&T */ 22273 /* All Rights Reserved */ 22274 22275 /* 22276 * User-visible pieces of the ANSI C standard I/O package. 22277 */ 22278 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22279 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 22280 /* 22281 * CDDL HEADER START 22282 * 22283 * The contents of this file are subject to the terms of the 22284 * Common Development and Distribution License (the "License"). 22285 * You may not use this file except in compliance with the License. 22286 * 22287 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22288 * or http://www.opensolaris.org/os/licensing. 22289 * See the License for the specific language governing permissions 22290 * and limitations under the License. 22291 * 22292 * When distributing Covered Code, include this CDDL HEADER in each 22293 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22294 * If applicable, add the following below this CDDL HEADER, with the 22295 * fields enclosed by brackets "[]" replaced with your own identifying 22296 * information: Portions Copyright [yyyy] [name of copyright owner] 22297 * 22298 * CDDL HEADER END 22299 */ 22300 22301 /* 22302 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22303 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 22304 */ 22305 22306 /* Copyright (c) 1988 AT&T */ 22307 /* All Rights Reserved */ 22308 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22309 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1 22310 /* 22311 * CDDL HEADER START 22312 * 22313 * The contents of this file are subject to the terms of the 22314 * Common Development and Distribution License, Version 1.0 only 22315 * (the "License"). You may not use this file except in compliance 22316 * with the License. 22317 * 22318 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22319 * or http://www.opensolaris.org/os/licensing. 22320 * See the License for the specific language governing permissions 22321 * and limitations under the License. 22322 * 22323 * When distributing Covered Code, include this CDDL HEADER in each 22324 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22325 * If applicable, add the following below this CDDL HEADER, with the 22326 * fields enclosed by brackets "[]" replaced with your own identifying 22327 * information: Portions Copyright [yyyy] [name of copyright owner] 22328 * 22329 * CDDL HEADER END 22330 */ 22331 /* Copyright (c) 1988 AT&T */ 22332 /* All Rights Reserved */ 22333 22334 22335 22336 22337 22338 #pragma ident "%Z%%M% %I% %E% SMI" 22339 22340 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1 22341 /* 22342 * CDDL HEADER START 22343 * 22344 * The contents of this file are subject to the terms of the 22345 * Common Development and Distribution License (the "License"). 22346 * You may not use this file except in compliance with the License. 22347 * 22348 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22349 * or http://www.opensolaris.org/os/licensing. 22350 * See the License for the specific language governing permissions 22351 * and limitations under the License. 22352 * 22353 * When distributing Covered Code, include this CDDL HEADER in each 22354 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22355 * If applicable, add the following below this CDDL HEADER, with the 22356 * fields enclosed by brackets "[]" replaced with your own identifying 22357 * information: Portions Copyright [yyyy] [name of copyright owner] 22358 * 22359 * CDDL HEADER END 22360 */ 22361 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22362 /* All Rights Reserved */ 22363 22364 22365 /* 22366 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22367 * 22368 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 22369 */ 22370 22371 22372 22373 22374 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 22375 /* 22376 * CDDL HEADER START 22377 * 22378 * The contents of this file are subject to the terms of the 22379 * Common Development and Distribution License (the "License"). 22380 * You may not use this file except in compliance with the License. 22381 * 22382 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22383 * or http://www.opensolaris.org/os/licensing. 22384 * See the License for the specific language governing permissions 22385 * and limitations under the License. 22386 * 22387 * When distributing Covered Code, include this CDDL HEADER in each 22388 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22389 * If applicable, add the following below this CDDL HEADER, with the 22390 * fields enclosed by brackets "[]" replaced with your own identifying 22391 * information: Portions Copyright [yyyy] [name of copyright owner] 22392 * 22393 * CDDL HEADER END 22394 */ 22395 22396 /* 22397 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 22398 * Copyright 2016 Joyent, Inc. 22399 * 22400 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22401 * Use is subject to license terms. 22402 */ 22403 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 22404 22405 22406 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1 22407 /* 22408 * CDDL HEADER START 22409 * 22410 * The contents of this file are subject to the terms of the 22411 * Common Development and Distribution License, Version 1.0 only 22412 * (the "License"). You may not use this file except in compliance 22413 * with the License. 22414 * 22415 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22416 * or http://www.opensolaris.org/os/licensing. 22417 * See the License for the specific language governing permissions 22418 * and limitations under the License. 22419 * 22420 * When distributing Covered Code, include this CDDL HEADER in each 22421 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22422 * If applicable, add the following below this CDDL HEADER, with the 22423 * fields enclosed by brackets "[]" replaced with your own identifying 22424 * information: Portions Copyright [yyyy] [name of copyright owner] 22425 * 22426 * CDDL HEADER END 22427 */ 22428 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22429 /* All Rights Reserved */ 22430 22431 22432 22433 22434 22435 #pragma ident "%Z%%M% %I% %E% SMI" 22436 22437 22438 22439 22440 22441 /* 22442 * Terminal definitions related to underlying hardware. 22443 */ 22444 22445 /* 22446 * Speeds 22447 */ 22448 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 22449 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 22450 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22451 /* All Rights Reserved */ 22452 22453 22454 /* 22455 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 22456 * All rights reserved. The Berkeley software License Agreement 22457 * specifies the terms and conditions for redistribution. 22458 */ 22459 22460 /* 22461 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22462 * 22463 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22464 * Use is subject to license terms. 22465 * 22466 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22467 */ 22468 22469 /* 22470 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 22471 */ 22472 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 22473 22474 22475 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 22476 /* 22477 * CDDL HEADER START 22478 * 22479 * The contents of this file are subject to the terms of the 22480 * Common Development and Distribution License (the "License"). 22481 * You may not use this file except in compliance with the License. 22482 * 22483 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22484 * or http://www.opensolaris.org/os/licensing. 22485 * See the License for the specific language governing permissions 22486 * and limitations under the License. 22487 * 22488 * When distributing Covered Code, include this CDDL HEADER in each 22489 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22490 * If applicable, add the following below this CDDL HEADER, with the 22491 * fields enclosed by brackets "[]" replaced with your own identifying 22492 * information: Portions Copyright [yyyy] [name of copyright owner] 22493 * 22494 * CDDL HEADER END 22495 */ 22496 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22497 /* All Rights Reserved */ 22498 22499 22500 /* 22501 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22502 * Use is subject to license terms. 22503 * 22504 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22505 * Copyright 2016 Joyent, Inc. 22506 */ 22507 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 22508 22509 22510 22511 22512 22513 /* 22514 * _POSIX_VDISABLE has been defined in <sys/termios.h> since the 22515 * introduction of the header. The POSIX standard, IEEE Std. 22516 * 1003.1-1988 also required the existence of _POSIX_VDISABLE in 22517 * this header. Subsequent versions of the IEEE Standard as well 22518 * as the X/Open specifications required that _POSIX_VDISABLE be 22519 * defined in <unistd.h> while still allowing for it's existence 22520 * here. With the introduction of XPG6, _POSIX_VDISABLE can only 22521 * be defined in <unistd.h>. 22522 */ 22523 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22524 /* required by termio.h and VCEOF/VCEOL */ 22525 22526 22527 22528 22529 22530 /* some defines required by POSIX */ 22531 22532 22533 /* 22534 * types defined by POSIX. These are better off in types.h, but 22535 * the standard says that they have to be in termios.h. 22536 */ 22537 typedef unsigned int tcflag_t; 22538 typedef unsigned char cc_t; 22539 typedef unsigned int speed_t; 22540 22541 /* 22542 * Ioctl control packet 22543 */ 22544 struct termios { 22545 tcflag_t c_iflag; /* input modes */ 22546 tcflag_t c_oflag; /* output modes */ 22547 tcflag_t c_cflag; /* control modes */ 22548 tcflag_t c_lflag; /* line discipline modes */ 22549 cc_t c_cc[19]; /* control chars */ 22550 }; 22551 22552 /* 22553 * POSIX termios functions 22554 * These functions get mapped into ioctls. 22555 */ 22556 22557 22558 22559 extern speed_t cfgetospeed(const struct termios *); 22560 extern int cfsetospeed(struct termios *, speed_t); 22561 extern speed_t cfgetispeed(const struct termios *); 22562 extern int cfsetispeed(struct termios *, speed_t); 22563 extern int tcgetattr(int, struct termios *); 22564 extern int tcsetattr(int, int, const struct termios *); 22565 extern int tcsendbreak(int, int); 22566 extern int tcdrain(int); 22567 extern int tcflush(int, int); 22568 extern int tcflow(int, int); 22569 22570 22571 22572 extern pid_t tcgetsid(int); 22573 22574 22575 22576 22577 22578 /* control characters */ 22579 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22580 /* 17 through 19 reserved for future use */ 22581 22582 /* 22583 * control characters form Xenix termio.h 22584 */ 22585 22586 22587 22588 22589 22590 22591 /* S5 default control chars */ 22592 /* CINTR, CERASE and CKILL modified to SunOS traditional values */ 22593 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22594 /* input modes */ 22595 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22596 /* output modes */ 22597 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22598 /* control modes */ 22599 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22600 /* 22601 * 4.4BSD hardware flow control flags 22602 */ 22603 22604 22605 22606 22607 22608 /* line discipline 0 modes */ 22609 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22610 /* Slots reserved for 386/XENIX compatibility - keyboard control */ 22611 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22612 /* 22613 * Softcarrier ioctls 22614 */ 22615 22616 22617 22618 22619 /* termios ioctls */ 22620 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22621 /* 22622 * NTP PPS ioctls 22623 */ 22624 22625 22626 22627 22628 /* Argument filled in by TIOCGPPSEV */ 22629 struct ppsclockev { 22630 struct timeval tv; 22631 uint_t serial; 22632 }; 22633 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22634 /* termios option flags */ 22635 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22636 /* TIOC ioctls for BSD, ptys, job control and modem control */ 22637 22638 22639 22640 22641 22642 /* Slots for 386/XENIX compatibility */ 22643 /* BSD includes these ioctls in ttold.h */ 22644 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22645 /* 22646 * BSD ioctls that are not the same as XENIX are included here. 22647 * There are also some relevant ioctls from SUN/BSD sys/ttycom.h 22648 * BSD pty ioctls like TIOCPKT are not supported in SVR4. 22649 */ 22650 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22651 /* POSIX job control ioctls */ 22652 22653 22654 22655 22656 22657 22658 /* Miscellaneous */ 22659 22660 22661 /* Modem control */ 22662 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22663 /* pseudo-tty */ 22664 22665 22666 22667 22668 22669 /* Some more 386 xenix stuff */ 22670 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22671 /* Slots for 386 compatibility */ 22672 22673 22674 22675 22676 22677 22678 22679 /* 22680 * These are retained for 386/XENIX compatibility. 22681 */ 22682 22683 22684 22685 22686 22687 /* 22688 * Returns a non-zero value if there 22689 * are characters in the input queue. 22690 * 22691 * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may 22692 * have added it; 4BSD had FIONREAD, which returned the number of characters 22693 * waiting, and was supposed to work on all descriptors (i.e., every driver 22694 * should make a stab at implementing it). 22695 */ 22696 22697 22698 22699 /* 22700 * Speeds 22701 */ 22702 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 22703 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ 22704 struct winsize { 22705 unsigned short ws_row; /* rows, in characters */ 22706 unsigned short ws_col; /* columns, in character */ 22707 unsigned short ws_xpixel; /* horizontal size, pixels */ 22708 unsigned short ws_ypixel; /* vertical size, pixels */ 22709 }; 22710 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2 22711 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 22713 /* 22714 * CDDL HEADER START 22715 * 22716 * The contents of this file are subject to the terms of the 22717 * Common Development and Distribution License (the "License"). 22718 * You may not use this file except in compliance with the License. 22719 * 22720 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22721 * or http://www.opensolaris.org/os/licensing. 22722 * See the License for the specific language governing permissions 22723 * and limitations under the License. 22724 * 22725 * When distributing Covered Code, include this CDDL HEADER in each 22726 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22727 * If applicable, add the following below this CDDL HEADER, with the 22728 * fields enclosed by brackets "[]" replaced with your own identifying 22729 * information: Portions Copyright [yyyy] [name of copyright owner] 22730 * 22731 * CDDL HEADER END 22732 */ 22733 22734 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 22735 /* 22736 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22737 * 22738 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 22739 * Use is subject to license terms. 22740 * Copyright 2015 Joyent, Inc. All rights reserved. 22741 */ 22742 22743 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 22744 /* All Rights Reserved */ 22745 22746 /* 22747 * University Copyright- Copyright (c) 1982, 1986, 1988 22748 * The Regents of the University of California 22749 * All Rights Reserved 22750 * 22751 * University Acknowledgment- Portions of this document are derived from 22752 * software developed by the University of California, Berkeley, and its 22753 * contributors. 22754 */ 22755 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 22757 /* 22758 * CDDL HEADER START 22759 * 22760 * The contents of this file are subject to the terms of the 22761 * Common Development and Distribution License (the "License"). 22762 * You may not use this file except in compliance with the License. 22763 * 22764 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22765 * or http://www.opensolaris.org/os/licensing. 22766 * See the License for the specific language governing permissions 22767 * and limitations under the License. 22768 * 22769 * When distributing Covered Code, include this CDDL HEADER in each 22770 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22771 * If applicable, add the following below this CDDL HEADER, with the 22772 * fields enclosed by brackets "[]" replaced with your own identifying 22773 * information: Portions Copyright [yyyy] [name of copyright owner] 22774 * 22775 * CDDL HEADER END 22776 */ 22777 22778 /* 22779 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 22780 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 22781 */ 22782 22783 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 22784 /* All Rights Reserved */ 22785 22786 /* 22787 * University Copyright- Copyright (c) 1982, 1986, 1988 22788 * The Regents of the University of California 22789 * All Rights Reserved 22790 * 22791 * University Acknowledgment- Portions of this document are derived from 22792 * software developed by the University of California, Berkeley, and its 22793 * contributors. 22794 */ 22795 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22796 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 22797 /* 22798 * CDDL HEADER START 22799 * 22800 * The contents of this file are subject to the terms of the 22801 * Common Development and Distribution License (the "License"). 22802 * You may not use this file except in compliance with the License. 22803 * 22804 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22805 * or http://www.opensolaris.org/os/licensing. 22806 * See the License for the specific language governing permissions 22807 * and limitations under the License. 22808 * 22809 * When distributing Covered Code, include this CDDL HEADER in each 22810 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22811 * If applicable, add the following below this CDDL HEADER, with the 22812 * fields enclosed by brackets "[]" replaced with your own identifying 22813 * information: Portions Copyright [yyyy] [name of copyright owner] 22814 * 22815 * CDDL HEADER END 22816 */ 22817 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22818 /* All Rights Reserved */ 22819 22820 22821 /* 22822 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22823 * Use is subject to license terms. 22824 * 22825 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22826 * Copyright 2016 Joyent, Inc. 22827 */ 22828 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22829 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1 22830 /* 22831 * CDDL HEADER START 22832 * 22833 * The contents of this file are subject to the terms of the 22834 * Common Development and Distribution License, Version 1.0 only 22835 * (the "License"). You may not use this file except in compliance 22836 * with the License. 22837 * 22838 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22839 * or http://www.opensolaris.org/os/licensing. 22840 * See the License for the specific language governing permissions 22841 * and limitations under the License. 22842 * 22843 * When distributing Covered Code, include this CDDL HEADER in each 22844 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22845 * If applicable, add the following below this CDDL HEADER, with the 22846 * fields enclosed by brackets "[]" replaced with your own identifying 22847 * information: Portions Copyright [yyyy] [name of copyright owner] 22848 * 22849 * CDDL HEADER END 22850 */ 22851 /* 22852 * Copyright 1991 Sun Microsystems, Inc. All rights reserved. 22853 * Use is subject to license terms. 22854 */ 22855 22856 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22857 /* All Rights Reserved */ 22858 22859 22860 22861 22862 #pragma ident "%Z%%M% %I% %E% SMI" 22863 22864 22865 22866 22867 22868 /* 22869 * There are some inherent problems in having a single file 22870 * ioctl.h, with both System V and BSD flags. Introducing 22871 * BSD flags into this file creates compilation problems 22872 * with flags such as ECHO, NL1 etc., if termio.h and ioctl.h 22873 * are included by the same file. Since these two files can 22874 * be only included by System V applications, /usr/inclule/sys/ioctl.h 22875 * will be System V mode and all the BSD flags will be turned off 22876 * using #ifdef BSD_COMP. This file will also exist in 22877 * /usr/ucbinclude/sys/ioctl.h for BSD applications but without the 22878 * BSD flags turned off. System V appliactions can use ioctl.h without 22879 * any changes, System V applications requiring BSD flags should 22880 * -D BSD_COMP when compiling (and be warned about the common 22881 * flags between System V and BSD) and BSD applications should 22882 * use /usr/ucbinclude/sys/ioctl.h. 22883 * 22884 */ 22885 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 22886 /* BSD related defines */ 22887 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22888 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 22889 /* 22890 * CDDL HEADER START 22891 * 22892 * The contents of this file are subject to the terms of the 22893 * Common Development and Distribution License (the "License"). 22894 * You may not use this file except in compliance with the License. 22895 * 22896 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22897 * or http://www.opensolaris.org/os/licensing. 22898 * See the License for the specific language governing permissions 22899 * and limitations under the License. 22900 * 22901 * When distributing Covered Code, include this CDDL HEADER in each 22902 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22903 * If applicable, add the following below this CDDL HEADER, with the 22904 * fields enclosed by brackets "[]" replaced with your own identifying 22905 * information: Portions Copyright [yyyy] [name of copyright owner] 22906 * 22907 * CDDL HEADER END 22908 */ 22909 22910 /* 22911 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 22912 */ 22913 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 22914 22915 /* 22916 * C++ prefix 22917 */ 22918 22919 22920 22921 22922 22923 22924 /* function prototypes */ 22925 22926 /* PRINTFLIKE1 */ 22927 typedef void (*_z_printf_fcn_t)(char *a_format, ...); 22928 22929 /* zone list structure */ 22930 22931 typedef struct _zoneListElement_t *zoneList_t; 22932 22933 /* zone brand list structure */ 22934 22935 typedef struct _zoneBrandList zoneBrandList_t; 22936 22937 /* flag for zone locking functions */ 22938 22939 typedef unsigned long ZLOCKS_T; 22940 22941 /* flags for zone locking */ 22942 22943 22944 22945 22946 22947 22948 /* 22949 * external function definitions 22950 */ 22951 22952 /* zones.c */ 22953 22954 extern boolean_t z_zones_are_implemented(void); 22955 extern void z_set_zone_root(const char *zroot); 22956 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList, 22957 int a_zoneIndex); 22958 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList, 22959 int a_zoneIndex); 22960 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList, 22961 int a_zoneIndex, zone_state_t a_newState); 22962 extern char *z_get_zonename(void); 22963 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList, 22964 int a_zoneIndex); 22965 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList, 22966 int a_zoneIndex); 22967 extern int z_zoneExecCmdArray(int *r_status, char **r_results, 22968 char *a_inputFile, char *a_path, char *a_argv[], 22969 const char *a_zoneName, int *a_fds); 22970 extern int z_zone_exec(const char *zonename, const char *path, 22971 char *argv[], char *a_stdoutPath, 22972 char *a_stderrPath, int *a_fds); 22973 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename, 22974 char *a_userAdminFilename); 22975 extern void z_free_zone_list(zoneList_t a_zoneList); 22976 extern zoneList_t z_get_nonglobal_zone_list(void); 22977 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *); 22978 extern void z_free_brand_list(zoneBrandList_t *a_brandList); 22979 extern zoneBrandList_t *z_make_brand_list(const char *brandList, 22980 const char *delim); 22981 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 22982 extern boolean_t z_non_global_zones_exist(void); 22983 extern boolean_t z_running_in_global_zone(void); 22984 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn, 22985 _z_printf_fcn_t a_echo_debug_fcn, 22986 _z_printf_fcn_t a_progerr_fcn); 22987 extern int z_set_zone_spec(const char *zlist); 22988 extern int z_verify_zone_spec(void); 22989 extern boolean_t z_on_zone_spec(const char *zonename); 22990 extern boolean_t z_global_only(void); 22991 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 22992 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags); 22993 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags); 22994 extern char *z_zlist_get_zonename(zoneList_t a_zoneList, 22995 int a_zoneId); 22996 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList, 22997 int a_zoneId); 22998 extern char *z_zlist_get_scratch(zoneList_t a_zoneList, 22999 int a_zoneId); 23000 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint); 23001 extern boolean_t z_mount_in_lz(char **r_lzMountPoint, 23002 char **r_lzRootPath, 23003 char *a_zoneName, char *a_gzPath, 23004 char *a_mountPointPrefix); 23005 extern boolean_t z_is_zone_branded(char *zoneName); 23006 extern boolean_t z_is_zone_brand_in_list(char *zoneName, 23007 zoneBrandList_t *brands); 23008 extern boolean_t z_zones_are_implemented(void); 23009 23010 /* zones_exec.c */ 23011 extern int z_ExecCmdArray(int *r_status, char **r_results, 23012 char *a_inputFile, char *a_cmd, char **a_args); 23013 /*VARARGS*/ 23014 extern int z_ExecCmdList(int *r_status, char **r_results, 23015 char *a_inputFile, char *a_cmd, ...); 23016 23017 /* zones_paths.c */ 23018 extern char *z_make_zone_root(char *); 23019 extern void z_path_canonize(char *file); 23020 extern void z_canoninplace(char *file); 23021 23022 /* zones_lofs.c */ 23023 extern void z_destroyMountTable(void); 23024 extern int z_createMountTable(void); 23025 extern int z_isPathWritable(const char *); 23026 extern void z_resolve_lofs(char *path, size_t); 23027 23028 /* zones_states.c */ 23029 extern int UmountAllZones(char *mntpnt); 23030 23031 /* 23032 * C++ postfix 23033 */ 23034 # 49 "../common/instzones_lib.h" 2 23035 23036 23037 23038 /* 23039 * C++ prefix 23040 */ 23041 23042 23043 23044 23045 23046 /* constants */ 23047 23048 23049 /* macros */ 23050 23051 /* 23052 * argument array processing type 23053 */ 23054 23055 /* 23056 * This is the "argument array" definition that is returned by _z_new_args 23057 * and is used by _z_add_args, _z_free_args, etc. 23058 */ 23059 23060 struct _argArray_t { 23061 long _aaNumArgs; /* number of arguments set */ 23062 long _aaMaxArgs; /* number of arguments allocated */ 23063 char **_aaArgs; /* actual arguments */ 23064 }; 23065 23066 typedef struct _argArray_t argArray_t; 23067 23068 /* 23069 * lock objects 23070 */ 23071 23072 /* 23073 * this allows a root path to be prepended to a lock object; e.g. 23074 * rootpath.%s/zone.%s/... 23075 */ 23076 23077 23078 /* this locks a single zone (zone.name) */ 23079 23080 23081 /* this locks all zones */ 23082 23083 23084 /* this locks all packages, in all zones */ 23085 23086 23087 23088 23089 23090 /* paths to commands executed by this module */ 23091 23092 23093 23094 23095 /* max message size for program output functions (echo, echo debug, progerr) */ 23096 23097 23098 23099 /* maximum number of retries when waiting for lock */ 23100 23101 23102 23103 /* delay (in seconds) between retries when waiting for lock */ 23104 23105 23106 23107 /* Size of buffer increments when reading from pipe */ 23108 23109 23110 23111 /* Maximum number of arguments to pkg_ExecCmdList */ 23112 23113 23114 23115 /* 23116 * These dynamic libraries are required in order to use the zones 23117 * functionality - if these libraries are not available at runtime, 23118 * then zones are assumed to NOT be available, and it is assumed that 23119 * the program is running in the global zone with no non-global zones. 23120 */ 23121 # 147 "../common/instzones_lib.h" 23122 /* 23123 * Environment values used when running commands within a non-global zone 23124 */ 23125 23126 /* SHELL= */ 23127 23128 23129 23130 /* PATH= */ 23131 23132 23133 23134 /* error codes */ 23135 23136 23137 /* 23138 * zone brand list structure 23139 */ 23140 23141 struct _zoneBrandList { 23142 char *string_ptr; 23143 struct _zoneBrandList *next; 23144 }; 23145 23146 /* 23147 * zone status structure - used to retrieve and hold status of zones 23148 */ 23149 23150 typedef unsigned long _zone_status_t; 23151 23152 struct _zoneListElement_t { 23153 char *_zlName; 23154 char *_zlPath; 23155 char *_zlScratchName; 23156 char *_zlLockObjects; 23157 /* 23158 * the install "state" refers to the zone states listed in 23159 * /usr/include/libzonecfg.h that is stored in the zone_state_t 23160 * structure and returned from getzoneent_private() - such as: 23161 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE, 23162 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED, 23163 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN. 23164 */ 23165 zone_state_t _zlOrigInstallState; 23166 zone_state_t _zlCurrInstallState; 23167 /* 23168 * the kernel "status" refers to the zone status listed in 23169 * /usr/include/sys/zone.h, returned by zone_get_state(), 23170 * and defined in the zone_status_t enum - such as: 23171 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING, 23172 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY, 23173 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD. 23174 */ 23175 zone_status_t _zlOrigKernelStatus; 23176 zone_status_t _zlCurrKernelStatus; 23177 /* 23178 * this is an internal state recorded about the zone (ZSF_xxx). 23179 */ 23180 _zone_status_t _zlStatus; 23181 }; 23182 23183 typedef struct _zoneListElement_t zoneListElement_t; 23184 23185 /* bits used in the _zoneListElement _zlStatus variable */ 23186 23187 23188 23189 23190 /* 23191 * User-specified list of zones. 23192 */ 23193 23194 typedef struct zone_spec_s { 23195 struct zone_spec_s *zl_next; 23196 boolean_t zl_used; 23197 char zl_name[64]; 23198 } zone_spec_t; 23199 23200 /* 23201 * The global data structure used to hold all of the global (extern) data 23202 * used by this library. 23203 * 23204 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <-- 23205 * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <-- 23206 */ 23207 23208 struct _z_global_data_t { 23209 char *_z_ObjectLocks; /* object locks held */ 23210 char *_z_root_dir; /* root for zone lib fctns */ 23211 int _z_SigReceived; /* received signal count */ 23212 pid_t _z_ChildProcessId; /* child to propagate sigs to */ 23213 zone_spec_t *_zone_spec; /* zones to operate on */ 23214 _z_printf_fcn_t _z_echo; /* operational message fcn */ 23215 _z_printf_fcn_t _z_echo_debug; /* debug message fcn */ 23216 _z_printf_fcn_t _z_progerr; /* program error fcn */ 23217 }; 23218 23219 typedef struct _z_global_data_t z_global_data_t; 23220 23221 /* 23222 * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined, 23223 * instzones_lib.h will define the z_global_data structure. 23224 * Otherwise an extern to the structure is inserted. 23225 * 23226 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <-- 23227 * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <-- 23228 */ 23229 # 272 "../common/instzones_lib.h" 23230 /* define structure extern */ 23231 23232 extern z_global_data_t _z_global_data; 23233 23234 23235 23236 /* function prototypes */ 23237 23238 /* 23239 * The following functions can be used by other libs, but not 23240 * by applications. 23241 */ 23242 23243 /* ---> zones_states.c */ 23244 23245 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem); 23246 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem); 23247 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem); 23248 int UmountAllZones(char *mntpnt); 23249 void *_z_calloc(size_t size); 23250 void *_z_malloc(size_t size); 23251 void *_z_realloc(void *ptr, size_t size); 23252 void *_z_strdup(char *str); 23253 23254 /* ---> zones_utils.c */ 23255 23256 /*PRINTFLIKE1*/ 23257 void _z_program_error(char *fmt, ...); 23258 /*PRINTFLIKE1*/ 23259 void _z_echo(char *fmt, ...); 23260 /*PRINTFLIKE1*/ 23261 void _z_echoDebug(char *a_fmt, ...); 23262 int _z_is_directory(char *path); 23263 boolean_t _z_running_in_global_zone(void); 23264 boolean_t _z_zones_are_implemented(void); 23265 void _z_sig_trap(int a_signo); 23266 int _z_close_file_descriptors(void *a_fds, int a_fd); 23267 boolean_t _z_brands_are_implemented(void); 23268 23269 23270 /* ---> zones_locks.c */ 23271 23272 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result, 23273 char *a_lockObject); 23274 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName, 23275 char *a_lock, pid_t a_pid, boolean_t a_wait); 23276 boolean_t _z_lock_zone(zoneListElement_t *a_zlst, 23277 ZLOCKS_T a_lflags); 23278 boolean_t _z_lock_zone_object(char **r_objectLocks, 23279 char *a_zoneName, char *a_lockObject, 23280 pid_t a_pid, char *a_waitingMsg, 23281 char *a_busyMsg); 23282 boolean_t _z_release_lock(char *a_zoneName, char *a_lock, 23283 char *a_key, boolean_t a_wait); 23284 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst, 23285 ZLOCKS_T a_lflags); 23286 boolean_t _z_unlock_zone_object(char **r_objectLocks, 23287 char *a_zoneName, char *a_lockObject, 23288 char *a_errMsg); 23289 23290 /* ---> zones_args.c */ 23291 23292 void _z_free_args(argArray_t *a_args); 23293 argArray_t *_z_new_args(int initialCount); 23294 /*PRINTFLIKE2*/ 23295 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...); 23296 int _z_get_argc(argArray_t *a_args); 23297 char **_z_get_argv(argArray_t *a_args); 23298 23299 /* ---> zones_str.c */ 23300 23301 boolean_t _z_strContainsToken(char *a_string, char *a_token, 23302 char *a_separators); 23303 char *_z_strGetToken(char *r_sep, char *a_string, 23304 int a_index, char *a_separators); 23305 void _z_strRemoveLeadingWhitespace(char **a_str); 23306 void _z_strGetToken_r(char *r_sep, char *a_string, 23307 int a_index, char *a_separators, char *a_buf, 23308 int a_bufLen); 23309 void _z_strAddToken(char **a_old, char *a_new, 23310 char a_separator); 23311 void _z_strRemoveToken(char **r_string, char *a_token, 23312 char *a_separators, int a_index); 23313 /*PRINTFLIKE3*/ 23314 void _z_strPrintf_r(char *a_buf, int a_bufLen, 23315 char *a_format, ...); 23316 /*PRINTFLIKE1*/ 23317 char *_z_strPrintf(char *a_format, ...); 23318 23319 /* ---> zones_exec.c */ 23320 23321 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile, 23322 char *a_path, char *a_argv[], const char *a_zoneName, 23323 int *a_fds); 23324 int _zexec(const char *a_zoneName, 23325 const char *path, char *argv[]); 23326 char *_zexec_add_env(char *name, char *value); 23327 int _zexec_init_template(void); 23328 char **_zexec_prep_env(); 23329 23330 /* 23331 * C++ postfix 23332 */ 23333 # 78 "../common/zones_utils.c" 2 23334 # 1 "../common/zones_strings.h" 1 23335 /* 23336 * CDDL HEADER START 23337 * 23338 * The contents of this file are subject to the terms of the 23339 * Common Development and Distribution License (the "License"). 23340 * You may not use this file except in compliance with the License. 23341 * 23342 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23343 * or http://www.opensolaris.org/os/licensing. 23344 * See the License for the specific language governing permissions 23345 * and limitations under the License. 23346 * 23347 * When distributing Covered Code, include this CDDL HEADER in each 23348 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23349 * If applicable, add the following below this CDDL HEADER, with the 23350 * fields enclosed by brackets "[]" replaced with your own identifying 23351 * information: Portions Copyright [yyyy] [name of copyright owner] 23352 * 23353 * CDDL HEADER END 23354 */ 23355 /* 23356 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 23357 */ 23358 23359 23360 23361 23362 23363 23364 23365 /* 23366 * Module: zones_strings.h 23367 * Group: libinstzones 23368 * Description: This header contains strings used in libinstzones 23369 * library modules. 23370 */ 23371 23372 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 23373 /* 23374 * CDDL HEADER START 23375 * 23376 * The contents of this file are subject to the terms of the 23377 * Common Development and Distribution License (the "License"). 23378 * You may not use this file except in compliance with the License. 23379 * 23380 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23381 * or http://www.opensolaris.org/os/licensing. 23382 * See the License for the specific language governing permissions 23383 * and limitations under the License. 23384 * 23385 * When distributing Covered Code, include this CDDL HEADER in each 23386 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23387 * If applicable, add the following below this CDDL HEADER, with the 23388 * fields enclosed by brackets "[]" replaced with your own identifying 23389 * information: Portions Copyright [yyyy] [name of copyright owner] 23390 * 23391 * CDDL HEADER END 23392 */ 23393 /* 23394 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 23395 * 23396 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23397 * Use is subject to license terms. 23398 */ 23399 # 39 "../common/zones_strings.h" 2 23400 23401 /* 23402 * C++ prefix 23403 */ 23404 23405 23406 23407 23408 23409 /* constants */ 23410 # 58 "../common/zones_strings.h" 23411 /* 23412 * message strings 23413 */ 23414 23415 /* BEGIN CSTYLED */ 23416 23417 /* 23418 * I18N: these messages are debugging message and are only displayed 23419 * when special debugging output has been enabled - these messages 23420 * will never be displayed during normal product usage 23421 */ 23422 # 121 "../common/zones_strings.h" 23423 /* 23424 * I18N: these messages are error messages that can be displayed 23425 * during the normal usage of the products 23426 */ 23427 # 189 "../common/zones_strings.h" 23428 /* 23429 * I18N: these are messages that can be displayed during the normal 23430 * usage of the products 23431 */ 23432 23433 23434 23435 23436 23437 23438 23439 /* 23440 * I18N: these messages are warning messages that can be displayed 23441 * during the normal usage of the products 23442 */ 23443 23444 23445 23446 23447 /* END CSTYLED */ 23448 23449 /* 23450 * C++ postfix 23451 */ 23452 # 79 "../common/zones_utils.c" 2 23453 23454 /* 23455 * Private structures 23456 */ 23457 23458 /* 23459 * these dynamic libraries are required in order to use the branded zones 23460 * functionality. If these libraries are not available at runtime, 23461 * then the zones we find are assumed to be native zones. 23462 */ 23463 23464 23465 23466 23467 /* 23468 * Library Function Prototypes 23469 */ 23470 23471 /* 23472 * Local Function Prototypes 23473 */ 23474 23475 static void error_and_exit(int error_num); 23476 23477 static void (*fatal_err_func)() = &error_and_exit; 23478 23479 /* ----------------------- private functions -------------------------- */ 23480 /* 23481 * error_and_exit() 23482 * Abort routine. An exit code of '2' is used by all applications 23483 * to indicate a non-recoverable fatal error. 23484 * Parameters: 23485 * error_num - error index number: 23486 * ERR_MALLOC_FAIL 23487 * Return: 23488 * none 23489 * Status: 23490 * private 23491 */ 23492 static void 23493 error_and_exit(int error_num) 23494 { 23495 if (error_num == -50) 23496 (void) fprintf((&__iob[2]), "Allocation of memory failed\n"); 23497 else 23498 (void) fprintf((&__iob[2]), "ERROR: code %d\n", error_num); 23499 exit(2); 23500 } 23501 23502 /* 23503 * ***************************************************************************** 23504 * global external (public) functions 23505 * ***************************************************************************** 23506 */ 23507 23508 /* 23509 * Name: _z_close_file_descriptors 23510 * Description: close a file descriptor "a_fd" not in the list "a_fds" 23511 * This function is called from the fdwalk() library function. 23512 * If the file descriptor passed in is NOT in the list passed in, 23513 * the file is closed. 23514 * Arguments: a_fds - [RO, *RO] - (void *) 23515 * Pointer to list of file descriptors to keep open 23516 * a_fd - [RO, *RO] - (int) 23517 * File descriptor to check 23518 * Returns: int 23519 * 0 - success 23520 */ 23521 23522 int 23523 _z_close_file_descriptors(void *a_fds, int a_fd) 23524 { 23525 int *fds; 23526 int i; 23527 23528 /* do not close standard input, output, or error file descriptors */ 23529 23530 if (a_fd == 0 || a_fd == 1 || 23531 a_fd == 2) { 23532 return (0); 23533 } 23534 23535 /* if no file descriptor retention list, close this file */ 23536 23537 if (a_fds == (void *)0L) { 23538 (void) close(a_fd); 23539 return (0); 23540 } 23541 23542 /* 23543 * retention list provided, skip this descriptor if its in the list 23544 */ 23545 23546 fds = (int *)a_fds; 23547 23548 for (i = 0; fds[i] != -1; i++) { 23549 if (fds[i] == a_fd) { 23550 return (0); 23551 } 23552 } 23553 23554 /* this descriptor not in retention list - close this file */ 23555 23556 (void) close(a_fd); 23557 23558 return (0); 23559 } 23560 23561 /* 23562 * Name: _z_echo 23563 * Synopsis: Output an interactive message if interaction is enabled 23564 * Description: Main method for outputting an interactive message; call to 23565 * output interactive message if interation has not been disabled 23566 * by a previous call to echoSetFlag(0). 23567 * Arguments: format - [RO, RO*] (char *) 23568 * printf-style format for debugging message to be output 23569 * VARG_LIST - [RO] (?) 23570 * arguments as appropriate to 'format' specified 23571 * Returns: void 23572 */ 23573 23574 /*PRINTFLIKE1*/ 23575 void 23576 _z_echo(char *a_format, ...) 23577 { 23578 va_list ap; 23579 char message[4096]; 23580 23581 /* entry assertions */ 23582 23583 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 209), 0)); 23584 23585 /* return if no progerr function registered */ 23586 23587 if (_z_global_data._z_echo == 0L) { 23588 return; 23589 } 23590 23591 /* capture message */ 23592 23593 __builtin_va_start(ap, a_format); 23594 (void) vsnprintf(message, sizeof (message), a_format, ap); 23595 __builtin_va_end(ap); 23596 23597 /* pass message to registered function */ 23598 23599 (_z_global_data._z_echo)("%s", message); 23600 } 23601 23602 /* 23603 * Name: _z_echoDebug 23604 * Synopsis: Output a debugging message if debugging is enabled 23605 * Description: Main method for outputting a debugging message; call to 23606 * output debugging message if debugging has been enabled 23607 * by a previous call to _z_echoDebugSetFlag(1). 23608 * Arguments: format - [RO, RO*] (char *) 23609 * printf-style format for debugging message to be output 23610 * VARG_LIST - [RO] (?) 23611 * arguments as appropriate to 'format' specified 23612 * Returns: void 23613 * NOTE: format of message will be: 23614 * # [ aaa bbb ccc ] message 23615 * where: aaa - process i.d. 23616 * bbb - zone i.d. 23617 * ccc - name of program 23618 * for example: 23619 * # [ 25685 0 pkgadd ] unable to get package list 23620 */ 23621 23622 /*PRINTFLIKE1*/ 23623 void 23624 _z_echoDebug(char *a_format, ...) 23625 { 23626 va_list ap; 23627 char message[4096]; 23628 23629 /* entry assertions */ 23630 23631 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 257), 0)); 23632 23633 /* return if no progerr function registered */ 23634 23635 if (_z_global_data._z_echo_debug == 0L) { 23636 return; 23637 } 23638 23639 /* capture message */ 23640 23641 __builtin_va_start(ap, a_format); 23642 (void) vsnprintf(message, sizeof (message), a_format, ap); 23643 __builtin_va_end(ap); 23644 23645 /* pass message to registered function */ 23646 23647 (_z_global_data._z_echo_debug)("%s", message); 23648 } 23649 23650 /* 23651 * Name: _z_is_directory 23652 * Description: determine if specified path exists and is a directory 23653 * Arguments: path - pointer to string representing the path to verify 23654 * returns: 0 - directory exists 23655 * 1 - directory does not exist or is not a directory 23656 * NOTE: errno is set appropriately 23657 */ 23658 23659 int 23660 _z_is_directory(char *path) 23661 { 23662 struct stat statbuf; 23663 23664 /* entry assertions */ 23665 23666 (void)((path != 0L) || (__assert("path != NULL", "../common/zones_utils.c", 292), 0)); 23667 (void)((*path != '\0') || (__assert("*path != '\\0'", "../common/zones_utils.c", 293), 0)); 23668 23669 /* return error if path does not exist */ 23670 23671 if (stat(path, &statbuf) != 0) { 23672 return (1); 23673 } 23674 23675 /* return error if path is not a directory */ 23676 23677 if ((statbuf.st_mode & 0xF000) != 0x4000) { 23678 (*(___errno())) = 20; 23679 return (1); 23680 } 23681 23682 /* path exists and is a directory */ 23683 23684 return (0); 23685 } 23686 23687 /* 23688 * Name: _z_pluginCatchSigint 23689 * Synopsis: SIGINT/SIGHUP interrupt handler 23690 * Description: Catch the "SIGINT" and "SIGHUP" signals: 23691 * -> increment _z_SigReceived global variable 23692 * -> propagate signal to "_z_ChildProcessId" if registered (!= -1) 23693 * Arguments: signo - [RO, *RO] - (int) 23694 * Signal number that was caught 23695 * Returns: void 23696 */ 23697 23698 void 23699 _z_sig_trap(int a_signo) 23700 { 23701 /* bump signals received count */ 23702 23703 _z_global_data._z_SigReceived++; 23704 23705 /* if child process registered, propagate signal to child */ 23706 23707 if (_z_global_data._z_ChildProcessId > 0) { 23708 (void) kill(_z_global_data._z_ChildProcessId, a_signo); 23709 } 23710 } 23711 23712 /* 23713 * Name: _z_program_error 23714 * Description: Output an error message to the appropriate destinations 23715 * Arguments: format - [RO, RO*] (char *) 23716 * printf-style format for debugging message to be output 23717 * VARG_LIST - [RO] (?) 23718 * arguments as appropriate to 'format' specified 23719 * Returns: void 23720 * NOTE: format of message will be: 23721 * [aaa: ] ERROR: message 23722 * where: aaa - program name (if set) 23723 * message - results of format and arguments 23724 * for example: 23725 * ERROR: unable to get package list 23726 */ 23727 23728 /*PRINTFLIKE1*/ 23729 void 23730 _z_program_error(char *a_format, ...) 23731 { 23732 va_list ap; 23733 char message[4096]; 23734 23735 /* entry assertions */ 23736 23737 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_utils.c", 363), 0)); 23738 23739 /* return if no progerr function registered */ 23740 23741 if (_z_global_data._z_progerr == 0L) { 23742 return; 23743 } 23744 23745 /* capture message */ 23746 23747 __builtin_va_start(ap, a_format); 23748 (void) vsnprintf(message, sizeof (message), a_format, ap); 23749 __builtin_va_end(ap); 23750 23751 /* pass message to registered function */ 23752 23753 (_z_global_data._z_progerr)(dgettext(TEXT_DOMAIN, "ERROR: %s"), message); 23754 } 23755 23756 /* 23757 * Name: _z_running_in_global_zone 23758 * Synopsis: Determine if this process is running in the global zone 23759 * Arguments: void 23760 * Returns: boolean_t 23761 * == B_TRUE - this process is running in the global zone 23762 * == B_FALSE - this process is running in a nonglobal zone 23763 */ 23764 23765 boolean_t 23766 _z_running_in_global_zone(void) 23767 { 23768 zoneid_t zoneid = (zoneid_t)-1; 23769 23770 /* 23771 * if zones are not implemented, there is no way to tell if zones 23772 * are supported or not - in this case, we can only be running in the 23773 * global zone (since non-global zones cannot exist) so return TRUE 23774 */ 23775 23776 if (z_zones_are_implemented() == B_FALSE) { 23777 return (B_TRUE); 23778 } 23779 23780 /* get the zone i.d. of the current zone */ 23781 23782 zoneid = getzoneid(); 23783 23784 /* return TRUE if this is the global zone i.d. */ 23785 23786 if (zoneid == 0) { 23787 return (B_TRUE); 23788 } 23789 23790 /* return FALSE - not in the global zone */ 23791 23792 return (B_FALSE); 23793 } 23794 23795 /* 23796 * Name: _z_zones_are_implemented 23797 * Synopsis: Determine if zones are supported by the current system 23798 * Arguments: void 23799 * Returns: boolean_t 23800 * == B_TRUE - zones are supported 23801 * == B_FALSE - zones are not supported 23802 */ 23803 23804 boolean_t 23805 _z_zones_are_implemented(void) 23806 { 23807 void *libptr = 0L; 23808 23809 /* locate zone cfg library */ 23810 23811 libptr = dlopen("libzonecfg.so", 0x00002|0x00100); 23812 if (libptr == (void *)0L) { 23813 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libzonecfg.so", dlerror()); 23814 libptr = dlopen("libzonecfg.so.1", 0x00002|0x00100); 23815 } 23816 23817 /* return false if library not available */ 23818 23819 if (libptr == (void *)0L) { 23820 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libzonecfg.so.1", 23821 dlerror()); 23822 return (B_FALSE); 23823 } 23824 23825 /* library available - close handle */ 23826 23827 (void) dlclose(libptr); 23828 23829 /* locate contract filesystem library */ 23830 23831 libptr = dlopen("libcontract.so", 0x00002|0x00100); 23832 if (libptr == (void *)0L) { 23833 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libcontract.so", 23834 dlerror()); 23835 libptr = dlopen("libcontract.so.1", 0x00002|0x00100); 23836 } 23837 23838 /* return false if library not available */ 23839 23840 if (libptr == (void *)0L) { 23841 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libcontract.so.1", 23842 dlerror()); 23843 return (B_FALSE); 23844 } 23845 23846 /* library available - close handle */ 23847 23848 (void) dlclose(libptr); 23849 23850 /* return success */ 23851 23852 return (B_TRUE); 23853 } 23854 23855 boolean_t 23856 _z_brands_are_implemented(void) 23857 { 23858 void *libptr; 23859 23860 /* locate brand library */ 23861 23862 libptr = dlopen("libbrand.so", 0x00002|0x00100); 23863 if (libptr == 0L) { 23864 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libbrand.so", dlerror()); 23865 libptr = dlopen("libbrand.so.1", 0x00002|0x00100); 23866 } 23867 23868 /* return false if library not available */ 23869 23870 if (libptr == 0L) { 23871 _z_echoDebug(dgettext(TEXT_DOMAIN, "unable to dlopen library <%s>: %s"), "libbrand.so.1", dlerror()); 23872 return (B_FALSE); 23873 } 23874 23875 /* library available - close handle */ 23876 23877 (void) dlclose(libptr); 23878 23879 /* return success */ 23880 23881 return (B_TRUE); 23882 } 23883 23884 /* 23885 * z_calloc() 23886 * Allocate 'size' bytes from the heap using calloc() 23887 * Parameters: 23888 * size - number of bytes to allocate 23889 * Return: 23890 * NULL - calloc() failure 23891 * void * - pointer to allocated structure 23892 * Status: 23893 * public 23894 */ 23895 void * 23896 _z_calloc(size_t size) 23897 { 23898 void * tmp; 23899 23900 if ((tmp = (void *) malloc(size)) == 0L) { 23901 fatal_err_func(-50); 23902 return (0L); 23903 } 23904 23905 (void) memset(tmp, 0, size); 23906 return (tmp); 23907 } 23908 23909 /* 23910 * z_malloc() 23911 * Alloc 'size' bytes from heap using malloc() 23912 * Parameters: 23913 * size - number of bytes to malloc 23914 * Return: 23915 * NULL - malloc() failure 23916 * void * - pointer to allocated structure 23917 * Status: 23918 * public 23919 */ 23920 void * 23921 _z_malloc(size_t size) 23922 { 23923 void *tmp; 23924 23925 if ((tmp = (void *) malloc(size)) == 0L) { 23926 fatal_err_func(-50); 23927 return (0L); 23928 } else 23929 return (tmp); 23930 } 23931 23932 /* 23933 * _z_realloc() 23934 * Calls realloc() with the specfied parameters. _z_realloc() 23935 * checks for realloc failures and adjusts the return value 23936 * automatically. 23937 * Parameters: 23938 * ptr - pointer to existing data block 23939 * size - number of bytes additional 23940 * Return: 23941 * NULL - realloc() failed 23942 * void * - pointer to realloc'd structured 23943 * Status: 23944 * public 23945 */ 23946 void * 23947 _z_realloc(void *ptr, size_t size) 23948 { 23949 void *tmp; 23950 23951 if ((tmp = (void *)realloc(ptr, size)) == (void *)0L) { 23952 fatal_err_func(-50); 23953 return ((void *)0L); 23954 } else 23955 return (tmp); 23956 } 23957 23958 /* 23959 * z_strdup() 23960 * Allocate space for the string from the heap, copy 'str' into it, 23961 * and return a pointer to it. 23962 * Parameters: 23963 * str - string to duplicate 23964 * Return: 23965 * NULL - duplication failed or 'str' was NULL 23966 * char * - pointer to newly allocated/initialized structure 23967 * Status: 23968 * public 23969 */ 23970 void * 23971 _z_strdup(char *str) 23972 { 23973 char *tmp; 23974 23975 if (str == 0L) 23976 return ((char *)0L); 23977 23978 if ((tmp = strdup(str)) == 0L) { 23979 fatal_err_func(-50); 23980 return ((char *)0L); 23981 } else 23982 return (tmp); 23983 } 23984