1 # 1 "../common/zones_lofs.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "../common/zones_lofs.c" 5 /* 6 * CDDL HEADER START 7 * 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License (the "License"). 10 * You may not use this file except in compliance with the License. 11 * 12 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 * or http://www.opensolaris.org/os/licensing. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 * If applicable, add the following below this CDDL HEADER, with the 20 * fields enclosed by brackets "[]" replaced with your own identifying 21 * information: Portions Copyright [yyyy] [name of copyright owner] 22 * 23 * CDDL HEADER END 24 */ 25 26 /* 27 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 28 * Use is subject to license terms. 29 */ 30 31 32 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 33 /* 34 * CDDL HEADER START 35 * 36 * The contents of this file are subject to the terms of the 37 * Common Development and Distribution License (the "License"). 38 * You may not use this file except in compliance with the License. 39 * 40 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 41 * or http://www.opensolaris.org/os/licensing. 42 * See the License for the specific language governing permissions 43 * and limitations under the License. 44 * 45 * When distributing Covered Code, include this CDDL HEADER in each 46 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 47 * If applicable, add the following below this CDDL HEADER, with the 48 * fields enclosed by brackets "[]" replaced with your own identifying 49 * information: Portions Copyright [yyyy] [name of copyright owner] 50 * 51 * CDDL HEADER END 52 */ 53 54 /* 55 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 56 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 57 */ 58 59 /* Copyright (c) 1988 AT&T */ 60 /* All Rights Reserved */ 61 62 /* 63 * User-visible pieces of the ANSI C standard I/O package. 64 */ 65 66 67 68 69 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 70 /* 71 * CDDL HEADER START 72 * 73 * The contents of this file are subject to the terms of the 74 * Common Development and Distribution License (the "License"). 75 * You may not use this file except in compliance with the License. 76 * 77 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 78 * or http://www.opensolaris.org/os/licensing. 79 * See the License for the specific language governing permissions 80 * and limitations under the License. 81 * 82 * When distributing Covered Code, include this CDDL HEADER in each 83 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 84 * If applicable, add the following below this CDDL HEADER, with the 85 * fields enclosed by brackets "[]" replaced with your own identifying 86 * information: Portions Copyright [yyyy] [name of copyright owner] 87 * 88 * CDDL HEADER END 89 */ 90 91 /* 92 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 93 * Copyright 2016 Joyent, Inc. 94 * 95 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 96 * Use is subject to license terms. 97 */ 98 99 100 101 102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 103 /* 104 * CDDL HEADER START 105 * 106 * The contents of this file are subject to the terms of the 107 * Common Development and Distribution License, Version 1.0 only 108 * (the "License"). You may not use this file except in compliance 109 * with the License. 110 * 111 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 112 * or http://www.opensolaris.org/os/licensing. 113 * See the License for the specific language governing permissions 114 * and limitations under the License. 115 * 116 * When distributing Covered Code, include this CDDL HEADER in each 117 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 118 * If applicable, add the following below this CDDL HEADER, with the 119 * fields enclosed by brackets "[]" replaced with your own identifying 120 * information: Portions Copyright [yyyy] [name of copyright owner] 121 * 122 * CDDL HEADER END 123 */ 124 /* 125 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 126 * Use is subject to license terms. 127 */ 128 /* 129 * Copyright 2015 EveryCity Ltd. All rights reserved. 130 */ 131 132 133 134 135 /* 136 * This file contains definitions designed to enable different compilers 137 * to be used harmoniously on Solaris systems. 138 */ 139 140 141 142 143 144 /* 145 * Allow for version tests for compiler bugs and features. 146 */ 147 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 148 /* 149 * analogous to lint's PRINTFLIKEn 150 */ 151 152 153 154 155 156 /* 157 * Handle the kernel printf routines that can take '%b' too 158 */ 159 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 160 /* 161 * This one's pretty obvious -- the function never returns 162 */ 163 164 165 /* 166 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 167 * behaviour. 168 * 169 * Should only be used on 'extern inline' definitions for GCC. 170 */ 171 172 173 174 175 176 177 /* 178 * The function has control flow such that it may return multiple times (in 179 * the manner of setjmp or vfork) 180 */ 181 182 183 184 185 186 187 /* 188 * This is an appropriate label for functions that do not 189 * modify their arguments, e.g. strlen() 190 */ 191 192 193 /* 194 * This is a stronger form of __pure__. Can be used for functions 195 * that do not modify their arguments and don't depend on global 196 * memory. 197 */ 198 199 200 201 202 /* 203 * This attribute, attached to a variable, means that the variable is meant to 204 * be possibly unused. GCC will not produce a warning for this variable. 205 */ 206 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 207 /* 208 * Shorthand versions for readability 209 */ 210 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 211 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 212 /* 213 * CDDL HEADER START 214 * 215 * The contents of this file are subject to the terms of the 216 * Common Development and Distribution License (the "License"). 217 * You may not use this file except in compliance with the License. 218 * 219 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 220 * or http://www.opensolaris.org/os/licensing. 221 * See the License for the specific language governing permissions 222 * and limitations under the License. 223 * 224 * 225 * When distributing Covered Code, include this CDDL HEADER in each 226 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 227 * If applicable, add the following below this CDDL HEADER, with the 228 * fields enclosed by brackets "[]" replaced with your own identifying 229 * information: Portions Copyright [yyyy] [name of copyright owner] 230 * 231 * CDDL HEADER END 232 */ 233 234 /* 235 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 236 * Use is subject to license terms. 237 * Copyright 2016 Joyent, Inc. 238 */ 239 240 241 242 243 /* 244 * This header file serves to group a set of well known defines and to 245 * set these for each instruction set architecture. These defines may 246 * be divided into two groups; characteristics of the processor and 247 * implementation choices for Solaris on a processor. 248 * 249 * Processor Characteristics: 250 * 251 * _LITTLE_ENDIAN / _BIG_ENDIAN: 252 * The natural byte order of the processor. A pointer to an int points 253 * to the least/most significant byte of that int. 254 * 255 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 256 * The processor specific direction of stack growth. A push onto the 257 * stack increases/decreases the stack pointer, so it stores data at 258 * successively higher/lower addresses. (Stackless machines ignored 259 * without regrets). 260 * 261 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 262 * A pointer to a long long points to the most/least significant long 263 * within that long long. 264 * 265 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 266 * The C compiler assigns bit fields from the high/low to the low/high end 267 * of an int (most to least significant vs. least to most significant). 268 * 269 * _IEEE_754: 270 * The processor (or supported implementations of the processor) 271 * supports the ieee-754 floating point standard. No other floating 272 * point standards are supported (or significant). Any other supported 273 * floating point formats are expected to be cased on the ISA processor 274 * symbol. 275 * 276 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 277 * The C Compiler implements objects of type `char' as `unsigned' or 278 * `signed' respectively. This is really an implementation choice of 279 * the compiler writer, but it is specified in the ABI and tends to 280 * be uniform across compilers for an instruction set architecture. 281 * Hence, it has the properties of a processor characteristic. 282 * 283 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 284 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 285 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 286 * The ABI defines alignment requirements of each of the primitive 287 * object types. Some, if not all, may be hardware requirements as 288 * well. The values are expressed in "byte-alignment" units. 289 * 290 * _MAX_ALIGNMENT: 291 * The most stringent alignment requirement as specified by the ABI. 292 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 293 * 294 * _MAX_ALIGNMENT_TYPE: 295 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 296 * 297 * _ALIGNMENT_REQUIRED: 298 * True or false (1 or 0) whether or not the hardware requires the ABI 299 * alignment. 300 * 301 * _LONG_LONG_ALIGNMENT_32 302 * The 32-bit ABI supported by a 64-bit kernel may have different 303 * alignment requirements for primitive object types. The value of this 304 * identifier is expressed in "byte-alignment" units. 305 * 306 * _HAVE_CPUID_INSN 307 * This indicates that the architecture supports the 'cpuid' 308 * instruction as defined by Intel. (Intel allows other vendors 309 * to extend the instruction for their own purposes.) 310 * 311 * 312 * Implementation Choices: 313 * 314 * _ILP32 / _LP64: 315 * This specifies the compiler data type implementation as specified in 316 * the relevant ABI. The choice between these is strongly influenced 317 * by the underlying hardware, but is not absolutely tied to it. 318 * Currently only two data type models are supported: 319 * 320 * _ILP32: 321 * Int/Long/Pointer are 32 bits. This is the historical UNIX 322 * and Solaris implementation. Due to its historical standing, 323 * this is the default case. 324 * 325 * _LP64: 326 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 327 * implementation for 64-bit ABIs such as SPARC V9. 328 * 329 * _I32LPx: 330 * A compilation environment where 'int' is 32-bit, and 331 * longs and pointers are simply the same size. 332 * 333 * In all cases, Char is 8 bits and Short is 16 bits. 334 * 335 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 336 * This specifies the form of the disk VTOC (or label): 337 * 338 * _SUNOS_VTOC_8: 339 * This is a VTOC form which is upwardly compatible with the 340 * SunOS 4.x disk label and allows 8 partitions per disk. 341 * 342 * _SUNOS_VTOC_16: 343 * In this format the incore vtoc image matches the ondisk 344 * version. It allows 16 slices per disk, and is not 345 * compatible with the SunOS 4.x disk label. 346 * 347 * Note that these are not the only two VTOC forms possible and 348 * additional forms may be added. One possible form would be the 349 * SVr4 VTOC form. The symbol for that is reserved now, although 350 * it is not implemented. 351 * 352 * _SVR4_VTOC_16: 353 * This VTOC form is compatible with the System V Release 4 354 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 355 * 16 partitions per disk. 356 * 357 * 358 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 359 * This describes the type of addresses used by system DMA: 360 * 361 * _DMA_USES_PHYSADDR: 362 * This type of DMA, used in the x86 implementation, 363 * requires physical addresses for DMA buffers. The 24-bit 364 * addresses used by some legacy boards is the source of the 365 * "low-memory" (<16MB) requirement for some devices using DMA. 366 * 367 * _DMA_USES_VIRTADDR: 368 * This method of DMA allows the use of virtual addresses for 369 * DMA transfers. 370 * 371 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 372 * This indicates the presence/absence of an fdisk table. 373 * 374 * _FIRMWARE_NEEDS_FDISK 375 * The fdisk table is required by system firmware. If present, 376 * it allows a disk to be subdivided into multiple fdisk 377 * partitions, each of which is equivalent to a separate, 378 * virtual disk. This enables the co-existence of multiple 379 * operating systems on a shared hard disk. 380 * 381 * _NO_FDISK_PRESENT 382 * If the fdisk table is absent, it is assumed that the entire 383 * media is allocated for a single operating system. 384 * 385 * _HAVE_TEM_FIRMWARE 386 * Defined if this architecture has the (fallback) option of 387 * using prom_* calls for doing I/O if a suitable kernel driver 388 * is not available to do it. 389 * 390 * _DONT_USE_1275_GENERIC_NAMES 391 * Controls whether or not device tree node names should 392 * comply with the IEEE 1275 "Generic Names" Recommended 393 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 394 * names identifying the particular device will be used. 395 * 396 * __i386_COMPAT 397 * This indicates whether the i386 ABI is supported as a *non-native* 398 * mode for the platform. When this symbol is defined: 399 * - 32-bit xstat-style system calls are enabled 400 * - 32-bit xmknod-style system calls are enabled 401 * - 32-bit system calls use i386 sizes -and- alignments 402 * 403 * Note that this is NOT defined for the i386 native environment! 404 * 405 * __x86 406 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 407 * which is useful only insofar as these two architectures share 408 * common attributes. Analogous to __sparc. 409 * 410 * _PSM_MODULES 411 * This indicates whether or not the implementation uses PSM 412 * modules for processor support, reading /etc/mach from inside 413 * the kernel to extract a list. 414 * 415 * _RTC_CONFIG 416 * This indicates whether or not the implementation uses /etc/rtc_config 417 * to configure the real-time clock in the kernel. 418 * 419 * _UNIX_KRTLD 420 * This indicates that the implementation uses a dynamically 421 * linked unix + krtld to form the core kernel image at boot 422 * time, or (in the absence of this symbol) a prelinked kernel image. 423 * 424 * _OBP 425 * This indicates the firmware interface is OBP. 426 * 427 * _SOFT_HOSTID 428 * This indicates that the implementation obtains the hostid 429 * from the file /etc/hostid, rather than from hardware. 430 */ 431 432 433 434 435 436 /* 437 * The following set of definitions characterize Solaris on AMD's 438 * 64-bit systems. 439 */ 440 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 441 /* 442 * Define the appropriate "processor characteristics" 443 */ 444 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 445 /* 446 * Different alignment constraints for the i386 ABI in compatibility mode 447 */ 448 449 450 /* 451 * Define the appropriate "implementation choices". 452 */ 453 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 454 /* 455 * The feature test macro __i386 is generic for all processors implementing 456 * the Intel 386 instruction set or a superset of it. Specifically, this 457 * includes all members of the 386, 486, and Pentium family of processors. 458 */ 459 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 460 461 462 463 464 465 /* 466 * Values of _POSIX_C_SOURCE 467 * 468 * undefined not a POSIX compilation 469 * 1 POSIX.1-1990 compilation 470 * 2 POSIX.2-1992 compilation 471 * 199309L POSIX.1b-1993 compilation (Real Time) 472 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 473 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 474 * 200809L POSIX.1-2008 compilation 475 */ 476 477 478 479 480 /* 481 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 482 * and _STDC_C99 are Sun implementation specific macros created in order to 483 * compress common standards specified feature test macros for easier reading. 484 * These macros should not be used by the application developer as 485 * unexpected results may occur. Instead, the user should reference 486 * standards(5) for correct usage of the standards feature test macros. 487 * 488 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 489 * X/Open or POSIX or in the negative, when neither 490 * X/Open or POSIX defines a symbol. 491 * 492 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 493 * by the compiler. For Sun compilers the value of 494 * __STDC__ is either 1, 0, or not defined based on the 495 * compilation mode (see cc(1)). When the value of 496 * __STDC__ is 1 and in the absence of any other feature 497 * test macros, the namespace available to the application 498 * is limited to only those symbols defined by the C 499 * Standard. _STRICT_STDC provides a more readable means 500 * of identifying symbols defined by the standard, or in 501 * the negative, symbols that are extensions to the C 502 * Standard. See additional comments for GNU C differences. 503 * 504 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 505 * defined by the compiler and indicates the version of 506 * the C standard. A value of 199901L indicates a 507 * compiler that complies with ISO/IEC 9899:1999, other- 508 * wise known as the C99 standard. 509 * 510 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 511 * is 201112L indicating a compiler that compiles with 512 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 513 * 514 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 515 * by the standards, and the user has not explicitly 516 * relaxed the strictness via __EXTENSIONS__. 517 */ 518 519 520 521 522 523 /* 524 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 525 * 99899:2011 specify the following predefined macro name: 526 * 527 * __STDC__ The integer constant 1, intended to indicate a conforming 528 * implementation. 529 * 530 * Furthermore, a strictly conforming program shall use only those features 531 * of the language and library specified in these standards. A conforming 532 * implementation shall accept any strictly conforming program. 533 * 534 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 535 * strictly conforming environments and __STDC__ to 0 for environments that 536 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 537 * C semantics, Sun's C compiler does not define __STDC__. 538 * 539 * The GNU C project interpretation is that __STDC__ should always be defined 540 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 541 * or not extensions to the C standard are used. Violations of conforming 542 * behavior are conditionally flagged as warnings via the use of the 543 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 544 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 545 * conforming environments using the -ansi or -std=<standard> options. 546 * 547 * In the absence of any other compiler options, Sun and GNU set the value 548 * of __STDC__ as follows when using the following options: 549 * 550 * Value of __STDC__ __STRICT_ANSI__ 551 * 552 * cc -Xa (default) 0 undefined 553 * cc -Xt (transitional) 0 undefined 554 * cc -Xc (strictly conforming) 1 undefined 555 * cc -Xs (K&R C) undefined undefined 556 * 557 * gcc (default) 1 undefined 558 * gcc -ansi, -std={c89, c99,...) 1 defined 559 * gcc -traditional (K&R) undefined undefined 560 * 561 * The default compilation modes for Sun C compilers versus GNU C compilers 562 * results in a differing value for __STDC__ which results in a more 563 * restricted namespace when using Sun compilers. To allow both GNU and Sun 564 * interpretations to peacefully co-exist, we use the following Sun 565 * implementation _STRICT_STDC_ macro: 566 */ 567 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 568 /* 569 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 570 */ 571 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 572 /* 573 * Use strict symbol visibility. 574 */ 575 576 577 578 579 580 /* 581 * Large file interfaces: 582 * 583 * _LARGEFILE_SOURCE 584 * 1 large file-related additions to POSIX 585 * interfaces requested (fseeko, etc.) 586 * _LARGEFILE64_SOURCE 587 * 1 transitional large-file-related interfaces 588 * requested (seek64, stat64, etc.) 589 * 590 * The corresponding announcement macros are respectively: 591 * _LFS_LARGEFILE 592 * _LFS64_LARGEFILE 593 * (These are set in <unistd.h>.) 594 * 595 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 596 * well. 597 * 598 * The large file interfaces are made visible regardless of the initial values 599 * of the feature test macros under certain circumstances: 600 * - If no explicit standards-conforming environment is requested (neither 601 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 602 * __STDC__ does not imply standards conformance). 603 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 604 * is defined). 605 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 606 * defined). (Note that this dependency is an artifact of the current 607 * kernel implementation and may change in future releases.) 608 */ 609 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 610 /* 611 * Large file compilation environment control: 612 * 613 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 614 * types and governs the mapping between file-related source function symbol 615 * names and the corresponding binary entry points. 616 * 617 * In the 32-bit environment, the default value is 32; if not set, set it to 618 * the default here, to simplify tests in other headers. 619 * 620 * In the 64-bit compilation environment, the only value allowed is 64. 621 */ 622 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 623 /* 624 * Use of _XOPEN_SOURCE 625 * 626 * The following X/Open specifications are supported: 627 * 628 * X/Open Portability Guide, Issue 3 (XPG3) 629 * X/Open CAE Specification, Issue 4 (XPG4) 630 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 631 * X/Open CAE Specification, Issue 5 (XPG5) 632 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 633 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 634 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 635 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 636 * 637 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 638 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 639 * Version 2 (SUSv2) 640 * XPG6 is the result of a merge of the X/Open and POSIX specifications 641 * and as such is also referred to as IEEE Std. 1003.1-2001 in 642 * addition to UNIX 03 and SUSv3. 643 * XPG7 is also referred to as UNIX 08 and SUSv4. 644 * 645 * When writing a conforming X/Open application, as per the specification 646 * requirements, the appropriate feature test macros must be defined at 647 * compile time. These are as follows. For more info, see standards(5). 648 * 649 * Feature Test Macro Specification 650 * ------------------------------------------------ ------------- 651 * _XOPEN_SOURCE XPG3 652 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 653 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 654 * _XOPEN_SOURCE = 500 XPG5 655 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 656 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 657 * 658 * In order to simplify the guards within the headers, the following 659 * implementation private test macros have been created. Applications 660 * must NOT use these private test macros as unexpected results will 661 * occur. 662 * 663 * Note that in general, the use of these private macros is cumulative. 664 * For example, the use of _XPG3 with no other restrictions on the X/Open 665 * namespace will make the symbols visible for XPG3 through XPG6 666 * compilation environments. The use of _XPG4_2 with no other X/Open 667 * namespace restrictions indicates that the symbols were introduced in 668 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 669 * environments, but not for XPG3 or XPG4 compilation environments. 670 * 671 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 672 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 673 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 674 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 675 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 676 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 677 */ 678 679 /* X/Open Portability Guide, Issue 3 */ 680 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 681 /* 682 * _XOPEN_VERSION is defined by the X/Open specifications and is not 683 * normally defined by the application, except in the case of an XPG4 684 * application. On the implementation side, _XOPEN_VERSION defined with 685 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 686 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 687 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 688 * application and with a value of 600 indicates an XPG6 (UNIX 03) 689 * application and with a value of 700 indicates an XPG7 (UNIX 08). 690 * The appropriate version is determined by the use of the 691 * feature test macros described earlier. The value of _XOPEN_VERSION 692 * defaults to 3 otherwise indicating support for XPG3 applications. 693 */ 694 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 695 /* 696 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 697 * conforming environments. ISO 9899:1999 says it does. 698 * 699 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 700 * defined in all but strictly conforming environments that disallow it. 701 */ 702 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 703 /* 704 * The following macro defines a value for the ISO C99 restrict 705 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 706 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 707 * if any other compiler is used. This allows for the use of single 708 * prototype declarations regardless of compiler version. 709 */ 710 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 711 /* 712 * The following macro defines a value for the ISO C11 _Noreturn 713 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 714 * an ISO C11 compiler is used and "" (null string) if any other 715 * compiler is used. This allows for the use of single prototype 716 * declarations regardless of compiler version. 717 */ 718 719 720 721 722 723 724 725 /* 726 * The following macro indicates header support for the ANSI C++ 727 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 728 */ 729 730 731 /* 732 * The following macro indicates header support for the C99 standard, 733 * ISO/IEC 9899:1999, Programming Languages - C. 734 */ 735 736 737 /* 738 * The following macro indicates header support for the C99 standard, 739 * ISO/IEC 9899:2011, Programming Languages - C. 740 */ 741 742 743 /* 744 * The following macro indicates header support for DTrace. The value is an 745 * integer that corresponds to the major version number for DTrace. 746 */ 747 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 748 749 750 751 752 753 /* 754 * Do all of our 'redefine_extname' processing before 755 * declarations of the associated functions are seen. 756 * This is necessary to keep gcc happy. 757 */ 758 759 760 /* large file compilation environment setup */ 761 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 762 /* In the LP64 compilation environment, all APIs are already large file */ 763 764 765 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 766 #pragma redefine_extname fopen64 fopen 767 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 768 769 770 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 771 #pragma redefine_extname freopen64 freopen 772 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 773 774 775 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 776 #pragma redefine_extname tmpfile64 tmpfile 777 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 778 779 780 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 781 #pragma redefine_extname fgetpos64 fgetpos 782 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 783 784 785 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 786 #pragma redefine_extname fsetpos64 fsetpos 787 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 788 789 790 791 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 792 #pragma redefine_extname fseeko64 fseeko 793 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 794 795 796 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 797 #pragma redefine_extname ftello64 ftello 798 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 799 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 800 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 801 /* 802 * CDDL HEADER START 803 * 804 * The contents of this file are subject to the terms of the 805 * Common Development and Distribution License, Version 1.0 only 806 * (the "License"). You may not use this file except in compliance 807 * with the License. 808 * 809 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 810 * or http://www.opensolaris.org/os/licensing. 811 * See the License for the specific language governing permissions 812 * and limitations under the License. 813 * 814 * When distributing Covered Code, include this CDDL HEADER in each 815 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 816 * If applicable, add the following below this CDDL HEADER, with the 817 * fields enclosed by brackets "[]" replaced with your own identifying 818 * information: Portions Copyright [yyyy] [name of copyright owner] 819 * 820 * CDDL HEADER END 821 */ 822 /* 823 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 824 * Copyright 2014 PALO, Richard. 825 * 826 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 827 * Use is subject to license terms. 828 */ 829 830 /* Copyright (c) 1988 AT&T */ 831 /* All Rights Reserved */ 832 833 /* 834 * An application should not include this header directly. Instead it 835 * should be included only through the inclusion of other Sun headers. 836 * 837 * The contents of this header is limited to identifiers specified in the 838 * C Standard. Any new identifiers specified in future amendments to the 839 * C Standard must be placed in this header. If these new identifiers 840 * are required to also be in the C++ Standard "std" namespace, then for 841 * anything other than macro definitions, corresponding "using" directives 842 * must also be added to <stdio.h>. 843 */ 844 845 /* 846 * User-visible pieces of the ANSI C standard I/O package. 847 */ 848 849 850 851 852 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 853 /* 854 * CDDL HEADER START 855 * 856 * The contents of this file are subject to the terms of the 857 * Common Development and Distribution License (the "License"). 858 * You may not use this file except in compliance with the License. 859 * 860 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 861 * or http://www.opensolaris.org/os/licensing. 862 * See the License for the specific language governing permissions 863 * and limitations under the License. 864 * 865 * When distributing Covered Code, include this CDDL HEADER in each 866 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 867 * If applicable, add the following below this CDDL HEADER, with the 868 * fields enclosed by brackets "[]" replaced with your own identifying 869 * information: Portions Copyright [yyyy] [name of copyright owner] 870 * 871 * CDDL HEADER END 872 */ 873 874 /* 875 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 876 * Copyright 2016 Joyent, Inc. 877 * 878 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 879 * Use is subject to license terms. 880 */ 881 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 882 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 883 /* 884 * This file and its contents are supplied under the terms of the 885 * Common Development and Distribution License ("CDDL"), version 1.0. 886 * You may only use this file in accordance with the terms of version 887 * 1.0 of the CDDL. 888 * 889 * A full copy of the text of the CDDL should have accompanied this 890 * source. A copy of the CDDL is also available via the Internet at 891 * http://www.illumos.org/license/CDDL. 892 */ 893 894 /* 895 * Copyright 2014-2016 PALO, Richard. 896 */ 897 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 898 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 899 /* 900 * CDDL HEADER START 901 * 902 * The contents of this file are subject to the terms of the 903 * Common Development and Distribution License, Version 1.0 only 904 * (the "License"). You may not use this file except in compliance 905 * with the License. 906 * 907 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 908 * or http://www.opensolaris.org/os/licensing. 909 * See the License for the specific language governing permissions 910 * and limitations under the License. 911 * 912 * When distributing Covered Code, include this CDDL HEADER in each 913 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 914 * If applicable, add the following below this CDDL HEADER, with the 915 * fields enclosed by brackets "[]" replaced with your own identifying 916 * information: Portions Copyright [yyyy] [name of copyright owner] 917 * 918 * CDDL HEADER END 919 */ 920 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 921 /* All Rights Reserved */ 922 923 924 /* 925 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 926 * 927 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 928 * Use is subject to license terms. 929 */ 930 931 932 933 934 /* 935 * An application should not include this header directly. Instead it 936 * should be included only through the inclusion of other Sun headers. 937 * 938 * The purpose of this header is to provide the type definitions for 939 * the va_list argument used by a number of printf and printf like 940 * functions. The headers that define these various function prototypes 941 * #include this header directly. These include but are not necessarily 942 * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and 943 * <syslog.h>. The type definitions included in this header are for 944 * the benefit of consumers of va_list. 945 * 946 * Any application that accepts variable argument lists must as documented, 947 * include either <varargs.h> or the preferred <stdarg.h>. Doing so will 948 * pull in the appropriate compiler protocols defined in <sys/va_impl.h> 949 * which is in turn is included by <varargs.h> and <stdarg.h>. See comments 950 * in <sys/va_impl.h> for more detailed information regarding implementation 951 * and compiler specific protocols. 952 */ 953 954 /* 955 * The common definitions exported by this header or compilers using 956 * this header are: 957 * 958 * the identifier __builtin_va_alist for the variable list pseudo parameter 959 * the type __va_alist_type for the variable list pseudo parameter 960 * the type __va_list defining the type of the variable list iterator 961 * 962 * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros 963 * (__GNUC__) and processor macros (e.g. __amd64) are intended to be 964 * defined by the compilation system, not the user of the system. 965 */ 966 967 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 968 /* 969 * CDDL HEADER START 970 * 971 * The contents of this file are subject to the terms of the 972 * Common Development and Distribution License (the "License"). 973 * You may not use this file except in compliance with the License. 974 * 975 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 976 * or http://www.opensolaris.org/os/licensing. 977 * See the License for the specific language governing permissions 978 * and limitations under the License. 979 * 980 * 981 * When distributing Covered Code, include this CDDL HEADER in each 982 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 983 * If applicable, add the following below this CDDL HEADER, with the 984 * fields enclosed by brackets "[]" replaced with your own identifying 985 * information: Portions Copyright [yyyy] [name of copyright owner] 986 * 987 * CDDL HEADER END 988 */ 989 990 /* 991 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 992 * Use is subject to license terms. 993 * Copyright 2016 Joyent, Inc. 994 */ 995 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 996 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 997 typedef __builtin_va_list __gnuc_va_list; 998 /* 999 * XX64 This seems unnecessary .. but is needed because vcmn_err is 1000 * defined with __va_list instead of plain old va_list. 1001 * Perhaps that should be fixed! 1002 */ 1003 typedef __builtin_va_list __va_list; 1004 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1005 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 1006 /* 1007 * CDDL HEADER START 1008 * 1009 * The contents of this file are subject to the terms of the 1010 * Common Development and Distribution License, Version 1.0 only 1011 * (the "License"). You may not use this file except in compliance 1012 * with the License. 1013 * 1014 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1015 * or http://www.opensolaris.org/os/licensing. 1016 * See the License for the specific language governing permissions 1017 * and limitations under the License. 1018 * 1019 * When distributing Covered Code, include this CDDL HEADER in each 1020 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1021 * If applicable, add the following below this CDDL HEADER, with the 1022 * fields enclosed by brackets "[]" replaced with your own identifying 1023 * information: Portions Copyright [yyyy] [name of copyright owner] 1024 * 1025 * CDDL HEADER END 1026 */ 1027 /* 1028 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1029 * Use is subject to license terms. 1030 */ 1031 1032 1033 1034 1035 #pragma ident "%Z%%M% %I% %E% SMI" 1036 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1037 typedef struct __FILE __FILE; 1038 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1039 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 1040 /* 1041 * CDDL HEADER START 1042 * 1043 * The contents of this file are subject to the terms of the 1044 * Common Development and Distribution License (the "License"). 1045 * You may not use this file except in compliance with the License. 1046 * 1047 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1048 * or http://www.opensolaris.org/os/licensing. 1049 * See the License for the specific language governing permissions 1050 * and limitations under the License. 1051 * 1052 * When distributing Covered Code, include this CDDL HEADER in each 1053 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1054 * If applicable, add the following below this CDDL HEADER, with the 1055 * fields enclosed by brackets "[]" replaced with your own identifying 1056 * information: Portions Copyright [yyyy] [name of copyright owner] 1057 * 1058 * CDDL HEADER END 1059 */ 1060 1061 /* 1062 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1063 * Use is subject to license terms. 1064 */ 1065 1066 1067 1068 1069 #pragma ident "%Z%%M% %I% %E% SMI" 1070 1071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 1072 /* 1073 * CDDL HEADER START 1074 * 1075 * The contents of this file are subject to the terms of the 1076 * Common Development and Distribution License (the "License"). 1077 * You may not use this file except in compliance with the License. 1078 * 1079 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1080 * or http://www.opensolaris.org/os/licensing. 1081 * See the License for the specific language governing permissions 1082 * and limitations under the License. 1083 * 1084 * 1085 * When distributing Covered Code, include this CDDL HEADER in each 1086 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1087 * If applicable, add the following below this CDDL HEADER, with the 1088 * fields enclosed by brackets "[]" replaced with your own identifying 1089 * information: Portions Copyright [yyyy] [name of copyright owner] 1090 * 1091 * CDDL HEADER END 1092 */ 1093 1094 /* 1095 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1096 * Use is subject to license terms. 1097 * Copyright 2016 Joyent, Inc. 1098 */ 1099 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 1100 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1101 struct __FILE { 1102 long __pad[16]; 1103 }; 1104 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1105 1106 /* 1107 * If feature test macros are set that enable interfaces that use types 1108 * defined in <sys/types.h>, get those types by doing the include. 1109 * 1110 * Note that in asking for the interfaces associated with this feature test 1111 * macro one also asks for definitions of the POSIX types. 1112 */ 1113 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1114 typedef __FILE FILE; 1115 1116 1117 1118 1119 1120 typedef unsigned long size_t; /* size of something in bytes */ 1121 1122 1123 1124 1125 1126 1127 typedef long fpos_t; 1128 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1129 /* 1130 * The value of _NFILE is defined in the Processor Specific ABI. The value 1131 * is chosen for historical reasons rather than for truly processor related 1132 * attribute. Note that the SPARC Processor Specific ABI uses the common 1133 * UNIX historical value of 20 so it is allowed to fall through. 1134 */ 1135 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1136 extern __FILE __iob[20]; 1137 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1138 extern int remove(const char *); 1139 extern int rename(const char *, const char *); 1140 extern FILE *tmpfile(void); 1141 extern char *tmpnam(char *); 1142 extern int fclose(FILE *); 1143 extern int fflush(FILE *); 1144 extern FILE *fopen(const char *, const char *); 1145 extern FILE *freopen(const char *, 1146 const char *, FILE *); 1147 extern void setbuf(FILE *, char *); 1148 extern int setvbuf(FILE *, char *, int, 1149 size_t); 1150 /* PRINTFLIKE2 */ 1151 extern int fprintf(FILE *, const char *, ...); 1152 /* SCANFLIKE2 */ 1153 extern int fscanf(FILE *, const char *, ...); 1154 /* PRINTFLIKE1 */ 1155 extern int printf(const char *, ...); 1156 /* SCANFLIKE1 */ 1157 extern int scanf(const char *, ...); 1158 /* PRINTFLIKE2 */ 1159 extern int sprintf(char *, const char *, ...); 1160 /* SCANFLIKE2 */ 1161 extern int sscanf(const char *, 1162 const char *, ...); 1163 extern int vfprintf(FILE *, const char *, 1164 __va_list); 1165 extern int vprintf(const char *, __va_list); 1166 extern int vsprintf(char *, const char *, 1167 __va_list); 1168 extern int fgetc(FILE *); 1169 extern char *fgets(char *, int, FILE *); 1170 extern int fputc(int, FILE *); 1171 extern int fputs(const char *, FILE *); 1172 1173 1174 extern int getc(FILE *); 1175 extern int putc(int, FILE *); 1176 1177 1178 1179 extern int getchar(void); 1180 extern int putchar(int); 1181 1182 1183 /* 1184 * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 1185 * environment has been requested, we remove it. 1186 */ 1187 1188 extern char *gets(char *); 1189 1190 extern int puts(const char *); 1191 extern int ungetc(int, FILE *); 1192 extern size_t fread(void *, size_t, size_t, 1193 FILE *); 1194 extern size_t fwrite(const void *, size_t, size_t, 1195 FILE *); 1196 1197 extern int fgetpos(FILE *, fpos_t *); 1198 extern int fsetpos(FILE *, const fpos_t *); 1199 1200 extern int fseek(FILE *, long, int); 1201 extern long ftell(FILE *); 1202 extern void rewind(FILE *); 1203 1204 1205 extern void clearerr(FILE *); 1206 extern int feof(FILE *); 1207 extern int ferror(FILE *); 1208 1209 extern void perror(const char *); 1210 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1211 1212 /* 1213 * If feature test macros are set that enable interfaces that use types 1214 * defined in <sys/types.h>, get those types by doing the include. 1215 * 1216 * Note that in asking for the interfaces associated with this feature test 1217 * macro one also asks for definitions of the POSIX types. 1218 */ 1219 1220 /* 1221 * Allow global visibility for symbols defined in 1222 * C++ "std" namespace in <iso/stdio_iso.h>. 1223 */ 1224 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1225 /* 1226 * This header needs to be included here because it relies on the global 1227 * visibility of FILE and size_t in the C++ environment. 1228 */ 1229 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 1230 /* 1231 * CDDL HEADER START 1232 * 1233 * The contents of this file are subject to the terms of the 1234 * Common Development and Distribution License, Version 1.0 only 1235 * (the "License"). You may not use this file except in compliance 1236 * with the License. 1237 * 1238 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1239 * or http://www.opensolaris.org/os/licensing. 1240 * See the License for the specific language governing permissions 1241 * and limitations under the License. 1242 * 1243 * When distributing Covered Code, include this CDDL HEADER in each 1244 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1245 * If applicable, add the following below this CDDL HEADER, with the 1246 * fields enclosed by brackets "[]" replaced with your own identifying 1247 * information: Portions Copyright [yyyy] [name of copyright owner] 1248 * 1249 * CDDL HEADER END 1250 */ 1251 /* 1252 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1253 * 1254 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1255 * Use is subject to license terms. 1256 */ 1257 1258 /* 1259 * An application should not include this header directly. Instead it 1260 * should be included only through the inclusion of other Sun headers. 1261 * 1262 * The contents of this header is limited to identifiers specified in 1263 * the C99 standard and in conflict with the C++ implementation of the 1264 * standard header. The C++ standard may adopt the C99 standard at 1265 * which point it is expected that the symbols included here will 1266 * become part of the C++ std namespace. 1267 */ 1268 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1269 /* 1270 * The following have been added as a result of the ISO/IEC 9899:1999 1271 * standard. For a strictly conforming C application, visibility is 1272 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1273 * For non-strictly conforming C applications, there are no restrictions 1274 * on the C namespace. 1275 */ 1276 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1277 extern int vfscanf(FILE *, const char *, __va_list); 1278 extern int vscanf(const char *, __va_list); 1279 extern int vsscanf(const char *, const char *, 1280 __va_list); 1281 1282 1283 1284 1285 extern int snprintf(char *, size_t, const char *, 1286 ...); 1287 extern int vsnprintf(char *, size_t, const char *, 1288 __va_list); 1289 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1290 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1291 typedef long off_t; 1292 1293 1294 1295 1296 1297 typedef off_t off64_t; 1298 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1299 typedef fpos_t fpos64_t; 1300 1301 1302 1303 1304 1305 /* 1306 * XPG4 requires that va_list be defined in <stdio.h> "as described in 1307 * <stdarg.h>". ANSI-C and POSIX require that the namespace of <stdio.h> 1308 * not be polluted with this name. 1309 */ 1310 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1311 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1312 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1313 extern unsigned char _sibuf[], _sobuf[]; 1314 1315 1316 /* large file compilation environment setup */ 1317 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1318 /* In the LP64 compilation environment, all APIs are already large file */ 1319 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1320 typedef long ssize_t; /* size of something in bytes or -1 */ 1321 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1322 extern char *tmpnam_r(char *); 1323 1324 1325 1326 1327 extern int fcloseall(void); 1328 extern void setbuffer(FILE *, char *, size_t); 1329 extern int setlinebuf(FILE *); 1330 /* PRINTFLIKE2 */ 1331 extern int asprintf(char **, const char *, ...); 1332 /* PRINTFLIKE2 */ 1333 extern int vasprintf(char **, const char *, __va_list); 1334 1335 1336 1337 1338 /* || defined(_XPG7) */ 1339 extern ssize_t getdelim(char **, size_t *, 1340 int, FILE *); 1341 extern ssize_t getline(char **, size_t *, 1342 FILE *); 1343 1344 1345 /* 1346 * The following are known to POSIX and XOPEN, but not to ANSI-C. 1347 */ 1348 1349 1350 1351 extern FILE *fdopen(int, const char *); 1352 extern char *ctermid(char *); 1353 extern int fileno(FILE *); 1354 1355 1356 1357 /* 1358 * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. 1359 */ 1360 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1361 /* 1362 * The following are known to XOPEN, but not to ANSI-C or POSIX. 1363 */ 1364 1365 1366 extern FILE *popen(const char *, const char *); 1367 extern char *tempnam(const char *, const char *); 1368 extern int pclose(FILE *); 1369 1370 extern int getsubopt(char **, char *const *, char **); 1371 1372 1373 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1374 1375 extern char *cuserid(char *); 1376 extern int getopt(int, char *const *, const char *); 1377 extern char *optarg; 1378 extern int optind, opterr, optopt; 1379 extern int getw(FILE *); 1380 extern int putw(int, FILE *); 1381 1382 1383 1384 1385 /* 1386 * The following are defined as part of the Large File Summit interfaces. 1387 */ 1388 1389 extern int fseeko(FILE *, off_t, int); 1390 extern off_t ftello(FILE *); 1391 1392 1393 /* 1394 * The following are defined as part of the transitional Large File Summit 1395 * interfaces. 1396 */ 1397 1398 1399 extern FILE *fopen64(const char *, const char *); 1400 extern FILE *freopen64(const char *, const char *, FILE *); 1401 extern FILE *tmpfile64(void); 1402 extern int fgetpos64(FILE *, fpos64_t *); 1403 extern int fsetpos64(FILE *, const fpos64_t *); 1404 extern int fseeko64(FILE *, off64_t, int); 1405 extern off64_t ftello64(FILE *); 1406 1407 1408 /* 1409 * XPG7 symbols 1410 */ 1411 1412 extern FILE *fmemopen(void *, size_t, 1413 const char *); 1414 extern FILE *open_memstream(char **, size_t *); 1415 # 29 "../common/zones_lofs.c" 2 1416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 1417 /* 1418 * CDDL HEADER START 1419 * 1420 * The contents of this file are subject to the terms of the 1421 * Common Development and Distribution License (the "License"). 1422 * You may not use this file except in compliance with the License. 1423 * 1424 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1425 * or http://www.opensolaris.org/os/licensing. 1426 * See the License for the specific language governing permissions 1427 * and limitations under the License. 1428 * 1429 * When distributing Covered Code, include this CDDL HEADER in each 1430 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1431 * If applicable, add the following below this CDDL HEADER, with the 1432 * fields enclosed by brackets "[]" replaced with your own identifying 1433 * information: Portions Copyright [yyyy] [name of copyright owner] 1434 * 1435 * CDDL HEADER END 1436 */ 1437 1438 /* 1439 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1440 * Copyright (c) 2013 Gary Mills 1441 * 1442 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 1443 */ 1444 1445 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 1446 1447 /* Copyright (c) 1988 AT&T */ 1448 /* All Rights Reserved */ 1449 1450 1451 1452 1453 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 1454 /* 1455 * CDDL HEADER START 1456 * 1457 * The contents of this file are subject to the terms of the 1458 * Common Development and Distribution License, Version 1.0 only 1459 * (the "License"). You may not use this file except in compliance 1460 * with the License. 1461 * 1462 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1463 * or http://www.opensolaris.org/os/licensing. 1464 * See the License for the specific language governing permissions 1465 * and limitations under the License. 1466 * 1467 * When distributing Covered Code, include this CDDL HEADER in each 1468 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1469 * If applicable, add the following below this CDDL HEADER, with the 1470 * fields enclosed by brackets "[]" replaced with your own identifying 1471 * information: Portions Copyright [yyyy] [name of copyright owner] 1472 * 1473 * CDDL HEADER END 1474 */ 1475 /* 1476 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1477 * Copyright 2014 PALO, Richard. 1478 * 1479 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1480 * Use is subject to license terms. 1481 */ 1482 1483 /* Copyright (c) 1988 AT&T */ 1484 /* All Rights Reserved */ 1485 1486 1487 /* 1488 * An application should not include this header directly. Instead it 1489 * should be included only through the inclusion of other Sun headers. 1490 * 1491 * The contents of this header is limited to identifiers specified in the 1492 * C Standard. Any new identifiers specified in future amendments to the 1493 * C Standard must be placed in this header. If these new identifiers 1494 * are required to also be in the C++ Standard "std" namespace, then for 1495 * anything other than macro definitions, corresponding "using" directives 1496 * must also be added to <locale.h>. 1497 */ 1498 1499 1500 1501 1502 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1503 /* 1504 * CDDL HEADER START 1505 * 1506 * The contents of this file are subject to the terms of the 1507 * Common Development and Distribution License (the "License"). 1508 * You may not use this file except in compliance with the License. 1509 * 1510 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1511 * or http://www.opensolaris.org/os/licensing. 1512 * See the License for the specific language governing permissions 1513 * and limitations under the License. 1514 * 1515 * When distributing Covered Code, include this CDDL HEADER in each 1516 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1517 * If applicable, add the following below this CDDL HEADER, with the 1518 * fields enclosed by brackets "[]" replaced with your own identifying 1519 * information: Portions Copyright [yyyy] [name of copyright owner] 1520 * 1521 * CDDL HEADER END 1522 */ 1523 1524 /* 1525 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1526 * Copyright 2016 Joyent, Inc. 1527 * 1528 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1529 * Use is subject to license terms. 1530 */ 1531 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1532 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 1533 /* 1534 * This file and its contents are supplied under the terms of the 1535 * Common Development and Distribution License ("CDDL"), version 1.0. 1536 * You may only use this file in accordance with the terms of version 1537 * 1.0 of the CDDL. 1538 * 1539 * A full copy of the text of the CDDL should have accompanied this 1540 * source. A copy of the CDDL is also available via the Internet at 1541 * http://www.illumos.org/license/CDDL. 1542 */ 1543 1544 /* 1545 * Copyright 2014-2016 PALO, Richard. 1546 */ 1547 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1548 1549 1550 1551 1552 1553 unsigned char __mb_cur_max(void); 1554 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1555 typedef struct { 1556 int quot; 1557 int rem; 1558 } div_t; 1559 1560 typedef struct { 1561 long quot; 1562 long rem; 1563 } ldiv_t; 1564 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1565 /* 1566 * wchar_t is a built-in type in standard C++ and as such is not 1567 * defined here when using standard C++. However, the GNU compiler 1568 * fixincludes utility nonetheless creates its own version of this 1569 * header for use by gcc and g++. In that version it adds a redundant 1570 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 1571 * header we need to include the following magic comment: 1572 * 1573 * we must use the C++ compiler's type 1574 * 1575 * The above comment should not be removed or changed until GNU 1576 * gcc/fixinc/inclhack.def is updated to bypass this header. 1577 */ 1578 1579 1580 1581 1582 typedef int wchar_t; 1583 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1584 extern void abort(void) __attribute__((__noreturn__)); 1585 extern int abs(int); 1586 extern int atexit(void (*)(void)); 1587 extern double atof(const char *); 1588 extern int atoi(const char *); 1589 extern long int atol(const char *); 1590 extern void *bsearch(const void *, const void *, size_t, size_t, 1591 int (*)(const void *, const void *)); 1592 1593 1594 1595 1596 1597 1598 extern void *calloc(size_t, size_t); 1599 extern div_t div(int, int); 1600 extern void exit(int) 1601 __attribute__((__noreturn__)); 1602 extern void free(void *); 1603 extern char *getenv(const char *); 1604 extern long int labs(long); 1605 extern ldiv_t ldiv(long, long); 1606 extern void *malloc(size_t); 1607 extern int mblen(const char *, size_t); 1608 extern size_t mbstowcs(wchar_t *, const char *, 1609 size_t); 1610 extern int mbtowc(wchar_t *, const char *, size_t); 1611 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); 1612 1613 1614 1615 1616 1617 extern int rand(void); 1618 extern void *realloc(void *, size_t); 1619 extern void srand(unsigned int); 1620 extern double strtod(const char *, char **); 1621 extern long int strtol(const char *, char **, int); 1622 extern unsigned long int strtoul(const char *, 1623 char **, int); 1624 extern int system(const char *); 1625 extern int wctomb(char *, wchar_t); 1626 extern size_t wcstombs(char *, const wchar_t *, 1627 size_t); 1628 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1629 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 1630 /* 1631 * CDDL HEADER START 1632 * 1633 * The contents of this file are subject to the terms of the 1634 * Common Development and Distribution License, Version 1.0 only 1635 * (the "License"). You may not use this file except in compliance 1636 * with the License. 1637 * 1638 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1639 * or http://www.opensolaris.org/os/licensing. 1640 * See the License for the specific language governing permissions 1641 * and limitations under the License. 1642 * 1643 * When distributing Covered Code, include this CDDL HEADER in each 1644 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1645 * If applicable, add the following below this CDDL HEADER, with the 1646 * fields enclosed by brackets "[]" replaced with your own identifying 1647 * information: Portions Copyright [yyyy] [name of copyright owner] 1648 * 1649 * CDDL HEADER END 1650 */ 1651 /* 1652 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1653 * 1654 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1655 * Use is subject to license terms. 1656 */ 1657 1658 /* 1659 * An application should not include this header directly. Instead it 1660 * should be included only through the inclusion of other Sun headers. 1661 * 1662 * The contents of this header is limited to identifiers specified in 1663 * the C99 standard and in conflict with the C++ implementation of the 1664 * standard header. The C++ standard may adopt the C99 standard at 1665 * which point it is expected that the symbols included here will 1666 * become part of the C++ std namespace. 1667 */ 1668 1669 1670 1671 1672 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1673 /* 1674 * CDDL HEADER START 1675 * 1676 * The contents of this file are subject to the terms of the 1677 * Common Development and Distribution License (the "License"). 1678 * You may not use this file except in compliance with the License. 1679 * 1680 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1681 * or http://www.opensolaris.org/os/licensing. 1682 * See the License for the specific language governing permissions 1683 * and limitations under the License. 1684 * 1685 * When distributing Covered Code, include this CDDL HEADER in each 1686 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1687 * If applicable, add the following below this CDDL HEADER, with the 1688 * fields enclosed by brackets "[]" replaced with your own identifying 1689 * information: Portions Copyright [yyyy] [name of copyright owner] 1690 * 1691 * CDDL HEADER END 1692 */ 1693 1694 /* 1695 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1696 * Copyright 2016 Joyent, Inc. 1697 * 1698 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1699 * Use is subject to license terms. 1700 */ 1701 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 1702 1703 1704 1705 1706 1707 /* 1708 * The following have been added as a result of the ISO/IEC 9899:1999 1709 * standard. For a strictly conforming C application, visibility is 1710 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1711 * For non-strictly conforming C applications, there are no restrictions 1712 * on the C namespace. 1713 */ 1714 1715 1716 typedef struct { 1717 long long quot; 1718 long long rem; 1719 } lldiv_t; 1720 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1721 extern void _Exit(int); 1722 extern float strtof(const char *, char **); 1723 extern long double strtold(const char *, char **); 1724 1725 1726 extern long long atoll(const char *); 1727 extern long long llabs(long long); 1728 extern lldiv_t lldiv(long long, long long); 1729 extern long long strtoll(const char *, char **, 1730 int); 1731 extern unsigned long long strtoull(const char *, 1732 char **, int); 1733 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1734 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 1735 /* 1736 * This file and its contents are supplied under the terms of the 1737 * Common Development and Distribution License ("CDDL"), version 1.0. 1738 * You may only use this file in accordance with the terms of version 1739 * 1.0 of the CDDL. 1740 * 1741 * A full copy of the text of the CDDL should have accompanied this 1742 * source. A copy of the CDDL is also available via the Internet at 1743 * http://www.illumos.org/license/CDDL. 1744 */ 1745 1746 /* 1747 * Copyright 2016 Joyent, Inc. 1748 */ 1749 1750 /* 1751 * An application should not include this header directly. Instead it 1752 * should be included only through the inclusion of other illumos headers. 1753 * 1754 * The contents of this header is limited to identifiers specified in 1755 * the C11 standard and in conflict with the C++ implementation of the 1756 * standard header. The C++ standard may adopt the C11 standard at 1757 * which point it is expected that the symbols included here will 1758 * become part of the C++ std namespace. 1759 */ 1760 1761 1762 1763 1764 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1765 /* 1766 * CDDL HEADER START 1767 * 1768 * The contents of this file are subject to the terms of the 1769 * Common Development and Distribution License (the "License"). 1770 * You may not use this file except in compliance with the License. 1771 * 1772 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1773 * or http://www.opensolaris.org/os/licensing. 1774 * See the License for the specific language governing permissions 1775 * and limitations under the License. 1776 * 1777 * When distributing Covered Code, include this CDDL HEADER in each 1778 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1779 * If applicable, add the following below this CDDL HEADER, with the 1780 * fields enclosed by brackets "[]" replaced with your own identifying 1781 * information: Portions Copyright [yyyy] [name of copyright owner] 1782 * 1783 * CDDL HEADER END 1784 */ 1785 1786 /* 1787 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1788 * Copyright 2016 Joyent, Inc. 1789 * 1790 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1791 * Use is subject to license terms. 1792 */ 1793 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 1794 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1795 /* 1796 * The following have been added as a result of the ISO/IEC 9899:2011 1797 * standard. For a strictly conforming C application, visibility is 1798 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1799 * For non-strictly conforming C applications, there are no restrictions 1800 * on the C namespace. 1801 */ 1802 1803 /* 1804 * Work around fix-includes and other bad actors with using multiple headers. 1805 */ 1806 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1807 extern void *aligned_alloc(size_t, size_t); 1808 extern int at_quick_exit(void (*)(void)); 1809 extern void quick_exit(int); 1810 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1811 1812 1813 1814 1815 1816 /* 1817 * Allow global visibility for symbols defined in 1818 * C++ "std" namespace in <iso/stdlib_iso.h>. 1819 */ 1820 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1821 /* 1822 * Allow global visibility for symbols defined in 1823 * C++ "std" namespace in <iso/stdlib_c11.h>. 1824 */ 1825 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1826 typedef unsigned int uid_t; /* UID type */ 1827 1828 1829 /* large file compilation environment setup */ 1830 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1831 /* In the LP64 compilation environment, all APIs are already large file */ 1832 1833 1834 1835 1836 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1837 #pragma redefine_extname mkstemp64 mkstemp 1838 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1839 1840 1841 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1842 #pragma redefine_extname mkstemps64 mkstemps 1843 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1844 1845 1846 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1847 #pragma redefine_extname mkostemp64 mkostemp 1848 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1849 1850 1851 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1852 #pragma redefine_extname mkostemps64 mkostemps 1853 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1854 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1855 extern int rand_r(unsigned int *); 1856 1857 1858 extern void _exithandle(void); 1859 1860 1861 1862 1863 extern double drand48(void); 1864 extern double erand48(unsigned short *); 1865 extern long jrand48(unsigned short *); 1866 extern void lcong48(unsigned short *); 1867 extern long lrand48(void); 1868 extern long mrand48(void); 1869 extern long nrand48(unsigned short *); 1870 extern unsigned short *seed48(unsigned short *); 1871 extern void srand48(long); 1872 extern int putenv(char *); 1873 extern void setkey(const char *); 1874 1875 1876 /* 1877 * swab() has historically been in <stdlib.h> as delivered from AT&T 1878 * and continues to be visible in the default compilation environment. 1879 * As of Issue 4 of the X/Open Portability Guides, swab() was declared 1880 * in <unistd.h>. As a result, with respect to X/Open namespace the 1881 * swab() declaration in this header is only visible for the XPG3 1882 * environment. 1883 */ 1884 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1885 extern void swab(const char *, char *, ssize_t); 1886 1887 1888 1889 1890 1891 extern int mkstemp(char *); 1892 1893 extern int mkstemps(char *, int); 1894 1895 1896 1897 1898 1899 extern int mkstemp64(char *); 1900 1901 extern int mkstemps64(char *, int); 1902 1903 1904 1905 1906 extern char *mkdtemp(char *); 1907 1908 1909 1910 extern int mkostemp(char *, int); 1911 extern int mkostemps(char *, int, int); 1912 1913 1914 extern int mkostemp64(char *, int); 1915 extern int mkostemps64(char *, int, int); 1916 1917 1918 1919 1920 1921 1922 extern long a64l(const char *); 1923 extern char *ecvt(double, int, int *, int *); 1924 extern char *fcvt(double, int, int *, int *); 1925 extern char *gcvt(double, int, char *); 1926 extern int getsubopt(char **, char *const *, char **); 1927 extern int grantpt(int); 1928 extern char *initstate(unsigned, char *, size_t); 1929 extern char *l64a(long); 1930 extern char *mktemp(char *); 1931 extern char *ptsname(int); 1932 extern long random(void); 1933 extern char *realpath(const char *, char *); 1934 extern char *setstate(const char *); 1935 extern void srandom(unsigned); 1936 extern int unlockpt(int); 1937 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1938 1939 extern int ttyslot(void); 1940 extern void *valloc(size_t); 1941 1942 1943 1944 1945 1946 1947 extern int posix_memalign(void **, size_t, size_t); 1948 extern int posix_openpt(int); 1949 extern int setenv(const char *, const char *, int); 1950 extern int unsetenv(const char *); 1951 1952 1953 1954 1955 extern char *canonicalize_file_name(const char *); 1956 extern int clearenv(void); 1957 extern void closefrom(int); 1958 extern int daemon(int, int); 1959 extern int dup2(int, int); 1960 extern int dup3(int, int, int); 1961 extern int fdwalk(int (*)(void *, int), void *); 1962 extern char *qecvt(long double, int, int *, int *); 1963 extern char *qfcvt(long double, int, int *, int *); 1964 extern char *qgcvt(long double, int, char *); 1965 extern char *getcwd(char *, size_t); 1966 extern const char *getexecname(void); 1967 1968 1969 1970 1971 1972 1973 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1974 #pragma redefine_extname getlogin getloginx 1975 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1976 1977 1978 1979 1980 1981 1982 extern char *getlogin(void); 1983 1984 1985 extern int getopt(int, char *const *, const char *); 1986 extern char *optarg; 1987 extern int optind, opterr, optopt; 1988 extern char *getpass(const char *); 1989 extern char *getpassphrase(const char *); 1990 extern int getpw(uid_t, char *); 1991 extern int isatty(int); 1992 extern void *memalign(size_t, size_t); 1993 extern char *ttyname(int); 1994 extern char *mkdtemp(char *); 1995 extern const char *getprogname(void); 1996 extern void setprogname(const char *); 1997 1998 1999 extern char *lltostr(long long, char *); 2000 extern char *ulltostr(unsigned long long, char *); 2001 2002 2003 2004 2005 /* OpenBSD compatibility functions */ 2006 2007 2008 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 2009 /* 2010 * CDDL HEADER START 2011 * 2012 * The contents of this file are subject to the terms of the 2013 * Common Development and Distribution License, Version 1.0 only 2014 * (the "License"). You may not use this file except in compliance 2015 * with the License. 2016 * 2017 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2018 * or http://www.opensolaris.org/os/licensing. 2019 * See the License for the specific language governing permissions 2020 * and limitations under the License. 2021 * 2022 * When distributing Covered Code, include this CDDL HEADER in each 2023 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2024 * If applicable, add the following below this CDDL HEADER, with the 2025 * fields enclosed by brackets "[]" replaced with your own identifying 2026 * information: Portions Copyright [yyyy] [name of copyright owner] 2027 * 2028 * CDDL HEADER END 2029 */ 2030 /* 2031 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2032 * 2033 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2034 * Use is subject to license terms. 2035 */ 2036 2037 2038 2039 2040 /* 2041 * This file, <inttypes.h>, is specified by the ISO C standard, 2042 * standard, ISO/IEC 9899:1999 Programming language - C and is 2043 * also defined by SUSv3. 2044 * 2045 * ISO International Organization for Standardization. 2046 * SUSv3 Single Unix Specification, Version 3 2047 */ 2048 2049 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2050 /* 2051 * CDDL HEADER START 2052 * 2053 * The contents of this file are subject to the terms of the 2054 * Common Development and Distribution License (the "License"). 2055 * You may not use this file except in compliance with the License. 2056 * 2057 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2058 * or http://www.opensolaris.org/os/licensing. 2059 * See the License for the specific language governing permissions 2060 * and limitations under the License. 2061 * 2062 * When distributing Covered Code, include this CDDL HEADER in each 2063 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2064 * If applicable, add the following below this CDDL HEADER, with the 2065 * fields enclosed by brackets "[]" replaced with your own identifying 2066 * information: Portions Copyright [yyyy] [name of copyright owner] 2067 * 2068 * CDDL HEADER END 2069 */ 2070 2071 /* 2072 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2073 * Copyright 2016 Joyent, Inc. 2074 * 2075 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2076 * Use is subject to license terms. 2077 */ 2078 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2079 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 2080 /* 2081 * CDDL HEADER START 2082 * 2083 * The contents of this file are subject to the terms of the 2084 * Common Development and Distribution License, Version 1.0 only 2085 * (the "License"). You may not use this file except in compliance 2086 * with the License. 2087 * 2088 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2089 * or http://www.opensolaris.org/os/licensing. 2090 * See the License for the specific language governing permissions 2091 * and limitations under the License. 2092 * 2093 * When distributing Covered Code, include this CDDL HEADER in each 2094 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2095 * If applicable, add the following below this CDDL HEADER, with the 2096 * fields enclosed by brackets "[]" replaced with your own identifying 2097 * information: Portions Copyright [yyyy] [name of copyright owner] 2098 * 2099 * CDDL HEADER END 2100 */ 2101 /* 2102 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2103 * Use is subject to license terms. 2104 */ 2105 2106 2107 2108 2109 #pragma ident "%Z%%M% %I% %E% SMI" 2110 2111 /* 2112 * This header, <sys/inttypes.h>, contains (through nested inclusion) the 2113 * vast majority of the facilities specified for <inttypes.h> as defined 2114 * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2115 * 2116 * Kernel/Driver developers are encouraged to include this file to access 2117 * the fixed size types, limits and utility macros. Application developers 2118 * should use the standard defined header <inttypes.h>. 2119 */ 2120 2121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2122 /* 2123 * CDDL HEADER START 2124 * 2125 * The contents of this file are subject to the terms of the 2126 * Common Development and Distribution License (the "License"). 2127 * You may not use this file except in compliance with the License. 2128 * 2129 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2130 * or http://www.opensolaris.org/os/licensing. 2131 * See the License for the specific language governing permissions 2132 * and limitations under the License. 2133 * 2134 * When distributing Covered Code, include this CDDL HEADER in each 2135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2136 * If applicable, add the following below this CDDL HEADER, with the 2137 * fields enclosed by brackets "[]" replaced with your own identifying 2138 * information: Portions Copyright [yyyy] [name of copyright owner] 2139 * 2140 * CDDL HEADER END 2141 */ 2142 2143 /* 2144 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2145 * Copyright 2016 Joyent, Inc. 2146 * 2147 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2148 * Use is subject to license terms. 2149 */ 2150 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2151 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2152 /* 2153 * CDDL HEADER START 2154 * 2155 * The contents of this file are subject to the terms of the 2156 * Common Development and Distribution License, Version 1.0 only 2157 * (the "License"). You may not use this file except in compliance 2158 * with the License. 2159 * 2160 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2161 * or http://www.opensolaris.org/os/licensing. 2162 * See the License for the specific language governing permissions 2163 * and limitations under the License. 2164 * 2165 * When distributing Covered Code, include this CDDL HEADER in each 2166 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2167 * If applicable, add the following below this CDDL HEADER, with the 2168 * fields enclosed by brackets "[]" replaced with your own identifying 2169 * information: Portions Copyright [yyyy] [name of copyright owner] 2170 * 2171 * CDDL HEADER END 2172 */ 2173 /* 2174 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2175 * 2176 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2177 * Use is subject to license terms. 2178 */ 2179 2180 2181 2182 2183 /* 2184 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 2185 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 2186 * Programming language - C. 2187 * 2188 * Programs/Modules should not directly include this file. Access to the 2189 * types defined in this file should be through the inclusion of one of the 2190 * following files: 2191 * 2192 * <sys/types.h> Provides only the "_t" types defined in this 2193 * file which is a subset of the contents of 2194 * <inttypes.h>. (This can be appropriate for 2195 * all programs/modules except those claiming 2196 * ANSI-C conformance.) 2197 * 2198 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2199 * components of <inttypes.h>. 2200 * 2201 * <inttypes.h> For use by applications. 2202 * 2203 * See these files for more details. 2204 */ 2205 2206 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2207 /* 2208 * CDDL HEADER START 2209 * 2210 * The contents of this file are subject to the terms of the 2211 * Common Development and Distribution License (the "License"). 2212 * You may not use this file except in compliance with the License. 2213 * 2214 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2215 * or http://www.opensolaris.org/os/licensing. 2216 * See the License for the specific language governing permissions 2217 * and limitations under the License. 2218 * 2219 * When distributing Covered Code, include this CDDL HEADER in each 2220 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2221 * If applicable, add the following below this CDDL HEADER, with the 2222 * fields enclosed by brackets "[]" replaced with your own identifying 2223 * information: Portions Copyright [yyyy] [name of copyright owner] 2224 * 2225 * CDDL HEADER END 2226 */ 2227 2228 /* 2229 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2230 * Copyright 2016 Joyent, Inc. 2231 * 2232 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2233 * Use is subject to license terms. 2234 */ 2235 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 2236 2237 2238 2239 2240 2241 /* 2242 * Basic / Extended integer types 2243 * 2244 * The following defines the basic fixed-size integer types. 2245 * 2246 * Implementations are free to typedef them to Standard C integer types or 2247 * extensions that they support. If an implementation does not support one 2248 * of the particular integer data types below, then it should not define the 2249 * typedefs and macros corresponding to that data type. Note that int8_t 2250 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 2251 * as an unsigned entity because there is no way to define an eight bit 2252 * signed integral. 2253 */ 2254 2255 typedef char int8_t; 2256 2257 2258 2259 typedef short int16_t; 2260 typedef int int32_t; 2261 2262 2263 typedef long int64_t; 2264 2265 2266 2267 2268 2269 2270 2271 typedef unsigned char uint8_t; 2272 typedef unsigned short uint16_t; 2273 typedef unsigned int uint32_t; 2274 2275 typedef unsigned long uint64_t; 2276 2277 2278 2279 2280 2281 2282 /* 2283 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 2284 * and unsigned integer types supported by the implementation. 2285 */ 2286 2287 typedef int64_t intmax_t; 2288 typedef uint64_t uintmax_t; 2289 2290 2291 2292 2293 2294 /* 2295 * intptr_t and uintptr_t are signed and unsigned integer types large enough 2296 * to hold any data pointer; that is, data pointers can be assigned into or 2297 * from these integer types without losing precision. 2298 */ 2299 2300 typedef long intptr_t; 2301 typedef unsigned long uintptr_t; 2302 2303 2304 2305 2306 2307 /* 2308 * The following define the fastest integer types that can hold the 2309 * specified number of bits. 2310 */ 2311 2312 typedef char int_fast8_t; 2313 2314 2315 2316 typedef int int_fast16_t; 2317 typedef int int_fast32_t; 2318 2319 typedef long int_fast64_t; 2320 2321 2322 2323 2324 2325 2326 typedef unsigned char uint_fast8_t; 2327 typedef unsigned int uint_fast16_t; 2328 typedef unsigned int uint_fast32_t; 2329 2330 typedef unsigned long uint_fast64_t; 2331 2332 2333 2334 2335 2336 2337 /* 2338 * The following define the smallest integer types that can hold the 2339 * specified number of bits. 2340 */ 2341 2342 typedef char int_least8_t; 2343 2344 2345 2346 typedef short int_least16_t; 2347 typedef int int_least32_t; 2348 2349 typedef long int_least64_t; 2350 2351 2352 2353 2354 2355 2356 /* 2357 * If these are changed, please update char16_t and char32_t in head/uchar.h. 2358 */ 2359 typedef unsigned char uint_least8_t; 2360 typedef unsigned short uint_least16_t; 2361 typedef unsigned int uint_least32_t; 2362 2363 typedef unsigned long uint_least64_t; 2364 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2365 2366 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2367 /* 2368 * CDDL HEADER START 2369 * 2370 * The contents of this file are subject to the terms of the 2371 * Common Development and Distribution License, Version 1.0 only 2372 * (the "License"). You may not use this file except in compliance 2373 * with the License. 2374 * 2375 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2376 * or http://www.opensolaris.org/os/licensing. 2377 * See the License for the specific language governing permissions 2378 * and limitations under the License. 2379 * 2380 * When distributing Covered Code, include this CDDL HEADER in each 2381 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2382 * If applicable, add the following below this CDDL HEADER, with the 2383 * fields enclosed by brackets "[]" replaced with your own identifying 2384 * information: Portions Copyright [yyyy] [name of copyright owner] 2385 * 2386 * CDDL HEADER END 2387 */ 2388 /* 2389 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2390 * 2391 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2392 * Use is subject to license terms. 2393 */ 2394 2395 2396 2397 2398 /* 2399 * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation 2400 * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999 2401 * Programming language - C. 2402 * 2403 * Programs/Modules should not directly include this file. Access to the 2404 * types defined in this file should be through the inclusion of one of the 2405 * following files: 2406 * 2407 * <limits.h> This nested inclusion is disabled for strictly 2408 * ANSI-C conforming compilations. The *_MIN 2409 * definitions are not visible to POSIX or XPG 2410 * conforming applications (due to what may be 2411 * a bug in the specification - this is under 2412 * investigation) 2413 * 2414 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2415 * components of <inttypes.h>. 2416 * 2417 * <inttypes.h> For use by applications. 2418 * 2419 * See these files for more details. 2420 */ 2421 2422 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2423 /* 2424 * CDDL HEADER START 2425 * 2426 * The contents of this file are subject to the terms of the 2427 * Common Development and Distribution License (the "License"). 2428 * You may not use this file except in compliance with the License. 2429 * 2430 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2431 * or http://www.opensolaris.org/os/licensing. 2432 * See the License for the specific language governing permissions 2433 * and limitations under the License. 2434 * 2435 * When distributing Covered Code, include this CDDL HEADER in each 2436 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2437 * If applicable, add the following below this CDDL HEADER, with the 2438 * fields enclosed by brackets "[]" replaced with your own identifying 2439 * information: Portions Copyright [yyyy] [name of copyright owner] 2440 * 2441 * CDDL HEADER END 2442 */ 2443 2444 /* 2445 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2446 * Copyright 2016 Joyent, Inc. 2447 * 2448 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2449 * Use is subject to license terms. 2450 */ 2451 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 2452 2453 2454 2455 2456 2457 /* 2458 * Limits 2459 * 2460 * The following define the limits for the types defined in <sys/int_types.h>. 2461 * 2462 * INTMAX_MIN (minimum value of the largest supported signed integer type), 2463 * INTMAX_MAX (maximum value of the largest supported signed integer type), 2464 * and UINTMAX_MAX (maximum value of the largest supported unsigned integer 2465 * type) can be set to implementation defined limits. 2466 * 2467 * NOTE : A programmer can test to see whether an implementation supports 2468 * a particular size of integer by testing if the macro that gives the 2469 * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX 2470 * tests false, the implementation does not support unsigned 64 bit integers. 2471 * 2472 * The type of these macros is intentionally unspecified. 2473 * 2474 * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs 2475 * where the ABI specifies "char" as unsigned when the translation mode is 2476 * not ANSI-C. 2477 */ 2478 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2479 /* 2480 * The following 2 macros are provided for testing whether the types 2481 * intptr_t and uintptr_t (integers large enough to hold a void *) are 2482 * defined in this header. They are needed in case the architecture can't 2483 * represent a pointer in any standard integral type. 2484 */ 2485 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2486 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */ 2487 2488 2489 2490 2491 2492 2493 /* 2494 * Maximum value of a "size_t". SIZE_MAX was previously defined 2495 * in <limits.h>, however, the standards specify it be defined 2496 * in <stdint.h>. The <stdint.h> headers includes this header as 2497 * does <limits.h>. The value of SIZE_MAX should not deviate 2498 * from the value of ULONG_MAX defined <sys/types.h>. 2499 */ 2500 2501 2502 2503 2504 2505 2506 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */ 2507 2508 2509 2510 2511 /* 2512 * Maximum limit of wchar_t. The WCHAR_* macros are also 2513 * defined in <iso/wchar_iso.h>, but inclusion of that header 2514 * will break ISO/IEC C namespace. 2515 */ 2516 2517 2518 2519 2520 /* Maximum limit of wint_t */ 2521 2522 2523 2524 2525 /* 2526 * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that 2527 * when including <limits.h> that the suffix _MAX is reserved but not the 2528 * suffix _MIN. However, until that issue is resolved.... 2529 */ 2530 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2531 /* Minimum value of a pointer-holding signed integer type */ 2532 2533 2534 2535 2536 2537 2538 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */ 2539 2540 2541 2542 2543 2544 2545 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */ 2546 2547 2548 2549 2550 /* 2551 * Minimum limit of wchar_t. The WCHAR_* macros are also 2552 * defined in <iso/wchar_iso.h>, but inclusion of that header 2553 * will break ISO/IEC C namespace. 2554 */ 2555 2556 2557 2558 2559 /* Minimum limit of wint_t */ 2560 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2561 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2562 /* 2563 * CDDL HEADER START 2564 * 2565 * The contents of this file are subject to the terms of the 2566 * Common Development and Distribution License, Version 1.0 only 2567 * (the "License"). You may not use this file except in compliance 2568 * with the License. 2569 * 2570 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2571 * or http://www.opensolaris.org/os/licensing. 2572 * See the License for the specific language governing permissions 2573 * and limitations under the License. 2574 * 2575 * When distributing Covered Code, include this CDDL HEADER in each 2576 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2577 * If applicable, add the following below this CDDL HEADER, with the 2578 * fields enclosed by brackets "[]" replaced with your own identifying 2579 * information: Portions Copyright [yyyy] [name of copyright owner] 2580 * 2581 * CDDL HEADER END 2582 */ 2583 /* 2584 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2585 * 2586 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2587 * Use is subject to license terms. 2588 */ 2589 2590 2591 2592 2593 /* 2594 * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation 2595 * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working 2596 * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 2597 * Programming language - C. 2598 * 2599 * Programs/Modules should not directly include this file. Access to the 2600 * types defined in this file should be through the inclusion of one of the 2601 * following files: 2602 * 2603 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2604 * components of <inttypes.h>. 2605 * 2606 * <inttypes.h> For use by applications. 2607 * 2608 * See these files for more details. 2609 * 2610 * Use at your own risk. This file will track the evolution of the revision 2611 * of the current ISO C standard. As of February 1996, the committee is 2612 * squarely behind the fixed sized types. 2613 */ 2614 2615 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2616 /* 2617 * CDDL HEADER START 2618 * 2619 * The contents of this file are subject to the terms of the 2620 * Common Development and Distribution License (the "License"). 2621 * You may not use this file except in compliance with the License. 2622 * 2623 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2624 * or http://www.opensolaris.org/os/licensing. 2625 * See the License for the specific language governing permissions 2626 * and limitations under the License. 2627 * 2628 * When distributing Covered Code, include this CDDL HEADER in each 2629 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2630 * If applicable, add the following below this CDDL HEADER, with the 2631 * fields enclosed by brackets "[]" replaced with your own identifying 2632 * information: Portions Copyright [yyyy] [name of copyright owner] 2633 * 2634 * CDDL HEADER END 2635 */ 2636 2637 /* 2638 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2639 * Copyright 2016 Joyent, Inc. 2640 * 2641 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2642 * Use is subject to license terms. 2643 */ 2644 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 2645 2646 2647 2648 2649 2650 /* 2651 * Constants 2652 * 2653 * The following macros create constants of the types defined in 2654 * <sys/int_types.h>. The intent is that: 2655 * Constants defined using these macros have a specific size and 2656 * signedness. The suffix used for int64_t and uint64_t (ll and ull) 2657 * are for examples only. Implementations are permitted to use other 2658 * suffixes. 2659 * 2660 * The "CSTYLED" comments are flags to an internal code style analysis tool 2661 * telling it to silently accept the line which follows. This internal 2662 * standard requires a space between arguments, but the historical, 2663 * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. 2664 */ 2665 /* CSTYLED */ 2666 2667 2668 2669 2670 2671 2672 /* CSTYLED */ 2673 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2674 /* CSTYLED */ 2675 2676 /* CSTYLED */ 2677 2678 /* CSTYLED */ 2679 2680 2681 /* CSTYLED */ 2682 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2683 /* CSTYLED */ 2684 2685 /* CSTYLED */ 2686 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2687 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 2688 /* 2689 * CDDL HEADER START 2690 * 2691 * The contents of this file are subject to the terms of the 2692 * Common Development and Distribution License, Version 1.0 only 2693 * (the "License"). You may not use this file except in compliance 2694 * with the License. 2695 * 2696 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2697 * or http://www.opensolaris.org/os/licensing. 2698 * See the License for the specific language governing permissions 2699 * and limitations under the License. 2700 * 2701 * When distributing Covered Code, include this CDDL HEADER in each 2702 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2703 * If applicable, add the following below this CDDL HEADER, with the 2704 * fields enclosed by brackets "[]" replaced with your own identifying 2705 * information: Portions Copyright [yyyy] [name of copyright owner] 2706 * 2707 * CDDL HEADER END 2708 */ 2709 /* 2710 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2711 * 2712 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2713 * Use is subject to license terms. 2714 */ 2715 2716 2717 2718 2719 /* 2720 * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation 2721 * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999 2722 * Programming language - C. 2723 * 2724 * ISO International Organization for Standardization. 2725 * 2726 * Programs/Modules should not directly include this file. Access to the 2727 * types defined in this file should be through the inclusion of one of the 2728 * following files: 2729 * 2730 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2731 * components of <inttypes.h>. 2732 * 2733 * <inttypes.h> For use by applications. 2734 * 2735 * See these files for more details. 2736 */ 2737 2738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2739 /* 2740 * CDDL HEADER START 2741 * 2742 * The contents of this file are subject to the terms of the 2743 * Common Development and Distribution License (the "License"). 2744 * You may not use this file except in compliance with the License. 2745 * 2746 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2747 * or http://www.opensolaris.org/os/licensing. 2748 * See the License for the specific language governing permissions 2749 * and limitations under the License. 2750 * 2751 * When distributing Covered Code, include this CDDL HEADER in each 2752 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2753 * If applicable, add the following below this CDDL HEADER, with the 2754 * fields enclosed by brackets "[]" replaced with your own identifying 2755 * information: Portions Copyright [yyyy] [name of copyright owner] 2756 * 2757 * CDDL HEADER END 2758 */ 2759 2760 /* 2761 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2762 * Copyright 2016 Joyent, Inc. 2763 * 2764 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2765 * Use is subject to license terms. 2766 */ 2767 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 2768 2769 2770 2771 2772 2773 /* 2774 * Formatted I/O 2775 * 2776 * The following macros can be used even when an implementation has not 2777 * extended the printf/scanf family of functions. 2778 * 2779 * The form of the names of the macros is either "PRI" for printf specifiers 2780 * or "SCN" for scanf specifiers, followed by the conversion specifier letter 2781 * followed by the datatype size. For example, PRId32 is the macro for 2782 * the printf d conversion specifier with the flags for 32 bit datatype. 2783 * 2784 * An example using one of these macros: 2785 * 2786 * uint64_t u; 2787 * printf("u = %016" PRIx64 "\n", u); 2788 * 2789 * For the purpose of example, the definitions of the printf/scanf macros 2790 * below have the values appropriate for a machine with 8 bit shorts, 16 2791 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation 2792 * mode, and 64 bit long longs. 2793 */ 2794 2795 /* 2796 * fprintf macros for signed integers 2797 */ 2798 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2799 /* 2800 * fprintf macros for unsigned integers 2801 */ 2802 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2803 /* 2804 * fprintf macros for pointers 2805 */ 2806 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2807 /* 2808 * fscanf macros for signed integers 2809 */ 2810 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2811 /* 2812 * fscanf macros for unsigned integers 2813 */ 2814 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2815 /* 2816 * The following macros define I/O formats for intmax_t and uintmax_t. 2817 */ 2818 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2819 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2820 2821 2822 2823 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 2824 /* 2825 * CDDL HEADER START 2826 * 2827 * The contents of this file are subject to the terms of the 2828 * Common Development and Distribution License, Version 1.0 only 2829 * (the "License"). You may not use this file except in compliance 2830 * with the License. 2831 * 2832 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2833 * or http://www.opensolaris.org/os/licensing. 2834 * See the License for the specific language governing permissions 2835 * and limitations under the License. 2836 * 2837 * When distributing Covered Code, include this CDDL HEADER in each 2838 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2839 * If applicable, add the following below this CDDL HEADER, with the 2840 * fields enclosed by brackets "[]" replaced with your own identifying 2841 * information: Portions Copyright [yyyy] [name of copyright owner] 2842 * 2843 * CDDL HEADER END 2844 */ 2845 /* 2846 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2847 * Use is subject to license terms. 2848 */ 2849 2850 2851 2852 2853 #pragma ident "%Z%%M% %I% %E% SMI" 2854 2855 /* 2856 * This header is included by <stdint.h> which was introduced by 2857 * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2858 * The header is a subset of the <inttypes.h> header. 2859 */ 2860 2861 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2862 /* 2863 * CDDL HEADER START 2864 * 2865 * The contents of this file are subject to the terms of the 2866 * Common Development and Distribution License, Version 1.0 only 2867 * (the "License"). You may not use this file except in compliance 2868 * with the License. 2869 * 2870 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2871 * or http://www.opensolaris.org/os/licensing. 2872 * See the License for the specific language governing permissions 2873 * and limitations under the License. 2874 * 2875 * When distributing Covered Code, include this CDDL HEADER in each 2876 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2877 * If applicable, add the following below this CDDL HEADER, with the 2878 * fields enclosed by brackets "[]" replaced with your own identifying 2879 * information: Portions Copyright [yyyy] [name of copyright owner] 2880 * 2881 * CDDL HEADER END 2882 */ 2883 /* 2884 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2885 * 2886 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2887 * Use is subject to license terms. 2888 */ 2889 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2890 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2891 /* 2892 * CDDL HEADER START 2893 * 2894 * The contents of this file are subject to the terms of the 2895 * Common Development and Distribution License, Version 1.0 only 2896 * (the "License"). You may not use this file except in compliance 2897 * with the License. 2898 * 2899 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2900 * or http://www.opensolaris.org/os/licensing. 2901 * See the License for the specific language governing permissions 2902 * and limitations under the License. 2903 * 2904 * When distributing Covered Code, include this CDDL HEADER in each 2905 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2906 * If applicable, add the following below this CDDL HEADER, with the 2907 * fields enclosed by brackets "[]" replaced with your own identifying 2908 * information: Portions Copyright [yyyy] [name of copyright owner] 2909 * 2910 * CDDL HEADER END 2911 */ 2912 /* 2913 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2914 * 2915 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2916 * Use is subject to license terms. 2917 */ 2918 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2919 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2920 /* 2921 * CDDL HEADER START 2922 * 2923 * The contents of this file are subject to the terms of the 2924 * Common Development and Distribution License, Version 1.0 only 2925 * (the "License"). You may not use this file except in compliance 2926 * with the License. 2927 * 2928 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2929 * or http://www.opensolaris.org/os/licensing. 2930 * See the License for the specific language governing permissions 2931 * and limitations under the License. 2932 * 2933 * When distributing Covered Code, include this CDDL HEADER in each 2934 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2935 * If applicable, add the following below this CDDL HEADER, with the 2936 * fields enclosed by brackets "[]" replaced with your own identifying 2937 * information: Portions Copyright [yyyy] [name of copyright owner] 2938 * 2939 * CDDL HEADER END 2940 */ 2941 /* 2942 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2943 * 2944 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2945 * Use is subject to license terms. 2946 */ 2947 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2948 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2949 2950 2951 2952 2953 2954 2955 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */ 2956 2957 /* 2958 * wchar_t is a built-in type in standard C++ and as such is not 2959 * defined here when using standard C++. However, the GNU compiler 2960 * fixincludes utility nonetheless creates its own version of this 2961 * header for use by gcc and g++. In that version it adds a redundant 2962 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 2963 * header we need to include the following magic comment: 2964 * 2965 * we must use the C++ compiler's type 2966 * 2967 * The above comment should not be removed or changed until GNU 2968 * gcc/fixinc/inclhack.def is updated to bypass this header. 2969 */ 2970 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2971 typedef struct { 2972 intmax_t quot; 2973 intmax_t rem; 2974 } imaxdiv_t; 2975 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2976 extern intmax_t imaxabs(intmax_t); 2977 extern imaxdiv_t imaxdiv(intmax_t, intmax_t); 2978 extern intmax_t strtoimax(const char *, char **, 2979 int); 2980 extern uintmax_t strtoumax(const char *, char **, 2981 int); 2982 extern intmax_t wcstoimax(const wchar_t *, 2983 wchar_t **, int); 2984 extern uintmax_t wcstoumax(const wchar_t *, 2985 wchar_t **, int); 2986 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 2987 extern uint32_t arc4random(void); 2988 extern void arc4random_buf(void *, size_t); 2989 extern uint32_t arc4random_uniform(uint32_t); 2990 extern void freezero(void *, size_t); 2991 extern void *recallocarray(void *, size_t, size_t, size_t); 2992 # 30 "../common/zones_lofs.c" 2 2993 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 2994 /* 2995 * CDDL HEADER START 2996 * 2997 * The contents of this file are subject to the terms of the 2998 * Common Development and Distribution License (the "License"). 2999 * You may not use this file except in compliance with the License. 3000 * 3001 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3002 * or http://www.opensolaris.org/os/licensing. 3003 * See the License for the specific language governing permissions 3004 * and limitations under the License. 3005 * 3006 * When distributing Covered Code, include this CDDL HEADER in each 3007 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3008 * If applicable, add the following below this CDDL HEADER, with the 3009 * fields enclosed by brackets "[]" replaced with your own identifying 3010 * information: Portions Copyright [yyyy] [name of copyright owner] 3011 * 3012 * CDDL HEADER END 3013 */ 3014 3015 /* 3016 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3017 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3018 */ 3019 3020 /* Copyright (c) 1988 AT&T */ 3021 /* All Rights Reserved */ 3022 3023 3024 3025 3026 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 3027 /* 3028 * CDDL HEADER START 3029 * 3030 * The contents of this file are subject to the terms of the 3031 * Common Development and Distribution License, Version 1.0 only 3032 * (the "License"). You may not use this file except in compliance 3033 * with the License. 3034 * 3035 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3036 * or http://www.opensolaris.org/os/licensing. 3037 * See the License for the specific language governing permissions 3038 * and limitations under the License. 3039 * 3040 * When distributing Covered Code, include this CDDL HEADER in each 3041 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3042 * If applicable, add the following below this CDDL HEADER, with the 3043 * fields enclosed by brackets "[]" replaced with your own identifying 3044 * information: Portions Copyright [yyyy] [name of copyright owner] 3045 * 3046 * CDDL HEADER END 3047 */ 3048 /* Copyright (c) 1988 AT&T */ 3049 /* All Rights Reserved */ 3050 3051 3052 /* 3053 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3054 * Copyright 2014 PALO, Richard. 3055 * 3056 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3057 * Use is subject to license terms. 3058 */ 3059 3060 /* 3061 * An application should not include this header directly. Instead it 3062 * should be included only through the inclusion of other Sun headers. 3063 * 3064 * The contents of this header is limited to identifiers specified in the 3065 * C Standard. Any new identifiers specified in future amendments to the 3066 * C Standard must be placed in this header. If these new identifiers 3067 * are required to also be in the C++ Standard "std" namespace, then for 3068 * anything other than macro definitions, corresponding "using" directives 3069 * must also be added to <string.h>. 3070 */ 3071 3072 3073 3074 3075 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3076 /* 3077 * CDDL HEADER START 3078 * 3079 * The contents of this file are subject to the terms of the 3080 * Common Development and Distribution License (the "License"). 3081 * You may not use this file except in compliance with the License. 3082 * 3083 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3084 * or http://www.opensolaris.org/os/licensing. 3085 * See the License for the specific language governing permissions 3086 * and limitations under the License. 3087 * 3088 * When distributing Covered Code, include this CDDL HEADER in each 3089 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3090 * If applicable, add the following below this CDDL HEADER, with the 3091 * fields enclosed by brackets "[]" replaced with your own identifying 3092 * information: Portions Copyright [yyyy] [name of copyright owner] 3093 * 3094 * CDDL HEADER END 3095 */ 3096 3097 /* 3098 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3099 * Copyright 2016 Joyent, Inc. 3100 * 3101 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3102 * Use is subject to license terms. 3103 */ 3104 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 3105 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3106 /* 3107 * This file and its contents are supplied under the terms of the 3108 * Common Development and Distribution License ("CDDL"), version 1.0. 3109 * You may only use this file in accordance with the terms of version 3110 * 1.0 of the CDDL. 3111 * 3112 * A full copy of the text of the CDDL should have accompanied this 3113 * source. A copy of the CDDL is also available via the Internet at 3114 * http://www.illumos.org/license/CDDL. 3115 */ 3116 3117 /* 3118 * Copyright 2014-2016 PALO, Richard. 3119 */ 3120 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 3121 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 3122 extern int memcmp(const void *, const void *, size_t); 3123 extern void *memcpy(void *, const void *, size_t); 3124 extern void *memmove(void *, const void *, size_t); 3125 extern void *memset(void *, int, size_t); 3126 extern char *strcat(char *, const char *); 3127 extern int strcmp(const char *, const char *); 3128 extern char *strcpy(char *, const char *); 3129 extern int strcoll(const char *, const char *); 3130 extern size_t strcspn(const char *, const char *); 3131 extern char *strerror(int); 3132 extern size_t strlen(const char *); 3133 extern char *strncat(char *, const char *, size_t); 3134 extern int strncmp(const char *, const char *, size_t); 3135 extern char *strncpy(char *, const char *, size_t); 3136 extern size_t strspn(const char *, const char *); 3137 extern char *strtok(char *, const char *); 3138 extern size_t strxfrm(char *, const char *, size_t); 3139 3140 /* 3141 * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the 3142 * function signatures for the following functions be replaced by 3143 * two declarations, both of which have the same behavior. 3144 */ 3145 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 3146 extern void *memchr(const void *, int, size_t); 3147 extern char *strchr(const char *, int); 3148 extern char *strpbrk(const char *, const char *); 3149 extern char *strrchr(const char *, int); 3150 extern char *strstr(const char *, const char *); 3151 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 3152 3153 /* 3154 * Allow global visibility for symbols defined in 3155 * C++ "std" namespace in <iso/string_iso.h>. 3156 */ 3157 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 3158 extern int strerror_r(int, char *, size_t); 3159 3160 3161 3162 3163 3164 extern char *strtok_r(char *, const char *, 3165 char **); 3166 3167 3168 3169 3170 extern void *memccpy(void *, const void *, 3171 int, size_t); 3172 3173 3174 3175 3176 extern char *stpcpy(char *, const char *); 3177 extern char *stpncpy(char *, const char *, size_t); 3178 extern char *strndup(const char *, size_t); 3179 extern size_t strnlen(const char *, size_t); 3180 extern char *strsignal(int); 3181 3182 3183 3184 typedef struct _locale *locale_t; 3185 3186 3187 extern int strcoll_l(const char *, const char *, locale_t); 3188 extern size_t strxfrm_l(char *, const char *, 3189 size_t, locale_t); 3190 extern int strcasecmp_l(const char *, const char *, locale_t); 3191 extern int strncasecmp_l(const char *, const char *, size_t, locale_t); 3192 extern char *strerror_l(int, locale_t); 3193 3194 3195 3196 3197 3198 /* Note that some of these are also declared in strings.h for XPG4_2+ */ 3199 extern void explicit_bzero(void *, size_t); 3200 extern int uucopy(const void *, void *, size_t); 3201 extern int uucopystr(const void *, void *, size_t); 3202 extern int ffs(int); 3203 extern int ffsl(long); 3204 extern int ffsll(long long); 3205 extern int fls(int); 3206 extern int flsl(long); 3207 extern int flsll(long long); 3208 extern void *memmem(const void *, size_t, const void *, size_t); 3209 extern char *strcasestr(const char *, const char *); 3210 extern char *strnstr(const char *, const char *, size_t); 3211 extern size_t strlcpy(char *, const char *, size_t); 3212 extern size_t strlcat(char *, const char *, size_t); 3213 extern char *strsep(char **stringp, const char *delim); 3214 extern char *strchrnul(const char *, int); 3215 extern char *strcasestr_l(const char *, const char *, locale_t); 3216 extern int strcasecmp(const char *, const char *); 3217 extern int strncasecmp(const char *, const char *, size_t); 3218 3219 3220 3221 3222 3223 extern char *strdup(const char *); 3224 3225 3226 3227 3228 3229 3230 /* 3231 * gcc provides this inlining facility but Studio C does not. 3232 * We should use it exclusively once Studio C also provides it. 3233 */ 3234 extern void *__builtin_alloca(size_t); 3235 # 31 "../common/zones_lofs.c" 2 3236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 3237 /* 3238 * CDDL HEADER START 3239 * 3240 * The contents of this file are subject to the terms of the 3241 * Common Development and Distribution License (the "License"). 3242 * You may not use this file except in compliance with the License. 3243 * 3244 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3245 * or http://www.opensolaris.org/os/licensing. 3246 * See the License for the specific language governing permissions 3247 * and limitations under the License. 3248 * 3249 * When distributing Covered Code, include this CDDL HEADER in each 3250 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3251 * If applicable, add the following below this CDDL HEADER, with the 3252 * fields enclosed by brackets "[]" replaced with your own identifying 3253 * information: Portions Copyright [yyyy] [name of copyright owner] 3254 * 3255 * CDDL HEADER END 3256 */ 3257 3258 /* 3259 * Copyright 2014 PALO, Richard. 3260 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3261 * Copyright (c) 2013 Gary Mills 3262 * 3263 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3264 */ 3265 3266 /* Copyright (c) 1988 AT&T */ 3267 /* All Rights Reserved */ 3268 3269 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 3270 3271 3272 3273 3274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3275 /* 3276 * CDDL HEADER START 3277 * 3278 * The contents of this file are subject to the terms of the 3279 * Common Development and Distribution License (the "License"). 3280 * You may not use this file except in compliance with the License. 3281 * 3282 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3283 * or http://www.opensolaris.org/os/licensing. 3284 * See the License for the specific language governing permissions 3285 * and limitations under the License. 3286 * 3287 * When distributing Covered Code, include this CDDL HEADER in each 3288 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3289 * If applicable, add the following below this CDDL HEADER, with the 3290 * fields enclosed by brackets "[]" replaced with your own identifying 3291 * information: Portions Copyright [yyyy] [name of copyright owner] 3292 * 3293 * CDDL HEADER END 3294 */ 3295 3296 /* 3297 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3298 * Copyright 2016 Joyent, Inc. 3299 * 3300 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3301 * Use is subject to license terms. 3302 */ 3303 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3304 3305 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3306 /* 3307 * This file and its contents are supplied under the terms of the 3308 * Common Development and Distribution License ("CDDL"), version 1.0. 3309 * You may only use this file in accordance with the terms of version 3310 * 1.0 of the CDDL. 3311 * 3312 * A full copy of the text of the CDDL should have accompanied this 3313 * source. A copy of the CDDL is also available via the Internet at 3314 * http://www.illumos.org/license/CDDL. 3315 */ 3316 3317 /* 3318 * Copyright 2014-2016 PALO, Richard. 3319 */ 3320 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3321 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3322 /* 3323 * CDDL HEADER START 3324 * 3325 * The contents of this file are subject to the terms of the 3326 * Common Development and Distribution License (the "License"). 3327 * You may not use this file except in compliance with the License. 3328 * 3329 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3330 * or http://www.opensolaris.org/os/licensing. 3331 * See the License for the specific language governing permissions 3332 * and limitations under the License. 3333 * 3334 * When distributing Covered Code, include this CDDL HEADER in each 3335 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3336 * If applicable, add the following below this CDDL HEADER, with the 3337 * fields enclosed by brackets "[]" replaced with your own identifying 3338 * information: Portions Copyright [yyyy] [name of copyright owner] 3339 * 3340 * CDDL HEADER END 3341 */ 3342 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3343 /* All Rights Reserved */ 3344 3345 3346 /* 3347 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3348 * Use is subject to license terms. 3349 * 3350 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3351 * Copyright 2016 Joyent, Inc. 3352 */ 3353 3354 3355 3356 3357 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3358 /* 3359 * CDDL HEADER START 3360 * 3361 * The contents of this file are subject to the terms of the 3362 * Common Development and Distribution License (the "License"). 3363 * You may not use this file except in compliance with the License. 3364 * 3365 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3366 * or http://www.opensolaris.org/os/licensing. 3367 * See the License for the specific language governing permissions 3368 * and limitations under the License. 3369 * 3370 * When distributing Covered Code, include this CDDL HEADER in each 3371 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3372 * If applicable, add the following below this CDDL HEADER, with the 3373 * fields enclosed by brackets "[]" replaced with your own identifying 3374 * information: Portions Copyright [yyyy] [name of copyright owner] 3375 * 3376 * CDDL HEADER END 3377 */ 3378 3379 /* 3380 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3381 * Copyright 2016 Joyent, Inc. 3382 * 3383 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3384 * Use is subject to license terms. 3385 */ 3386 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3387 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 3388 /* 3389 * CDDL HEADER START 3390 * 3391 * The contents of this file are subject to the terms of the 3392 * Common Development and Distribution License (the "License"). 3393 * You may not use this file except in compliance with the License. 3394 * 3395 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3396 * or http://www.opensolaris.org/os/licensing. 3397 * See the License for the specific language governing permissions 3398 * and limitations under the License. 3399 * 3400 * 3401 * When distributing Covered Code, include this CDDL HEADER in each 3402 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3403 * If applicable, add the following below this CDDL HEADER, with the 3404 * fields enclosed by brackets "[]" replaced with your own identifying 3405 * information: Portions Copyright [yyyy] [name of copyright owner] 3406 * 3407 * CDDL HEADER END 3408 */ 3409 3410 /* 3411 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3412 * Use is subject to license terms. 3413 * Copyright 2016 Joyent, Inc. 3414 */ 3415 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3416 3417 /* 3418 * Machine dependent definitions moved to <sys/machtypes.h>. 3419 */ 3420 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 3421 /* 3422 * CDDL HEADER START 3423 * 3424 * The contents of this file are subject to the terms of the 3425 * Common Development and Distribution License, Version 1.0 only 3426 * (the "License"). You may not use this file except in compliance 3427 * with the License. 3428 * 3429 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3430 * or http://www.opensolaris.org/os/licensing. 3431 * See the License for the specific language governing permissions 3432 * and limitations under the License. 3433 * 3434 * When distributing Covered Code, include this CDDL HEADER in each 3435 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3436 * If applicable, add the following below this CDDL HEADER, with the 3437 * fields enclosed by brackets "[]" replaced with your own identifying 3438 * information: Portions Copyright [yyyy] [name of copyright owner] 3439 * 3440 * CDDL HEADER END 3441 */ 3442 /* 3443 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3444 * Use is subject to license terms. 3445 */ 3446 3447 3448 3449 3450 #pragma ident "%Z%%M% %I% %E% SMI" 3451 3452 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3453 /* 3454 * CDDL HEADER START 3455 * 3456 * The contents of this file are subject to the terms of the 3457 * Common Development and Distribution License (the "License"). 3458 * You may not use this file except in compliance with the License. 3459 * 3460 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3461 * or http://www.opensolaris.org/os/licensing. 3462 * See the License for the specific language governing permissions 3463 * and limitations under the License. 3464 * 3465 * When distributing Covered Code, include this CDDL HEADER in each 3466 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3467 * If applicable, add the following below this CDDL HEADER, with the 3468 * fields enclosed by brackets "[]" replaced with your own identifying 3469 * information: Portions Copyright [yyyy] [name of copyright owner] 3470 * 3471 * CDDL HEADER END 3472 */ 3473 3474 /* 3475 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3476 * Copyright 2016 Joyent, Inc. 3477 * 3478 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3479 * Use is subject to license terms. 3480 */ 3481 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3482 3483 3484 3485 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 3486 /* 3487 * CDDL HEADER START 3488 * 3489 * The contents of this file are subject to the terms of the 3490 * Common Development and Distribution License (the "License"). 3491 * You may not use this file except in compliance with the License. 3492 * 3493 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3494 * or http://www.opensolaris.org/os/licensing. 3495 * See the License for the specific language governing permissions 3496 * and limitations under the License. 3497 * 3498 * When distributing Covered Code, include this CDDL HEADER in each 3499 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3500 * If applicable, add the following below this CDDL HEADER, with the 3501 * fields enclosed by brackets "[]" replaced with your own identifying 3502 * information: Portions Copyright [yyyy] [name of copyright owner] 3503 * 3504 * CDDL HEADER END 3505 */ 3506 /* 3507 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3508 * Use is subject to license terms. 3509 */ 3510 3511 3512 3513 3514 #pragma ident "%Z%%M% %I% %E% SMI" 3515 3516 3517 3518 3519 3520 /* 3521 * Machine dependent types: 3522 * 3523 * intel ia32 Version 3524 */ 3525 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 3526 typedef struct _label_t { long val[8]; } label_t; 3527 3528 3529 3530 typedef unsigned char lock_t; /* lock work for busy wait */ 3531 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3532 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3533 3534 /* 3535 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 3536 * committee's working draft for the revision of the current ISO C standard, 3537 * ISO/IEC 9899:1990 Programming language - C. These are not currently 3538 * required by any standard but constitute a useful, general purpose set 3539 * of type definitions which is namespace clean with respect to all standards. 3540 */ 3541 3542 3543 3544 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 3545 /* 3546 * CDDL HEADER START 3547 * 3548 * The contents of this file are subject to the terms of the 3549 * Common Development and Distribution License, Version 1.0 only 3550 * (the "License"). You may not use this file except in compliance 3551 * with the License. 3552 * 3553 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3554 * or http://www.opensolaris.org/os/licensing. 3555 * See the License for the specific language governing permissions 3556 * and limitations under the License. 3557 * 3558 * When distributing Covered Code, include this CDDL HEADER in each 3559 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3560 * If applicable, add the following below this CDDL HEADER, with the 3561 * fields enclosed by brackets "[]" replaced with your own identifying 3562 * information: Portions Copyright [yyyy] [name of copyright owner] 3563 * 3564 * CDDL HEADER END 3565 */ 3566 /* 3567 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3568 * 3569 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3570 * Use is subject to license terms. 3571 */ 3572 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3573 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3574 /* 3575 * Strictly conforming ANSI C environments prior to the 1999 3576 * revision of the C Standard (ISO/IEC 9899:1999) do not have 3577 * the long long data type. 3578 */ 3579 3580 typedef long long longlong_t; 3581 typedef unsigned long long u_longlong_t; 3582 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3583 /* 3584 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 3585 * to use them instead of int32_t and uint32_t because DEC had 3586 * shipped 64-bit wide. 3587 */ 3588 3589 typedef int32_t t_scalar_t; 3590 typedef uint32_t t_uscalar_t; 3591 3592 3593 3594 3595 3596 /* 3597 * POSIX Extensions 3598 */ 3599 typedef unsigned char uchar_t; 3600 typedef unsigned short ushort_t; 3601 typedef unsigned int uint_t; 3602 typedef unsigned long ulong_t; 3603 3604 typedef char *caddr_t; /* ?<core address> type */ 3605 typedef long daddr_t; /* <disk address> type */ 3606 typedef short cnt_t; /* ?<count> type */ 3607 3608 3609 3610 3611 typedef long ptrdiff_t; /* pointer difference */ 3612 3613 3614 3615 3616 3617 /* 3618 * VM-related types 3619 */ 3620 typedef ulong_t pfn_t; /* page frame number */ 3621 typedef ulong_t pgcnt_t; /* number of pages */ 3622 typedef long spgcnt_t; /* signed number of pages */ 3623 3624 typedef uchar_t use_t; /* use count for swap. */ 3625 typedef short sysid_t; 3626 typedef short index_t; 3627 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 3628 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 3629 3630 /* 3631 * The size of off_t and related types depends on the setting of 3632 * _FILE_OFFSET_BITS. (Note that other system headers define other types 3633 * related to those defined here.) 3634 * 3635 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 3636 * explicitly 64 bits wide become available. 3637 */ 3638 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3639 typedef ulong_t ino_t; /* expanded inode type */ 3640 typedef long blkcnt_t; /* count of file blocks */ 3641 typedef ulong_t fsblkcnt_t; /* count of file system blocks */ 3642 typedef ulong_t fsfilcnt_t; /* count of files */ 3643 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3644 typedef ino_t ino64_t; /* expanded inode type */ 3645 typedef blkcnt_t blkcnt64_t; /* count of file blocks */ 3646 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */ 3647 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */ 3648 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3649 typedef int blksize_t; /* used for block sizes */ 3650 3651 3652 3653 3654 3655 3656 3657 typedef enum { B_FALSE, B_TRUE } boolean_t; 3658 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3659 /* 3660 * The {u,}pad64_t types can be used in structures such that those structures 3661 * may be accessed by code produced by compilation environments which don't 3662 * support a 64 bit integral datatype. The intention is not to allow 3663 * use of these fields in such environments, but to maintain the alignment 3664 * and offsets of the structure. 3665 * 3666 * Similar comments for {u,}pad128_t. 3667 * 3668 * Note that these types do NOT generate any stronger alignment constraints 3669 * than those available in the underlying ABI. See <sys/isa_defs.h> 3670 */ 3671 3672 typedef int64_t pad64_t; 3673 typedef uint64_t upad64_t; 3674 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3675 typedef union { 3676 long double _q; 3677 int32_t _l[4]; 3678 } pad128_t; 3679 3680 typedef union { 3681 long double _q; 3682 uint32_t _l[4]; 3683 } upad128_t; 3684 3685 typedef longlong_t offset_t; 3686 typedef u_longlong_t u_offset_t; 3687 typedef u_longlong_t len_t; 3688 typedef u_longlong_t diskaddr_t; 3689 3690 3691 3692 3693 /* 3694 * Definitions remaining from previous partial support for 64-bit file 3695 * offsets. This partial support for devices greater than 2gb requires 3696 * compiler support for long long. 3697 */ 3698 3699 typedef union { 3700 offset_t _f; /* Full 64 bit offset value */ 3701 struct { 3702 int32_t _l; /* lower 32 bits of offset value */ 3703 int32_t _u; /* upper 32 bits of offset value */ 3704 } _p; 3705 } lloff_t; 3706 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3707 typedef union { 3708 longlong_t _f; /* Full 64 bit disk address value */ 3709 struct { 3710 int32_t _l; /* lower 32 bits of disk address value */ 3711 int32_t _u; /* upper 32 bits of disk address value */ 3712 } _p; 3713 } lldaddr_t; 3714 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3715 typedef uint_t k_fltset_t; /* kernel fault set type */ 3716 3717 /* 3718 * The following type is for various kinds of identifiers. The 3719 * actual type must be the same for all since some system calls 3720 * (such as sigsend) take arguments that may be any of these 3721 * types. The enumeration type idtype_t defined in sys/procset.h 3722 * is used to indicate what type of id is being specified -- 3723 * a process id, process group id, session id, scheduling class id, 3724 * user id, group id, project id, task id or zone id. 3725 */ 3726 3727 typedef int id_t; 3728 3729 3730 3731 3732 typedef id_t lgrp_id_t; /* lgroup ID */ 3733 3734 /* 3735 * Type useconds_t is an unsigned integral type capable of storing 3736 * values at least in the range of zero to 1,000,000. 3737 */ 3738 typedef uint_t useconds_t; /* Time, in microseconds */ 3739 3740 3741 3742 typedef long suseconds_t; /* signed # of microseconds */ 3743 3744 3745 /* 3746 * Typedefs for dev_t components. 3747 */ 3748 3749 typedef uint_t major_t; /* major part of device number */ 3750 typedef uint_t minor_t; /* minor part of device number */ 3751 3752 3753 3754 3755 3756 /* 3757 * The data type of a thread priority. 3758 */ 3759 typedef short pri_t; 3760 3761 /* 3762 * The data type for a CPU flags field. (Can be extended to larger unsigned 3763 * types, if needed, limited by ability to update atomically.) 3764 */ 3765 typedef ushort_t cpu_flag_t; 3766 3767 /* 3768 * For compatibility reasons the following typedefs (prefixed o_) 3769 * can't grow regardless of the EFT definition. Although, 3770 * applications should not explicitly use these typedefs 3771 * they may be included via a system header definition. 3772 * WARNING: These typedefs may be removed in a future 3773 * release. 3774 * ex. the definitions in s5inode.h (now obsoleted) 3775 * remained small to preserve compatibility 3776 * in the S5 file system type. 3777 */ 3778 typedef ushort_t o_mode_t; /* old file attribute type */ 3779 typedef short o_dev_t; /* old device type */ 3780 typedef ushort_t o_uid_t; /* old UID type */ 3781 typedef o_uid_t o_gid_t; /* old GID type */ 3782 typedef short o_nlink_t; /* old file link type */ 3783 typedef short o_pid_t; /* old process id type */ 3784 typedef ushort_t o_ino_t; /* old inode type */ 3785 3786 3787 /* 3788 * POSIX and XOPEN Declarations 3789 */ 3790 typedef int key_t; /* IPC key type */ 3791 3792 typedef uint_t mode_t; /* file attribute type */ 3793 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3794 typedef uid_t gid_t; /* GID type */ 3795 3796 typedef uint32_t datalink_id_t; 3797 typedef uint32_t vrid_t; 3798 3799 typedef id_t taskid_t; 3800 typedef id_t projid_t; 3801 typedef id_t poolid_t; 3802 typedef id_t zoneid_t; 3803 typedef id_t ctid_t; 3804 3805 /* 3806 * POSIX definitions are same as defined in thread.h and synch.h. 3807 * Any changes made to here should be reflected in corresponding 3808 * files as described in comments. 3809 */ 3810 typedef uint_t pthread_t; /* = thread_t in thread.h */ 3811 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 3812 3813 /* "Magic numbers" tagging synchronization object types */ 3814 3815 3816 3817 3818 3819 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 3820 struct { 3821 uint16_t __pthread_mutex_flag1; 3822 uint8_t __pthread_mutex_flag2; 3823 uint8_t __pthread_mutex_ceiling; 3824 uint16_t __pthread_mutex_type; 3825 uint16_t __pthread_mutex_magic; 3826 } __pthread_mutex_flags; 3827 union { 3828 struct { 3829 uint8_t __pthread_mutex_pad[8]; 3830 } __pthread_mutex_lock64; 3831 struct { 3832 uint32_t __pthread_ownerpid; 3833 uint32_t __pthread_lockword; 3834 } __pthread_mutex_lock32; 3835 upad64_t __pthread_mutex_owner64; 3836 } __pthread_mutex_lock; 3837 upad64_t __pthread_mutex_data; 3838 } pthread_mutex_t; 3839 3840 typedef struct _pthread_cond { /* = cond_t in synch.h */ 3841 struct { 3842 uint8_t __pthread_cond_flag[4]; 3843 uint16_t __pthread_cond_type; 3844 uint16_t __pthread_cond_magic; 3845 } __pthread_cond_flags; 3846 upad64_t __pthread_cond_data; 3847 } pthread_cond_t; 3848 3849 /* 3850 * UNIX 98 Extension 3851 */ 3852 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 3853 int32_t __pthread_rwlock_readers; 3854 uint16_t __pthread_rwlock_type; 3855 uint16_t __pthread_rwlock_magic; 3856 pthread_mutex_t __pthread_rwlock_mutex; 3857 pthread_cond_t __pthread_rwlock_readercv; 3858 pthread_cond_t __pthread_rwlock_writercv; 3859 } pthread_rwlock_t; 3860 3861 /* 3862 * SUSV3 3863 */ 3864 typedef struct { 3865 uint32_t __pthread_barrier_count; 3866 uint32_t __pthread_barrier_current; 3867 upad64_t __pthread_barrier_cycle; 3868 upad64_t __pthread_barrier_reserved; 3869 pthread_mutex_t __pthread_barrier_lock; 3870 pthread_cond_t __pthread_barrier_cond; 3871 } pthread_barrier_t; 3872 3873 typedef pthread_mutex_t pthread_spinlock_t; 3874 3875 /* 3876 * attributes for threads, dynamically allocated by library 3877 */ 3878 typedef struct _pthread_attr { 3879 void *__pthread_attrp; 3880 } pthread_attr_t; 3881 3882 /* 3883 * attributes for mutex, dynamically allocated by library 3884 */ 3885 typedef struct _pthread_mutexattr { 3886 void *__pthread_mutexattrp; 3887 } pthread_mutexattr_t; 3888 3889 /* 3890 * attributes for cond, dynamically allocated by library 3891 */ 3892 typedef struct _pthread_condattr { 3893 void *__pthread_condattrp; 3894 } pthread_condattr_t; 3895 3896 /* 3897 * pthread_once 3898 */ 3899 typedef struct _once { 3900 upad64_t __pthread_once_pad[4]; 3901 } pthread_once_t; 3902 3903 /* 3904 * UNIX 98 Extensions 3905 * attributes for rwlock, dynamically allocated by library 3906 */ 3907 typedef struct _pthread_rwlockattr { 3908 void *__pthread_rwlockattrp; 3909 } pthread_rwlockattr_t; 3910 3911 /* 3912 * SUSV3 3913 * attributes for pthread_barrier_t, dynamically allocated by library 3914 */ 3915 typedef struct { 3916 void *__pthread_barrierattrp; 3917 } pthread_barrierattr_t; 3918 3919 typedef ulong_t dev_t; /* expanded device type */ 3920 3921 3922 typedef uint_t nlink_t; /* file link type */ 3923 typedef int pid_t; /* process id type */ 3924 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3925 typedef long time_t; /* time of day in seconds */ 3926 3927 3928 3929 3930 typedef long clock_t; /* relative time in a specified resolution */ 3931 3932 3933 3934 3935 typedef int clockid_t; /* clock identifier type */ 3936 3937 3938 3939 3940 typedef int timer_t; /* timer identifier type */ 3941 3942 3943 3944 3945 /* BEGIN CSTYLED */ 3946 typedef unsigned char unchar; 3947 typedef unsigned short ushort; 3948 typedef unsigned int uint; 3949 typedef unsigned long ulong; 3950 /* END CSTYLED */ 3951 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3952 /* 3953 * The following is the value of type id_t to use to indicate the 3954 * caller's current id. See procset.h for the type idtype_t 3955 * which defines which kind of id is being specified. 3956 */ 3957 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3958 /* 3959 * The following value of type pfn_t is used to indicate 3960 * invalid page frame number. 3961 */ 3962 3963 3964 3965 /* BEGIN CSTYLED */ 3966 typedef unsigned char u_char; 3967 typedef unsigned short u_short; 3968 typedef unsigned int u_int; 3969 typedef unsigned long u_long; 3970 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 3971 typedef quad_t quad; /* used by UFS */ 3972 /* END CSTYLED */ 3973 3974 /* 3975 * Nested include for BSD/sockets source compatibility. 3976 * (The select macros used to be defined here). 3977 */ 3978 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 3979 /* 3980 * CDDL HEADER START 3981 * 3982 * The contents of this file are subject to the terms of the 3983 * Common Development and Distribution License (the "License"). 3984 * You may not use this file except in compliance with the License. 3985 * 3986 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3987 * or http://www.opensolaris.org/os/licensing. 3988 * See the License for the specific language governing permissions 3989 * and limitations under the License. 3990 * 3991 * When distributing Covered Code, include this CDDL HEADER in each 3992 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3993 * If applicable, add the following below this CDDL HEADER, with the 3994 * fields enclosed by brackets "[]" replaced with your own identifying 3995 * information: Portions Copyright [yyyy] [name of copyright owner] 3996 * 3997 * CDDL HEADER END 3998 */ 3999 4000 /* 4001 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4002 * 4003 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4004 * 4005 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4006 * Use is subject to license terms. 4007 */ 4008 4009 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4010 /* All Rights Reserved */ 4011 4012 /* 4013 * University Copyright- Copyright (c) 1982, 1986, 1988 4014 * The Regents of the University of California 4015 * All Rights Reserved 4016 * 4017 * University Acknowledgment- Portions of this document are derived from 4018 * software developed by the University of California, Berkeley, and its 4019 * contributors. 4020 */ 4021 4022 4023 4024 4025 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4026 /* 4027 * CDDL HEADER START 4028 * 4029 * The contents of this file are subject to the terms of the 4030 * Common Development and Distribution License (the "License"). 4031 * You may not use this file except in compliance with the License. 4032 * 4033 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4034 * or http://www.opensolaris.org/os/licensing. 4035 * See the License for the specific language governing permissions 4036 * and limitations under the License. 4037 * 4038 * When distributing Covered Code, include this CDDL HEADER in each 4039 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4040 * If applicable, add the following below this CDDL HEADER, with the 4041 * fields enclosed by brackets "[]" replaced with your own identifying 4042 * information: Portions Copyright [yyyy] [name of copyright owner] 4043 * 4044 * CDDL HEADER END 4045 */ 4046 4047 /* 4048 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4049 * Copyright 2016 Joyent, Inc. 4050 * 4051 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4052 * Use is subject to license terms. 4053 */ 4054 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4055 4056 4057 4058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 4059 /* 4060 * CDDL HEADER START 4061 * 4062 * The contents of this file are subject to the terms of the 4063 * Common Development and Distribution License, Version 1.0 only 4064 * (the "License"). You may not use this file except in compliance 4065 * with the License. 4066 * 4067 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4068 * or http://www.opensolaris.org/os/licensing. 4069 * See the License for the specific language governing permissions 4070 * and limitations under the License. 4071 * 4072 * When distributing Covered Code, include this CDDL HEADER in each 4073 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4074 * If applicable, add the following below this CDDL HEADER, with the 4075 * fields enclosed by brackets "[]" replaced with your own identifying 4076 * information: Portions Copyright [yyyy] [name of copyright owner] 4077 * 4078 * CDDL HEADER END 4079 */ 4080 /* 4081 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 4082 * Use is subject to license terms. 4083 */ 4084 4085 /* 4086 * Implementation-private. This header should not be included 4087 * directly by an application. The application should instead 4088 * include <time.h> which includes this header conditionally 4089 * depending on which feature test macros are defined. By default, 4090 * this header is included by <time.h>. X/Open and POSIX 4091 * standards requirements result in this header being included 4092 * by <time.h> only under a restricted set of conditions. 4093 */ 4094 4095 4096 4097 4098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4099 /* 4100 * CDDL HEADER START 4101 * 4102 * The contents of this file are subject to the terms of the 4103 * Common Development and Distribution License (the "License"). 4104 * You may not use this file except in compliance with the License. 4105 * 4106 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4107 * or http://www.opensolaris.org/os/licensing. 4108 * See the License for the specific language governing permissions 4109 * and limitations under the License. 4110 * 4111 * When distributing Covered Code, include this CDDL HEADER in each 4112 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4113 * If applicable, add the following below this CDDL HEADER, with the 4114 * fields enclosed by brackets "[]" replaced with your own identifying 4115 * information: Portions Copyright [yyyy] [name of copyright owner] 4116 * 4117 * CDDL HEADER END 4118 */ 4119 4120 /* 4121 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4122 * Copyright 2016 Joyent, Inc. 4123 * 4124 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4125 * Use is subject to license terms. 4126 */ 4127 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 4128 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 4129 /* 4130 * Time expressed in seconds and nanoseconds 4131 */ 4132 4133 typedef struct timespec { /* definition per POSIX.4 */ 4134 time_t tv_sec; /* seconds */ 4135 long tv_nsec; /* and nanoseconds */ 4136 } timespec_t; 4137 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 4138 typedef struct timespec timestruc_t; /* definition per SVr4 */ 4139 4140 /* 4141 * The following has been left in for backward compatibility. Portable 4142 * applications should not use the structure name timestruc. 4143 */ 4144 4145 4146 4147 4148 4149 /* 4150 * Timer specification 4151 */ 4152 typedef struct itimerspec { /* definition per POSIX.4 */ 4153 struct timespec it_interval; /* timer period */ 4154 struct timespec it_value; /* timer expiration */ 4155 } itimerspec_t; 4156 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4157 4158 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 4159 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4160 /* All Rights Reserved */ 4161 4162 4163 /* 4164 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 4165 * All rights reserved. The Berkeley software License Agreement 4166 * specifies the terms and conditions for redistribution. 4167 */ 4168 4169 /* 4170 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4171 * 4172 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4173 * Use is subject to license terms. 4174 * 4175 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4176 */ 4177 4178 /* 4179 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 4180 */ 4181 4182 4183 4184 4185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4186 /* 4187 * CDDL HEADER START 4188 * 4189 * The contents of this file are subject to the terms of the 4190 * Common Development and Distribution License (the "License"). 4191 * You may not use this file except in compliance with the License. 4192 * 4193 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4194 * or http://www.opensolaris.org/os/licensing. 4195 * See the License for the specific language governing permissions 4196 * and limitations under the License. 4197 * 4198 * When distributing Covered Code, include this CDDL HEADER in each 4199 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4200 * If applicable, add the following below this CDDL HEADER, with the 4201 * fields enclosed by brackets "[]" replaced with your own identifying 4202 * information: Portions Copyright [yyyy] [name of copyright owner] 4203 * 4204 * CDDL HEADER END 4205 */ 4206 4207 /* 4208 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4209 * Copyright 2016 Joyent, Inc. 4210 * 4211 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4212 * Use is subject to license terms. 4213 */ 4214 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4215 4216 /* 4217 * Structure returned by gettimeofday(2) system call, 4218 * and used in other calls. 4219 */ 4220 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4221 struct timeval { 4222 time_t tv_sec; /* seconds */ 4223 suseconds_t tv_usec; /* and microseconds */ 4224 }; 4225 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4226 struct timezone { 4227 int tz_minuteswest; /* minutes west of Greenwich */ 4228 int tz_dsttime; /* type of dst correction */ 4229 }; 4230 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4231 /* 4232 * Needed for longlong_t type. Placement of this due to <sys/types.h> 4233 * including <sys/select.h> which relies on the presense of the itimerval 4234 * structure. 4235 */ 4236 4237 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4238 /* 4239 * CDDL HEADER START 4240 * 4241 * The contents of this file are subject to the terms of the 4242 * Common Development and Distribution License (the "License"). 4243 * You may not use this file except in compliance with the License. 4244 * 4245 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4246 * or http://www.opensolaris.org/os/licensing. 4247 * See the License for the specific language governing permissions 4248 * and limitations under the License. 4249 * 4250 * When distributing Covered Code, include this CDDL HEADER in each 4251 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4252 * If applicable, add the following below this CDDL HEADER, with the 4253 * fields enclosed by brackets "[]" replaced with your own identifying 4254 * information: Portions Copyright [yyyy] [name of copyright owner] 4255 * 4256 * CDDL HEADER END 4257 */ 4258 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4259 /* All Rights Reserved */ 4260 4261 4262 /* 4263 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4264 * Use is subject to license terms. 4265 * 4266 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4267 * Copyright 2016 Joyent, Inc. 4268 */ 4269 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4270 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4271 /* 4272 * Operations on timevals. 4273 */ 4274 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4275 /* 4276 * Names of the interval timers, and structure 4277 * defining a timer setting. 4278 */ 4279 4280 4281 4282 /* time and when system is running on */ 4283 /* behalf of the process. */ 4284 4285 /* time profiling of multithreaded */ 4286 /* programs. */ 4287 4288 4289 struct itimerval { 4290 struct timeval it_interval; /* timer interval */ 4291 struct timeval it_value; /* current value */ 4292 }; 4293 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4294 /* 4295 * Definitions for commonly used resolutions. 4296 */ 4297 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4298 /* 4299 * Time expressed as a 64-bit nanosecond counter. 4300 */ 4301 typedef longlong_t hrtime_t; 4302 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4303 int adjtime(struct timeval *, struct timeval *); 4304 4305 4306 4307 4308 int futimesat(int, const char *, const struct timeval *); 4309 4310 4311 4312 4313 4314 int getitimer(int, struct itimerval *); 4315 int utimes(const char *, const struct timeval *); 4316 4317 4318 4319 4320 int setitimer(int, struct itimerval *, 4321 struct itimerval *); 4322 4323 4324 4325 4326 /* 4327 * gettimeofday() and settimeofday() were included in SVr4 due to their 4328 * common use in BSD based applications. They were to be included exactly 4329 * as in BSD, with two parameters. However, AT&T/USL noted that the second 4330 * parameter was unused and deleted it, thereby making a routine included 4331 * for compatibility, incompatible. 4332 * 4333 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 4334 * parameters. 4335 * 4336 * This has caused general disagreement in the application community as to 4337 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 4338 * The flag _SVID_GETTOD may be used to force the SVID version. 4339 */ 4340 4341 4342 4343 4344 4345 int settimeofday(struct timeval *, void *); 4346 4347 hrtime_t gethrtime(void); 4348 hrtime_t gethrvtime(void); 4349 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4350 int gettimeofday(struct timeval *, void *); 4351 4352 4353 4354 4355 /* 4356 * The inclusion of <time.h> is historical and was added for 4357 * backward compatibility in delta 1.2 when a number of definitions 4358 * were moved out of <sys/time.h>. More recently, the timespec and 4359 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 4360 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 4361 * which is now included by <time.h>. This change was due to POSIX 4362 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 4363 * non-X/Open applications, including this header will still make 4364 * visible these definitions. 4365 */ 4366 4367 4368 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 4369 /* 4370 * CDDL HEADER START 4371 * 4372 * The contents of this file are subject to the terms of the 4373 * Common Development and Distribution License (the "License"). 4374 * You may not use this file except in compliance with the License. 4375 * 4376 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4377 * or http://www.opensolaris.org/os/licensing. 4378 * See the License for the specific language governing permissions 4379 * and limitations under the License. 4380 * 4381 * When distributing Covered Code, include this CDDL HEADER in each 4382 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4383 * If applicable, add the following below this CDDL HEADER, with the 4384 * fields enclosed by brackets "[]" replaced with your own identifying 4385 * information: Portions Copyright [yyyy] [name of copyright owner] 4386 * 4387 * CDDL HEADER END 4388 */ 4389 /* Copyright (c) 1988 AT&T */ 4390 /* All Rights Reserved */ 4391 4392 4393 /* 4394 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4395 * 4396 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 4397 * Use is subject to license terms. 4398 */ 4399 /* 4400 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 4401 * Copyright 2016 Joyent, Inc. 4402 */ 4403 4404 4405 4406 4407 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4408 /* 4409 * CDDL HEADER START 4410 * 4411 * The contents of this file are subject to the terms of the 4412 * Common Development and Distribution License (the "License"). 4413 * You may not use this file except in compliance with the License. 4414 * 4415 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4416 * or http://www.opensolaris.org/os/licensing. 4417 * See the License for the specific language governing permissions 4418 * and limitations under the License. 4419 * 4420 * When distributing Covered Code, include this CDDL HEADER in each 4421 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4422 * If applicable, add the following below this CDDL HEADER, with the 4423 * fields enclosed by brackets "[]" replaced with your own identifying 4424 * information: Portions Copyright [yyyy] [name of copyright owner] 4425 * 4426 * CDDL HEADER END 4427 */ 4428 4429 /* 4430 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4431 * Copyright 2016 Joyent, Inc. 4432 * 4433 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4434 * Use is subject to license terms. 4435 */ 4436 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4437 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 4438 /* 4439 * CDDL HEADER START 4440 * 4441 * The contents of this file are subject to the terms of the 4442 * Common Development and Distribution License, Version 1.0 only 4443 * (the "License"). You may not use this file except in compliance 4444 * with the License. 4445 * 4446 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4447 * or http://www.opensolaris.org/os/licensing. 4448 * See the License for the specific language governing permissions 4449 * and limitations under the License. 4450 * 4451 * When distributing Covered Code, include this CDDL HEADER in each 4452 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4453 * If applicable, add the following below this CDDL HEADER, with the 4454 * fields enclosed by brackets "[]" replaced with your own identifying 4455 * information: Portions Copyright [yyyy] [name of copyright owner] 4456 * 4457 * CDDL HEADER END 4458 */ 4459 /* Copyright (c) 1988 AT&T */ 4460 /* All Rights Reserved */ 4461 4462 /* 4463 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4464 * Copyright 2014 PALO, Richard. 4465 * 4466 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 4467 * Use is subject to license terms. 4468 */ 4469 4470 /* 4471 * An application should not include this header directly. Instead it 4472 * should be included only through the inclusion of other Sun headers. 4473 * 4474 * The contents of this header is limited to identifiers specified in the 4475 * C Standard. Any new identifiers specified in future amendments to the 4476 * C Standard must be placed in this header. If these new identifiers 4477 * are required to also be in the C++ Standard "std" namespace, then for 4478 * anything other than macro definitions, corresponding "using" directives 4479 * must also be added to <time.h.h>. 4480 */ 4481 4482 4483 4484 4485 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4486 /* 4487 * CDDL HEADER START 4488 * 4489 * The contents of this file are subject to the terms of the 4490 * Common Development and Distribution License (the "License"). 4491 * You may not use this file except in compliance with the License. 4492 * 4493 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4494 * or http://www.opensolaris.org/os/licensing. 4495 * See the License for the specific language governing permissions 4496 * and limitations under the License. 4497 * 4498 * When distributing Covered Code, include this CDDL HEADER in each 4499 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4500 * If applicable, add the following below this CDDL HEADER, with the 4501 * fields enclosed by brackets "[]" replaced with your own identifying 4502 * information: Portions Copyright [yyyy] [name of copyright owner] 4503 * 4504 * CDDL HEADER END 4505 */ 4506 4507 /* 4508 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4509 * Copyright 2016 Joyent, Inc. 4510 * 4511 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4512 * Use is subject to license terms. 4513 */ 4514 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4515 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 4516 /* 4517 * This file and its contents are supplied under the terms of the 4518 * Common Development and Distribution License ("CDDL"), version 1.0. 4519 * You may only use this file in accordance with the terms of version 4520 * 1.0 of the CDDL. 4521 * 4522 * A full copy of the text of the CDDL should have accompanied this 4523 * source. A copy of the CDDL is also available via the Internet at 4524 * http://www.illumos.org/license/CDDL. 4525 */ 4526 4527 /* 4528 * Copyright 2014-2016 PALO, Richard. 4529 */ 4530 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4531 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 4532 struct tm { /* see ctime(3) */ 4533 int tm_sec; 4534 int tm_min; 4535 int tm_hour; 4536 int tm_mday; 4537 int tm_mon; 4538 int tm_year; 4539 int tm_wday; 4540 int tm_yday; 4541 int tm_isdst; 4542 }; 4543 4544 4545 extern char *asctime(const struct tm *); 4546 extern clock_t clock(void); 4547 extern char *ctime(const time_t *); 4548 extern double difftime(time_t, time_t); 4549 extern struct tm *gmtime(const time_t *); 4550 extern struct tm *localtime(const time_t *); 4551 extern time_t mktime(struct tm *); 4552 extern time_t time(time_t *); 4553 extern size_t strftime(char *, size_t, const char *, 4554 const struct tm *); 4555 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4556 /* 4557 * C11 requires sys/time_impl.h for the definition of the struct timespec. 4558 */ 4559 4560 4561 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4562 /* 4563 * CDDL HEADER START 4564 * 4565 * The contents of this file are subject to the terms of the 4566 * Common Development and Distribution License (the "License"). 4567 * You may not use this file except in compliance with the License. 4568 * 4569 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4570 * or http://www.opensolaris.org/os/licensing. 4571 * See the License for the specific language governing permissions 4572 * and limitations under the License. 4573 * 4574 * When distributing Covered Code, include this CDDL HEADER in each 4575 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4576 * If applicable, add the following below this CDDL HEADER, with the 4577 * fields enclosed by brackets "[]" replaced with your own identifying 4578 * information: Portions Copyright [yyyy] [name of copyright owner] 4579 * 4580 * CDDL HEADER END 4581 */ 4582 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4583 /* All Rights Reserved */ 4584 4585 4586 /* 4587 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4588 * Use is subject to license terms. 4589 * 4590 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4591 * Copyright 2016 Joyent, Inc. 4592 */ 4593 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4594 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 4595 /* 4596 * CDDL HEADER START 4597 * 4598 * The contents of this file are subject to the terms of the 4599 * Common Development and Distribution License, Version 1.0 only 4600 * (the "License"). You may not use this file except in compliance 4601 * with the License. 4602 * 4603 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4604 * or http://www.opensolaris.org/os/licensing. 4605 * See the License for the specific language governing permissions 4606 * and limitations under the License. 4607 * 4608 * When distributing Covered Code, include this CDDL HEADER in each 4609 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4610 * If applicable, add the following below this CDDL HEADER, with the 4611 * fields enclosed by brackets "[]" replaced with your own identifying 4612 * information: Portions Copyright [yyyy] [name of copyright owner] 4613 * 4614 * CDDL HEADER END 4615 */ 4616 /* 4617 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 4618 * Use is subject to license terms. 4619 */ 4620 4621 /* 4622 * Implementation-private. This header should not be included 4623 * directly by an application. The application should instead 4624 * include <time.h> which includes this header conditionally 4625 * depending on which feature test macros are defined. By default, 4626 * this header is included by <time.h>. X/Open and POSIX 4627 * standards requirements result in this header being included 4628 * by <time.h> only under a restricted set of conditions. 4629 */ 4630 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4631 4632 4633 /* 4634 * Allow global visibility for symbols defined in 4635 * C++ "std" namespace in <iso/time_iso.h>. 4636 */ 4637 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4638 extern struct tm *gmtime_r(const time_t *, 4639 struct tm *); 4640 extern struct tm *localtime_r(const time_t *, 4641 struct tm *); 4642 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4643 extern char *strptime(const char *, const char *, 4644 struct tm *); 4645 4646 4647 4648 4649 4650 /* 4651 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 4652 * definition of the sigevent structure. Both require the inclusion 4653 * of <signal.h> and <time.h> when using the timer_create() function. 4654 * However, X/Open also specifies that the sigevent structure be defined 4655 * in <time.h> as described in the header <signal.h>. This prevents 4656 * compiler warnings for applications that only include <time.h> and not 4657 * also <signal.h>. The sigval union and the sigevent structure is 4658 * therefore defined both here and in <sys/siginfo.h> which gets included 4659 * via inclusion of <signal.h>. 4660 */ 4661 4662 4663 union sigval { 4664 int sival_int; /* integer value */ 4665 void *sival_ptr; /* pointer value */ 4666 }; 4667 4668 4669 4670 4671 struct sigevent { 4672 int sigev_notify; /* notification mode */ 4673 int sigev_signo; /* signal number */ 4674 union sigval sigev_value; /* signal value */ 4675 void (*sigev_notify_function)(union sigval); 4676 pthread_attr_t *sigev_notify_attributes; 4677 int __sigev_pad2; 4678 }; 4679 4680 4681 extern int clock_getres(clockid_t, struct timespec *); 4682 extern int clock_gettime(clockid_t, struct timespec *); 4683 extern int clock_settime(clockid_t, const struct timespec *); 4684 extern int timer_create(clockid_t, struct sigevent *, 4685 timer_t *); 4686 extern int timer_delete(timer_t); 4687 extern int timer_getoverrun(timer_t); 4688 extern int timer_gettime(timer_t, struct itimerspec *); 4689 extern int timer_settime(timer_t, int, const struct itimerspec *, 4690 struct itimerspec *); 4691 4692 extern int nanosleep(const struct timespec *, struct timespec *); 4693 extern int clock_nanosleep(clockid_t, int, 4694 const struct timespec *, struct timespec *); 4695 4696 4697 4698 4699 4700 4701 extern void tzset(void); 4702 extern char *tzname[2]; 4703 4704 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 4705 4706 4707 extern long _sysconf(int); /* System Private interface to sysconf() */ 4708 4709 /* 3 is _SC_CLK_TCK */ 4710 4711 4712 4713 4714 4715 extern long timezone; 4716 extern int daylight; 4717 4718 4719 4720 4721 4722 4723 extern time_t timegm(struct tm *); 4724 extern int cftime(char *, char *, const time_t *); 4725 extern int ascftime(char *, const char *, const struct tm *); 4726 extern long altzone; 4727 4728 4729 4730 4731 extern struct tm *getdate(const char *); 4732 4733 4734 4735 4736 4737 extern int getdate_err; 4738 4739 4740 4741 /* 4742 * ctime_r() & asctime_r() prototypes are defined here. 4743 */ 4744 4745 /* 4746 * Previous releases of Solaris, starting at 2.3, provided definitions of 4747 * various functions as specified in POSIX.1c, Draft 6. For some of these 4748 * functions, the final POSIX 1003.1c standard had a different number of 4749 * arguments and return values. 4750 * 4751 * The following segment of this header provides support for the standard 4752 * interfaces while supporting applications written under earlier 4753 * releases. The application defines appropriate values of the feature 4754 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 4755 * whether it was written to expect the Draft 6 or standard versions of 4756 * these interfaces, before including this header. This header then 4757 * provides a mapping from the source version of the interface to an 4758 * appropriate binary interface. Such mappings permit an application 4759 * to be built from libraries and objects which have mixed expectations 4760 * of the definitions of these functions. 4761 * 4762 * For applications using the Draft 6 definitions, the binary symbol is the 4763 * same as the source symbol, and no explicit mapping is needed. For the 4764 * standard interface, the function func() is mapped to the binary symbol 4765 * _posix_func(). The preferred mechanism for the remapping is a compiler 4766 * #pragma. If the compiler does not provide such a #pragma, the header file 4767 * defines a static function func() which calls the _posix_func() version; 4768 * this has to be done instead of #define since POSIX specifies that an 4769 * application can #undef the symbol and still be bound to the correct 4770 * implementation. Unfortunately, the statics confuse lint so we fallback to 4771 * #define in that case. 4772 * 4773 * NOTE: Support for the Draft 6 definitions is provided for compatibility 4774 * only. New applications/libraries should use the standard definitions. 4775 */ 4776 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4777 extern char *asctime_r(const struct tm *, char *, int); 4778 extern char *ctime_r(const time_t *, char *, int); 4779 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4780 extern size_t strftime_l(char *, size_t, 4781 const char *, const struct tm *, locale_t); 4782 4783 4784 4785 4786 4787 /* 4788 * Note, the C11 standard requires that all the various base values that are 4789 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 4790 */ 4791 4792 4793 extern int timespec_get(struct timespec *, int); 4794 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4795 4796 4797 /* 4798 * The inclusion of <sys/select.h> is needed for the FD_CLR, 4799 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 4800 * select() prototype defined in the XOpen specifications 4801 * beginning with XSH4v2. Placement required after definition 4802 * for itimerval. 4803 */ 4804 4805 4806 4807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 4808 /* 4809 * CDDL HEADER START 4810 * 4811 * The contents of this file are subject to the terms of the 4812 * Common Development and Distribution License (the "License"). 4813 * You may not use this file except in compliance with the License. 4814 * 4815 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4816 * or http://www.opensolaris.org/os/licensing. 4817 * See the License for the specific language governing permissions 4818 * and limitations under the License. 4819 * 4820 * When distributing Covered Code, include this CDDL HEADER in each 4821 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4822 * If applicable, add the following below this CDDL HEADER, with the 4823 * fields enclosed by brackets "[]" replaced with your own identifying 4824 * information: Portions Copyright [yyyy] [name of copyright owner] 4825 * 4826 * CDDL HEADER END 4827 */ 4828 4829 /* 4830 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4831 * 4832 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4833 * 4834 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4835 * Use is subject to license terms. 4836 */ 4837 4838 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4839 /* All Rights Reserved */ 4840 4841 /* 4842 * University Copyright- Copyright (c) 1982, 1986, 1988 4843 * The Regents of the University of California 4844 * All Rights Reserved 4845 * 4846 * University Acknowledgment- Portions of this document are derived from 4847 * software developed by the University of California, Berkeley, and its 4848 * contributors. 4849 */ 4850 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4851 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4852 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4853 /* 4854 * The sigset_t type is defined in <sys/signal.h> and duplicated 4855 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 4856 * now allows the visibility of signal.h in this header, however 4857 * an order of inclusion problem occurs as a result of inclusion 4858 * of <sys/select.h> in <signal.h> under certain conditions. 4859 * Rather than include <sys/signal.h> here, we've duplicated 4860 * the sigset_t type instead. This type is required for the XPG6 4861 * introduced pselect() function also declared in this header. 4862 */ 4863 4864 4865 typedef struct { /* signal set type */ 4866 unsigned int __sigbits[4]; 4867 } sigset_t; 4868 4869 4870 4871 4872 /* 4873 * Select uses bit masks of file descriptors in longs. 4874 * These macros manipulate such bit fields. 4875 * FD_SETSIZE may be defined by the user, but the default here 4876 * should be >= NOFILE (param.h). 4877 */ 4878 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4879 typedef long fd_mask; 4880 4881 typedef long fds_mask; 4882 4883 /* 4884 * The value of _NBBY needs to be consistant with the value 4885 * of NBBY in <sys/param.h>. 4886 */ 4887 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4888 typedef struct fd_set { 4889 4890 4891 4892 long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 4893 } fd_set; 4894 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4895 extern int select(int, fd_set *, fd_set *, 4896 fd_set *, struct timeval *); 4897 4898 4899 extern int pselect(int, fd_set *, fd_set *, 4900 fd_set *, const struct timespec *, 4901 const sigset_t *); 4902 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 4903 4904 4905 4906 /* 4907 * _VOID was defined to be either void or char but this is not 4908 * required because previous SunOS compilers have accepted the void 4909 * type. However, because many system header and source files use the 4910 * void keyword, the volatile keyword, and ANSI C function prototypes, 4911 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 4912 * should therefore not be used and remains for source compatibility 4913 * only. 4914 */ 4915 /* CSTYLED */ 4916 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4917 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 4918 /* 4919 * CDDL HEADER START 4920 * 4921 * The contents of this file are subject to the terms of the 4922 * Common Development and Distribution License (the "License"). 4923 * You may not use this file except in compliance with the License. 4924 * 4925 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4926 * or http://www.opensolaris.org/os/licensing. 4927 * See the License for the specific language governing permissions 4928 * and limitations under the License. 4929 * 4930 * When distributing Covered Code, include this CDDL HEADER in each 4931 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4932 * If applicable, add the following below this CDDL HEADER, with the 4933 * fields enclosed by brackets "[]" replaced with your own identifying 4934 * information: Portions Copyright [yyyy] [name of copyright owner] 4935 * 4936 * CDDL HEADER END 4937 */ 4938 4939 /* 4940 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 4941 * All Rights Reserved 4942 * 4943 */ 4944 4945 /* 4946 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4947 * Use is subject to license terms. 4948 */ 4949 4950 /* 4951 * WARNING: This is an implementation-specific header, 4952 * its contents are not guaranteed. Applications 4953 * should include <unistd.h> and not this header. 4954 */ 4955 4956 4957 4958 4959 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4960 /* 4961 * CDDL HEADER START 4962 * 4963 * The contents of this file are subject to the terms of the 4964 * Common Development and Distribution License (the "License"). 4965 * You may not use this file except in compliance with the License. 4966 * 4967 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4968 * or http://www.opensolaris.org/os/licensing. 4969 * See the License for the specific language governing permissions 4970 * and limitations under the License. 4971 * 4972 * When distributing Covered Code, include this CDDL HEADER in each 4973 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4974 * If applicable, add the following below this CDDL HEADER, with the 4975 * fields enclosed by brackets "[]" replaced with your own identifying 4976 * information: Portions Copyright [yyyy] [name of copyright owner] 4977 * 4978 * CDDL HEADER END 4979 */ 4980 4981 /* 4982 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4983 * Copyright 2016 Joyent, Inc. 4984 * 4985 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4986 * Use is subject to license terms. 4987 */ 4988 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 4989 4990 4991 4992 4993 4994 /* command names for confstr */ 4995 4996 4997 4998 /* 4999 * command names for large file configuration information 5000 */ 5001 /* large file compilation environment configuration */ 5002 5003 5004 5005 5006 /* transitional large file interface configuration */ 5007 5008 5009 5010 5011 5012 /* UNIX 98 */ 5013 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5014 /* UNIX 03 */ 5015 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5016 /* command names for POSIX sysconf */ 5017 5018 /* POSIX.1 names */ 5019 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5020 /* SVR4 names */ 5021 5022 5023 5024 5025 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 5026 5027 5028 5029 5030 /* POSIX.4 names */ 5031 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5032 /* XPG4 names */ 5033 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5034 /* additional XSH4/XCU4 command names for sysconf */ 5035 5036 5037 5038 /* additional XPG4v2 (UNIX 95) command names */ 5039 5040 5041 5042 5043 5044 /* defined for XTI (XNS Issue 5) */ 5045 5046 5047 5048 5049 5050 5051 5052 /* 5053 * Hardware specific items 5054 * Note that not all items are supported on all architectures 5055 */ 5056 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5057 /* 5058 * POSIX.1c (pthreads) names. These values are defined above 5059 * the sub-500 range. See psarc case 1995/257. 5060 */ 5061 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5062 /* UNIX 98 */ 5063 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5064 /* UNIX 03 */ 5065 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5066 /* command names for POSIX pathconf */ 5067 5068 /* POSIX.1 names */ 5069 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5070 /* POSIX.4 names */ 5071 5072 5073 5074 /* UNIX 03 names */ 5075 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5076 /* UNIX 08 names */ 5077 5078 5079 /* 5080 * Large File Summit names 5081 * 5082 * This value matches the MIPS ABI choice, but leaves a large gap in the 5083 * value space. 5084 */ 5085 5086 5087 /* 5088 * Extended attributes 5089 */ 5090 5091 5092 5093 /* 5094 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 5095 */ 5096 5097 5098 /* 5099 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 5100 */ 5101 5102 5103 5104 /* 5105 * The value of 0 is returned when 5106 * ACL's are not supported 5107 */ 5108 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5109 /* 5110 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 5111 * should not rely on this value, it has been aligned with the current 5112 * standard to avoid confusion if used. 5113 */ 5114 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5115 /* UNIX 03 names */ 5116 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 5117 5118 5119 5120 5121 5122 /* Symbolic constants for the "access" routine: */ 5123 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5124 /* Symbolic constants for the "lseek" routine: */ 5125 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5126 /* Path names: */ 5127 5128 5129 5130 5131 /* 5132 * compile-time symbolic constants, 5133 * Support does not mean the feature is enabled. 5134 * Use pathconf/sysconf to obtain actual configuration value. 5135 */ 5136 5137 /* Values unchanged in UNIX 03 */ 5138 5139 5140 5141 5142 5143 /* 5144 * POSIX.1b compile-time symbolic constants. 5145 */ 5146 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5147 /* 5148 * POSIX.1c compile-time symbolic constants. 5149 */ 5150 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5151 /* New in UNIX 03 */ 5152 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5153 /* 5154 * Support for the POSIX.1 mutex protocol attribute. For realtime applications 5155 * which need mutexes to support priority inheritance/ceiling. 5156 */ 5157 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5158 /* 5159 * Large File Summit-related announcement macros. The system supports both 5160 * the additional and transitional Large File Summit interfaces. (The final 5161 * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) 5162 */ 5163 5164 5165 5166 5167 5168 /* large file compilation environment setup */ 5169 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5170 /* In the LP64 compilation environment, the APIs are already large file */ 5171 5172 5173 5174 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5175 #pragma redefine_extname ftruncate64 ftruncate 5176 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5177 5178 5179 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5180 #pragma redefine_extname lseek64 lseek 5181 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5182 5183 5184 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5185 #pragma redefine_extname pread64 pread 5186 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5187 5188 5189 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5190 #pragma redefine_extname pwrite64 pwrite 5191 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5192 5193 5194 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5195 #pragma redefine_extname truncate64 truncate 5196 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5197 5198 5199 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5200 #pragma redefine_extname lockf64 lockf 5201 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5202 5203 5204 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5205 #pragma redefine_extname tell64 tell 5206 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5207 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5208 extern int access(const char *, int); 5209 5210 extern int acct(const char *); 5211 5212 extern unsigned alarm(unsigned); 5213 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5214 5215 5216 extern int brk(void *); 5217 5218 extern int chdir(const char *); 5219 extern int chown(const char *, uid_t, gid_t); 5220 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5221 5222 5223 extern int chroot(const char *); 5224 5225 extern int close(int); 5226 5227 5228 5229 5230 5231 5232 extern char *ctermid(char *); 5233 5234 5235 extern char *ctermid_r(char *); 5236 5237 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5238 5239 extern char *cuserid(char *); 5240 5241 extern int dup(int); 5242 extern int dup2(int, int); 5243 extern int dup3(int, int, int); 5244 5245 5246 5247 5248 extern void endusershell(void); 5249 5250 extern int execl(const char *, const char *, ...); 5251 extern int execle(const char *, const char *, ...); 5252 extern int execlp(const char *, const char *, ...); 5253 extern int execv(const char *, char *const *); 5254 extern int execve(const char *, char *const *, char *const *); 5255 extern int execvp(const char *, char *const *); 5256 extern void _exit(int) 5257 __attribute__((__noreturn__)); 5258 /* 5259 * The following fattach prototype is duplicated in <stropts.h>. The 5260 * duplication is necessitated by XPG4.2 which requires the prototype 5261 * be defined in <stropts.h>. 5262 */ 5263 5264 extern int fattach(int, const char *); 5265 5266 5267 extern int fchdir(int); 5268 extern int fchown(int, uid_t, gid_t); 5269 5270 5271 extern int fchroot(int); 5272 5273 5274 5275 extern int fdatasync(int); 5276 5277 /* 5278 * The following fdetach prototype is duplicated in <stropts.h>. The 5279 * duplication is necessitated by XPG4.2 which requires the prototype 5280 * be defined in <stropts.h>. 5281 */ 5282 5283 extern int fdetach(const char *); 5284 5285 extern pid_t fork(void); 5286 5287 extern pid_t fork1(void); 5288 extern pid_t forkall(void); 5289 5290 extern long fpathconf(int, int); 5291 5292 5293 extern int fsync(int); 5294 5295 5296 5297 5298 extern int ftruncate(int, off_t); 5299 5300 extern char *getcwd(char *, size_t); 5301 5302 5303 extern int getdtablesize(void); 5304 5305 extern gid_t getegid(void); 5306 extern uid_t geteuid(void); 5307 extern gid_t getgid(void); 5308 extern int getgroups(int, gid_t *); 5309 5310 extern long gethostid(void); 5311 5312 5313 5314 5315 extern int gethostname(char *, int); 5316 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5317 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5318 5319 extern int getpagesize(void); 5320 5321 extern pid_t getpgid(pid_t); 5322 5323 extern pid_t getpid(void); 5324 extern pid_t getppid(void); 5325 extern pid_t getpgrp(void); 5326 5327 5328 char *gettxt(const char *, const char *); 5329 5330 5331 extern pid_t getsid(pid_t); 5332 5333 extern uid_t getuid(void); 5334 5335 extern char *getusershell(void); 5336 5337 /* 5338 * The following ioctl prototype is duplicated in <stropts.h>. The 5339 * duplication is necessitated by XPG4.2 which requires the prototype 5340 * be defined in <stropts.h>. 5341 */ 5342 5343 extern int ioctl(int, int, ...); 5344 extern int isaexec(const char *, char *const *, char *const *); 5345 extern int issetugid(void); 5346 5347 extern int isatty(int); 5348 5349 extern int lchown(const char *, uid_t, gid_t); 5350 5351 extern int link(const char *, const char *); 5352 5353 extern offset_t llseek(int, offset_t, int); 5354 5355 5356 5357 5358 extern int lockf(int, int, off_t); 5359 5360 extern off_t lseek(int, off_t, int); 5361 5362 5363 extern int nice(int); 5364 5365 5366 extern int mincore(caddr_t, size_t, char *); 5367 5368 extern long pathconf(const char *, int); 5369 extern int pause(void); 5370 extern int pipe(int *); 5371 extern int pipe2(int *, int); 5372 5373 5374 5375 extern ssize_t pread(int, void *, size_t, off_t); 5376 5377 5378 extern void profil(unsigned short *, size_t, unsigned long, unsigned int); 5379 5380 /* 5381 * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The 5382 * declarations are identical. A change to either one may also require 5383 * appropriate namespace updates in order to avoid redeclaration 5384 * warnings in the case where both prototypes are exposed via inclusion 5385 * of both <pthread.h> and <unistd.h>. 5386 */ 5387 5388 5389 5390 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); 5391 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5392 extern ssize_t pwrite(int, const void *, size_t, off_t); 5393 5394 5395 /* per RFC 3542; This is also defined in netdb.h */ 5396 extern int rcmd_af(char **, unsigned short, const char *, const char *, 5397 const char *, int *, int); 5398 5399 extern ssize_t read(int, void *, size_t); 5400 5401 5402 extern ssize_t readlink(const char *, char *, 5403 size_t); 5404 5405 5406 5407 5408 5409 5410 extern int rename(const char *, const char *); 5411 5412 5413 5414 5415 5416 5417 5418 extern int resolvepath(const char *, char *, size_t); 5419 /* per RFC 3542; This is also defined in netdb.h */ 5420 extern int rexec_af(char **, unsigned short, const char *, const char *, 5421 const char *, int *, int); 5422 5423 extern int rmdir(const char *); 5424 5425 /* per RFC 3542; This is also defined in netdb.h */ 5426 extern int rresvport_af(int *, int); 5427 5428 5429 5430 5431 extern void *sbrk(intptr_t); 5432 5433 5434 extern int setegid(gid_t); 5435 extern int seteuid(uid_t); 5436 5437 extern int setgid(gid_t); 5438 5439 extern int setgroups(int, const gid_t *); 5440 extern int sethostname(char *, int); 5441 5442 extern int setpgid(pid_t, pid_t); 5443 5444 extern pid_t setpgrp(void); 5445 extern int setregid(gid_t, gid_t); 5446 extern int setreuid(uid_t, uid_t); 5447 5448 extern pid_t setsid(void); 5449 extern int setuid(uid_t); 5450 5451 extern void setusershell(void); 5452 5453 extern unsigned sleep(unsigned); 5454 5455 extern int stime(const time_t *); 5456 5457 5458 5459 5460 5461 5462 extern int symlink(const char *, const char *); 5463 extern void sync(void); 5464 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5465 extern long sysconf(int); 5466 extern pid_t tcgetpgrp(int); 5467 extern int tcsetpgrp(int, pid_t); 5468 5469 5470 5471 extern off_t tell(int); 5472 5473 5474 5475 5476 extern int truncate(const char *, off_t); 5477 5478 extern char *ttyname(int); 5479 5480 extern useconds_t ualarm(useconds_t, useconds_t); 5481 5482 extern int unlink(const char *); 5483 5484 extern char *getwd(char *); 5485 extern int usleep(useconds_t); 5486 extern pid_t vfork(void) __attribute__((__returns_twice__)); 5487 #pragma unknown_control_flow(vfork) 5488 5489 5490 extern void vhangup(void); 5491 5492 extern ssize_t write(int, const void *, size_t); 5493 5494 extern void yield(void); 5495 5496 5497 5498 5499 /* || defined(_XPG7) */ 5500 extern int faccessat(int, const char *, int, int); 5501 extern int fchownat(int, const char *, uid_t, gid_t, int); 5502 extern int linkat(int, const char *, int, const char *, int); 5503 extern ssize_t readlinkat(int, const char *, 5504 char *, size_t); 5505 extern int renameat(int, const char *, int, const char *); 5506 extern int symlinkat(const char *, int, const char *); 5507 extern int unlinkat(int, const char *, int); 5508 5509 5510 extern int get_nprocs(void); 5511 extern int get_nprocs_conf(void); 5512 5513 5514 /* transitional large file interface versions */ 5515 5516 5517 extern int ftruncate64(int, off64_t); 5518 extern off64_t lseek64(int, off64_t, int); 5519 extern ssize_t pread64(int, void *, size_t, off64_t); 5520 extern ssize_t pwrite64(int, const void *, size_t, off64_t); 5521 extern off64_t tell64(int); 5522 extern int truncate64(const char *, off64_t); 5523 extern int lockf64(int, int, off64_t); 5524 5525 5526 /* 5527 * getlogin_r() & ttyname_r() prototypes are defined here. 5528 */ 5529 5530 /* 5531 * Previous releases of Solaris, starting at 2.3, provided definitions of 5532 * various functions as specified in POSIX.1c, Draft 6. For some of these 5533 * functions, the final POSIX 1003.1c standard had a different number of 5534 * arguments and return values. 5535 * 5536 * The following segment of this header provides support for the standard 5537 * interfaces while supporting applications written under earlier 5538 * releases. The application defines appropriate values of the feature 5539 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 5540 * whether it was written to expect the Draft 6 or standard versions of 5541 * these interfaces, before including this header. This header then 5542 * provides a mapping from the source version of the interface to an 5543 * appropriate binary interface. Such mappings permit an application 5544 * to be built from libraries and objects which have mixed expectations 5545 * of the definitions of these functions. 5546 * 5547 * For applications using the Draft 6 definitions, the binary symbol is the 5548 * same as the source symbol, and no explicit mapping is needed. For the 5549 * standard interface, the function func() is mapped to the binary symbol 5550 * _posix_func(). The preferred mechanism for the remapping is a compiler 5551 * #pragma. If the compiler does not provide such a #pragma, the header file 5552 * defines a static function func() which calls the _posix_func() version; 5553 * this has to be done instead of #define since POSIX specifies that an 5554 * application can #undef the symbol and still be bound to the correct 5555 * implementation. Unfortunately, the statics confuse lint so we fallback to 5556 * #define in that case. 5557 * 5558 * NOTE: Support for the Draft 6 definitions is provided for compatibility 5559 * only. New applications/libraries should use the standard definitions. 5560 */ 5561 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5562 5563 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5564 #pragma redefine_extname getlogin_r getloginx_r 5565 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5566 5567 5568 5569 5570 5571 5572 extern char *getlogin_r(char *, int); 5573 5574 extern char *ttyname_r(int, char *, int); 5575 5576 5577 5578 5579 5580 5581 extern int getentropy(void *, size_t); 5582 # 32 "../common/zones_lofs.c" 2 5583 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 5584 /* 5585 * CDDL HEADER START 5586 * 5587 * The contents of this file are subject to the terms of the 5588 * Common Development and Distribution License (the "License"). 5589 * You may not use this file except in compliance with the License. 5590 * 5591 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5592 * or http://www.opensolaris.org/os/licensing. 5593 * See the License for the specific language governing permissions 5594 * and limitations under the License. 5595 * 5596 * When distributing Covered Code, include this CDDL HEADER in each 5597 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5598 * If applicable, add the following below this CDDL HEADER, with the 5599 * fields enclosed by brackets "[]" replaced with your own identifying 5600 * information: Portions Copyright [yyyy] [name of copyright owner] 5601 * 5602 * CDDL HEADER END 5603 */ 5604 /* 5605 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5606 * 5607 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5608 * Use is subject to license terms. 5609 */ 5610 5611 5612 5613 5614 5615 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 5616 /* 5617 * CDDL HEADER START 5618 * 5619 * The contents of this file are subject to the terms of the 5620 * Common Development and Distribution License (the "License"). 5621 * You may not use this file except in compliance with the License. 5622 * 5623 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5624 * or http://www.opensolaris.org/os/licensing. 5625 * See the License for the specific language governing permissions 5626 * and limitations under the License. 5627 * 5628 * 5629 * When distributing Covered Code, include this CDDL HEADER in each 5630 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5631 * If applicable, add the following below this CDDL HEADER, with the 5632 * fields enclosed by brackets "[]" replaced with your own identifying 5633 * information: Portions Copyright [yyyy] [name of copyright owner] 5634 * 5635 * CDDL HEADER END 5636 */ 5637 5638 /* 5639 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5640 * Use is subject to license terms. 5641 * Copyright 2016 Joyent, Inc. 5642 */ 5643 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 5644 5645 5646 5647 5648 5649 /* 5650 * wchar_t is a built-in type in standard C++ and as such is not 5651 * defined here when using standard C++. However, the GNU compiler 5652 * fixincludes utility nonetheless creates its own version of this 5653 * header for use by gcc and g++. In that version it adds a redundant 5654 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 5655 * header we need to include the following magic comment: 5656 * 5657 * we must use the C++ compiler's type 5658 * 5659 * The above comment should not be removed or changed until GNU 5660 * gcc/fixinc/inclhack.def is updated to bypass this header. 5661 */ 5662 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 5663 extern char *dcgettext(const char *, const char *, const int); 5664 extern char *dgettext(const char *, const char *); 5665 extern char *gettext(const char *); 5666 extern char *textdomain(const char *); 5667 extern char *bindtextdomain(const char *, const char *); 5668 5669 /* 5670 * LI18NUX 2000 Globalization Specification Version 1.0 5671 * with Amendment 2 5672 */ 5673 extern char *dcngettext(const char *, const char *, 5674 const char *, unsigned long int, int); 5675 extern char *dngettext(const char *, const char *, 5676 const char *, unsigned long int); 5677 extern char *ngettext(const char *, const char *, unsigned long int); 5678 extern char *bind_textdomain_codeset(const char *, const char *); 5679 5680 /* Word handling functions --- requires dynamic linking */ 5681 /* Warning: these are experimental and subject to change. */ 5682 extern int wdinit(void); 5683 extern int wdchkind(wchar_t); 5684 extern int wdbindf(wchar_t, wchar_t, int); 5685 extern wchar_t *wddelim(wchar_t, wchar_t, int); 5686 extern wchar_t mcfiller(void); 5687 extern int mcwrap(void); 5688 # 33 "../common/zones_lofs.c" 2 5689 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1 5690 /* 5691 * CDDL HEADER START 5692 * 5693 * The contents of this file are subject to the terms of the 5694 * Common Development and Distribution License, Version 1.0 only 5695 * (the "License"). You may not use this file except in compliance 5696 * with the License. 5697 * 5698 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5699 * or http://www.opensolaris.org/os/licensing. 5700 * See the License for the specific language governing permissions 5701 * and limitations under the License. 5702 * 5703 * When distributing Covered Code, include this CDDL HEADER in each 5704 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5705 * If applicable, add the following below this CDDL HEADER, with the 5706 * fields enclosed by brackets "[]" replaced with your own identifying 5707 * information: Portions Copyright [yyyy] [name of copyright owner] 5708 * 5709 * CDDL HEADER END 5710 */ 5711 /* Copyright (c) 1988 AT&T */ 5712 /* All Rights Reserved */ 5713 5714 5715 /* 5716 * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. 5717 * Use is subject to license terms. 5718 */ 5719 5720 5721 5722 5723 5724 #pragma ident "%Z%%M% %I% %E% SMI" 5725 5726 /* 5727 * Error codes 5728 */ 5729 5730 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1 5731 /* 5732 * CDDL HEADER START 5733 * 5734 * The contents of this file are subject to the terms of the 5735 * Common Development and Distribution License, Version 1.0 only 5736 * (the "License"). You may not use this file except in compliance 5737 * with the License. 5738 * 5739 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5740 * or http://www.opensolaris.org/os/licensing. 5741 * See the License for the specific language governing permissions 5742 * and limitations under the License. 5743 * 5744 * When distributing Covered Code, include this CDDL HEADER in each 5745 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5746 * If applicable, add the following below this CDDL HEADER, with the 5747 * fields enclosed by brackets "[]" replaced with your own identifying 5748 * information: Portions Copyright [yyyy] [name of copyright owner] 5749 * 5750 * CDDL HEADER END 5751 */ 5752 /* 5753 * Copyright 2000 Sun Microsystems, Inc. All rights reserved. 5754 * Use is subject to license terms. 5755 */ 5756 5757 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 5758 /* All Rights Reserved */ 5759 5760 /* 5761 * University Copyright- Copyright (c) 1982, 1986, 1988 5762 * The Regents of the University of California 5763 * All Rights Reserved 5764 * 5765 * University Acknowledgment- Portions of this document are derived from 5766 * software developed by the University of California, Berkeley, and its 5767 * contributors. 5768 */ 5769 5770 5771 5772 5773 #pragma ident "%Z%%M% %I% %E% SMI" 5774 5775 5776 5777 5778 5779 /* 5780 * Error codes 5781 */ 5782 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5783 /* Filesystem Quotas */ 5784 5785 5786 /* Convergent Error Returns */ 5787 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5788 /* Interprocess Robust Locks */ 5789 5790 5791 5792 /* stream problems */ 5793 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5794 /* Interprocess Robust Locks */ 5795 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5796 /* shared library problems */ 5797 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5798 /* BSD Networking Software */ 5799 /* argument errors */ 5800 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5801 /* protocol family */ 5802 5803 5804 /* operational errors */ 5805 5806 5807 5808 /* of reset */ 5809 5810 5811 5812 5813 5814 /* XENIX has 135 - 142 */ 5815 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 5816 /* SUN Network File System */ 5817 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2 5818 5819 5820 5821 5822 5823 5824 /* 5825 * The symbols _sys_errlist and _sys_nerr are not visible in the 5826 * LP64 libc. Use strerror(3C) instead. 5827 */ 5828 5829 5830 5831 extern int *___errno(); 5832 # 34 "../common/zones_lofs.c" 2 5833 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1 5834 /* 5835 * CDDL HEADER START 5836 * 5837 * The contents of this file are subject to the terms of the 5838 * Common Development and Distribution License, Version 1.0 only 5839 * (the "License"). You may not use this file except in compliance 5840 * with the License. 5841 * 5842 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5843 * or http://www.opensolaris.org/os/licensing. 5844 * See the License for the specific language governing permissions 5845 * and limitations under the License. 5846 * 5847 * When distributing Covered Code, include this CDDL HEADER in each 5848 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5849 * If applicable, add the following below this CDDL HEADER, with the 5850 * fields enclosed by brackets "[]" replaced with your own identifying 5851 * information: Portions Copyright [yyyy] [name of copyright owner] 5852 * 5853 * CDDL HEADER END 5854 */ 5855 /* Copyright (c) 1988 AT&T */ 5856 /* All Rights Reserved */ 5857 5858 /* 5859 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5860 * Copyright 2016 Joyent, Inc. 5861 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 5862 * 5863 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5864 * Use is subject to license terms. 5865 */ 5866 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 5867 extern void __assert(const char *, const char *, int); 5868 5869 5870 /* 5871 * In C11 the static_assert macro is always defined, unlike the assert macro. 5872 */ 5873 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 5874 /* 5875 * Note that the ANSI C Standard requires all headers to be idempotent except 5876 * <assert.h> which is explicitly required not to be idempotent (section 4.1.2). 5877 * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do 5878 * not span this entire file. 5879 */ 5880 # 35 "../common/zones_lofs.c" 2 5881 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5882 /* 5883 * CDDL HEADER START 5884 * 5885 * The contents of this file are subject to the terms of the 5886 * Common Development and Distribution License (the "License"). 5887 * You may not use this file except in compliance with the License. 5888 * 5889 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5890 * or http://www.opensolaris.org/os/licensing. 5891 * See the License for the specific language governing permissions 5892 * and limitations under the License. 5893 * 5894 * When distributing Covered Code, include this CDDL HEADER in each 5895 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5896 * If applicable, add the following below this CDDL HEADER, with the 5897 * fields enclosed by brackets "[]" replaced with your own identifying 5898 * information: Portions Copyright [yyyy] [name of copyright owner] 5899 * 5900 * CDDL HEADER END 5901 */ 5902 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5903 /* All Rights Reserved */ 5904 5905 5906 /* 5907 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5908 * Use is subject to license terms. 5909 * 5910 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5911 * Copyright 2016 Joyent, Inc. 5912 */ 5913 # 36 "../common/zones_lofs.c" 2 5914 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mntent.h" 1 5915 /* 5916 * CDDL HEADER START 5917 * 5918 * The contents of this file are subject to the terms of the 5919 * Common Development and Distribution License (the "License"). 5920 * You may not use this file except in compliance with the License. 5921 * 5922 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5923 * or http://www.opensolaris.org/os/licensing. 5924 * See the License for the specific language governing permissions 5925 * and limitations under the License. 5926 * 5927 * When distributing Covered Code, include this CDDL HEADER in each 5928 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5929 * If applicable, add the following below this CDDL HEADER, with the 5930 * fields enclosed by brackets "[]" replaced with your own identifying 5931 * information: Portions Copyright [yyyy] [name of copyright owner] 5932 * 5933 * CDDL HEADER END 5934 */ 5935 /* 5936 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5937 * Use is subject to license terms. 5938 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 5939 * 5940 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 5941 * All Rights Reserved 5942 */ 5943 # 37 "../common/zones_lofs.c" 2 5944 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1 5945 /* 5946 * CDDL HEADER START 5947 * 5948 * The contents of this file are subject to the terms of the 5949 * Common Development and Distribution License (the "License"). 5950 * You may not use this file except in compliance with the License. 5951 * 5952 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5953 * or http://www.opensolaris.org/os/licensing. 5954 * See the License for the specific language governing permissions 5955 * and limitations under the License. 5956 * 5957 * When distributing Covered Code, include this CDDL HEADER in each 5958 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5959 * If applicable, add the following below this CDDL HEADER, with the 5960 * fields enclosed by brackets "[]" replaced with your own identifying 5961 * information: Portions Copyright [yyyy] [name of copyright owner] 5962 * 5963 * CDDL HEADER END 5964 */ 5965 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5966 /* All Rights Reserved */ 5967 5968 5969 /* 5970 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5971 * 5972 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5973 * Use is subject to license terms. 5974 */ 5975 5976 5977 5978 5979 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5980 /* 5981 * CDDL HEADER START 5982 * 5983 * The contents of this file are subject to the terms of the 5984 * Common Development and Distribution License (the "License"). 5985 * You may not use this file except in compliance with the License. 5986 * 5987 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5988 * or http://www.opensolaris.org/os/licensing. 5989 * See the License for the specific language governing permissions 5990 * and limitations under the License. 5991 * 5992 * When distributing Covered Code, include this CDDL HEADER in each 5993 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5994 * If applicable, add the following below this CDDL HEADER, with the 5995 * fields enclosed by brackets "[]" replaced with your own identifying 5996 * information: Portions Copyright [yyyy] [name of copyright owner] 5997 * 5998 * CDDL HEADER END 5999 */ 6000 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6001 /* All Rights Reserved */ 6002 6003 6004 /* 6005 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6006 * Use is subject to license terms. 6007 * 6008 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6009 * Copyright 2016 Joyent, Inc. 6010 */ 6011 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2 6012 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 6013 /* 6014 * The fields in struct extmnttab should match those in struct mnttab until new 6015 * fields are encountered. This allows hasmntopt(), getmntent_common() and 6016 * mntioctl() to cast one type to the other safely. 6017 * 6018 * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all 6019 * match those in the corresponding 32-bit versions defined in mntvnops.c. 6020 */ 6021 struct mnttab { 6022 char *mnt_special; 6023 char *mnt_mountp; 6024 char *mnt_fstype; 6025 char *mnt_mntopts; 6026 char *mnt_time; 6027 }; 6028 6029 struct extmnttab { 6030 char *mnt_special; 6031 char *mnt_mountp; 6032 char *mnt_fstype; 6033 char *mnt_mntopts; 6034 char *mnt_time; 6035 uint_t mnt_major; 6036 uint_t mnt_minor; 6037 }; 6038 6039 struct mntentbuf { 6040 struct extmnttab *mbuf_emp; 6041 size_t mbuf_bufsize; 6042 char *mbuf_buf; 6043 }; 6044 6045 6046 extern void resetmnttab(FILE *); 6047 extern int getmntent(FILE *, struct mnttab *); 6048 extern int getextmntent(FILE *, struct extmnttab *, size_t); 6049 extern int getmntany(FILE *, struct mnttab *, struct mnttab *); 6050 extern char *hasmntopt(struct mnttab *, char *); 6051 extern char *mntopt(char **); 6052 # 38 "../common/zones_lofs.c" 2 6053 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 6054 /* 6055 * CDDL HEADER START 6056 * 6057 * The contents of this file are subject to the terms of the 6058 * Common Development and Distribution License (the "License"). 6059 * You may not use this file except in compliance with the License. 6060 * 6061 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6062 * or http://www.opensolaris.org/os/licensing. 6063 * See the License for the specific language governing permissions 6064 * and limitations under the License. 6065 * 6066 * When distributing Covered Code, include this CDDL HEADER in each 6067 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6068 * If applicable, add the following below this CDDL HEADER, with the 6069 * fields enclosed by brackets "[]" replaced with your own identifying 6070 * information: Portions Copyright [yyyy] [name of copyright owner] 6071 * 6072 * CDDL HEADER END 6073 */ 6074 6075 /* 6076 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 6077 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 6078 */ 6079 6080 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 6081 /* All Rights Reserved */ 6082 6083 /* 6084 * University Copyright- Copyright (c) 1982, 1986, 1988 6085 * The Regents of the University of California 6086 * All Rights Reserved 6087 * 6088 * University Acknowledgment- Portions of this document are derived from 6089 * software developed by the University of California, Berkeley, and its 6090 * contributors. 6091 */ 6092 6093 6094 6095 6096 6097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6098 /* 6099 * CDDL HEADER START 6100 * 6101 * The contents of this file are subject to the terms of the 6102 * Common Development and Distribution License (the "License"). 6103 * You may not use this file except in compliance with the License. 6104 * 6105 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6106 * or http://www.opensolaris.org/os/licensing. 6107 * See the License for the specific language governing permissions 6108 * and limitations under the License. 6109 * 6110 * When distributing Covered Code, include this CDDL HEADER in each 6111 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6112 * If applicable, add the following below this CDDL HEADER, with the 6113 * fields enclosed by brackets "[]" replaced with your own identifying 6114 * information: Portions Copyright [yyyy] [name of copyright owner] 6115 * 6116 * CDDL HEADER END 6117 */ 6118 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6119 /* All Rights Reserved */ 6120 6121 6122 /* 6123 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6124 * Use is subject to license terms. 6125 * 6126 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6127 * Copyright 2016 Joyent, Inc. 6128 */ 6129 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6131 /* 6132 * CDDL HEADER START 6133 * 6134 * The contents of this file are subject to the terms of the 6135 * Common Development and Distribution License (the "License"). 6136 * You may not use this file except in compliance with the License. 6137 * 6138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6139 * or http://www.opensolaris.org/os/licensing. 6140 * See the License for the specific language governing permissions 6141 * and limitations under the License. 6142 * 6143 * 6144 * When distributing Covered Code, include this CDDL HEADER in each 6145 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6146 * If applicable, add the following below this CDDL HEADER, with the 6147 * fields enclosed by brackets "[]" replaced with your own identifying 6148 * information: Portions Copyright [yyyy] [name of copyright owner] 6149 * 6150 * CDDL HEADER END 6151 */ 6152 6153 /* 6154 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6155 * Use is subject to license terms. 6156 * Copyright 2016 Joyent, Inc. 6157 */ 6158 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6159 6160 6161 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6162 /* 6163 * This file and its contents are supplied under the terms of the 6164 * Common Development and Distribution License ("CDDL"), version 1.0. 6165 * You may only use this file in accordance with the terms of version 6166 * 1.0 of the CDDL. 6167 * 6168 * A full copy of the text of the CDDL should have accompanied this 6169 * source. A copy of the CDDL is also available via the Internet at 6170 * http://www.illumos.org/license/CDDL. 6171 */ 6172 6173 /* 6174 * Copyright 2014-2016 PALO, Richard. 6175 */ 6176 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6177 6178 6179 6180 6181 6182 /* 6183 * Fundamental variables; don't change too often. 6184 */ 6185 6186 /* 6187 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 6188 * an early merge with AT&T source. It has also historically been defined 6189 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 6190 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 6191 * Subsequent versions of the IEEE Standard as well as the X/Open 6192 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 6193 * while still allowing for it's existence in other headers. With the 6194 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 6195 */ 6196 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6197 /* compatibility purposes only */ 6198 /* and will be removed in a */ 6199 /* later release */ 6200 6201 /* 6202 * These define the maximum and minimum allowable values of the 6203 * configurable parameter NGROUPS_MAX. 6204 */ 6205 6206 6207 6208 6209 /* 6210 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 6211 */ 6212 6213 6214 /* 6215 * Default process priority. Keep it in sync with limits.h. 6216 */ 6217 6218 6219 /* 6220 * Fundamental constants of the implementation--cannot be changed easily. 6221 */ 6222 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6223 /* REMOTE -- whether machine is primary, secondary, or regular */ 6224 6225 6226 6227 /* 6228 * MAXPATHLEN defines the longest permissible path length, 6229 * including the terminating null, after expanding symbolic links. 6230 * TYPICALMAXPATHLEN is used in a few places as an optimization 6231 * with a local buffer on the stack to avoid kmem_alloc(). 6232 * MAXSYMLINKS defines the maximum number of symbolic links 6233 * that may be expanded in a path name. It should be set high 6234 * enough to allow all legitimate uses, but halt infinite loops 6235 * reasonably quickly. 6236 * MAXNAMELEN is the length (including the terminating null) of 6237 * the longest permissible file (component) name. 6238 */ 6239 6240 6241 6242 6243 6244 /* 6245 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 6246 * including the terminating NUL. Note that this must not be larger 6247 * than related networking constants such as LIFNAMSIZ. 6248 */ 6249 6250 6251 6252 6253 6254 6255 /* 6256 * The following are defined to be the same as 6257 * defined in /usr/include/limits.h. They are 6258 * needed for pipe and FIFO compatibility. 6259 */ 6260 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6261 /* macros replacing interleaving functions */ 6262 6263 6264 6265 /* 6266 * File system parameters and macros. 6267 * 6268 * The file system is made out of blocks of at most MAXBSIZE units, 6269 * with smaller units (fragments) only in the last direct block. 6270 * MAXBSIZE primarily determines the size of buffers in the buffer 6271 * pool. It may be made larger without any effect on existing 6272 * file systems; however making it smaller make make some file 6273 * systems unmountable. 6274 * 6275 * Note that the blocked devices are assumed to have DEV_BSIZE 6276 * "sectors" and that fragments must be some multiple of this size. 6277 */ 6278 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6279 /* 64 bit versions of btodb and dbtob */ 6280 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6281 /* 6282 * Size of arg list passed in by user. 6283 */ 6284 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6285 /* 6286 * Scale factor for scaled integers used to count 6287 * %cpu time and load averages. 6288 */ 6289 6290 6291 6292 /* 6293 * Delay units are in microseconds. 6294 * 6295 * XXX These macros are not part of the DDI! 6296 */ 6297 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6298 /* 6299 * The following is to free utilities from machine dependencies within 6300 * an architecture. Must be included after definition of DEV_BSIZE. 6301 */ 6302 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6303 /* 6304 * The following are assorted machine dependent values which can be 6305 * obtained in a machine independent manner through sysconf(2) or 6306 * sysinfo(2). In order to guarantee that these provide the expected 6307 * value at all times, the System Private interface (leading underscore) 6308 * is used. 6309 */ 6310 6311 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 6312 /* 6313 * CDDL HEADER START 6314 * 6315 * The contents of this file are subject to the terms of the 6316 * Common Development and Distribution License (the "License"). 6317 * You may not use this file except in compliance with the License. 6318 * 6319 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6320 * or http://www.opensolaris.org/os/licensing. 6321 * See the License for the specific language governing permissions 6322 * and limitations under the License. 6323 * 6324 * When distributing Covered Code, include this CDDL HEADER in each 6325 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6326 * If applicable, add the following below this CDDL HEADER, with the 6327 * fields enclosed by brackets "[]" replaced with your own identifying 6328 * information: Portions Copyright [yyyy] [name of copyright owner] 6329 * 6330 * CDDL HEADER END 6331 */ 6332 6333 /* 6334 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 6335 * All Rights Reserved 6336 * 6337 */ 6338 6339 /* 6340 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6341 * Use is subject to license terms. 6342 */ 6343 6344 /* 6345 * WARNING: This is an implementation-specific header, 6346 * its contents are not guaranteed. Applications 6347 * should include <unistd.h> and not this header. 6348 */ 6349 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6350 6351 6352 6353 6354 6355 6356 extern long _sysconf(int); /* System Private interface to sysconf() */ 6357 # 39 "../common/zones_lofs.c" 2 6358 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 6359 /* 6360 * CDDL HEADER START 6361 * 6362 * The contents of this file are subject to the terms of the 6363 * Common Development and Distribution License (the "License"). 6364 * You may not use this file except in compliance with the License. 6365 * 6366 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6367 * or http://www.opensolaris.org/os/licensing. 6368 * See the License for the specific language governing permissions 6369 * and limitations under the License. 6370 * 6371 * When distributing Covered Code, include this CDDL HEADER in each 6372 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6373 * If applicable, add the following below this CDDL HEADER, with the 6374 * fields enclosed by brackets "[]" replaced with your own identifying 6375 * information: Portions Copyright [yyyy] [name of copyright owner] 6376 * 6377 * CDDL HEADER END 6378 */ 6379 6380 /* 6381 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 6382 */ 6383 6384 6385 6386 6387 /* 6388 * Zone configuration header file. 6389 */ 6390 6391 6392 6393 6394 6395 /* sys/socket.h is required by net/if.h, which has a constant needed here */ 6396 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 6397 /* 6398 * CDDL HEADER START 6399 * 6400 * The contents of this file are subject to the terms of the 6401 * Common Development and Distribution License (the "License"). 6402 * You may not use this file except in compliance with the License. 6403 * 6404 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6405 * or http://www.opensolaris.org/os/licensing. 6406 * See the License for the specific language governing permissions 6407 * and limitations under the License. 6408 * 6409 * When distributing Covered Code, include this CDDL HEADER in each 6410 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6411 * If applicable, add the following below this CDDL HEADER, with the 6412 * fields enclosed by brackets "[]" replaced with your own identifying 6413 * information: Portions Copyright [yyyy] [name of copyright owner] 6414 * 6415 * CDDL HEADER END 6416 */ 6417 6418 /* 6419 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 6420 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 6421 */ 6422 6423 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 6424 /* All Rights Reserved */ 6425 6426 /* 6427 * University Copyright- Copyright (c) 1982, 1986, 1988 6428 * The Regents of the University of California 6429 * All Rights Reserved 6430 * 6431 * University Acknowledgment- Portions of this document are derived from 6432 * software developed by the University of California, Berkeley, and its 6433 * contributors. 6434 */ 6435 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 6436 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1 6437 /* 6438 * CDDL HEADER START 6439 * 6440 * The contents of this file are subject to the terms of the 6441 * Common Development and Distribution License, Version 1.0 only 6442 * (the "License"). You may not use this file except in compliance 6443 * with the License. 6444 * 6445 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6446 * or http://www.opensolaris.org/os/licensing. 6447 * See the License for the specific language governing permissions 6448 * and limitations under the License. 6449 * 6450 * When distributing Covered Code, include this CDDL HEADER in each 6451 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6452 * If applicable, add the following below this CDDL HEADER, with the 6453 * fields enclosed by brackets "[]" replaced with your own identifying 6454 * information: Portions Copyright [yyyy] [name of copyright owner] 6455 * 6456 * CDDL HEADER END 6457 */ 6458 /* 6459 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6460 */ 6461 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6462 /* All Rights Reserved */ 6463 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 6464 /* 6465 * Opcodes for the sysfs() system call. 6466 */ 6467 6468 6469 6470 6471 6472 int sysfs(int, ...); 6473 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 6474 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1 6475 /* 6476 * CDDL HEADER START 6477 * 6478 * The contents of this file are subject to the terms of the 6479 * Common Development and Distribution License, Version 1.0 only 6480 * (the "License"). You may not use this file except in compliance 6481 * with the License. 6482 * 6483 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6484 * or http://www.opensolaris.org/os/licensing. 6485 * See the License for the specific language governing permissions 6486 * and limitations under the License. 6487 * 6488 * When distributing Covered Code, include this CDDL HEADER in each 6489 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6490 * If applicable, add the following below this CDDL HEADER, with the 6491 * fields enclosed by brackets "[]" replaced with your own identifying 6492 * information: Portions Copyright [yyyy] [name of copyright owner] 6493 * 6494 * CDDL HEADER END 6495 */ 6496 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6497 /* All Rights Reserved */ 6498 6499 6500 /* 6501 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6502 * 6503 * Copyright (c) 1996, 1999 by Sun Microsystems, Inc. 6504 * All rights reserved. 6505 */ 6506 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 6507 /* 6508 * Flag bits passed to mount(2). 6509 */ 6510 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 6511 /* 6512 * Additional flag bits that domount() is prepared to interpret, but that 6513 * can't be passed through mount(2). 6514 */ 6515 6516 6517 6518 /* 6519 * Mask to sift out flag bits allowable from mount(2). 6520 */ 6521 6522 6523 6524 6525 /* 6526 * Mask to sift out flag bits allowable from umount2(2). 6527 */ 6528 6529 6530 6531 /* 6532 * Maximum option string length accepted or returned by mount(2). 6533 */ 6534 6535 6536 6537 int mount(const char *, const char *, int, ...); 6538 int umount(const char *); 6539 int umount2(const char *, int); 6540 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 6541 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 6542 /* 6543 * CDDL HEADER START 6544 * 6545 * The contents of this file are subject to the terms of the 6546 * Common Development and Distribution License (the "License"). 6547 * You may not use this file except in compliance with the License. 6548 * 6549 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6550 * or http://www.opensolaris.org/os/licensing. 6551 * See the License for the specific language governing permissions 6552 * and limitations under the License. 6553 * 6554 * When distributing Covered Code, include this CDDL HEADER in each 6555 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6556 * If applicable, add the following below this CDDL HEADER, with the 6557 * fields enclosed by brackets "[]" replaced with your own identifying 6558 * information: Portions Copyright [yyyy] [name of copyright owner] 6559 * 6560 * CDDL HEADER END 6561 */ 6562 /* 6563 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6564 * 6565 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 6566 * Use is subject to license terms. 6567 */ 6568 6569 6570 6571 6572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 6573 /* 6574 * CDDL HEADER START 6575 * 6576 * The contents of this file are subject to the terms of the 6577 * Common Development and Distribution License (the "License"). 6578 * You may not use this file except in compliance with the License. 6579 * 6580 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6581 * or http://www.opensolaris.org/os/licensing. 6582 * See the License for the specific language governing permissions 6583 * and limitations under the License. 6584 * 6585 * When distributing Covered Code, include this CDDL HEADER in each 6586 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6587 * If applicable, add the following below this CDDL HEADER, with the 6588 * fields enclosed by brackets "[]" replaced with your own identifying 6589 * information: Portions Copyright [yyyy] [name of copyright owner] 6590 * 6591 * CDDL HEADER END 6592 */ 6593 /* 6594 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6595 * 6596 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 6597 */ 6598 6599 6600 6601 6602 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6603 /* 6604 * CDDL HEADER START 6605 * 6606 * The contents of this file are subject to the terms of the 6607 * Common Development and Distribution License (the "License"). 6608 * You may not use this file except in compliance with the License. 6609 * 6610 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6611 * or http://www.opensolaris.org/os/licensing. 6612 * See the License for the specific language governing permissions 6613 * and limitations under the License. 6614 * 6615 * When distributing Covered Code, include this CDDL HEADER in each 6616 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6617 * If applicable, add the following below this CDDL HEADER, with the 6618 * fields enclosed by brackets "[]" replaced with your own identifying 6619 * information: Portions Copyright [yyyy] [name of copyright owner] 6620 * 6621 * CDDL HEADER END 6622 */ 6623 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6624 /* All Rights Reserved */ 6625 6626 6627 /* 6628 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6629 * Use is subject to license terms. 6630 * 6631 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6632 * Copyright 2016 Joyent, Inc. 6633 */ 6634 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 6635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 6636 /* 6637 * CDDL HEADER START 6638 * 6639 * The contents of this file are subject to the terms of the 6640 * Common Development and Distribution License (the "License"). 6641 * You may not use this file except in compliance with the License. 6642 * 6643 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6644 * or http://www.opensolaris.org/os/licensing. 6645 * See the License for the specific language governing permissions 6646 * and limitations under the License. 6647 * 6648 * When distributing Covered Code, include this CDDL HEADER in each 6649 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6650 * If applicable, add the following below this CDDL HEADER, with the 6651 * fields enclosed by brackets "[]" replaced with your own identifying 6652 * information: Portions Copyright [yyyy] [name of copyright owner] 6653 * 6654 * CDDL HEADER END 6655 */ 6656 /* 6657 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6658 * Use is subject to license terms. 6659 */ 6660 6661 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 6662 /* All Rights Reserved */ 6663 6664 /* 6665 * Portions of this source code were derived from Berkeley 4.3 BSD 6666 * under license from the Regents of the University of California. 6667 */ 6668 6669 6670 6671 6672 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6673 /* 6674 * CDDL HEADER START 6675 * 6676 * The contents of this file are subject to the terms of the 6677 * Common Development and Distribution License (the "License"). 6678 * You may not use this file except in compliance with the License. 6679 * 6680 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6681 * or http://www.opensolaris.org/os/licensing. 6682 * See the License for the specific language governing permissions 6683 * and limitations under the License. 6684 * 6685 * When distributing Covered Code, include this CDDL HEADER in each 6686 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6687 * If applicable, add the following below this CDDL HEADER, with the 6688 * fields enclosed by brackets "[]" replaced with your own identifying 6689 * information: Portions Copyright [yyyy] [name of copyright owner] 6690 * 6691 * CDDL HEADER END 6692 */ 6693 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6694 /* All Rights Reserved */ 6695 6696 6697 /* 6698 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6699 * Use is subject to license terms. 6700 * 6701 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6702 * Copyright 2016 Joyent, Inc. 6703 */ 6704 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 6705 6706 6707 6708 6709 6710 /* 6711 * The credential is an opaque kernel private data structure defined in 6712 * <sys/cred_impl.h>. 6713 */ 6714 6715 typedef struct cred cred_t; 6716 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 6717 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 6718 /* 6719 * CDDL HEADER START 6720 * 6721 * The contents of this file are subject to the terms of the 6722 * Common Development and Distribution License (the "License"). 6723 * You may not use this file except in compliance with the License. 6724 * 6725 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6726 * or http://www.opensolaris.org/os/licensing. 6727 * See the License for the specific language governing permissions 6728 * and limitations under the License. 6729 * 6730 * When distributing Covered Code, include this CDDL HEADER in each 6731 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6732 * If applicable, add the following below this CDDL HEADER, with the 6733 * fields enclosed by brackets "[]" replaced with your own identifying 6734 * information: Portions Copyright [yyyy] [name of copyright owner] 6735 * 6736 * CDDL HEADER END 6737 */ 6738 /* 6739 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 6740 * Copyright 2015, Joyent, Inc. All rights reserved. 6741 * 6742 * Privilege constant definitions. Privileges and privilege sets 6743 * are only known by name and should be mapped at runtime. 6744 * 6745 * THIS FILE WAS GENERATED; DO NOT EDIT 6746 */ 6747 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 6748 /* 6749 * Privilege names 6750 */ 6751 /* 6752 * Allows a process to request critical events without limitation. 6753 * Allows a process to request reliable delivery of all events on 6754 * any event queue. 6755 */ 6756 6757 6758 /* 6759 * Allows a process to set the service FMRI value of a process 6760 * contract template. 6761 */ 6762 6763 6764 /* 6765 * Allows a process to observe contract events generated by 6766 * contracts created and owned by users other than the process's 6767 * effective user ID. 6768 * Allows a process to open contract event endpoints belonging to 6769 * contracts created and owned by users other than the process's 6770 * effective user ID. 6771 */ 6772 6773 6774 /* 6775 * Allow a process to access per-CPU hardware performance counters. 6776 */ 6777 6778 6779 /* 6780 * Allows DTrace kernel-level tracing. 6781 */ 6782 6783 6784 /* 6785 * Allows DTrace process-level tracing. 6786 * Allows process-level tracing probes to be placed and enabled in 6787 * processes to which the user has permissions. 6788 */ 6789 6790 6791 /* 6792 * Allows DTrace user-level tracing. 6793 * Allows use of the syscall and profile DTrace providers to 6794 * examine processes to which the user has permissions. 6795 */ 6796 6797 6798 /* 6799 * Allows a process to change a file's owner user ID. 6800 * Allows a process to change a file's group ID to one other than 6801 * the process' effective group ID or one of the process' 6802 * supplemental group IDs. 6803 */ 6804 6805 6806 /* 6807 * Allows a process to give away its files; a process with this 6808 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 6809 * in effect. 6810 */ 6811 6812 6813 /* 6814 * Allows a process to execute an executable file whose permission 6815 * bits or ACL do not allow the process execute permission. 6816 */ 6817 6818 6819 /* 6820 * Allows a process to read a file or directory whose permission 6821 * bits or ACL do not allow the process read permission. 6822 */ 6823 6824 6825 /* 6826 * Allows a process to search a directory whose permission bits or 6827 * ACL do not allow the process search permission. 6828 */ 6829 6830 6831 /* 6832 * Allows a process to write a file or directory whose permission 6833 * bits or ACL do not allow the process write permission. 6834 * In order to write files owned by uid 0 in the absence of an 6835 * effective uid of 0 ALL privileges are required. 6836 */ 6837 6838 6839 /* 6840 * Allows a process to set the sensitivity label of a file or 6841 * directory to a sensitivity label that does not dominate the 6842 * existing sensitivity label. 6843 * This privilege is interpreted only if the system is configured 6844 * with Trusted Extensions. 6845 */ 6846 6847 6848 /* 6849 * Allows a process to set immutable, nounlink or appendonly 6850 * file attributes. 6851 */ 6852 6853 6854 /* 6855 * Allows a process to create hardlinks to files owned by a uid 6856 * different from the process' effective uid. 6857 */ 6858 6859 6860 /* 6861 * Allows a process which is not the owner of a file or directory 6862 * to perform the following operations that are normally permitted 6863 * only for the file owner: modify that file's access and 6864 * modification times; remove or rename a file or directory whose 6865 * parent directory has the ``save text image after execution'' 6866 * (sticky) bit set; mount a ``namefs'' upon a file; modify 6867 * permission bits or ACL except for the set-uid and set-gid 6868 * bits. 6869 */ 6870 6871 6872 /* 6873 * Allows a process to read objects in the filesystem. 6874 */ 6875 6876 6877 /* 6878 * Allows a process to change the ownership of a file or write to 6879 * a file without the set-user-ID and set-group-ID bits being 6880 * cleared. 6881 * Allows a process to set the set-group-ID bit on a file or 6882 * directory whose group is not the process' effective group or 6883 * one of the process' supplemental groups. 6884 * Allows a process to set the set-user-ID bit on a file with 6885 * different ownership in the presence of PRIV_FILE_OWNER. 6886 * Additional restrictions apply when creating or modifying a 6887 * set-uid 0 file. 6888 */ 6889 6890 6891 /* 6892 * Allows a process to set the sensitivity label of a file or 6893 * directory to a sensitivity label that dominates the existing 6894 * sensitivity label. 6895 * This privilege is interpreted only if the system is configured 6896 * with Trusted Extensions. 6897 */ 6898 6899 6900 /* 6901 * Allows a process to modify objects in the filesystem. 6902 */ 6903 6904 6905 /* 6906 * Allows a process to make privileged ioctls to graphics devices. 6907 * Typically only xserver process needs to have this privilege. 6908 * A process with this privilege is also allowed to perform 6909 * privileged graphics device mappings. 6910 */ 6911 6912 6913 /* 6914 * Allows a process to perform privileged mappings through a 6915 * graphics device. 6916 */ 6917 6918 6919 /* 6920 * Allows a process to read a System V IPC 6921 * Message Queue, Semaphore Set, or Shared Memory Segment whose 6922 * permission bits do not allow the process read permission. 6923 * Allows a process to read remote shared memory whose 6924 * permission bits do not allow the process read permission. 6925 */ 6926 6927 6928 /* 6929 * Allows a process to write a System V IPC 6930 * Message Queue, Semaphore Set, or Shared Memory Segment whose 6931 * permission bits do not allow the process write permission. 6932 * Allows a process to read remote shared memory whose 6933 * permission bits do not allow the process write permission. 6934 * Additional restrictions apply if the owner of the object has uid 0 6935 * and the effective uid of the current process is not 0. 6936 */ 6937 6938 6939 /* 6940 * Allows a process which is not the owner of a System 6941 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 6942 * remove, change ownership of, or change permission bits of the 6943 * Message Queue, Semaphore Set, or Shared Memory Segment. 6944 * Additional restrictions apply if the owner of the object has uid 0 6945 * and the effective uid of the current process is not 0. 6946 */ 6947 6948 6949 /* 6950 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 6951 */ 6952 6953 6954 /* 6955 * Allow a process to bind to a port that is configured as a 6956 * multi-level port(MLP) for the process's zone. This privilege 6957 * applies to both shared address and zone-specific address MLPs. 6958 * See tnzonecfg(4) from the Trusted Extensions manual pages for 6959 * information on configuring MLP ports. 6960 * This privilege is interpreted only if the system is configured 6961 * with Trusted Extensions. 6962 */ 6963 6964 6965 /* 6966 * Allows a process to send and receive ICMP packets. 6967 */ 6968 6969 6970 /* 6971 * Allows a process to set NET_MAC_AWARE process flag by using 6972 * setpflags(2). This privilege also allows a process to set 6973 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 6974 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 6975 * option both allow a local process to communicate with an 6976 * unlabeled peer if the local process' label dominates the 6977 * peer's default label, or if the local process runs in the 6978 * global zone. 6979 * This privilege is interpreted only if the system is configured 6980 * with Trusted Extensions. 6981 */ 6982 6983 6984 /* 6985 * Allows a process to set SO_MAC_IMPLICIT option by using 6986 * setsockopt(3SOCKET). This allows a privileged process to 6987 * transmit implicitly-labeled packets to a peer. 6988 * This privilege is interpreted only if the system is configured 6989 * with Trusted Extensions. 6990 */ 6991 6992 6993 /* 6994 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 6995 * while not requiring them to need PRIV_NET_RAWACCESS. 6996 */ 6997 6998 6999 /* 7000 * Allows a process to bind to a privileged port 7001 * number. The privilege port numbers are 1-1023 (the traditional 7002 * UNIX privileged ports) as well as those ports marked as 7003 * "udp/tcp_extra_priv_ports" with the exception of the ports 7004 * reserved for use by NFS. 7005 */ 7006 7007 7008 /* 7009 * Allows a process to have direct access to the network layer. 7010 */ 7011 7012 7013 /* 7014 * Allows a process to generate audit records. 7015 * Allows a process to get its own audit pre-selection information. 7016 */ 7017 7018 7019 /* 7020 * Allows a process to change its root directory. 7021 */ 7022 7023 7024 /* 7025 * Allows a process to use high resolution timers. 7026 */ 7027 7028 7029 /* 7030 * Allows a process to call execve(). 7031 */ 7032 7033 7034 /* 7035 * Allows a process to call fork1()/forkall()/vfork() 7036 */ 7037 7038 7039 /* 7040 * Allows a process to examine the status of processes other 7041 * than those it can send signals to. Processes which cannot 7042 * be examined cannot be seen in /proc and appear not to exist. 7043 */ 7044 7045 7046 /* 7047 * Allows a process to lock pages in physical memory. 7048 */ 7049 7050 7051 /* 7052 * Allows a process to access physical memory information. 7053 */ 7054 7055 7056 /* 7057 * Allows a process to send signals to other processes, inspect 7058 * and modify process state to other processes regardless of 7059 * ownership. When modifying another process, additional 7060 * restrictions apply: the effective privilege set of the 7061 * attaching process must be a superset of the target process' 7062 * effective, permitted and inheritable sets; the limit set must 7063 * be a superset of the target's limit set; if the target process 7064 * has any uid set to 0 all privilege must be asserted unless the 7065 * effective uid is 0. 7066 * Allows a process to bind arbitrary processes to CPUs. 7067 */ 7068 7069 7070 /* 7071 * Allows a process to elevate its priority above its current level. 7072 */ 7073 7074 7075 /* 7076 * Allows all that PRIV_PROC_PRIOUP allows. 7077 * Allows a process to change its scheduling class to any scheduling class, 7078 * including the RT class. 7079 */ 7080 7081 7082 /* 7083 * Allows a process to send signals or trace processes outside its 7084 * session. 7085 */ 7086 7087 7088 /* 7089 * Allows a process to set its uids at will. 7090 * Assuming uid 0 requires all privileges to be asserted. 7091 */ 7092 7093 7094 /* 7095 * Allows a process to assign a new task ID to the calling process. 7096 */ 7097 7098 7099 /* 7100 * Allows a process to trace or send signals to processes in 7101 * other zones. 7102 */ 7103 7104 7105 /* 7106 * Allows a process to enable and disable and manage accounting through 7107 * acct(2), getacct(2), putacct(2) and wracct(2). 7108 */ 7109 7110 7111 /* 7112 * Allows a process to perform system administration tasks such 7113 * as setting node and domain name and specifying nscd and coreadm 7114 * settings. 7115 */ 7116 7117 7118 /* 7119 * Allows a process to start the (kernel) audit daemon. 7120 * Allows a process to view and set audit state (audit user ID, 7121 * audit terminal ID, audit sessions ID, audit pre-selection mask). 7122 * Allows a process to turn off and on auditing. 7123 * Allows a process to configure the audit parameters (cache and 7124 * queue sizes, event to class mappings, policy options). 7125 */ 7126 7127 7128 /* 7129 * Allows a process to perform various system configuration tasks. 7130 * Allows a process to add and remove swap devices; when adding a swap 7131 * device, a process must also have sufficient privileges to read from 7132 * and write to the swap device. 7133 */ 7134 7135 7136 /* 7137 * Allows a process to successfully call a kernel module that 7138 * calls the kernel drv_priv(9F) function to check for allowed 7139 * access. 7140 * Allows a process to open the real console device directly. 7141 * Allows a process to open devices that have been exclusively opened. 7142 */ 7143 7144 7145 /* 7146 * Allows a process to increase the size of a System V IPC Message 7147 * Queue buffer. 7148 */ 7149 7150 7151 /* 7152 * Allows a process to unlink and link directories. 7153 */ 7154 7155 7156 /* 7157 * Allows filesystem specific administrative procedures, such as 7158 * filesystem configuration ioctls, quota calls and creation/deletion 7159 * of snapshots. 7160 * Allows a process to mount and unmount filesystems which would 7161 * otherwise be restricted (i.e., most filesystems except 7162 * namefs). 7163 * A process performing a mount operation needs to have 7164 * appropriate access to the device being mounted (read-write for 7165 * "rw" mounts, read for "ro" mounts). 7166 * A process performing any of the aforementioned 7167 * filesystem operations needs to have read/write/owner 7168 * access to the mount point. 7169 * Only regular files and directories can serve as mount points 7170 * for processes which do not have all zone privileges asserted. 7171 * Unless a process has all zone privileges, the mount(2) 7172 * system call will force the "nosuid" and "restrict" options, the 7173 * latter only for autofs mountpoints. 7174 * Regardless of privileges, a process running in a non-global zone may 7175 * only control mounts performed from within said zone. 7176 * Outside the global zone, the "nodevices" option is always forced. 7177 */ 7178 7179 7180 /* 7181 * Allows a process to configure IP tunnel links. 7182 */ 7183 7184 7185 /* 7186 * Allows a process to configure all classes of datalinks, including 7187 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 7188 */ 7189 7190 7191 /* 7192 * Allows a process to configure a system's IP interfaces and routes. 7193 * Allows a process to configure network parameters using ndd. 7194 * Allows a process access to otherwise restricted information using ndd. 7195 * Allows a process to configure IPsec. 7196 * Allows a process to pop anchored STREAMs modules with matching zoneid. 7197 */ 7198 7199 7200 /* 7201 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 7202 * PRIV_SYS_PPP_CONFIG allow. 7203 * Allows a process to push the rpcmod STREAMs module. 7204 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 7205 * than the top of the module stack. 7206 */ 7207 7208 7209 /* 7210 * Allows a process to perform Sun private NFS specific system calls. 7211 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 7212 * and port 4045 (lockd). 7213 */ 7214 7215 7216 /* 7217 * Allows a process to create and destroy PPP (sppp) interfaces. 7218 * Allows a process to configure PPP tunnels (sppptun). 7219 */ 7220 7221 7222 /* 7223 * Allows a process to bind processes to processor sets. 7224 */ 7225 7226 7227 /* 7228 * Allows all that PRIV_SYS_RES_BIND allows. 7229 * Allows a process to create and delete processor sets, assign 7230 * CPUs to processor sets and override the PSET_NOESCAPE property. 7231 * Allows a process to change the operational status of CPUs in 7232 * the system using p_online(2). 7233 * Allows a process to configure resource pools and to bind 7234 * processes to pools 7235 */ 7236 7237 7238 /* 7239 * Allows a process to modify the resource limits specified 7240 * by setrlimit(2) and setrctl(2) without restriction. 7241 * Allows a process to exceed the per-user maximum number of 7242 * processes. 7243 * Allows a process to extend or create files on a filesystem that 7244 * has less than minfree space in reserve. 7245 */ 7246 7247 7248 /* 7249 * Allows a process to access the Sun private SMB kernel module. 7250 * Allows a process to bind to ports reserved by NetBIOS and SMB: 7251 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 7252 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 7253 */ 7254 7255 7256 /* 7257 * Allows a process to successfully call a third party loadable module 7258 * that calls the kernel suser() function to check for allowed access. 7259 * This privilege exists only for third party loadable module 7260 * compatibility and is not used by Solaris proper. 7261 */ 7262 7263 7264 /* 7265 * Allows a process to manipulate system time using any of the 7266 * appropriate system calls: stime, adjtime, ntp_adjtime and 7267 * the IA specific RTC calls. 7268 */ 7269 7270 7271 /* 7272 * Allows a process to translate labels that are not dominated 7273 * by the process' sensitivity label to and from an external 7274 * string form. 7275 * This privilege is interpreted only if the system is configured 7276 * with Trusted Extensions. 7277 */ 7278 7279 7280 /* 7281 * Allows a process to manage virtualized environments such as 7282 * xVM(5). 7283 */ 7284 7285 7286 /* 7287 * Allows a process to override colormap restrictions. 7288 * Allows a process to install or remove colormaps. 7289 * Allows a process to retrieve colormap cell entries allocated 7290 * by other processes. 7291 * This privilege is interpreted only if the system is configured 7292 * with Trusted Extensions. 7293 */ 7294 7295 7296 /* 7297 * Allows a process to configure or destroy resources that are 7298 * permanently retained by the X server. 7299 * Allows a process to use SetScreenSaver to set the screen 7300 * saver timeout value. 7301 * Allows a process to use ChangeHosts to modify the display 7302 * access control list. 7303 * Allows a process to use GrabServer. 7304 * Allows a process to use the SetCloseDownMode request which 7305 * may retain window, pixmap, colormap, property, cursor, font, 7306 * or graphic context resources. 7307 * This privilege is interpreted only if the system is configured 7308 * with Trusted Extensions. 7309 */ 7310 7311 7312 /* 7313 * Allows a process to read from a window resource that it does 7314 * not own (has a different user ID). 7315 * This privilege is interpreted only if the system is configured 7316 * with Trusted Extensions. 7317 */ 7318 7319 7320 /* 7321 * Allows a process to write to or create a window resource that 7322 * it does not own (has a different user ID). A newly created 7323 * window property is created with the window's user ID. 7324 * This privilege is interpreted only if the system is configured 7325 * with Trusted Extensions. 7326 */ 7327 7328 7329 /* 7330 * Allows a process to perform operations on window input devices. 7331 * Allows a process to get and set keyboard and pointer controls. 7332 * Allows a process to modify pointer button and key mappings. 7333 * This privilege is interpreted only if the system is configured 7334 * with Trusted Extensions. 7335 */ 7336 7337 7338 /* 7339 * Allows a process to use the direct graphics access (DGA) X protocol 7340 * extensions. Direct process access to the frame buffer is still 7341 * required. Thus the process must have MAC and DAC privileges that 7342 * allow access to the frame buffer, or the frame buffer must be 7343 * allocated to the process. 7344 * This privilege is interpreted only if the system is configured 7345 * with Trusted Extensions. 7346 */ 7347 7348 7349 /* 7350 * Allows a process to set the sensitivity label of a window resource 7351 * to a sensitivity label that does not dominate the existing 7352 * sensitivity label. 7353 * This privilege is interpreted only if the system is configured 7354 * with Trusted Extensions. 7355 */ 7356 7357 7358 /* 7359 * Allows a process to set a font path. 7360 * This privilege is interpreted only if the system is configured 7361 * with Trusted Extensions. 7362 */ 7363 7364 7365 /* 7366 * Allows a process to read from a window resource whose sensitivity 7367 * label is not equal to the process sensitivity label. 7368 * This privilege is interpreted only if the system is configured 7369 * with Trusted Extensions. 7370 */ 7371 7372 7373 /* 7374 * Allows a process to create a window resource whose sensitivity 7375 * label is not equal to the process sensitivity label. 7376 * A newly created window property is created with the window's 7377 * sensitivity label. 7378 * This privilege is interpreted only if the system is configured 7379 * with Trusted Extensions. 7380 */ 7381 7382 7383 /* 7384 * Allows a process to request inter-window data moves without the 7385 * intervention of the selection confirmer. 7386 * This privilege is interpreted only if the system is configured 7387 * with Trusted Extensions. 7388 */ 7389 7390 7391 /* 7392 * Allows a process to set the sensitivity label of a window 7393 * resource to a sensitivity label that dominates the existing 7394 * sensitivity label. 7395 * This privilege is interpreted only if the system is configured 7396 * with Trusted Extensions. 7397 */ 7398 7399 7400 /* 7401 * Allows a process access to the xVM(5) control devices for 7402 * managing guest domains and the hypervisor. This privilege is 7403 * used only if booted into xVM on x86 platforms. 7404 */ 7405 7406 7407 7408 /* 7409 * Privilege set names 7410 */ 7411 /* 7412 * Set of privileges currently in effect. 7413 */ 7414 7415 7416 /* 7417 * Set of privileges that comes into effect on exec. 7418 */ 7419 7420 7421 /* 7422 * Set of privileges that can be put into the effective set without 7423 * restriction. 7424 */ 7425 7426 7427 /* 7428 * Set of privileges that determines the absolute upper bound of 7429 * privileges this process and its off-spring can obtain. 7430 */ 7431 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 7432 7433 7434 7435 7436 7437 typedef uint32_t priv_chunk_t; 7438 typedef struct priv_set priv_set_t; 7439 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 7440 /* 7441 * Userland type definitions. 7442 */ 7443 7444 typedef const char *priv_ptype_t; 7445 typedef const char *priv_t; 7446 7447 7448 7449 /* 7450 * priv_op_t indicates a privilege operation type 7451 */ 7452 typedef enum priv_op { 7453 PRIV_ON, 7454 PRIV_OFF, 7455 PRIV_SET 7456 } priv_op_t; 7457 7458 /* 7459 * Privilege system call subcodes. 7460 */ 7461 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 7462 /* 7463 * Maximum length of a user defined privilege name. 7464 */ 7465 7466 7467 /* 7468 * Privilege interface functions for those parts of the kernel that 7469 * know nothing of the privilege internals. 7470 * 7471 * A privilege implementation can have a varying number of sets; sets 7472 * consist of a number of priv_chunk_t's and the size is expressed as such. 7473 * The privileges can be represented as 7474 * 7475 * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] 7476 * ... priv_infosize of extra information ... 7477 * 7478 * Extra data contained in the privilege information consists of chunks 7479 * of data with specified size and type all headed by a priv_info_t header 7480 * which defines both the type of information as well as the size of the 7481 * information. ((char*)&info)+info->priv_info_size should be rounded up 7482 * to point to the next piece of information. 7483 */ 7484 7485 typedef struct priv_impl_info { 7486 uint32_t priv_headersize; /* sizeof (priv_impl_info) */ 7487 uint32_t priv_flags; /* additional flags */ 7488 uint32_t priv_nsets; /* number of priv sets */ 7489 uint32_t priv_setsize; /* size in priv_chunk_t */ 7490 uint32_t priv_max; /* highest actual valid priv */ 7491 uint32_t priv_infosize; /* Per proc. additional info */ 7492 uint32_t priv_globalinfosize; /* Per system info */ 7493 } priv_impl_info_t; 7494 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 7495 /* 7496 * Per credential flags. 7497 */ 7498 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 7499 /* user-settable flags: */ 7500 7501 7502 7503 /* 7504 * Header of the privilege info data structure; multiple structures can 7505 * follow the privilege sets and priv_impl_info structures. 7506 */ 7507 typedef struct priv_info { 7508 uint32_t priv_info_type; 7509 uint32_t priv_info_size; 7510 } priv_info_t; 7511 7512 typedef struct priv_info_uint { 7513 priv_info_t info; 7514 uint_t val; 7515 } priv_info_uint_t; 7516 7517 /* 7518 * Global privilege set information item; the actual size of the array is 7519 * {priv_setsize}. 7520 */ 7521 typedef struct priv_info_set { 7522 priv_info_t info; 7523 priv_chunk_t set[1]; 7524 } priv_info_set_t; 7525 7526 /* 7527 * names[1] is a place holder which can contain multiple NUL terminated, 7528 * non-empty strings. 7529 */ 7530 7531 typedef struct priv_info_names { 7532 priv_info_t info; 7533 int cnt; /* number of strings */ 7534 char names[1]; /* "string1\0string2\0 ..stringN\0" */ 7535 } priv_info_names_t; 7536 7537 /* 7538 * Privilege information types. 7539 */ 7540 7541 7542 7543 7544 7545 /* 7546 * Special "privileges" used to indicate special conditions in privilege 7547 * debugging/tracing code. 7548 */ 7549 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2 7550 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 7551 /* 7552 * library functions prototype. 7553 */ 7554 7555 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *); 7556 extern int getppriv(priv_ptype_t, priv_set_t *); 7557 extern int setpflags(uint_t, uint_t); 7558 extern uint_t getpflags(uint_t); 7559 extern const priv_impl_info_t *getprivimplinfo(void); 7560 7561 extern int priv_set(priv_op_t, priv_ptype_t, ...); 7562 extern boolean_t priv_ineffect(const char *); 7563 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **); 7564 extern char *priv_set_to_str(const priv_set_t *, char, int); 7565 7566 extern int priv_getbyname(const char *); 7567 extern const char *priv_getbynum(int); 7568 extern int priv_getsetbyname(const char *); 7569 extern const char *priv_getsetbynum(int); 7570 extern char *priv_gettext(const char *); 7571 7572 extern priv_set_t *priv_allocset(void); 7573 extern void priv_freeset(priv_set_t *); 7574 7575 extern void priv_emptyset(priv_set_t *); 7576 extern void priv_basicset(priv_set_t *); 7577 extern void priv_fillset(priv_set_t *); 7578 extern boolean_t priv_isemptyset(const priv_set_t *); 7579 extern boolean_t priv_isfullset(const priv_set_t *); 7580 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *); 7581 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *); 7582 extern void priv_intersect(const priv_set_t *, priv_set_t *); 7583 extern void priv_union(const priv_set_t *, priv_set_t *); 7584 extern void priv_inverse(priv_set_t *); 7585 extern int priv_addset(priv_set_t *, const char *); 7586 extern void priv_copyset(const priv_set_t *, priv_set_t *); 7587 extern int priv_delset(priv_set_t *, const char *); 7588 extern boolean_t priv_ismember(const priv_set_t *, const char *); 7589 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 7590 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 7591 /* 7592 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7593 * Use is subject to license terms. 7594 * 7595 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 7596 */ 7597 /* 7598 * Copyright (c) 1982, 1986 Regents of the University of California. 7599 * All rights reserved. 7600 * 7601 * Redistribution and use in source and binary forms are permitted 7602 * provided that this notice is preserved and that due credit is given 7603 * to the University of California at Berkeley. The name of the University 7604 * may not be used to endorse or promote products derived from this 7605 * software without specific prior written permission. This software 7606 * is provided ``as is'' without express or implied warranty. 7607 */ 7608 7609 /* 7610 * Constants and structures defined by the internet system, 7611 * according to following documents 7612 * 7613 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 7614 * http://www.iana.org/assignments/protocol-numbers 7615 * http://www.iana.org/assignments/port-numbers 7616 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 7617 * 7618 */ 7619 7620 7621 7622 7623 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7624 /* 7625 * CDDL HEADER START 7626 * 7627 * The contents of this file are subject to the terms of the 7628 * Common Development and Distribution License (the "License"). 7629 * You may not use this file except in compliance with the License. 7630 * 7631 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7632 * or http://www.opensolaris.org/os/licensing. 7633 * See the License for the specific language governing permissions 7634 * and limitations under the License. 7635 * 7636 * When distributing Covered Code, include this CDDL HEADER in each 7637 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7638 * If applicable, add the following below this CDDL HEADER, with the 7639 * fields enclosed by brackets "[]" replaced with your own identifying 7640 * information: Portions Copyright [yyyy] [name of copyright owner] 7641 * 7642 * CDDL HEADER END 7643 */ 7644 7645 /* 7646 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7647 * Copyright 2016 Joyent, Inc. 7648 * 7649 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7650 * Use is subject to license terms. 7651 */ 7652 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 7653 7654 7655 7656 7657 7658 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7659 /* 7660 * CDDL HEADER START 7661 * 7662 * The contents of this file are subject to the terms of the 7663 * Common Development and Distribution License (the "License"). 7664 * You may not use this file except in compliance with the License. 7665 * 7666 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7667 * or http://www.opensolaris.org/os/licensing. 7668 * See the License for the specific language governing permissions 7669 * and limitations under the License. 7670 * 7671 * When distributing Covered Code, include this CDDL HEADER in each 7672 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7673 * If applicable, add the following below this CDDL HEADER, with the 7674 * fields enclosed by brackets "[]" replaced with your own identifying 7675 * information: Portions Copyright [yyyy] [name of copyright owner] 7676 * 7677 * CDDL HEADER END 7678 */ 7679 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7680 /* All Rights Reserved */ 7681 7682 7683 /* 7684 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7685 * Use is subject to license terms. 7686 * 7687 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7688 * Copyright 2016 Joyent, Inc. 7689 */ 7690 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 7691 7692 7693 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 7694 /* 7695 * CDDL HEADER START 7696 * 7697 * The contents of this file are subject to the terms of the 7698 * Common Development and Distribution License (the "License"). 7699 * You may not use this file except in compliance with the License. 7700 * 7701 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7702 * or http://www.opensolaris.org/os/licensing. 7703 * See the License for the specific language governing permissions 7704 * and limitations under the License. 7705 * 7706 * When distributing Covered Code, include this CDDL HEADER in each 7707 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7708 * If applicable, add the following below this CDDL HEADER, with the 7709 * fields enclosed by brackets "[]" replaced with your own identifying 7710 * information: Portions Copyright [yyyy] [name of copyright owner] 7711 * 7712 * CDDL HEADER END 7713 */ 7714 /* 7715 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7716 * Use is subject to license terms. 7717 */ 7718 7719 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7720 /* All Rights Reserved */ 7721 7722 /* 7723 * Portions of this source code were derived from Berkeley 4.3 BSD 7724 * under license from the Regents of the University of California. 7725 */ 7726 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 7727 typedef uint16_t sa_family_t; 7728 7729 7730 /* 7731 * Structure used by kernel to store most 7732 * addresses. 7733 */ 7734 struct sockaddr { 7735 sa_family_t sa_family; /* address family */ 7736 char sa_data[14]; /* up to 14 bytes of direct address */ 7737 }; 7738 7739 7740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 7741 /* 7742 * CDDL HEADER START 7743 * 7744 * The contents of this file are subject to the terms of the 7745 * Common Development and Distribution License (the "License"). 7746 * You may not use this file except in compliance with the License. 7747 * 7748 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7749 * or http://www.opensolaris.org/os/licensing. 7750 * See the License for the specific language governing permissions 7751 * and limitations under the License. 7752 * 7753 * When distributing Covered Code, include this CDDL HEADER in each 7754 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7755 * If applicable, add the following below this CDDL HEADER, with the 7756 * fields enclosed by brackets "[]" replaced with your own identifying 7757 * information: Portions Copyright [yyyy] [name of copyright owner] 7758 * 7759 * CDDL HEADER END 7760 */ 7761 /* 7762 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 7763 */ 7764 7765 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7766 /* All Rights Reserved */ 7767 7768 /* 7769 * University Copyright- Copyright (c) 1982, 1986, 1988 7770 * The Regents of the University of California 7771 * All Rights Reserved 7772 * 7773 * University Acknowledgment- Portions of this document are derived from 7774 * software developed by the University of California, Berkeley, and its 7775 * contributors. 7776 */ 7777 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 7778 /* 7779 * Definitions for UNIX IPC domain. 7780 */ 7781 struct sockaddr_un { 7782 sa_family_t sun_family; /* AF_UNIX */ 7783 char sun_path[108]; /* path name (gag) */ 7784 }; 7785 7786 7787 7788 /* 7789 * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to 7790 * change. 7791 * 7792 * Also, include a strlen() prototype, and we have to protect it w.r.t. 7793 * UNIX{98,03}. And because there's strlen, we need size_t as well. 7794 */ 7795 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 7796 extern size_t strlen(const char *); 7797 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 7798 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 7799 /* 7800 * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. 7801 * Use is subject to license terms. 7802 */ 7803 /* 7804 * Copyright (c) 1990, 1993 7805 * The Regents of the University of California. All rights reserved. 7806 * 7807 * Redistribution and use in source and binary forms, with or without 7808 * modification, are permitted provided that the following conditions 7809 * are met: 7810 * 1. Redistributions of source code must retain the above copyright 7811 * notice, this list of conditions and the following disclaimer. 7812 * 2. Redistributions in binary form must reproduce the above copyright 7813 * notice, this list of conditions and the following disclaimer in the 7814 * documentation and/or other materials provided with the distribution. 7815 * 3. All advertising materials mentioning features or use of this software 7816 * must display the following acknowledgement: 7817 * This product includes software developed by the University of 7818 * California, Berkeley and its contributors. 7819 * 4. Neither the name of the University nor the names of its contributors 7820 * may be used to endorse or promote products derived from this software 7821 * without specific prior written permission. 7822 * 7823 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 7824 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 7825 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 7826 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 7827 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 7828 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 7829 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7830 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 7831 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 7832 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 7833 * SUCH DAMAGE. 7834 */ 7835 7836 7837 7838 7839 #pragma ident "%Z%%M% %I% %E% SMI" 7840 /* from UCB 8.1 (Berkeley) 6/10/93 */ 7841 7842 7843 7844 7845 7846 /* 7847 * A Link-Level Sockaddr may specify the interface in one of two 7848 * ways: either by means of a system-provided index number (computed 7849 * anew and possibly differently on every reboot), or by a human-readable 7850 * string such as "il0" (for managerial convenience). 7851 * 7852 * Census taking actions, such as something akin to SIOCGCONF would return 7853 * both the index and the human name. 7854 * 7855 * High volume transactions (such as giving a link-level ``from'' address 7856 * in a recvfrom or recvmsg call) may be likely only to provide the indexed 7857 * form, (which requires fewer copy operations and less space). 7858 * 7859 * The form and interpretation of the link-level address is purely a matter 7860 * of convention between the device driver and its consumers; however, it is 7861 * expected that all drivers for an interface of a given if_type will agree. 7862 */ 7863 7864 /* 7865 * Structure of a Link-Level sockaddr: 7866 */ 7867 struct sockaddr_dl { 7868 ushort_t sdl_family; /* AF_LINK */ 7869 ushort_t sdl_index; /* if != 0, system given index for interface */ 7870 uchar_t sdl_type; /* interface type */ 7871 uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ 7872 uchar_t sdl_alen; /* link level address length */ 7873 uchar_t sdl_slen; /* link layer selector length */ 7874 char sdl_data[244]; /* contains both if name and ll address */ 7875 }; 7876 7877 7878 7879 7880 extern char *_link_ntoa(const unsigned char *, char *, int, int); 7881 extern unsigned char *_link_aton(const char *, int *); 7882 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 7883 7884 7885 7886 /* 7887 * sockaddr_storage: 7888 * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr 7889 * structures. Has sufficient size and alignment for those sockaddrs. 7890 */ 7891 7892 /* 7893 * Desired maximum size, alignment size and related types. 7894 */ 7895 7896 7897 /* 7898 * To represent desired sockaddr max alignment for platform, a 7899 * type is chosen which may depend on implementation platform architecture. 7900 * Type chosen based on alignment size restrictions from <sys/isa_defs.h>. 7901 * We desire to force up to (but no more than) 64-bit (8 byte) alignment, 7902 * on platforms where it is possible to do so. (e.g not possible on ia32). 7903 * For all currently supported platforms by our implementation 7904 * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64) 7905 * type "double" is suitable for that intent. 7906 * 7907 * Note: Type "double" is chosen over the more obvious integer type int64_t. 7908 * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. 7909 */ 7910 typedef double sockaddr_maxalign_t; 7911 7912 7913 7914 /* 7915 * Definitions used for sockaddr_storage structure paddings design. 7916 */ 7917 7918 7919 7920 7921 struct sockaddr_storage { 7922 sa_family_t ss_family; /* Address family */ 7923 /* Following fields are implementation specific */ 7924 char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; 7925 sockaddr_maxalign_t _ss_align; 7926 char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; 7927 }; 7928 7929 7930 /* 7931 * To be compatible with the Linux interfaces used, this structure is 7932 * placed in socket_impl.h so that an include for <sys/socket.h> will 7933 * pickup this structure. This structure is for use with PF_PACKET 7934 * sockets. 7935 */ 7936 struct sockaddr_ll { 7937 uint16_t sll_family; 7938 uint16_t sll_protocol; 7939 int32_t sll_ifindex; 7940 uint16_t sll_hatype; 7941 uint8_t sll_pkttype; 7942 uint8_t sll_halen; 7943 uint8_t sll_addr[8]; 7944 }; 7945 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 7946 7947 7948 7949 7950 7951 /* 7952 * The socklen definitions are reproduced here from sys/socket.h so as to 7953 * not introduce that namespace into existing users of netinet/in.h. 7954 */ 7955 7956 7957 7958 typedef uint32_t socklen_t; 7959 7960 7961 7962 7963 7964 typedef void *Psocklen_t; 7965 7966 7967 7968 7969 7970 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 7971 /* 7972 * CDDL HEADER START 7973 * 7974 * The contents of this file are subject to the terms of the 7975 * Common Development and Distribution License (the "License"). 7976 * You may not use this file except in compliance with the License. 7977 * 7978 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7979 * or http://www.opensolaris.org/os/licensing. 7980 * See the License for the specific language governing permissions 7981 * and limitations under the License. 7982 * 7983 * When distributing Covered Code, include this CDDL HEADER in each 7984 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7985 * If applicable, add the following below this CDDL HEADER, with the 7986 * fields enclosed by brackets "[]" replaced with your own identifying 7987 * information: Portions Copyright [yyyy] [name of copyright owner] 7988 * 7989 * CDDL HEADER END 7990 */ 7991 /* 7992 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7993 * Use is subject to license terms. 7994 */ 7995 7996 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7997 /* All Rights Reserved */ 7998 7999 8000 8001 8002 8003 /* 8004 * For source compatibility 8005 */ 8006 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 8007 /* 8008 * CDDL HEADER START 8009 * 8010 * The contents of this file are subject to the terms of the 8011 * Common Development and Distribution License (the "License"). 8012 * You may not use this file except in compliance with the License. 8013 * 8014 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8015 * or http://www.opensolaris.org/os/licensing. 8016 * See the License for the specific language governing permissions 8017 * and limitations under the License. 8018 * 8019 * 8020 * When distributing Covered Code, include this CDDL HEADER in each 8021 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8022 * If applicable, add the following below this CDDL HEADER, with the 8023 * fields enclosed by brackets "[]" replaced with your own identifying 8024 * information: Portions Copyright [yyyy] [name of copyright owner] 8025 * 8026 * CDDL HEADER END 8027 */ 8028 8029 /* 8030 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8031 * Use is subject to license terms. 8032 * Copyright 2016 Joyent, Inc. 8033 */ 8034 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8035 8036 8037 8038 8039 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 8040 /* 8041 * CDDL HEADER START 8042 * 8043 * The contents of this file are subject to the terms of the 8044 * Common Development and Distribution License, Version 1.0 only 8045 * (the "License"). You may not use this file except in compliance 8046 * with the License. 8047 * 8048 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8049 * or http://www.opensolaris.org/os/licensing. 8050 * See the License for the specific language governing permissions 8051 * and limitations under the License. 8052 * 8053 * When distributing Covered Code, include this CDDL HEADER in each 8054 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8055 * If applicable, add the following below this CDDL HEADER, with the 8056 * fields enclosed by brackets "[]" replaced with your own identifying 8057 * information: Portions Copyright [yyyy] [name of copyright owner] 8058 * 8059 * CDDL HEADER END 8060 */ 8061 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8062 /* All Rights Reserved */ 8063 8064 8065 /* 8066 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8067 * 8068 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. 8069 * All rights reserved. 8070 */ 8071 8072 /* 8073 * Copyright 2015, Joyent, Inc. 8074 */ 8075 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 8076 /* 8077 * Structure of file descriptor/event pairs supplied in 8078 * the poll arrays. 8079 */ 8080 typedef struct pollfd { 8081 int fd; /* file desc to poll */ 8082 short events; /* events of interest on fd */ 8083 short revents; /* events that occurred on fd */ 8084 } pollfd_t; 8085 8086 typedef unsigned long nfds_t; 8087 8088 /* 8089 * Testable select events 8090 */ 8091 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 8092 /* 8093 * Non-testable poll events (may not be specified in events field, 8094 * but may be returned in revents field). 8095 */ 8096 8097 8098 8099 8100 /* 8101 * These events will never be specified in revents, but may be specified in 8102 * events to control /dev/poll behavior. 8103 */ 8104 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 8105 int poll(struct pollfd *, nfds_t, int); 8106 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8107 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 8108 /* 8109 * CDDL HEADER START 8110 * 8111 * The contents of this file are subject to the terms of the 8112 * Common Development and Distribution License, Version 1.0 only 8113 * (the "License"). You may not use this file except in compliance 8114 * with the License. 8115 * 8116 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8117 * or http://www.opensolaris.org/os/licensing. 8118 * See the License for the specific language governing permissions 8119 * and limitations under the License. 8120 * 8121 * When distributing Covered Code, include this CDDL HEADER in each 8122 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8123 * If applicable, add the following below this CDDL HEADER, with the 8124 * fields enclosed by brackets "[]" replaced with your own identifying 8125 * information: Portions Copyright [yyyy] [name of copyright owner] 8126 * 8127 * CDDL HEADER END 8128 */ 8129 /* 8130 * Copyright (c) 1997-1998 by Sun Microsystems, Inc. 8131 * All rights reserved. 8132 */ 8133 8134 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8135 /* All Rights Reserved */ 8136 8137 8138 8139 8140 8141 #pragma ident "%Z%%M% %I% %E% SMI" 8142 8143 8144 8145 8146 8147 /* 8148 * This file contains all machine-dependent declarations 8149 * in STREAMS. 8150 */ 8151 8152 /* 8153 * Copy data from one data buffer to another. 8154 * The addresses must be word aligned - if not, use bcopy! 8155 */ 8156 8157 8158 /* 8159 * save the address of the calling function on the 3b2 to 8160 * enable tracking of who is allocating message blocks 8161 */ 8162 8163 8164 /* 8165 * macro to check pointer alignment 8166 * (true if alignment is sufficient for worst case) 8167 */ 8168 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8169 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 8170 /* 8171 * CDDL HEADER START 8172 * 8173 * The contents of this file are subject to the terms of the 8174 * Common Development and Distribution License (the "License"). 8175 * You may not use this file except in compliance with the License. 8176 * 8177 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8178 * or http://www.opensolaris.org/os/licensing. 8179 * See the License for the specific language governing permissions 8180 * and limitations under the License. 8181 * 8182 * When distributing Covered Code, include this CDDL HEADER in each 8183 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8184 * If applicable, add the following below this CDDL HEADER, with the 8185 * fields enclosed by brackets "[]" replaced with your own identifying 8186 * information: Portions Copyright [yyyy] [name of copyright owner] 8187 * 8188 * CDDL HEADER END 8189 */ 8190 /* 8191 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8192 * Use is subject to license terms. 8193 */ 8194 8195 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 8196 /* All Rights Reserved */ 8197 8198 /* 8199 * Portions of this source code were derived from Berkeley 4.3 BSD 8200 * under license from the Regents of the University of California. 8201 */ 8202 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8203 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 8204 /* 8205 * CDDL HEADER START 8206 * 8207 * The contents of this file are subject to the terms of the 8208 * Common Development and Distribution License, Version 1.0 only 8209 * (the "License"). You may not use this file except in compliance 8210 * with the License. 8211 * 8212 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8213 * or http://www.opensolaris.org/os/licensing. 8214 * See the License for the specific language governing permissions 8215 * and limitations under the License. 8216 * 8217 * When distributing Covered Code, include this CDDL HEADER in each 8218 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8219 * If applicable, add the following below this CDDL HEADER, with the 8220 * fields enclosed by brackets "[]" replaced with your own identifying 8221 * information: Portions Copyright [yyyy] [name of copyright owner] 8222 * 8223 * CDDL HEADER END 8224 */ 8225 /* 8226 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 8227 * All rights reserved. 8228 */ 8229 8230 /* 8231 * t_lock.h: Prototypes for disp_locks, plus include files 8232 * that describe the interfaces to kernel synch. 8233 * objects. 8234 */ 8235 8236 8237 8238 8239 #pragma ident "%Z%%M% %I% %E% SMI" 8240 8241 8242 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 8243 /* 8244 * CDDL HEADER START 8245 * 8246 * The contents of this file are subject to the terms of the 8247 * Common Development and Distribution License (the "License"). 8248 * You may not use this file except in compliance with the License. 8249 * 8250 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8251 * or http://www.opensolaris.org/os/licensing. 8252 * See the License for the specific language governing permissions 8253 * and limitations under the License. 8254 * 8255 * When distributing Covered Code, include this CDDL HEADER in each 8256 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8257 * If applicable, add the following below this CDDL HEADER, with the 8258 * fields enclosed by brackets "[]" replaced with your own identifying 8259 * information: Portions Copyright [yyyy] [name of copyright owner] 8260 * 8261 * CDDL HEADER END 8262 */ 8263 /* 8264 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 8265 * Use is subject to license terms. 8266 * Copyright 2016 Joyent, Inc. 8267 */ 8268 8269 8270 8271 8272 #pragma ident "%Z%%M% %I% %E% SMI" 8273 8274 8275 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8276 /* 8277 * CDDL HEADER START 8278 * 8279 * The contents of this file are subject to the terms of the 8280 * Common Development and Distribution License (the "License"). 8281 * You may not use this file except in compliance with the License. 8282 * 8283 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8284 * or http://www.opensolaris.org/os/licensing. 8285 * See the License for the specific language governing permissions 8286 * and limitations under the License. 8287 * 8288 * When distributing Covered Code, include this CDDL HEADER in each 8289 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8290 * If applicable, add the following below this CDDL HEADER, with the 8291 * fields enclosed by brackets "[]" replaced with your own identifying 8292 * information: Portions Copyright [yyyy] [name of copyright owner] 8293 * 8294 * CDDL HEADER END 8295 */ 8296 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8297 /* All Rights Reserved */ 8298 8299 8300 /* 8301 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8302 * Use is subject to license terms. 8303 * 8304 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8305 * Copyright 2016 Joyent, Inc. 8306 */ 8307 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 8308 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 8309 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8310 /* All Rights Reserved */ 8311 8312 8313 /* 8314 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 8315 * All rights reserved. The Berkeley software License Agreement 8316 * specifies the terms and conditions for redistribution. 8317 */ 8318 8319 /* 8320 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8321 * 8322 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8323 * Use is subject to license terms. 8324 * 8325 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8326 */ 8327 8328 /* 8329 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 8330 */ 8331 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 8332 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 8333 typedef lock_t disp_lock_t; /* dispatcher lock type */ 8334 8335 /* 8336 * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or 8337 * an adaptive mutex, depending on what interrupt levels use it. 8338 */ 8339 8340 8341 /* 8342 * Macro to control loops which spin on a lock and then check state 8343 * periodically. Its passed an integer, and returns a boolean value 8344 * that if true indicates its a good time to get the scheduler lock and 8345 * check the state of the current owner of the lock. 8346 */ 8347 8348 8349 /* 8350 * Externs for CLOCK_LOCK and clock resolution 8351 */ 8352 extern volatile uint32_t hres_lock; 8353 extern hrtime_t hrtime_base; 8354 extern int clock_res; 8355 8356 8357 8358 /* 8359 * The definitions of the symbolic interrupt levels: 8360 * 8361 * CLOCK_LEVEL => The level at which one must be to block the clock. 8362 * 8363 * LOCK_LEVEL => The highest level at which one may block (and thus the 8364 * highest level at which one may acquire adaptive locks) 8365 * Also the highest level at which one may be preempted. 8366 * 8367 * DISP_LEVEL => The level at which one must be to perform dispatcher 8368 * operations. 8369 * 8370 * The constraints on the platform: 8371 * 8372 * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL 8373 * - LOCK_LEVEL must be less than DISP_LEVEL 8374 * - DISP_LEVEL should be as close to LOCK_LEVEL as possible 8375 * 8376 * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; 8377 * changing this relationship is probably possible but not advised. 8378 * 8379 */ 8380 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 8381 /* 8382 * The following mask is for the cpu_intr_actv bits corresponding to 8383 * high-level PILs. It should equal: 8384 * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) 8385 */ 8386 8387 8388 /* 8389 * The semaphore code depends on being able to represent a lock plus 8390 * owner in a single 32-bit word. (Mutexes used to have a similar 8391 * dependency, but no longer.) Thus the owner must contain at most 8392 * 24 significant bits. At present only threads and semaphores 8393 * must be aware of this vile constraint. Different ISAs may handle this 8394 * differently depending on their capabilities (e.g. compare-and-swap) 8395 * and limitations (e.g. constraints on alignment and/or KERNELBASE). 8396 */ 8397 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8398 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 8399 /* 8400 * CDDL HEADER START 8401 * 8402 * The contents of this file are subject to the terms of the 8403 * Common Development and Distribution License (the "License"). 8404 * You may not use this file except in compliance with the License. 8405 * 8406 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8407 * or http://www.opensolaris.org/os/licensing. 8408 * See the License for the specific language governing permissions 8409 * and limitations under the License. 8410 * 8411 * When distributing Covered Code, include this CDDL HEADER in each 8412 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8413 * If applicable, add the following below this CDDL HEADER, with the 8414 * fields enclosed by brackets "[]" replaced with your own identifying 8415 * information: Portions Copyright [yyyy] [name of copyright owner] 8416 * 8417 * CDDL HEADER END 8418 */ 8419 8420 /* 8421 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 8422 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 8423 */ 8424 8425 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 8426 /* All Rights Reserved */ 8427 8428 /* 8429 * University Copyright- Copyright (c) 1982, 1986, 1988 8430 * The Regents of the University of California 8431 * All Rights Reserved 8432 * 8433 * University Acknowledgment- Portions of this document are derived from 8434 * software developed by the University of California, Berkeley, and its 8435 * contributors. 8436 */ 8437 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8438 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 8439 /* 8440 * CDDL HEADER START 8441 * 8442 * The contents of this file are subject to the terms of the 8443 * Common Development and Distribution License (the "License"). 8444 * You may not use this file except in compliance with the License. 8445 * 8446 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8447 * or http://www.opensolaris.org/os/licensing. 8448 * See the License for the specific language governing permissions 8449 * and limitations under the License. 8450 * 8451 * When distributing Covered Code, include this CDDL HEADER in each 8452 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8453 * If applicable, add the following below this CDDL HEADER, with the 8454 * fields enclosed by brackets "[]" replaced with your own identifying 8455 * information: Portions Copyright [yyyy] [name of copyright owner] 8456 * 8457 * CDDL HEADER END 8458 */ 8459 /* 8460 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 8461 */ 8462 8463 8464 8465 8466 8467 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8468 /* 8469 * CDDL HEADER START 8470 * 8471 * The contents of this file are subject to the terms of the 8472 * Common Development and Distribution License (the "License"). 8473 * You may not use this file except in compliance with the License. 8474 * 8475 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8476 * or http://www.opensolaris.org/os/licensing. 8477 * See the License for the specific language governing permissions 8478 * and limitations under the License. 8479 * 8480 * When distributing Covered Code, include this CDDL HEADER in each 8481 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8482 * If applicable, add the following below this CDDL HEADER, with the 8483 * fields enclosed by brackets "[]" replaced with your own identifying 8484 * information: Portions Copyright [yyyy] [name of copyright owner] 8485 * 8486 * CDDL HEADER END 8487 */ 8488 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8489 /* All Rights Reserved */ 8490 8491 8492 /* 8493 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8494 * Use is subject to license terms. 8495 * 8496 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8497 * Copyright 2016 Joyent, Inc. 8498 */ 8499 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 8500 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 8501 /* 8502 * Public interface to mutual exclusion locks. See mutex(9F) for details. 8503 * 8504 * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used 8505 * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking 8506 * and must be used in interrupt handlers above LOCK_LEVEL. The iblock 8507 * cookie argument to mutex_init() encodes the interrupt level to block. 8508 * The iblock cookie must be NULL for adaptive locks. 8509 * 8510 * MUTEX_DEFAULT is the type usually specified (except in drivers) to 8511 * mutex_init(). It is identical to MUTEX_ADAPTIVE. 8512 * 8513 * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to 8514 * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. 8515 * 8516 * Mutex statistics can be gathered on the fly, without rebooting or 8517 * recompiling the kernel, via the lockstat driver (lockstat(7D)). 8518 */ 8519 typedef enum { 8520 MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ 8521 MUTEX_SPIN = 1, /* block interrupts and spin */ 8522 MUTEX_DRIVER = 4, /* driver (DDI) mutex */ 8523 MUTEX_DEFAULT = 6 /* kernel default mutex */ 8524 } kmutex_type_t; 8525 8526 typedef struct mutex { 8527 8528 void *_opaque[1]; 8529 8530 8531 8532 } kmutex_t; 8533 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8534 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 8535 /* 8536 * CDDL HEADER START 8537 * 8538 * The contents of this file are subject to the terms of the 8539 * Common Development and Distribution License (the "License"). 8540 * You may not use this file except in compliance with the License. 8541 * 8542 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8543 * or http://www.opensolaris.org/os/licensing. 8544 * See the License for the specific language governing permissions 8545 * and limitations under the License. 8546 * 8547 * When distributing Covered Code, include this CDDL HEADER in each 8548 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8549 * If applicable, add the following below this CDDL HEADER, with the 8550 * fields enclosed by brackets "[]" replaced with your own identifying 8551 * information: Portions Copyright [yyyy] [name of copyright owner] 8552 * 8553 * CDDL HEADER END 8554 */ 8555 /* 8556 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8557 * Use is subject to license terms. 8558 */ 8559 8560 /* 8561 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 8562 */ 8563 8564 8565 8566 8567 /* 8568 * Public interface to readers/writer locks. See rwlock(9F) for details. 8569 */ 8570 8571 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8572 /* 8573 * CDDL HEADER START 8574 * 8575 * The contents of this file are subject to the terms of the 8576 * Common Development and Distribution License (the "License"). 8577 * You may not use this file except in compliance with the License. 8578 * 8579 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8580 * or http://www.opensolaris.org/os/licensing. 8581 * See the License for the specific language governing permissions 8582 * and limitations under the License. 8583 * 8584 * When distributing Covered Code, include this CDDL HEADER in each 8585 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8586 * If applicable, add the following below this CDDL HEADER, with the 8587 * fields enclosed by brackets "[]" replaced with your own identifying 8588 * information: Portions Copyright [yyyy] [name of copyright owner] 8589 * 8590 * CDDL HEADER END 8591 */ 8592 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8593 /* All Rights Reserved */ 8594 8595 8596 /* 8597 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8598 * Use is subject to license terms. 8599 * 8600 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8601 * Copyright 2016 Joyent, Inc. 8602 */ 8603 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 8604 8605 8606 8607 8608 8609 8610 8611 typedef enum { 8612 RW_DRIVER = 2, /* driver (DDI) rwlock */ 8613 RW_DEFAULT = 4 /* kernel default rwlock */ 8614 } krw_type_t; 8615 8616 typedef enum { 8617 RW_WRITER, 8618 RW_READER, 8619 RW_READER_STARVEWRITER 8620 } krw_t; 8621 8622 typedef struct _krwlock { 8623 void *_opaque[1]; 8624 } krwlock_t; 8625 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8626 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 8627 /* 8628 * CDDL HEADER START 8629 * 8630 * The contents of this file are subject to the terms of the 8631 * Common Development and Distribution License, Version 1.0 only 8632 * (the "License"). You may not use this file except in compliance 8633 * with the License. 8634 * 8635 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8636 * or http://www.opensolaris.org/os/licensing. 8637 * See the License for the specific language governing permissions 8638 * and limitations under the License. 8639 * 8640 * When distributing Covered Code, include this CDDL HEADER in each 8641 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8642 * If applicable, add the following below this CDDL HEADER, with the 8643 * fields enclosed by brackets "[]" replaced with your own identifying 8644 * information: Portions Copyright [yyyy] [name of copyright owner] 8645 * 8646 * CDDL HEADER END 8647 */ 8648 /* 8649 * Copyright (c) 1993-1998 by Sun Microsystems, Inc. 8650 * All rights reserved. 8651 */ 8652 8653 8654 8655 8656 #pragma ident "%Z%%M% %I% %E% SMI" 8657 8658 /* 8659 * Public interface to semaphores. See semaphore(9F) for details. 8660 */ 8661 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 8662 typedef enum { 8663 SEMA_DEFAULT, 8664 SEMA_DRIVER 8665 } ksema_type_t; 8666 8667 typedef struct _ksema { 8668 void * _opaque[2]; /* 2 words on 4 byte alignment */ 8669 } ksema_t; 8670 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8671 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1 8672 /* 8673 * CDDL HEADER START 8674 * 8675 * The contents of this file are subject to the terms of the 8676 * Common Development and Distribution License (the "License"). 8677 * You may not use this file except in compliance with the License. 8678 * 8679 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8680 * or http://www.opensolaris.org/os/licensing. 8681 * See the License for the specific language governing permissions 8682 * and limitations under the License. 8683 * 8684 * When distributing Covered Code, include this CDDL HEADER in each 8685 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8686 * If applicable, add the following below this CDDL HEADER, with the 8687 * fields enclosed by brackets "[]" replaced with your own identifying 8688 * information: Portions Copyright [yyyy] [name of copyright owner] 8689 * 8690 * CDDL HEADER END 8691 */ 8692 /* 8693 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8694 * Use is subject to license terms. 8695 */ 8696 8697 /* 8698 * Copyright (c) 2012 by Delphix. All rights reserved. 8699 */ 8700 8701 /* 8702 * condvar.h: 8703 * 8704 * definitions for thread synchronization primitives: condition variables 8705 * This is the public part of the interface to condition variables. The 8706 * private (implementation-specific) part is in <arch>/sys/condvar_impl.h. 8707 */ 8708 8709 8710 8711 8712 8713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8714 /* 8715 * CDDL HEADER START 8716 * 8717 * The contents of this file are subject to the terms of the 8718 * Common Development and Distribution License (the "License"). 8719 * You may not use this file except in compliance with the License. 8720 * 8721 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8722 * or http://www.opensolaris.org/os/licensing. 8723 * See the License for the specific language governing permissions 8724 * and limitations under the License. 8725 * 8726 * When distributing Covered Code, include this CDDL HEADER in each 8727 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8728 * If applicable, add the following below this CDDL HEADER, with the 8729 * fields enclosed by brackets "[]" replaced with your own identifying 8730 * information: Portions Copyright [yyyy] [name of copyright owner] 8731 * 8732 * CDDL HEADER END 8733 */ 8734 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8735 /* All Rights Reserved */ 8736 8737 8738 /* 8739 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8740 * Use is subject to license terms. 8741 * 8742 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8743 * Copyright 2016 Joyent, Inc. 8744 */ 8745 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 8746 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 8747 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8748 /* All Rights Reserved */ 8749 8750 8751 /* 8752 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 8753 * All rights reserved. The Berkeley software License Agreement 8754 * specifies the terms and conditions for redistribution. 8755 */ 8756 8757 /* 8758 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8759 * 8760 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8761 * Use is subject to license terms. 8762 * 8763 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8764 */ 8765 8766 /* 8767 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 8768 */ 8769 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 8770 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 8771 /* 8772 * Condtion variables. 8773 */ 8774 8775 typedef struct _kcondvar { 8776 ushort_t _opaque; 8777 } kcondvar_t; 8778 8779 typedef enum { 8780 CV_DEFAULT, 8781 CV_DRIVER 8782 } kcv_type_t; 8783 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8784 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 8785 /* 8786 * Mutual exclusion locks described in common/sys/mutex.h. 8787 * 8788 * Semaphores described in common/sys/semaphore.h. 8789 * 8790 * Readers/Writer locks described in common/sys/rwlock.h. 8791 * 8792 * Condition variables described in common/sys/condvar.h 8793 */ 8794 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8795 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 8796 /* 8797 * CDDL HEADER START 8798 * 8799 * The contents of this file are subject to the terms of the 8800 * Common Development and Distribution License, Version 1.0 only 8801 * (the "License"). You may not use this file except in compliance 8802 * with the License. 8803 * 8804 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8805 * or http://www.opensolaris.org/os/licensing. 8806 * See the License for the specific language governing permissions 8807 * and limitations under the License. 8808 * 8809 * When distributing Covered Code, include this CDDL HEADER in each 8810 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8811 * If applicable, add the following below this CDDL HEADER, with the 8812 * fields enclosed by brackets "[]" replaced with your own identifying 8813 * information: Portions Copyright [yyyy] [name of copyright owner] 8814 * 8815 * CDDL HEADER END 8816 */ 8817 /* 8818 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8819 * Use is subject to license terms. 8820 */ 8821 8822 8823 8824 8825 #pragma ident "%Z%%M% %I% %E% SMI" 8826 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 8827 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 8828 /* 8829 * CDDL HEADER START 8830 * 8831 * The contents of this file are subject to the terms of the 8832 * Common Development and Distribution License (the "License"). 8833 * You may not use this file except in compliance with the License. 8834 * 8835 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8836 * or http://www.opensolaris.org/os/licensing. 8837 * See the License for the specific language governing permissions 8838 * and limitations under the License. 8839 * 8840 * 8841 * When distributing Covered Code, include this CDDL HEADER in each 8842 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8843 * If applicable, add the following below this CDDL HEADER, with the 8844 * fields enclosed by brackets "[]" replaced with your own identifying 8845 * information: Portions Copyright [yyyy] [name of copyright owner] 8846 * 8847 * CDDL HEADER END 8848 */ 8849 8850 /* 8851 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8852 * Use is subject to license terms. 8853 * Copyright 2016 Joyent, Inc. 8854 */ 8855 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 8856 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 8857 /* 8858 * XXX Ick. This type needs to be visible outside the above guard because 8859 * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. 8860 * If we can make proc internals less visible, (which we obviously should) 8861 * then this can be invisible too. 8862 */ 8863 typedef unsigned int model_t; 8864 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 8865 8866 8867 8868 8869 8870 /* 8871 * Data queue. 8872 * 8873 * NOTE: The *only* public fields are documented in queue(9S). 8874 * Everything else is implementation-private. 8875 * 8876 * The locking rules for the queue_t structure are extremely subtle and vary 8877 * widely depending on the field in question. As such, each field is 8878 * annotated according to the following legend: 8879 * 8880 * Q9S: The field is documented in queue(9S) and may be accessed without 8881 * locks by a STREAMS module when inside an entry point (e.g., put(9E)). 8882 * However, no fields can be directly modified unless q_lock is held 8883 * (which is not possible in a DDI compliant STREAMS module), with the 8884 * following exceptions: 8885 * 8886 * - q_ptr: can be modified as per the rules of the STREAMS module. 8887 * The STREAMS framework ignores q_ptr and thus imposes *no* 8888 * locking rules on it. 8889 * - q_qinfo: can be modified before qprocson(). 8890 * 8891 * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the 8892 * rules of the STREAMS module. The STREAMS framework never 8893 * modifies these fields, and is tolerant of temporarily 8894 * stale field values. 8895 * 8896 * In general, the STREAMS framework employs one of the following 8897 * techniques to ensure STREAMS modules can safely access Q9S fields: 8898 * 8899 * - The field is only modified by the framework when the stream is 8900 * locked with strlock() (q_next). 8901 * 8902 * - The field is modified by the framework, but the modifies are 8903 * atomic, and temporarily stale values are harmless (q_count, 8904 * q_first, q_last). 8905 * 8906 * - The field is modified by the framework, but the field's visible 8907 * values are either constant or directly under the control 8908 * of the STREAMS module itself (q_flag). 8909 * 8910 * QLK: The field must be accessed or modified under q_lock, except when 8911 * the stream has been locked with strlock(). If multiple q_locks must 8912 * be acquired, q_locks at higher addresses must be taken first. 8913 * 8914 * STR: The field can be accessed without a lock, but must be modified under 8915 * strlock(). 8916 * 8917 * SQLK: The field must be accessed or modified under SQLOCK(). 8918 * 8919 * NOLK: The field can be accessed without a lock, but can only be modified 8920 * when the queue_t is not known to any other threads. 8921 * 8922 * SVLK: The field must be accessed or modified under the service_queue lock. 8923 * Note that service_lock must be taken after any needed q_locks, 8924 * and that no other lock should be taken while service_lock is held. 8925 * 8926 * In addition, it is always acceptable to modify a field that is not yet 8927 * known to any other threads -- and other special case exceptions exist in 8928 * the code. Also, q_lock is used with q_wait to implement a stream head 8929 * monitor for reads and writes. 8930 */ 8931 typedef struct queue { 8932 struct qinit *q_qinfo; /* Q9S: Q processing procedure */ 8933 struct msgb *q_first; /* Q9S: first message in Q */ 8934 struct msgb *q_last; /* Q9S: last message in Q */ 8935 struct queue *q_next; /* Q9S: next Q in stream */ 8936 struct queue *q_link; /* SVLK: next Q for scheduling */ 8937 void *q_ptr; /* Q9S: module-specific data */ 8938 size_t q_count; /* Q9S: number of bytes on Q */ 8939 uint_t q_flag; /* Q9S: Q state */ 8940 ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ 8941 ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ 8942 size_t q_hiwat; /* Q9S: Q high water mark */ 8943 size_t q_lowat; /* Q9S: Q low water mark */ 8944 struct qband *q_bandp; /* QLK: band flow information */ 8945 kmutex_t q_lock; /* NOLK: structure lock */ 8946 struct stdata *q_stream; /* NOLK: stream backpointer */ 8947 struct syncq *q_syncq; /* NOLK: associated syncq */ 8948 unsigned char q_nband; /* QLK: number of bands */ 8949 kcondvar_t q_wait; /* NOLK: read/write sleep CV */ 8950 struct queue *q_nfsrv; /* STR: next Q with svc routine */ 8951 ushort_t q_draining; /* QLK: Q is draining */ 8952 short q_struiot; /* QLK: sync streams Q UIO mode */ 8953 clock_t q_qtstamp; /* QLK: when Q was enabled */ 8954 size_t q_mblkcnt; /* QLK: mblk count */ 8955 uint_t q_syncqmsgs; /* QLK: syncq message count */ 8956 size_t q_rwcnt; /* QLK: # threads in rwnext() */ 8957 pri_t q_spri; /* QLK: Q scheduling priority */ 8958 8959 /* 8960 * Syncq scheduling 8961 */ 8962 struct msgb *q_sqhead; /* QLK: first syncq message */ 8963 struct msgb *q_sqtail; /* QLK: last syncq message */ 8964 struct queue *q_sqnext; /* SQLK: next Q on syncq list */ 8965 struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ 8966 uint_t q_sqflags; /* SQLK: syncq flags */ 8967 clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ 8968 8969 /* 8970 * NOLK: Reference to the queue's module's implementation 8971 * structure. This will be NULL for queues associated with drivers. 8972 */ 8973 struct fmodsw_impl *q_fp; 8974 } queue_t; 8975 8976 /* 8977 * Queue flags; unused flags not documented in queue(9S) can be recycled. 8978 */ 8979 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 8980 /* UNUSED 0x00000200 was QHLIST */ 8981 /* UNUSED 0x00000400 was QUNSAFE */ 8982 8983 8984 8985 8986 8987 8988 /* all MT type flags */ 8989 8990 8991 8992 8993 8994 8995 /* UNUSED 0x00400000 was QHOT */ 8996 /* UNUSED 0x00800000 was QNEXTHOT */ 8997 /* UNUSED 0x01000000 was _QNEXTLESS */ 8998 8999 9000 9001 9002 /* direct interface to/from sockfs */ 9003 9004 /* queue sqflags (protected by SQLOCK). */ 9005 9006 9007 /* This is also noted by the */ 9008 /* q_draining field, but this one is */ 9009 /* protected by SQLOCK */ 9010 9011 /* 9012 * Structure that describes the separate information 9013 * for each priority band in the queue. 9014 */ 9015 typedef struct qband { 9016 struct qband *qb_next; /* next band's info */ 9017 size_t qb_count; /* number of bytes in band */ 9018 struct msgb *qb_first; /* beginning of band's data */ 9019 struct msgb *qb_last; /* end of band's data */ 9020 size_t qb_hiwat; /* high water mark for band */ 9021 size_t qb_lowat; /* low water mark for band */ 9022 uint_t qb_flag; /* see below */ 9023 size_t qb_mblkcnt; /* mblk counter for runaway msgs */ 9024 } qband_t; 9025 9026 /* 9027 * qband flags 9028 */ 9029 9030 9031 9032 9033 /* 9034 * Maximum number of bands. 9035 */ 9036 9037 9038 /* 9039 * Fields that can be manipulated through strqset() and strqget(). 9040 */ 9041 typedef enum qfields { 9042 QHIWAT = 0, /* q_hiwat or qb_hiwat */ 9043 QLOWAT = 1, /* q_lowat or qb_lowat */ 9044 QMAXPSZ = 2, /* q_maxpsz */ 9045 QMINPSZ = 3, /* q_minpsz */ 9046 QCOUNT = 4, /* q_count or qb_count */ 9047 QFIRST = 5, /* q_first or qb_first */ 9048 QLAST = 6, /* q_last or qb_last */ 9049 QFLAG = 7, /* q_flag or qb_flag */ 9050 QSTRUIOT = 8, /* q_struiot */ 9051 QBAD = 9 9052 } qfields_t; 9053 9054 /* 9055 * Module information structure 9056 */ 9057 struct module_info { 9058 ushort_t mi_idnum; /* module id number */ 9059 char *mi_idname; /* module name */ 9060 ssize_t mi_minpsz; /* min packet size accepted */ 9061 ssize_t mi_maxpsz; /* max packet size accepted */ 9062 size_t mi_hiwat; /* hi-water mark */ 9063 size_t mi_lowat; /* lo-water mark */ 9064 }; 9065 9066 /* 9067 * queue information structure (with Synchronous STREAMS extensions) 9068 */ 9069 struct qinit { 9070 int (*qi_putp)(); /* put procedure */ 9071 int (*qi_srvp)(); /* service procedure */ 9072 int (*qi_qopen)(); /* called on startup */ 9073 int (*qi_qclose)(); /* called on finish */ 9074 int (*qi_qadmin)(); /* for future use */ 9075 struct module_info *qi_minfo; /* module information structure */ 9076 struct module_stat *qi_mstat; /* module statistics structure */ 9077 int (*qi_rwp)(); /* r/w procedure */ 9078 int (*qi_infop)(); /* information procedure */ 9079 int qi_struiot; /* stream uio type for struio() */ 9080 }; 9081 9082 /* 9083 * Values for qi_struiot and q_struiot: 9084 */ 9085 9086 9087 9088 9089 /* 9090 * Streamtab (used in cdevsw and fmodsw to point to module or driver) 9091 */ 9092 struct streamtab { 9093 struct qinit *st_rdinit; 9094 struct qinit *st_wrinit; 9095 struct qinit *st_muxrinit; 9096 struct qinit *st_muxwinit; 9097 }; 9098 9099 /* 9100 * Structure sent to mux drivers to indicate a link. 9101 */ 9102 struct linkblk { 9103 queue_t *l_qtop; /* lowest level write queue of upper stream */ 9104 /* (set to NULL for persistent links) */ 9105 queue_t *l_qbot; /* highest level write queue of lower stream */ 9106 int l_index; /* index for lower stream. */ 9107 }; 9108 9109 /* 9110 * Esballoc data buffer freeing routine 9111 */ 9112 typedef struct free_rtn { 9113 void (*free_func)(); 9114 caddr_t free_arg; 9115 } frtn_t; 9116 9117 /* 9118 * Data block descriptor 9119 * 9120 * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, 9121 * as described in datab(9S). Everything else is implementation-private. 9122 */ 9123 9124 9125 9126 typedef struct datab { 9127 frtn_t *db_frtnp; 9128 unsigned char *db_base; 9129 unsigned char *db_lim; 9130 unsigned char db_ref; 9131 unsigned char db_type; 9132 unsigned char db_flags; 9133 unsigned char db_struioflag; 9134 pid_t db_cpid; /* cached pid, needs verification */ 9135 void *db_cache; /* kmem cache descriptor */ 9136 struct msgb *db_mblk; 9137 void (*db_free)(struct msgb *, struct datab *); 9138 void (*db_lastfree)(struct msgb *, struct datab *); 9139 intptr_t db_cksumstart; 9140 intptr_t db_cksumend; 9141 intptr_t db_cksumstuff; 9142 union { 9143 double enforce_alignment; 9144 unsigned char data[8]; 9145 struct { 9146 union { 9147 uint32_t u32; 9148 uint16_t u16; 9149 } cksum_val; /* used to store calculated cksum */ 9150 uint16_t flags; 9151 uint16_t pad; 9152 } cksum; 9153 /* 9154 * Union used for future extensions (pointer to data ?). 9155 */ 9156 } db_struioun; 9157 struct fthdr *db_fthdr; 9158 cred_t *db_credp; /* credential */ 9159 } dblk_t; 9160 9161 9162 9163 9164 /* 9165 * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>). 9166 */ 9167 9168 9169 9170 /* 9171 * Used by GLDv2 to store the TCI information. 9172 */ 9173 9174 9175 /* 9176 * Message block descriptor 9177 */ 9178 typedef struct msgb { 9179 struct msgb *b_next; 9180 struct msgb *b_prev; 9181 struct msgb *b_cont; 9182 unsigned char *b_rptr; 9183 unsigned char *b_wptr; 9184 struct datab *b_datap; 9185 unsigned char b_band; 9186 unsigned char b_tag; 9187 unsigned short b_flag; 9188 queue_t *b_queue; /* for sync queues */ 9189 } mblk_t; 9190 9191 /* 9192 * bcache descriptor 9193 */ 9194 typedef struct bcache { 9195 kmutex_t mutex; 9196 struct kmem_cache *buffer_cache; 9197 struct kmem_cache *dblk_cache; 9198 int alloc; 9199 int destroy; 9200 size_t size; 9201 uint_t align; 9202 } bcache_t; 9203 9204 /* 9205 * db_flags values (all implementation private!) 9206 */ 9207 9208 9209 9210 9211 /* 9212 * db_struioflag values: 9213 */ 9214 9215 9216 9217 9218 9219 9220 /* 9221 * Message flags. These are interpreted by the stream head. 9222 */ 9223 9224 9225 /* write side of stream */ 9226 9227 /* UNUSED 0x08 was MSGNOGET (can be recycled) */ 9228 9229 9230 9231 9232 /* 9233 * Streams message types. 9234 */ 9235 9236 /* 9237 * Data and protocol messages (regular and priority) 9238 */ 9239 9240 9241 9242 9243 /* 9244 * Control messages (regular and priority) 9245 */ 9246 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9247 /* 9248 * Control messages (high priority; go to head of queue) 9249 */ 9250 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9251 /* 9252 * Queue message class definitions. 9253 */ 9254 9255 9256 9257 /* 9258 * IOCTL structure - this structure is the format of the M_IOCTL message type. 9259 */ 9260 9261 struct iocblk { 9262 int ioc_cmd; /* ioctl command type */ 9263 cred_t *ioc_cr; /* full credentials */ 9264 uint_t ioc_id; /* ioctl id */ 9265 uint_t ioc_flag; /* see below */ 9266 size_t ioc_count; /* count of bytes in data field */ 9267 int ioc_rval; /* return value */ 9268 int ioc_error; /* error code */ 9269 }; 9270 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9271 typedef struct iocblk *IOCP; 9272 9273 /* {ioc,cp}_flags values */ 9274 9275 9276 9277 9278 9279 9280 9281 /* 9282 * Is the ioctl data formatted for our native model? 9283 */ 9284 9285 9286 9287 /* 9288 * structure for the M_COPYIN and M_COPYOUT message types. 9289 */ 9290 9291 struct copyreq { 9292 int cq_cmd; /* ioctl command (from ioc_cmd) */ 9293 cred_t *cq_cr; /* full credentials (from ioc_cmd) */ 9294 uint_t cq_id; /* ioctl id (from ioc_id) */ 9295 uint_t cq_flag; /* must be zero */ 9296 mblk_t *cq_private; /* private state information */ 9297 caddr_t cq_addr; /* address to copy data to/from */ 9298 size_t cq_size; /* number of bytes to copy */ 9299 }; 9300 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9301 /* 9302 * structure for the M_IOCDATA message type. 9303 */ 9304 9305 struct copyresp { 9306 int cp_cmd; /* ioctl command (from ioc_cmd) */ 9307 cred_t *cp_cr; /* full credentials (from ioc_cmd) */ 9308 uint_t cp_id; /* ioctl id (from ioc_id) */ 9309 uint_t cp_flag; /* datamodel IOC_ flags; see above */ 9310 mblk_t *cp_private; /* private state information */ 9311 caddr_t cp_rval; /* status of request: 0 -> success */ 9312 /* non-zero -> failure */ 9313 }; 9314 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9315 /* 9316 * Since these structures are all intended to travel in the same message 9317 * at different stages of a STREAMS ioctl, this union is used to determine 9318 * the message size in strdoioctl(). 9319 */ 9320 union ioctypes { 9321 struct iocblk iocblk; 9322 struct copyreq copyreq; 9323 struct copyresp copyresp; 9324 }; 9325 9326 /* 9327 * Options structure for M_SETOPTS message. This is sent upstream 9328 * by a module or driver to set stream head options. 9329 */ 9330 struct stroptions { 9331 uint_t so_flags; /* options to set */ 9332 short so_readopt; /* read option */ 9333 ushort_t so_wroff; /* write offset */ 9334 ssize_t so_minpsz; /* minimum read packet size */ 9335 ssize_t so_maxpsz; /* maximum read packet size */ 9336 size_t so_hiwat; /* read queue high water mark */ 9337 size_t so_lowat; /* read queue low water mark */ 9338 unsigned char so_band; /* band for water marks */ 9339 ushort_t so_erropt; /* error option */ 9340 ssize_t so_maxblk; /* maximum message block size */ 9341 ushort_t so_copyopt; /* copy options (see stropts.h) */ 9342 ushort_t so_tail; /* space available at the end */ 9343 }; 9344 9345 /* flags for stream options set message */ 9346 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 9347 /* 9348 * Miscellaneous parameters and flags. 9349 */ 9350 9351 /* 9352 * Values for stream flag in open to indicate module open, clone open, 9353 * and the return value for failure. 9354 */ 9355 9356 9357 9358 9359 /* 9360 * Priority definitions for block allocation. 9361 */ 9362 9363 9364 9365 9366 /* 9367 * Value for packet size that denotes infinity 9368 */ 9369 9370 9371 /* 9372 * Flags for flushq() 9373 */ 9374 9375 9376 9377 /* 9378 * Flag for transparent ioctls 9379 */ 9380 9381 9382 /* 9383 * Stream head default high/low water marks 9384 */ 9385 9386 9387 9388 /* 9389 * qwriter perimeter types 9390 */ 9391 9392 9393 9394 /* 9395 * Definitions of Streams macros and function interfaces. 9396 */ 9397 9398 /* 9399 * canenable - check if queue can be enabled by putq(). 9400 */ 9401 9402 9403 /* 9404 * Test if data block type is one of the data messages (i.e. not a control 9405 * message). 9406 */ 9407 9408 9409 9410 9411 9412 9413 9414 /* 9415 * Extract queue class of message block. 9416 */ 9417 9418 9419 /* 9420 * Align address on next lower word boundary. 9421 */ 9422 9423 9424 /* 9425 * Find the max size of data block. 9426 */ 9427 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 9428 9429 /* 9430 * Symbols such as htonl() are required to be exposed through this file, 9431 * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h> 9432 */ 9433 9434 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 9435 /* 9436 * CDDL HEADER START 9437 * 9438 * The contents of this file are subject to the terms of the 9439 * Common Development and Distribution License (the "License"). 9440 * You may not use this file except in compliance with the License. 9441 * 9442 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9443 * or http://www.opensolaris.org/os/licensing. 9444 * See the License for the specific language governing permissions 9445 * and limitations under the License. 9446 * 9447 * When distributing Covered Code, include this CDDL HEADER in each 9448 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9449 * If applicable, add the following below this CDDL HEADER, with the 9450 * fields enclosed by brackets "[]" replaced with your own identifying 9451 * information: Portions Copyright [yyyy] [name of copyright owner] 9452 * 9453 * CDDL HEADER END 9454 */ 9455 9456 /* 9457 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9458 * Use is subject to license terms. 9459 */ 9460 9461 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 9462 /* All Rights Reserved */ 9463 9464 /* 9465 * University Copyright- Copyright (c) 1982, 1986, 1988 9466 * The Regents of the University of California 9467 * All Rights Reserved 9468 * 9469 * University Acknowledgment- Portions of this document are derived from 9470 * software developed by the University of California, Berkeley, and its 9471 * contributors. 9472 */ 9473 9474 9475 9476 9477 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 9478 /* 9479 * CDDL HEADER START 9480 * 9481 * The contents of this file are subject to the terms of the 9482 * Common Development and Distribution License (the "License"). 9483 * You may not use this file except in compliance with the License. 9484 * 9485 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9486 * or http://www.opensolaris.org/os/licensing. 9487 * See the License for the specific language governing permissions 9488 * and limitations under the License. 9489 * 9490 * 9491 * When distributing Covered Code, include this CDDL HEADER in each 9492 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9493 * If applicable, add the following below this CDDL HEADER, with the 9494 * fields enclosed by brackets "[]" replaced with your own identifying 9495 * information: Portions Copyright [yyyy] [name of copyright owner] 9496 * 9497 * CDDL HEADER END 9498 */ 9499 9500 /* 9501 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 9502 * Use is subject to license terms. 9503 * Copyright 2016 Joyent, Inc. 9504 */ 9505 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 9506 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 9507 /* 9508 * CDDL HEADER START 9509 * 9510 * The contents of this file are subject to the terms of the 9511 * Common Development and Distribution License, Version 1.0 only 9512 * (the "License"). You may not use this file except in compliance 9513 * with the License. 9514 * 9515 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9516 * or http://www.opensolaris.org/os/licensing. 9517 * See the License for the specific language governing permissions 9518 * and limitations under the License. 9519 * 9520 * When distributing Covered Code, include this CDDL HEADER in each 9521 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9522 * If applicable, add the following below this CDDL HEADER, with the 9523 * fields enclosed by brackets "[]" replaced with your own identifying 9524 * information: Portions Copyright [yyyy] [name of copyright owner] 9525 * 9526 * CDDL HEADER END 9527 */ 9528 /* 9529 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9530 * 9531 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9532 * Use is subject to license terms. 9533 */ 9534 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 9535 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9536 /* 9537 * macros for conversion between host and (internet) network byte order 9538 */ 9539 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9540 typedef uint16_t in_port_t; 9541 9542 9543 9544 9545 typedef uint32_t in_addr_t; 9546 9547 9548 9549 extern uint32_t htonl(uint32_t); 9550 extern uint16_t htons(uint16_t); 9551 extern uint32_t ntohl(uint32_t); 9552 extern uint16_t ntohs(uint16_t); 9553 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9554 extern uint64_t htonll(uint64_t); 9555 extern uint64_t ntohll(uint64_t); 9556 9557 9558 9559 9560 9561 9562 /* 9563 * Macros to reverse byte order 9564 */ 9565 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9566 /* 9567 * Macros to convert from a specific byte order to/from native byte order 9568 */ 9569 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9570 /* 9571 * Macros to read unaligned values from a specific byte order to 9572 * native byte order 9573 */ 9574 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 9575 /* 9576 * Macros to write unaligned values from native byte order to a specific byte 9577 * order. 9578 */ 9579 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 9580 9581 9582 9583 9584 9585 9586 9587 /* 9588 * Note: IPv4 address data structures usage conventions. 9589 * The "in_addr_t" type below (required by Unix standards) 9590 * is NOT a typedef of "struct in_addr" and violates the usual 9591 * conventions where "struct <name>" and <name>_t are corresponding 9592 * typedefs. 9593 * To minimize confusion, kernel data structures/usage prefers use 9594 * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" 9595 * The user level APIs continue to follow the historic popular 9596 * practice of using "struct in_addr". 9597 */ 9598 9599 9600 9601 9602 9603 9604 9605 typedef uint32_t ipaddr_t; 9606 9607 9608 9609 9610 struct in6_addr { 9611 union { 9612 /* 9613 * Note: Static initalizers of "union" type assume 9614 * the constant on the RHS is the type of the first member 9615 * of union. 9616 * To make static initializers (and efficient usage) work, 9617 * the order of members exposed to user and kernel view of 9618 * this data structure is different. 9619 * User environment sees specified uint8_t type as first 9620 * member whereas kernel sees most efficient type as 9621 * first member. 9622 */ 9623 9624 9625 9626 9627 uint8_t _S6_u8[16]; /* IPv6 address */ 9628 uint32_t _S6_u32[4]; /* IPv6 address */ 9629 9630 uint32_t __S6_align; /* Align on 32 bit boundary */ 9631 } _S6_un; 9632 }; 9633 9634 9635 9636 9637 9638 9639 9640 typedef struct in6_addr in6_addr_t; 9641 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9642 /* 9643 * Protocols 9644 * 9645 * Some of these constant names are copied for the DTrace IP provider in 9646 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 9647 * in sync. 9648 */ 9649 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9650 /* Transmission Protocol */ 9651 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9652 /* 9653 * Port/socket numbers: network standard functions 9654 * 9655 * Entries should exist here for each port number compiled into an ON 9656 * component, such as snoop. 9657 */ 9658 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9659 /* 9660 * Port/socket numbers: host specific functions 9661 */ 9662 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9663 /* 9664 * Internet Key Exchange (IKE) ports 9665 */ 9666 9667 9668 9669 /* 9670 * UNIX TCP sockets 9671 */ 9672 9673 9674 9675 9676 9677 9678 /* 9679 * UNIX UDP sockets 9680 */ 9681 9682 9683 9684 9685 9686 9687 9688 /* 9689 * DHCPv6 UDP ports 9690 */ 9691 9692 9693 9694 9695 9696 /* 9697 * Ports < IPPORT_RESERVED are reserved for 9698 * privileged processes (e.g. root). 9699 * Ports > IPPORT_USERRESERVED are reserved 9700 * for servers, not necessarily privileged. 9701 */ 9702 9703 9704 9705 /* 9706 * Link numbers 9707 */ 9708 9709 9710 9711 9712 /* 9713 * IPv4 Internet address 9714 * This definition contains obsolete fields for compatibility 9715 * with SunOS 3.x and 4.2bsd. The presence of subnets renders 9716 * divisions into fixed fields misleading at best. New code 9717 * should use only the s_addr field. 9718 */ 9719 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9720 struct in_addr { 9721 union { 9722 struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; 9723 struct { uint16_t s_w1, s_w2; } S_un_w; 9724 9725 uint32_t S_addr; 9726 9727 9728 9729 } S_un; 9730 9731 9732 9733 9734 9735 9736 }; 9737 9738 /* 9739 * Definitions of bits in internet address integers. 9740 * On subnets, the decomposition of addresses to host and net parts 9741 * is done according to subnet mask, not the masks here. 9742 * 9743 * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, 9744 * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto 9745 * obsolete". IN_MULTICAST macro should be used to test if a address 9746 * is a multicast address. 9747 */ 9748 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9749 /* 9750 * We have removed CLASS E checks from the kernel 9751 * But we preserve these defines for userland in order 9752 * to avoid compile breakage of some 3rd party piece of software 9753 */ 9754 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9755 /* Scoped IPv4 prefixes (in host byte-order) */ 9756 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9757 /* RFC 3927 IPv4 link local address (i in host byte-order) */ 9758 9759 9760 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ 9761 9762 9763 9764 9765 9766 9767 /* 9768 * Define a macro to stuff the loopback address into an Internet address 9769 */ 9770 9771 9772 9773 9774 9775 9776 /* 9777 * IPv4 Socket address. 9778 */ 9779 struct sockaddr_in { 9780 sa_family_t sin_family; 9781 in_port_t sin_port; 9782 struct in_addr sin_addr; 9783 9784 char sin_zero[8]; 9785 9786 9787 9788 }; 9789 9790 9791 /* 9792 * IPv6 socket address. 9793 */ 9794 struct sockaddr_in6 { 9795 sa_family_t sin6_family; 9796 in_port_t sin6_port; 9797 uint32_t sin6_flowinfo; 9798 struct in6_addr sin6_addr; 9799 uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ 9800 uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ 9801 }; 9802 9803 /* 9804 * Macros for accessing the traffic class and flow label fields from 9805 * sin6_flowinfo. 9806 * These are designed to be applied to a 32-bit value. 9807 */ 9808 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9809 /* masks */ 9810 9811 9812 9813 9814 9815 /* 9816 * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for 9817 * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) 9818 * only. They need to be different for User/Kernel versions because union 9819 * component data structure is defined differently (it is identical at 9820 * binary representation level). 9821 * 9822 * const struct in6_addr IN6ADDR_ANY_INIT; 9823 * const struct in6_addr IN6ADDR_LOOPBACK_INIT; 9824 */ 9825 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9826 /* 9827 * RFC 2553 specifies the following macros. Their type is defined 9828 * as "int" in the RFC but they only have boolean significance 9829 * (zero or non-zero). For the purposes of our comment notation, 9830 * we assume a hypothetical type "bool" defined as follows to 9831 * write the prototypes assumed for macros in our comments better. 9832 * 9833 * typedef int bool; 9834 */ 9835 9836 /* 9837 * IN6 macros used to test for special IPv6 addresses 9838 * (Mostly from spec) 9839 * 9840 * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); 9841 * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); 9842 * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); 9843 * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); 9844 * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); 9845 * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); 9846 * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 9847 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); 9848 * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 9849 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); 9850 * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); 9851 * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); 9852 * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); 9853 * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 9854 * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 9855 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, 9856 * const struct in6_addr *); -- Not from RFC2553 9857 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 9858 */ 9859 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9860 /* 9861 * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY 9862 * Note: This macro is currently NOT defined in RFC2553 specification 9863 * and not a standard macro that portable applications should use. 9864 */ 9865 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9866 /* Exclude loopback and unspecified address */ 9867 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9868 /* 9869 * Note: 9870 * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 9871 * specification and not a standard macro that portable applications 9872 * should use. 9873 */ 9874 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9875 /* 9876 * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or 9877 * RFC, and shouldn't be used by portable applications. It is used to see 9878 * if an address is a solicited-node multicast address, which is prefixed 9879 * with ff02:0:0:0:0:1:ff00::/104. 9880 */ 9881 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9882 /* 9883 * Macros to a) test for 6to4 IPv6 address, and b) to test if two 9884 * 6to4 addresses have the same /48 prefix, and, hence, are from the 9885 * same 6to4 site. 9886 */ 9887 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9888 /* 9889 * IN6_IS_ADDR_LINKSCOPE 9890 * Identifies an address as being either link-local, link-local multicast or 9891 * node-local multicast. All types of addresses are considered to be unique 9892 * within the scope of a given link. 9893 */ 9894 9895 9896 9897 9898 /* 9899 * Useful utility macros for operations with IPv6 addresses 9900 * Note: These macros are NOT defined in the RFC2553 or any other 9901 * standard specification and are not standard macros that portable 9902 * applications should use. 9903 */ 9904 9905 /* 9906 * IN6_V4MAPPED_TO_INADDR 9907 * IN6_V4MAPPED_TO_IPADDR 9908 * Assign a IPv4-Mapped IPv6 address to an IPv4 address. 9909 * Note: These macros are NOT defined in RFC2553 or any other standard 9910 * specification and are not macros that portable applications should 9911 * use. 9912 * 9913 * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); 9914 * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); 9915 * 9916 */ 9917 9918 9919 9920 9921 9922 /* 9923 * IN6_INADDR_TO_V4MAPPED 9924 * IN6_IPADDR_TO_V4MAPPED 9925 * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped 9926 * address. 9927 * Note: These macros are NOT defined in RFC2553 or any other standard 9928 * specification and are not macros that portable applications should 9929 * use. 9930 * 9931 * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); 9932 * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); 9933 * 9934 */ 9935 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9936 /* 9937 * IN6_6TO4_TO_V4ADDR 9938 * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 9939 * address. 9940 * Note: This macro is NOT defined in RFC2553 or any other standard 9941 * specification and is not a macro that portable applications should 9942 * use. 9943 * Note: we don't use the IPADDR form of the macro because we need 9944 * to do a bytewise copy; the V4ADDR in the 6to4 address is not 9945 * 32-bit aligned. 9946 * 9947 * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); 9948 * 9949 */ 9950 9951 9952 9953 9954 9955 9956 /* 9957 * IN6_V4ADDR_TO_6TO4 9958 * Given an IPv4 address and an IPv6 address for output, a 6to4 address 9959 * will be created from the IPv4 Address. 9960 * Note: This method for creating 6to4 addresses is not standardized 9961 * outside of Solaris. The newly created 6to4 address will be of the form 9962 * 2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and 9963 * HOSTID will equal 1. 9964 * 9965 * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) 9966 * 9967 */ 9968 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9969 /* 9970 * IN6_ARE_ADDR_EQUAL (defined in RFC2292) 9971 * Compares if IPv6 addresses are equal. 9972 * Note: Compares in order of high likelyhood of a miss so we minimize 9973 * compares. (Current heuristic order, compare in reverse order of 9974 * uint32_t units) 9975 * 9976 * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, 9977 * const struct in6_addr *); 9978 */ 9979 9980 9981 9982 9983 9984 9985 /* 9986 * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) 9987 * Compares if prefixed parts of IPv6 addresses are equal. 9988 * 9989 * uint32_t IN6_MASK_FROM_PREFIX(int, int); 9990 * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, 9991 * const struct in6_addr *, 9992 * int); 9993 */ 9994 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 9995 /* 9996 * Options for use with [gs]etsockopt at the IP level. 9997 * 9998 * Note: Some of the IP_ namespace has conflict with and 9999 * and is exposed through <xti.h>. (It also requires exposing 10000 * options not implemented). The options with potential 10001 * for conflicts use #ifndef guards. 10002 */ 10003 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10004 /* 10005 * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in 10006 * is used to differentiate b/w the two. 10007 */ 10008 10009 10010 10011 10012 10013 /* 10014 * Different preferences that can be requested from IPSEC protocols. 10015 */ 10016 10017 10018 10019 10020 /* 10021 * This can be used with the setsockopt() call to set per socket security 10022 * options. When the application uses per-socket API, we will reflect 10023 * the request on both outbound and inbound packets. 10024 */ 10025 10026 typedef struct ipsec_req { 10027 uint_t ipsr_ah_req; /* AH request */ 10028 uint_t ipsr_esp_req; /* ESP request */ 10029 uint_t ipsr_self_encap_req; /* Self-Encap request */ 10030 uint8_t ipsr_auth_alg; /* Auth algs for AH */ 10031 uint8_t ipsr_esp_alg; /* Encr algs for ESP */ 10032 uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ 10033 } ipsec_req_t; 10034 10035 /* 10036 * MCAST_* options are protocol-independent. The actual definitions 10037 * are with the v6 options below; this comment is here to note the 10038 * namespace usage. 10039 * 10040 * #define MCAST_JOIN_GROUP 0x29 10041 * #define MCAST_LEAVE_GROUP 0x2a 10042 * #define MCAST_BLOCK_SOURCE 0x2b 10043 * #define MCAST_UNBLOCK_SOURCE 0x2c 10044 * #define MCAST_JOIN_SOURCE_GROUP 0x2d 10045 * #define MCAST_LEAVE_SOURCE_GROUP 0x2e 10046 */ 10047 10048 10049 /* 10050 * SunOS private (potentially not portable) IP_ option names 10051 */ 10052 10053 10054 10055 /* can be reused 0x44 */ 10056 10057 10058 /* 10059 * Option values and names (when !_XPG5) shared with <xti_inet.h> 10060 */ 10061 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10062 /* 10063 * The following option values are reserved by <xti_inet.h> 10064 * 10065 * T_IP_OPTIONS 0x107 - IP per-packet options 10066 * T_IP_TOS 0x108 - IP per packet type of service 10067 */ 10068 10069 /* 10070 * Default value constants for multicast attributes controlled by 10071 * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. 10072 */ 10073 10074 10075 10076 10077 /* 10078 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 10079 */ 10080 struct ip_mreq { 10081 struct in_addr imr_multiaddr; /* IP multicast address of group */ 10082 struct in_addr imr_interface; /* local IP address of interface */ 10083 }; 10084 10085 /* 10086 * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, 10087 * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. 10088 */ 10089 struct ip_mreq_source { 10090 struct in_addr imr_multiaddr; /* IP address of group */ 10091 struct in_addr imr_sourceaddr; /* IP address of source */ 10092 struct in_addr imr_interface; /* IP address of interface */ 10093 }; 10094 10095 /* 10096 * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on 10097 * IPv6 addresses. 10098 */ 10099 struct ipv6_mreq { 10100 struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ 10101 unsigned int ipv6mr_interface; /* interface index */ 10102 }; 10103 10104 /* 10105 * Use #pragma pack() construct to force 32-bit alignment on amd64. 10106 * This is needed to keep the structure size and offsets consistent 10107 * between a 32-bit app and the 64-bit amd64 kernel in structures 10108 * where 64-bit alignment would create gaps (in this case, structures 10109 * which have a uint32_t followed by a struct sockaddr_storage). 10110 */ 10111 10112 10113 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10114 #pragma pack(4) 10115 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10116 10117 10118 10119 /* 10120 * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. 10121 */ 10122 struct group_req { 10123 uint32_t gr_interface; /* interface index */ 10124 struct sockaddr_storage gr_group; /* group address */ 10125 }; 10126 10127 /* 10128 * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, 10129 * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. 10130 */ 10131 struct group_source_req { 10132 uint32_t gsr_interface; /* interface index */ 10133 struct sockaddr_storage gsr_group; /* group address */ 10134 struct sockaddr_storage gsr_source; /* source address */ 10135 }; 10136 10137 /* 10138 * Argument for SIOC[GS]MSFILTER ioctls 10139 */ 10140 struct group_filter { 10141 uint32_t gf_interface; /* interface index */ 10142 struct sockaddr_storage gf_group; /* multicast address */ 10143 uint32_t gf_fmode; /* filter mode */ 10144 uint32_t gf_numsrc; /* number of sources */ 10145 struct sockaddr_storage gf_slist[1]; /* source address */ 10146 }; 10147 10148 10149 10150 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10151 #pragma pack() 10152 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10153 10154 10155 10156 10157 10158 10159 10160 /* 10161 * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) 10162 */ 10163 struct ip_msfilter { 10164 struct in_addr imsf_multiaddr; /* IP multicast address of group */ 10165 struct in_addr imsf_interface; /* local IP address of interface */ 10166 uint32_t imsf_fmode; /* filter mode */ 10167 uint32_t imsf_numsrc; /* number of sources in src_list */ 10168 struct in_addr imsf_slist[1]; /* start of source list */ 10169 }; 10170 10171 10172 10173 10174 10175 /* 10176 * Multicast source filter manipulation functions in libsocket; 10177 * defined in RFC 3678. 10178 */ 10179 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, 10180 uint_t, struct sockaddr_storage *); 10181 10182 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, 10183 uint_t *, struct sockaddr_storage *); 10184 10185 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, 10186 uint32_t, struct in_addr *); 10187 10188 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, 10189 uint32_t *, struct in_addr *); 10190 10191 /* 10192 * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() 10193 */ 10194 10195 10196 10197 /* 10198 * Argument struct for IP_PKTINFO option 10199 */ 10200 typedef struct in_pktinfo { 10201 unsigned int ipi_ifindex; /* send/recv interface index */ 10202 struct in_addr ipi_spec_dst; /* matched source address */ 10203 struct in_addr ipi_addr; /* src/dst address in IP hdr */ 10204 } in_pktinfo_t; 10205 10206 /* 10207 * Argument struct for IPV6_PKTINFO option 10208 */ 10209 struct in6_pktinfo { 10210 struct in6_addr ipi6_addr; /* src/dst IPv6 address */ 10211 unsigned int ipi6_ifindex; /* send/recv interface index */ 10212 }; 10213 10214 /* 10215 * Argument struct for IPV6_MTUINFO option 10216 */ 10217 struct ip6_mtuinfo { 10218 struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ 10219 uint32_t ip6m_mtu; /* path MTU in host byte order */ 10220 }; 10221 10222 /* 10223 * IPv6 routing header types 10224 */ 10225 10226 10227 extern socklen_t inet6_rth_space(int type, int segments); 10228 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); 10229 extern int inet6_rth_add(void *bp, const struct in6_addr *addr); 10230 extern int inet6_rth_reverse(const void *in, void *out); 10231 extern int inet6_rth_segments(const void *bp); 10232 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); 10233 10234 extern int inet6_opt_init(void *extbuf, socklen_t extlen); 10235 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, 10236 uint8_t type, socklen_t len, uint_t align, void **databufp); 10237 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); 10238 extern int inet6_opt_set_val(void *databuf, int offset, void *val, 10239 socklen_t vallen); 10240 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, 10241 uint8_t *typep, socklen_t *lenp, void **databufp); 10242 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, 10243 uint8_t type, socklen_t *lenp, void **databufp); 10244 extern int inet6_opt_get_val(void *databuf, int offset, void *val, 10245 socklen_t vallen); 10246 10247 10248 /* 10249 * Argument structure for IP_ADD_PROXY_ADDR. 10250 * Note that this is an unstable, experimental interface. It may change 10251 * later. Don't use it unless you know what it is. 10252 */ 10253 typedef struct { 10254 struct in_addr in_prefix_addr; 10255 unsigned int in_prefix_len; 10256 } in_prefix_t; 10257 10258 10259 10260 /* 10261 * IPv6 options 10262 */ 10263 10264 /* packets. */ 10265 /* argument type: uint_t */ 10266 10267 /* multicast packets. */ 10268 /* argument type: struct in6_addr */ 10269 10270 /* multicast packets. */ 10271 /* argument type: uint_t */ 10272 10273 /* multicast packets on same socket. */ 10274 /* argument type: uint_t */ 10275 10276 /* argument type: struct ipv6_mreq */ 10277 10278 /* argument type: struct ipv6_mreq */ 10279 10280 /* 10281 * Other XPG6 constants. 10282 */ 10283 10284 /* decimal notation. */ 10285 10286 /* standard colon-hex notation. */ 10287 10288 10289 10290 10291 10292 /* 10293 * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept 10294 * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP 10295 * and IPV6_LEAVE_GROUP respectively. 10296 */ 10297 10298 /* argument type: struct ipv6_mreq */ 10299 10300 /* argument type: struct ipv6_mreq */ 10301 10302 10303 /* arg type: "struct in6_pktingo" - */ 10304 10305 10306 10307 10308 /* the routing header */ 10309 10310 10311 /* the routing header */ 10312 10313 10314 10315 10316 /* 10317 * This options exists for backwards compatability and should no longer be 10318 * used. Use IPV6_RECVDSTOPTS instead. 10319 */ 10320 10321 10322 10323 10324 /* 10325 * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables 10326 * the receipt of both headers. 10327 */ 10328 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10329 /* 10330 * enable/disable receipt of both both IPV6_DSTOPTS headers. 10331 */ 10332 10333 10334 /* 10335 * protocol-independent multicast membership options. 10336 */ 10337 10338 10339 10340 10341 10342 10343 10344 /* 32Bit field for IPV6_SRC_PREFERENCES */ 10345 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 10346 /* 10347 * SunOS private (potentially not portable) IPV6_ option names 10348 */ 10349 10350 10351 /* unspecified (all zeros) */ 10352 10353 /* 10354 * Miscellaneous IPv6 constants. 10355 */ 10356 10357 10358 10359 10360 /* 10361 * Extern declarations for pre-defined global const variables 10362 */ 10363 10364 10365 10366 extern const struct in6_addr in6addr_any; 10367 extern const struct in6_addr in6addr_loopback; 10368 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 10369 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 10370 /* 10371 * CDDL HEADER START 10372 * 10373 * The contents of this file are subject to the terms of the 10374 * Common Development and Distribution License (the "License"). 10375 * You may not use this file except in compliance with the License. 10376 * 10377 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10378 * or http://www.opensolaris.org/os/licensing. 10379 * See the License for the specific language governing permissions 10380 * and limitations under the License. 10381 * 10382 * When distributing Covered Code, include this CDDL HEADER in each 10383 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10384 * If applicable, add the following below this CDDL HEADER, with the 10385 * fields enclosed by brackets "[]" replaced with your own identifying 10386 * information: Portions Copyright [yyyy] [name of copyright owner] 10387 * 10388 * CDDL HEADER END 10389 */ 10390 /* 10391 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10392 * 10393 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 10394 */ 10395 10396 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 10397 /* All Rights Reserved */ 10398 10399 /* 10400 * University Copyright- Copyright (c) 1982, 1986, 1988 10401 * The Regents of the University of California 10402 * All Rights Reserved 10403 * 10404 * University Acknowledgment- Portions of this document are derived from 10405 * software developed by the University of California, Berkeley, and its 10406 * contributors. 10407 */ 10408 10409 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 10410 10411 10412 10413 10414 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10415 /* 10416 * CDDL HEADER START 10417 * 10418 * The contents of this file are subject to the terms of the 10419 * Common Development and Distribution License (the "License"). 10420 * You may not use this file except in compliance with the License. 10421 * 10422 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10423 * or http://www.opensolaris.org/os/licensing. 10424 * See the License for the specific language governing permissions 10425 * and limitations under the License. 10426 * 10427 * When distributing Covered Code, include this CDDL HEADER in each 10428 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10429 * If applicable, add the following below this CDDL HEADER, with the 10430 * fields enclosed by brackets "[]" replaced with your own identifying 10431 * information: Portions Copyright [yyyy] [name of copyright owner] 10432 * 10433 * CDDL HEADER END 10434 */ 10435 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10436 /* All Rights Reserved */ 10437 10438 10439 /* 10440 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10441 * Use is subject to license terms. 10442 * 10443 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10444 * Copyright 2016 Joyent, Inc. 10445 */ 10446 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10447 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 10448 /* 10449 * CDDL HEADER START 10450 * 10451 * The contents of this file are subject to the terms of the 10452 * Common Development and Distribution License (the "License"). 10453 * You may not use this file except in compliance with the License. 10454 * 10455 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10456 * or http://www.opensolaris.org/os/licensing. 10457 * See the License for the specific language governing permissions 10458 * and limitations under the License. 10459 * 10460 * When distributing Covered Code, include this CDDL HEADER in each 10461 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10462 * If applicable, add the following below this CDDL HEADER, with the 10463 * fields enclosed by brackets "[]" replaced with your own identifying 10464 * information: Portions Copyright [yyyy] [name of copyright owner] 10465 * 10466 * CDDL HEADER END 10467 */ 10468 /* 10469 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10470 * 10471 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 10472 * Use is subject to license terms. 10473 * 10474 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10475 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 10476 */ 10477 10478 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10479 /* All Rights Reserved */ 10480 10481 /* 10482 * University Copyright- Copyright (c) 1982, 1986, 1988 10483 * The Regents of the University of California 10484 * All Rights Reserved 10485 * 10486 * University Acknowledgment- Portions of this document are derived from 10487 * software developed by the University of California, Berkeley, and its 10488 * contributors. 10489 */ 10490 10491 10492 10493 10494 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10495 /* 10496 * CDDL HEADER START 10497 * 10498 * The contents of this file are subject to the terms of the 10499 * Common Development and Distribution License (the "License"). 10500 * You may not use this file except in compliance with the License. 10501 * 10502 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10503 * or http://www.opensolaris.org/os/licensing. 10504 * See the License for the specific language governing permissions 10505 * and limitations under the License. 10506 * 10507 * When distributing Covered Code, include this CDDL HEADER in each 10508 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10509 * If applicable, add the following below this CDDL HEADER, with the 10510 * fields enclosed by brackets "[]" replaced with your own identifying 10511 * information: Portions Copyright [yyyy] [name of copyright owner] 10512 * 10513 * CDDL HEADER END 10514 */ 10515 10516 /* 10517 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10518 * Copyright 2016 Joyent, Inc. 10519 * 10520 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10521 * Use is subject to license terms. 10522 */ 10523 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 10524 10525 10526 10527 10528 10529 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10530 /* 10531 * CDDL HEADER START 10532 * 10533 * The contents of this file are subject to the terms of the 10534 * Common Development and Distribution License (the "License"). 10535 * You may not use this file except in compliance with the License. 10536 * 10537 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10538 * or http://www.opensolaris.org/os/licensing. 10539 * See the License for the specific language governing permissions 10540 * and limitations under the License. 10541 * 10542 * When distributing Covered Code, include this CDDL HEADER in each 10543 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10544 * If applicable, add the following below this CDDL HEADER, with the 10545 * fields enclosed by brackets "[]" replaced with your own identifying 10546 * information: Portions Copyright [yyyy] [name of copyright owner] 10547 * 10548 * CDDL HEADER END 10549 */ 10550 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10551 /* All Rights Reserved */ 10552 10553 10554 /* 10555 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10556 * Use is subject to license terms. 10557 * 10558 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10559 * Copyright 2016 Joyent, Inc. 10560 */ 10561 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 10562 10563 /* 10564 * I/O parameter information. A uio structure describes the I/O which 10565 * is to be performed by an operation. Typically the data movement will 10566 * be performed by a routine such as uiomove(), which updates the uio 10567 * structure to reflect what was done. 10568 */ 10569 10570 10571 10572 10573 10574 10575 10576 typedef struct iovec { 10577 caddr_t iov_base; 10578 10579 size_t iov_len; 10580 10581 10582 10583 } iovec_t; 10584 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10585 /* 10586 * Segment flag values. 10587 */ 10588 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; 10589 10590 typedef struct uio { 10591 iovec_t *uio_iov; /* pointer to array of iovecs */ 10592 int uio_iovcnt; /* number of iovecs */ 10593 lloff_t _uio_offset; /* file offset */ 10594 uio_seg_t uio_segflg; /* address space (kernel or user) */ 10595 uint16_t uio_fmode; /* file mode flags */ 10596 uint16_t uio_extflg; /* extended flags */ 10597 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 10598 ssize_t uio_resid; /* residual count */ 10599 } uio_t; 10600 10601 /* 10602 * Extended uio_t uioa_t used for asynchronous uio. 10603 * 10604 * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" 10605 * as there isn't a formal definition of IOV_MAX for the kernel. 10606 */ 10607 10608 10609 typedef struct uioa_page_s { /* locked uio_iov state */ 10610 int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ 10611 void **uioa_ppp; /* page_t or pfn_t arrary */ 10612 caddr_t uioa_base; /* address base */ 10613 size_t uioa_len; /* span length */ 10614 } uioa_page_t; 10615 10616 typedef struct uioa_s { 10617 iovec_t *uio_iov; /* pointer to array of iovecs */ 10618 int uio_iovcnt; /* number of iovecs */ 10619 lloff_t _uio_offset; /* file offset */ 10620 uio_seg_t uio_segflg; /* address space (kernel or user) */ 10621 uint16_t uio_fmode; /* file mode flags */ 10622 uint16_t uio_extflg; /* extended flags */ 10623 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 10624 ssize_t uio_resid; /* residual count */ 10625 /* 10626 * uioa extended members. 10627 */ 10628 uint32_t uioa_state; /* state of asynch i/o */ 10629 ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ 10630 uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ 10631 void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ 10632 void *uioa_hwst[4]; /* opaque hardware state */ 10633 uioa_page_t uioa_locked[16]; /* Per iov locked pages */ 10634 } uioa_t; 10635 10636 /* 10637 * uio extensions 10638 * 10639 * PSARC 2009/478: Copy Reduction Interfaces 10640 */ 10641 typedef enum xuio_type { 10642 UIOTYPE_ASYNCIO, 10643 UIOTYPE_ZEROCOPY 10644 } xuio_type_t; 10645 10646 typedef struct xuio { 10647 uio_t xu_uio; /* Embedded UIO structure */ 10648 10649 /* Extended uio fields */ 10650 enum xuio_type xu_type; /* What kind of uio structure? */ 10651 union { 10652 /* Async I/O Support, intend to replace uioa_t. */ 10653 struct { 10654 uint32_t xu_a_state; /* state of async i/o */ 10655 /* bytes that have been uioamove()ed */ 10656 ssize_t xu_a_mbytes; 10657 uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ 10658 /* pointer into lcur->uioa_ppp[] */ 10659 void **xu_a_lppp; 10660 void *xu_a_hwst[4]; /* opaque hardware state */ 10661 /* Per iov locked pages */ 10662 uioa_page_t xu_a_locked[16]; 10663 } xu_aio; 10664 10665 /* 10666 * Copy Reduction Support -- facilate loaning / returning of 10667 * filesystem cache buffers. 10668 */ 10669 struct { 10670 int xu_zc_rw; /* read or write buffer */ 10671 void *xu_zc_priv; /* fs specific */ 10672 } xu_zc; 10673 } xu_ext; 10674 } xuio_t; 10675 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10676 /* 10677 * I/O direction. 10678 */ 10679 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; 10680 10681 /* 10682 * uio_extflg: extended flags 10683 * 10684 * NOTE: This flag will be used in uiomove to determine if non-temporal 10685 * access, ie, access bypassing caches, should be used. Filesystems that 10686 * don't initialize this field could experience suboptimal performance due to 10687 * the random data the field contains. 10688 * 10689 * NOTE: This flag is also used by uioasync callers to pass an extended 10690 * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all 10691 * consumers of a uioa_t require the uio_extflg to be initialized. 10692 */ 10693 10694 10695 10696 10697 10698 10699 /* 10700 * Global uioasync capability shadow state. 10701 */ 10702 typedef struct uioasync_s { 10703 boolean_t enabled; /* Is uioasync enabled? */ 10704 size_t mincnt; /* Minimum byte count for use of */ 10705 } uioasync_t; 10706 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10707 extern ssize_t readv(int, const struct iovec *, int); 10708 extern ssize_t writev(int, const struct iovec *, int); 10709 10710 /* 10711 * When in the large file compilation environment, 10712 * map preadv/pwritev to their 64 bit offset versions 10713 */ 10714 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10715 /* In the LP64 compilation environment, the APIs are already large file */ 10716 10717 10718 10719 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10720 #pragma redefine_extname preadv64 preadv 10721 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10722 10723 10724 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10725 #pragma redefine_extname pwritev64 pwritev 10726 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 10727 10728 10729 10730 10731 10732 10733 10734 extern ssize_t preadv(int, const struct iovec *, int, off_t); 10735 extern ssize_t pwritev(int, const struct iovec *, int, off_t); 10736 10737 /* 10738 * preadv64 and pwritev64 should be defined when: 10739 * - Using the transitional compilation environment, and not 10740 * the large file compilation environment. 10741 */ 10742 10743 10744 extern ssize_t preadv64(int, const struct iovec *, int, off64_t); 10745 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); 10746 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10747 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10748 /* 10749 * CDDL HEADER START 10750 * 10751 * The contents of this file are subject to the terms of the 10752 * Common Development and Distribution License (the "License"). 10753 * You may not use this file except in compliance with the License. 10754 * 10755 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10756 * or http://www.opensolaris.org/os/licensing. 10757 * See the License for the specific language governing permissions 10758 * and limitations under the License. 10759 * 10760 * When distributing Covered Code, include this CDDL HEADER in each 10761 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10762 * If applicable, add the following below this CDDL HEADER, with the 10763 * fields enclosed by brackets "[]" replaced with your own identifying 10764 * information: Portions Copyright [yyyy] [name of copyright owner] 10765 * 10766 * CDDL HEADER END 10767 */ 10768 10769 /* 10770 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10771 * Copyright 2016 Joyent, Inc. 10772 * 10773 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10774 * Use is subject to license terms. 10775 */ 10776 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10777 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 10778 /* 10779 * CDDL HEADER START 10780 * 10781 * The contents of this file are subject to the terms of the 10782 * Common Development and Distribution License (the "License"). 10783 * You may not use this file except in compliance with the License. 10784 * 10785 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10786 * or http://www.opensolaris.org/os/licensing. 10787 * See the License for the specific language governing permissions 10788 * and limitations under the License. 10789 * 10790 * When distributing Covered Code, include this CDDL HEADER in each 10791 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10792 * If applicable, add the following below this CDDL HEADER, with the 10793 * fields enclosed by brackets "[]" replaced with your own identifying 10794 * information: Portions Copyright [yyyy] [name of copyright owner] 10795 * 10796 * CDDL HEADER END 10797 */ 10798 /* 10799 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10800 * Use is subject to license terms. 10801 */ 10802 10803 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 10804 /* All Rights Reserved */ 10805 10806 /* 10807 * Portions of this source code were derived from Berkeley 4.3 BSD 10808 * under license from the Regents of the University of California. 10809 */ 10810 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10811 10812 10813 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 10814 /* 10815 * CDDL HEADER START 10816 * 10817 * The contents of this file are subject to the terms of the 10818 * Common Development and Distribution License, Version 1.0 only 10819 * (the "License"). You may not use this file except in compliance 10820 * with the License. 10821 * 10822 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10823 * or http://www.opensolaris.org/os/licensing. 10824 * See the License for the specific language governing permissions 10825 * and limitations under the License. 10826 * 10827 * When distributing Covered Code, include this CDDL HEADER in each 10828 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10829 * If applicable, add the following below this CDDL HEADER, with the 10830 * fields enclosed by brackets "[]" replaced with your own identifying 10831 * information: Portions Copyright [yyyy] [name of copyright owner] 10832 * 10833 * CDDL HEADER END 10834 */ 10835 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10836 /* All Rights Reserved */ 10837 10838 10839 /* 10840 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10841 * 10842 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10843 * Use is subject to license terms. 10844 */ 10845 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 10846 struct netconfig { 10847 char *nc_netid; /* network identifier */ 10848 unsigned int nc_semantics; /* defined below */ 10849 unsigned int nc_flag; /* defined below */ 10850 char *nc_protofmly; /* protocol family name */ 10851 char *nc_proto; /* protocol name */ 10852 char *nc_device; /* device name for network id */ 10853 unsigned int nc_nlookups; /* # of entries in nc_lookups */ 10854 char **nc_lookups; /* list of lookup directories */ 10855 unsigned int nc_unused[8]; /* borrowed for lockd etc. */ 10856 }; 10857 10858 typedef struct { 10859 struct netconfig **nc_head; 10860 struct netconfig **nc_curr; 10861 } NCONF_HANDLE; 10862 10863 /* 10864 * Values of nc_semantics 10865 */ 10866 10867 10868 10869 10870 10871 /* 10872 * NOT FOR PUBLIC USE, Solaris internal only. 10873 * This value of nc_semantics is strictly for use of Remote Direct 10874 * Memory Access provider interfaces in Solaris only and not for 10875 * general use. Do not use this value for general purpose user or 10876 * kernel programming. If used the behavior is undefined. 10877 * This is a PRIVATE interface to be used by Solaris kRPC only. 10878 */ 10879 10880 10881 /* 10882 * Values of nc_flag 10883 */ 10884 10885 10886 10887 10888 10889 /* 10890 * Values of nc_protofmly 10891 */ 10892 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 10893 /* 10894 * NOT FOR PUBLIC USE, Solaris internal only. 10895 * This value of nc_semantics is strictly for use of Remote Direct 10896 * Memory Access provider interfaces in Solaris only and not for 10897 * general use. Do not use this value for general purpose user or 10898 * kernel programming. If used the behavior is undefined. 10899 * This is a PRIVATE interface to be used by Solaris kRPC only. 10900 */ 10901 10902 10903 /* 10904 * Values for nc_proto 10905 */ 10906 10907 10908 10909 10910 10911 10912 /* 10913 * Values for nc_proto for "rdma" protofmly 10914 */ 10915 10916 10917 10918 10919 extern void *setnetconfig(void); 10920 extern int endnetconfig(void *); 10921 extern struct netconfig *getnetconfig(void *); 10922 extern struct netconfig *getnetconfigent(const char *); 10923 extern void freenetconfigent(struct netconfig *); 10924 extern void *setnetpath(void); 10925 extern int endnetpath(void *); 10926 extern struct netconfig *getnetpath(void *); 10927 extern void nc_perror(const char *); 10928 extern char *nc_sperror(void); 10929 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10930 10931 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 10932 /* 10933 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10934 * Use is subject to license terms. 10935 * 10936 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 10937 */ 10938 /* 10939 * Copyright (c) 1982, 1986 Regents of the University of California. 10940 * All rights reserved. 10941 * 10942 * Redistribution and use in source and binary forms are permitted 10943 * provided that this notice is preserved and that due credit is given 10944 * to the University of California at Berkeley. The name of the University 10945 * may not be used to endorse or promote products derived from this 10946 * software without specific prior written permission. This software 10947 * is provided ``as is'' without express or implied warranty. 10948 */ 10949 10950 /* 10951 * Constants and structures defined by the internet system, 10952 * according to following documents 10953 * 10954 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 10955 * http://www.iana.org/assignments/protocol-numbers 10956 * http://www.iana.org/assignments/port-numbers 10957 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 10958 * 10959 */ 10960 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 10961 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 10962 /* 10963 * Definitions related to sockets: types, address families, options. 10964 */ 10965 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 10966 /* 10967 * Types 10968 */ 10969 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 10970 /* 10971 * Flags for socket() and accept4() 10972 */ 10973 10974 10975 10976 10977 /* 10978 * Option flags per-socket. 10979 */ 10980 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 10981 /* 10982 * Socket options are passed using a signed integer, but it is also rare 10983 * for more than one to ever be passed at the same time with setsockopt 10984 * and only one at a time can be retrieved with getsockopt. 10985 * 10986 * Since the lower numbers cannot be renumbered for compatibility reasons, 10987 * it would seem that we need to start a new number space (0x40000000 - 10988 * 0x7fffffff) for those that don't need to be stored as a bit flag 10989 * somewhere. This limits the flag options to 30 but that seems to be 10990 * plenty, anyway. 0x40000000 is reserved for future use. 10991 */ 10992 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 10993 /* 10994 * N.B.: The following definition is present only for compatibility 10995 * with release 3.0. It will disappear in later releases. 10996 */ 10997 10998 10999 /* 11000 * Additional options, not kept in so_options. 11001 */ 11002 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11003 /* "Socket"-level control message types: */ 11004 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11005 /* 11006 * Socket filter options 11007 */ 11008 11009 11010 11011 11012 11013 /* 11014 * Structure returned by FIL_LIST 11015 */ 11016 struct fil_info { 11017 int fi_flags; /* see below (FILF_*) */ 11018 int fi_pos; /* position (0 is bottom) */ 11019 char fi_name[32]; /* filter name */ 11020 }; 11021 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11022 /* 11023 * Structure used for manipulating linger option. 11024 */ 11025 struct linger { 11026 int l_onoff; /* option on/off */ 11027 int l_linger; /* linger time */ 11028 }; 11029 11030 /* 11031 * Levels for (get/set)sockopt() that don't apply to a specific protocol. 11032 */ 11033 11034 11035 11036 11037 11038 11039 11040 /* 11041 * Address families. 11042 * 11043 * Some of these constant names are copied for the DTrace IP provider in 11044 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 11045 * in sync. 11046 */ 11047 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11048 /* 11049 * Protocol families, same as address families for now. 11050 */ 11051 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11052 /* 11053 * Maximum queue length specifiable by listen. 11054 */ 11055 11056 11057 /* 11058 * Message header for recvmsg and sendmsg calls. 11059 */ 11060 struct msghdr { 11061 void *msg_name; /* optional address */ 11062 socklen_t msg_namelen; /* size of address */ 11063 struct iovec *msg_iov; /* scatter/gather array */ 11064 int msg_iovlen; /* # elements in msg_iov */ 11065 11066 11067 11068 11069 11070 11071 caddr_t msg_accrights; /* access rights sent/received */ 11072 int msg_accrightslen; 11073 11074 }; 11075 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11076 /* Added for XPGv2 compliance */ 11077 11078 11079 11080 11081 11082 /* with left over data */ 11083 /* End of XPGv2 compliance */ 11084 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11085 /* Added for XPGv2 compliance */ 11086 11087 11088 11089 11090 struct cmsghdr { 11091 socklen_t cmsg_len; /* data byte count, including hdr */ 11092 int cmsg_level; /* originating protocol */ 11093 int cmsg_type; /* protocol-specific type */ 11094 }; 11095 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 11096 extern int accept(int, struct sockaddr *, Psocklen_t); 11097 extern int accept4(int, struct sockaddr *, Psocklen_t, int); 11098 extern int bind(int, const struct sockaddr *, socklen_t); 11099 extern int connect(int, const struct sockaddr *, socklen_t); 11100 extern int getpeername(int, struct sockaddr *, Psocklen_t); 11101 extern int getsockname(int, struct sockaddr *, Psocklen_t); 11102 extern int getsockopt(int, int, int, void *, Psocklen_t); 11103 extern int listen(int, int); /* XXX - fixme??? where do I go */ 11104 extern int socketpair(int, int, int, int *); 11105 extern ssize_t recv(int, void *, size_t, int); 11106 extern ssize_t recvfrom(int, void *, size_t, int, 11107 struct sockaddr *, Psocklen_t); 11108 extern ssize_t recvmsg(int, struct msghdr *, int); 11109 extern ssize_t send(int, const void *, size_t, int); 11110 extern ssize_t sendmsg(int, const struct msghdr *, int); 11111 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, 11112 socklen_t); 11113 extern int setsockopt(int, int, int, const void *, socklen_t); 11114 extern int shutdown(int, int); 11115 extern int socket(int, int, int); 11116 11117 11118 extern int sockatmark(int); 11119 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 11120 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1 11121 /* 11122 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 11123 */ 11124 11125 /* 11126 * Copyright (c) 1982, 1986 Regents of the University of California. 11127 * All rights reserved. The Berkeley software License Agreement 11128 * specifies the terms and conditions for redistribution. 11129 */ 11130 11131 11132 11133 11134 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86 */ 11135 11136 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11137 /* 11138 * CDDL HEADER START 11139 * 11140 * The contents of this file are subject to the terms of the 11141 * Common Development and Distribution License (the "License"). 11142 * You may not use this file except in compliance with the License. 11143 * 11144 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11145 * or http://www.opensolaris.org/os/licensing. 11146 * See the License for the specific language governing permissions 11147 * and limitations under the License. 11148 * 11149 * When distributing Covered Code, include this CDDL HEADER in each 11150 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11151 * If applicable, add the following below this CDDL HEADER, with the 11152 * fields enclosed by brackets "[]" replaced with your own identifying 11153 * information: Portions Copyright [yyyy] [name of copyright owner] 11154 * 11155 * CDDL HEADER END 11156 */ 11157 11158 /* 11159 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11160 * Copyright 2016 Joyent, Inc. 11161 * 11162 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11163 * Use is subject to license terms. 11164 */ 11165 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 11166 11167 11168 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 11169 /* 11170 * CDDL HEADER START 11171 * 11172 * The contents of this file are subject to the terms of the 11173 * Common Development and Distribution License (the "License"). 11174 * You may not use this file except in compliance with the License. 11175 * 11176 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11177 * or http://www.opensolaris.org/os/licensing. 11178 * See the License for the specific language governing permissions 11179 * and limitations under the License. 11180 * 11181 * When distributing Covered Code, include this CDDL HEADER in each 11182 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11183 * If applicable, add the following below this CDDL HEADER, with the 11184 * fields enclosed by brackets "[]" replaced with your own identifying 11185 * information: Portions Copyright [yyyy] [name of copyright owner] 11186 * 11187 * CDDL HEADER END 11188 */ 11189 /* 11190 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11191 * 11192 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 11193 */ 11194 11195 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 11196 /* All Rights Reserved */ 11197 11198 /* 11199 * University Copyright- Copyright (c) 1982, 1986, 1988 11200 * The Regents of the University of California 11201 * All Rights Reserved 11202 * 11203 * University Acknowledgment- Portions of this document are derived from 11204 * software developed by the University of California, Berkeley, and its 11205 * contributors. 11206 */ 11207 11208 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 11209 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 11210 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 11211 /* 11212 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11213 * Use is subject to license terms. 11214 * 11215 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 11216 */ 11217 /* 11218 * Copyright (c) 1982, 1986 Regents of the University of California. 11219 * All rights reserved. 11220 * 11221 * Redistribution and use in source and binary forms are permitted 11222 * provided that this notice is preserved and that due credit is given 11223 * to the University of California at Berkeley. The name of the University 11224 * may not be used to endorse or promote products derived from this 11225 * software without specific prior written permission. This software 11226 * is provided ``as is'' without express or implied warranty. 11227 */ 11228 11229 /* 11230 * Constants and structures defined by the internet system, 11231 * according to following documents 11232 * 11233 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 11234 * http://www.iana.org/assignments/protocol-numbers 11235 * http://www.iana.org/assignments/port-numbers 11236 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 11237 * 11238 */ 11239 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 11240 11241 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 11242 /* 11243 * CDDL HEADER START 11244 * 11245 * The contents of this file are subject to the terms of the 11246 * Common Development and Distribution License (the "License"). 11247 * You may not use this file except in compliance with the License. 11248 * 11249 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11250 * or http://www.opensolaris.org/os/licensing. 11251 * See the License for the specific language governing permissions 11252 * and limitations under the License. 11253 * 11254 * When distributing Covered Code, include this CDDL HEADER in each 11255 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11256 * If applicable, add the following below this CDDL HEADER, with the 11257 * fields enclosed by brackets "[]" replaced with your own identifying 11258 * information: Portions Copyright [yyyy] [name of copyright owner] 11259 * 11260 * CDDL HEADER END 11261 */ 11262 /* 11263 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 11264 * Use is subject to license terms. 11265 * Copyright 2015 Nexenta Systems, Inc. 11266 */ 11267 11268 11269 11270 11271 #pragma ident "%Z%%M% %I% %E% SMI" 11272 11273 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 11274 /* 11275 * CDDL HEADER START 11276 * 11277 * The contents of this file are subject to the terms of the 11278 * Common Development and Distribution License, Version 1.0 only 11279 * (the "License"). You may not use this file except in compliance 11280 * with the License. 11281 * 11282 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11283 * or http://www.opensolaris.org/os/licensing. 11284 * See the License for the specific language governing permissions 11285 * and limitations under the License. 11286 * 11287 * When distributing Covered Code, include this CDDL HEADER in each 11288 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11289 * If applicable, add the following below this CDDL HEADER, with the 11290 * fields enclosed by brackets "[]" replaced with your own identifying 11291 * information: Portions Copyright [yyyy] [name of copyright owner] 11292 * 11293 * CDDL HEADER END 11294 */ 11295 /* 11296 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11297 * 11298 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 11299 * Use is subject to license terms. 11300 */ 11301 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2 11302 11303 11304 11305 11306 11307 /* 11308 * Interoperability types for programs. Used for: 11309 * 11310 * Crossing between 32-bit and 64-bit domains. 11311 * 11312 * On disk data formats such as filesystem meta data 11313 * and disk label. 11314 * 11315 * Note: Applications should never include this 11316 * header file. 11317 */ 11318 typedef uint32_t caddr32_t; 11319 typedef int32_t daddr32_t; 11320 typedef int32_t off32_t; 11321 typedef uint32_t ino32_t; 11322 typedef int32_t blkcnt32_t; 11323 typedef uint32_t fsblkcnt32_t; 11324 typedef uint32_t fsfilcnt32_t; 11325 typedef int32_t id32_t; 11326 typedef uint32_t major32_t; 11327 typedef uint32_t minor32_t; 11328 typedef int32_t key32_t; 11329 typedef uint32_t mode32_t; 11330 typedef uint32_t uid32_t; 11331 typedef uint32_t gid32_t; 11332 typedef uint32_t nlink32_t; 11333 typedef uint32_t dev32_t; 11334 typedef int32_t pid32_t; 11335 typedef uint32_t size32_t; 11336 typedef int32_t ssize32_t; 11337 typedef int32_t time32_t; 11338 typedef int32_t clock32_t; 11339 typedef uint32_t uintptr32_t; 11340 typedef int32_t intptr32_t; 11341 11342 struct timeval32 { 11343 time32_t tv_sec; /* seconds */ 11344 int32_t tv_usec; /* and microseconds */ 11345 }; 11346 11347 typedef struct timespec32 { 11348 time32_t tv_sec; /* seconds */ 11349 int32_t tv_nsec; /* and nanoseconds */ 11350 } timespec32_t; 11351 11352 typedef struct timespec32 timestruc32_t; 11353 11354 typedef struct itimerspec32 { 11355 struct timespec32 it_interval; 11356 struct timespec32 it_value; 11357 } itimerspec32_t; 11358 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 11359 11360 11361 11362 11363 11364 11365 11366 /* 11367 * Structures defining a network interface, providing a packet 11368 * transport mechanism (ala level 0 of the PUP protocols). 11369 * 11370 * Each interface accepts output datagrams of a specified maximum 11371 * length, and provides higher level routines with input datagrams 11372 * received from its medium. 11373 * 11374 * Output occurs when the routine if_output is called, with three parameters: 11375 * (*ifp->if_output)(ifp, m, dst) 11376 * Here m is the mbuf chain to be sent and dst is the destination address. 11377 * The output routine encapsulates the supplied datagram if necessary, 11378 * and then transmits it on its medium. 11379 * 11380 * On input, each interface unwraps the data received by it, and either 11381 * places it on the input queue of a internetwork datagram routine 11382 * and posts the associated software interrupt, or passes the datagram to a raw 11383 * packet input routine. 11384 * 11385 * Routines exist for locating interfaces by their addresses 11386 * or for locating a interface on a certain network, as well as more general 11387 * routing and gateway routines maintaining information used to locate 11388 * interfaces. These routines live in the files if.c and route.c 11389 */ 11390 11391 11392 11393 /* 11394 * Structure defining a queue for a network interface. 11395 * 11396 * (Would like to call this struct ``if'', but C isn't PL/1.) 11397 */ 11398 struct ifnet { 11399 char *if_name; /* name, e.g. ``en'' or ``lo'' */ 11400 short if_unit; /* sub-unit for lower level driver */ 11401 short if_mtu; /* maximum transmission unit */ 11402 short if_flags; /* up/down, broadcast, etc. */ 11403 short if_timer; /* time 'til if_watchdog called */ 11404 ushort_t if_promisc; /* net # of requests for promisc mode */ 11405 int if_metric; /* routing metric (external only) */ 11406 struct ifaddr *if_addrlist; /* linked list of addresses per if */ 11407 struct ifqueue { 11408 struct mbuf *ifq_head; 11409 struct mbuf *ifq_tail; 11410 int ifq_len; 11411 int ifq_maxlen; 11412 int ifq_drops; 11413 } if_snd; /* output queue */ 11414 /* procedure handles */ 11415 int (*if_init)(); /* init routine */ 11416 int (*if_output)(); /* output routine */ 11417 int (*if_ioctl)(); /* ioctl routine */ 11418 int (*if_reset)(); /* bus reset routine */ 11419 int (*if_watchdog)(); /* timer routine */ 11420 /* generic interface statistics */ 11421 int if_ipackets; /* packets received on interface */ 11422 int if_ierrors; /* input errors on interface */ 11423 int if_opackets; /* packets sent on interface */ 11424 int if_oerrors; /* output errors on interface */ 11425 int if_collisions; /* collisions on csma interfaces */ 11426 /* end statistics */ 11427 struct ifnet *if_next; 11428 struct ifnet *if_upper; /* next layer up */ 11429 struct ifnet *if_lower; /* next layer down */ 11430 int (*if_input)(); /* input routine */ 11431 int (*if_ctlin)(); /* control input routine */ 11432 int (*if_ctlout)(); /* control output routine */ 11433 struct map *if_memmap; /* rmap for interface specific memory */ 11434 }; 11435 11436 /* 11437 * NOTE : These flags are not directly used within IP. 11438 * ip_if.h has definitions derived from this which is used within IP. 11439 * If you define a flag here, you need to define one in ip_if.h before 11440 * using the new flag in IP. Don't use these flags directly in IP. 11441 */ 11442 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11443 /* 11444 * The IFF_MULTICAST flag indicates that the network can support the 11445 * transmission and reception of higher-level (e.g., IP) multicast packets. 11446 * It is independent of hardware support for multicasting; for example, 11447 * point-to-point links or pure broadcast networks may well support 11448 * higher-level multicasts. 11449 */ 11450 11451 11452 11453 11454 11455 11456 11457 /* 11458 * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS. 11459 * Should use SIOC[GS]LIFFLAGS which has a larger flags field. 11460 */ 11461 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11462 /* 11463 * The IFF_XRESOLV flag is an evolving interface and is subject 11464 * to change without notice. 11465 */ 11466 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11467 /* flags that cannot be changed by userland on any interface */ 11468 11469 11470 11471 11472 11473 11474 11475 /* flags that cannot be changed by userland on an IPMP interface */ 11476 11477 11478 /* flags that can never be set on an IPMP interface */ 11479 11480 11481 11482 /* 11483 * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1) 11484 * input routines have queues of messages stored on ifqueue structures 11485 * (defined above). Entries are added to and deleted from these structures 11486 * by these macros, which should be called with ipl raised to splimp(). 11487 */ 11488 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11489 /* 11490 * Packets destined for level-1 protocol input routines 11491 * have a pointer to the receiving interface prepended to the data. 11492 * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet. 11493 * IF_ADJ should be used otherwise to adjust for its presence. 11494 */ 11495 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11496 /* 11497 * The ifaddr structure contains information about one address 11498 * of an interface. They are maintained by the different address families, 11499 * are allocated and attached when an address is set, and are linked 11500 * together so all addresses for an interface can be located. 11501 */ 11502 struct ifaddr { 11503 struct sockaddr ifa_addr; /* address of interface */ 11504 union { 11505 struct sockaddr ifu_broadaddr; 11506 struct sockaddr ifu_dstaddr; 11507 } ifa_ifu; 11508 11509 11510 struct ifnet *ifa_ifp; /* back-pointer to interface */ 11511 struct ifaddr *ifa_next; /* next address for interface */ 11512 }; 11513 11514 /* 11515 * For SIOCLIF*ND ioctls. 11516 * 11517 * The lnr_state_* fields use the ND_* neighbor reachability states. 11518 * The 3 different fields are for use with SIOCLIFSETND to cover the cases 11519 * when 11520 * A new entry is created 11521 * The entry already exists and the link-layer address is the same 11522 * The entry already exists and the link-layer address differs 11523 * 11524 * Use ND_UNCHANGED to not change any state. 11525 */ 11526 11527 typedef struct lif_nd_req { 11528 struct sockaddr_storage lnr_addr; 11529 uint8_t lnr_state_create; /* When creating */ 11530 uint8_t lnr_state_same_lla; /* Update same addr */ 11531 uint8_t lnr_state_diff_lla; /* Update w/ diff. */ 11532 int lnr_hdw_len; 11533 int lnr_flags; /* See below */ 11534 /* padding because ia32 "long long"s are only 4-byte aligned. */ 11535 int lnr_pad0; 11536 char lnr_hdw_addr[64]; 11537 } lif_nd_req_t; 11538 11539 /* 11540 * Neighbor reachability states 11541 * Used with SIOCLIF*ND ioctls. 11542 */ 11543 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11544 /* 11545 * lnr_flags value of lif_nd_req. 11546 * Used with SIOCLIF*ND ioctls. 11547 */ 11548 11549 11550 11551 11552 11553 11554 /* 11555 * the NDF_STATIC entry ensures that an NCE will not be deleted, and is 11556 * used by non-ON applications like IPv6 test suites. 11557 */ 11558 11559 11560 /* For SIOC[GS]LIFLNKINFO */ 11561 typedef struct lif_ifinfo_req { 11562 uint8_t lir_maxhops; 11563 uint32_t lir_reachtime; /* Reachable time in msec */ 11564 uint32_t lir_reachretrans; /* Retransmission timer msec */ 11565 uint32_t lir_maxmtu; 11566 } lif_ifinfo_req_t; 11567 11568 11569 11570 /* 11571 * Maximum lengths of interface name and IPMP group name; these are the same 11572 * for historical reasons. Note that the actual maximum length of a name is 11573 * one byte less than these constants since the kernel always sets the final 11574 * byte of lifr_name and lifr_groupname to NUL. 11575 */ 11576 11577 11578 11579 11580 11581 11582 11583 /* 11584 * Interface request structure used for socket 11585 * ioctl's. All interface ioctl's must have parameter 11586 * definitions which begin with ifr_name. The 11587 * remainder may be interface specific. 11588 * Note: This data structure uses 64bit type uint64_t which is not 11589 * a valid type for strict ANSI/ISO C compilation for ILP32. 11590 * Applications with ioctls using this structure that insist on 11591 * building with strict ANSI/ISO C (-Xc) will need to be LP64. 11592 */ 11593 11594 struct lifreq { 11595 char lifr_name[32]; /* if name, e.g. "en0" */ 11596 union { 11597 int lifru_addrlen; /* for subnet/token etc */ 11598 uint_t lifru_ppa; /* SIOCSLIFNAME */ 11599 } lifr_lifru1; 11600 11601 11602 uint_t lifr_type; /* IFT_ETHER, ... */ 11603 union { 11604 struct sockaddr_storage lifru_addr; 11605 struct sockaddr_storage lifru_dstaddr; 11606 struct sockaddr_storage lifru_broadaddr; 11607 struct sockaddr_storage lifru_token; /* With lifr_addrlen */ 11608 struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */ 11609 int lifru_index; /* interface index */ 11610 uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */ 11611 int lifru_metric; 11612 uint_t lifru_mtu; 11613 int lif_muxid[2]; /* mux id's for arp and ip */ 11614 struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */ 11615 struct lif_ifinfo_req lifru_ifinfo_req; 11616 char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */ 11617 char lifru_binding[32]; /* SIOCGLIFBINDING */ 11618 zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */ 11619 uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */ 11620 } lifr_lifru; 11621 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11622 }; 11623 11624 11625 /* 11626 * Argument structure for SIOCT* address testing ioctls. 11627 */ 11628 struct sioc_addrreq { 11629 struct sockaddr_storage sa_addr; /* Address to test */ 11630 int sa_res; /* Result - 0/1 */ 11631 int sa_pad; 11632 }; 11633 11634 /* 11635 * Argument structure used by mrouted to get src-grp pkt counts using 11636 * SIOCGETLSGCNT. See <netinet/ip_mroute.h>. 11637 */ 11638 struct sioc_lsg_req { 11639 struct sockaddr_storage slr_src; 11640 struct sockaddr_storage slr_grp; 11641 uint_t slr_pktcnt; 11642 uint_t slr_bytecnt; 11643 uint_t slr_wrong_if; 11644 uint_t slr_pad; 11645 }; 11646 11647 /* Argument structure for SIOCGLIFDADSTATE ioctl */ 11648 typedef enum { 11649 DAD_IN_PROGRESS = 0x1, 11650 DAD_DONE = 0x2 11651 } glif_dad_state_t; 11652 11653 /* 11654 * OBSOLETE: Replaced by struct lifreq. Supported for compatibility. 11655 * 11656 * Interface request structure used for socket 11657 * ioctl's. All interface ioctl's must have parameter 11658 * definitions which begin with ifr_name. The 11659 * remainder may be interface specific. 11660 */ 11661 struct ifreq { 11662 11663 char ifr_name[16]; /* if name, e.g. "en0" */ 11664 union { 11665 struct sockaddr ifru_addr; 11666 struct sockaddr ifru_dstaddr; 11667 char ifru_oname[16]; /* other if name */ 11668 struct sockaddr ifru_broadaddr; 11669 int ifru_index; /* interface index */ 11670 uint_t ifru_mtu; 11671 short ifru_flags; 11672 int ifru_metric; 11673 char ifru_data[1]; /* interface dependent data */ 11674 char ifru_enaddr[6]; 11675 int if_muxid[2]; /* mux id's for arp and ip */ 11676 11677 /* Struct for flags/ppa */ 11678 struct ifr_ppaflags { 11679 short ifrup_flags; /* Space of ifru_flags. */ 11680 short ifrup_filler; 11681 uint_t ifrup_ppa; 11682 } ifru_ppaflags; 11683 11684 /* Struct for FDDI ioctl's */ 11685 struct ifr_dnld_reqs { 11686 uint32_t v_addr; 11687 uint32_t m_addr; 11688 uint32_t ex_addr; 11689 uint32_t size; 11690 } ifru_dnld_req; 11691 11692 /* Struct for FDDI stats */ 11693 struct ifr_fddi_stats { 11694 uint32_t stat_size; 11695 uint32_t fddi_stats; 11696 } ifru_fddi_stat; 11697 11698 struct ifr_netmapents { 11699 uint32_t map_ent_size, /* size of netmap structure */ 11700 entry_number; /* index into netmap list */ 11701 uint32_t fddi_map_ent; /* pointer to user structure */ 11702 } ifru_netmapent; 11703 11704 /* Field for generic ioctl for fddi */ 11705 11706 struct ifr_fddi_gen_struct { 11707 uint32_t ifru_fddi_gioctl; /* field for gen ioctl */ 11708 uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */ 11709 } ifru_fddi_gstruct; 11710 11711 } ifr_ifru; 11712 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11713 /* For setting ppa */ 11714 11715 11716 /* FDDI specific */ 11717 11718 11719 11720 11721 11722 11723 11724 }; 11725 11726 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */ 11727 struct lifnum { 11728 sa_family_t lifn_family; 11729 int lifn_flags; /* request specific interfaces */ 11730 int lifn_count; /* Result */ 11731 }; 11732 11733 /* 11734 * Structure used in SIOCGLIFCONF request. 11735 * Used to retrieve interface configuration 11736 * for machine (useful for programs which 11737 * must know all networks accessible) for a given address family. 11738 * Using AF_UNSPEC will retrieve all address families. 11739 */ 11740 struct lifconf { 11741 sa_family_t lifc_family; 11742 int lifc_flags; /* request specific interfaces */ 11743 int lifc_len; /* size of associated buffer */ 11744 union { 11745 caddr_t lifcu_buf; 11746 struct lifreq *lifcu_req; 11747 } lifc_lifcu; 11748 11749 11750 }; 11751 11752 /* 11753 * Structure used in SIOCGLIFSRCOF to get the interface 11754 * configuration list for those interfaces that use an address 11755 * hosted on the interface (set in lifs_ifindex), as the source 11756 * address. 11757 */ 11758 struct lifsrcof { 11759 uint_t lifs_ifindex; /* interface of interest */ 11760 size_t lifs_maxlen; /* size of buffer: input */ 11761 size_t lifs_len; /* size of buffer: output */ 11762 union { 11763 caddr_t lifsu_buf; 11764 struct lifreq *lifsu_req; 11765 } lifs_lifsu; 11766 11767 11768 }; 11769 11770 /* Flags */ 11771 11772 11773 /* be used to communicate outside the */ 11774 /* node (exclude interfaces which are */ 11775 /* IFF_NOXMIT, IFF_NOLOCAL, */ 11776 /* IFF_LOOPBACK, IFF_DEPRECATED, or */ 11777 /* not IFF_UP). Has priority over */ 11778 /* LIFC_NOXMIT. */ 11779 11780 11781 /* (must be issued from global zone) */ 11782 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11783 /* 11784 * IPMP group information, for use with SIOCGLIFGROUPINFO. 11785 */ 11786 typedef struct lifgroupinfo { 11787 char gi_grname[32]; /* group name (set by caller) */ 11788 char gi_grifname[32]; /* IPMP meta-interface name */ 11789 char gi_m4ifname[32]; /* v4 mcast interface name */ 11790 char gi_m6ifname[32]; /* v6 mcast interface name */ 11791 char gi_bcifname[32]; /* v4 bcast interface name */ 11792 boolean_t gi_v4; /* group is plumbed for v4 */ 11793 boolean_t gi_v6; /* group is plumbed for v6 */ 11794 uint_t gi_nv4; /* # of underlying v4 if's */ 11795 uint_t gi_nv6; /* # of underlying v6 if's */ 11796 uint_t gi_mactype; /* DLPI mac type of group */ 11797 } lifgroupinfo_t; 11798 11799 /* 11800 * OBSOLETE: Structure used in SIOCGIFCONF request. 11801 * Used to retrieve interface configuration 11802 * for machine (useful for programs which 11803 * must know all networks accessible). 11804 */ 11805 struct ifconf { 11806 int ifc_len; /* size of associated buffer */ 11807 union { 11808 caddr_t ifcu_buf; 11809 struct ifreq *ifcu_req; 11810 } ifc_ifcu; 11811 11812 11813 }; 11814 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 11815 typedef struct if_data { 11816 /* generic interface information */ 11817 uchar_t ifi_type; /* ethernet, tokenring, etc */ 11818 uchar_t ifi_addrlen; /* media address length */ 11819 uchar_t ifi_hdrlen; /* media header length */ 11820 uint_t ifi_mtu; /* maximum transmission unit */ 11821 uint_t ifi_metric; /* routing metric (external only) */ 11822 uint_t ifi_baudrate; /* linespeed */ 11823 /* volatile statistics */ 11824 uint_t ifi_ipackets; /* packets received on interface */ 11825 uint_t ifi_ierrors; /* input errors on interface */ 11826 uint_t ifi_opackets; /* packets sent on interface */ 11827 uint_t ifi_oerrors; /* output errors on interface */ 11828 uint_t ifi_collisions; /* collisions on csma interfaces */ 11829 uint_t ifi_ibytes; /* total number of octets received */ 11830 uint_t ifi_obytes; /* total number of octets sent */ 11831 uint_t ifi_imcasts; /* packets received via multicast */ 11832 uint_t ifi_omcasts; /* packets sent via multicast */ 11833 uint_t ifi_iqdrops; /* dropped on input, this interface */ 11834 uint_t ifi_noproto; /* destined for unsupported protocol */ 11835 11836 struct timeval32 ifi_lastchange; /* last updated */ 11837 11838 11839 11840 } if_data_t; 11841 11842 /* 11843 * Message format for use in obtaining information about interfaces 11844 * from the routing socket 11845 */ 11846 typedef struct if_msghdr { 11847 ushort_t ifm_msglen; /* to skip over non-understood messages */ 11848 uchar_t ifm_version; /* future binary compatibility */ 11849 uchar_t ifm_type; /* message type */ 11850 int ifm_addrs; /* like rtm_addrs */ 11851 int ifm_flags; /* value of if_flags */ 11852 ushort_t ifm_index; /* index for associated ifp */ 11853 struct if_data ifm_data; /* statistics and other data about if */ 11854 } if_msghdr_t; 11855 11856 /* 11857 * Message format for use in obtaining information about interface addresses 11858 * from the routing socket 11859 */ 11860 typedef struct ifa_msghdr { 11861 ushort_t ifam_msglen; /* to skip over non-understood messages */ 11862 uchar_t ifam_version; /* future binary compatibility */ 11863 uchar_t ifam_type; /* message type */ 11864 int ifam_addrs; /* like rtm_addrs */ 11865 int ifam_flags; /* route flags */ 11866 ushort_t ifam_index; /* index for associated ifp */ 11867 int ifam_metric; /* value of ipif_metric */ 11868 } ifa_msghdr_t; 11869 11870 11871 11872 /* 11873 * The if_nameindex structure holds the interface index value about 11874 * a single interface. An array of this structure is used to return 11875 * all interfaces and indexes. 11876 */ 11877 struct if_nameindex { 11878 unsigned if_index; /* positive interface index */ 11879 char *if_name; /* if name, e.g. "en0" */ 11880 }; 11881 11882 /* Interface index identification API definitions */ 11883 extern unsigned if_nametoindex(const char *); 11884 extern char *if_indextoname(unsigned, char *); 11885 extern struct if_nameindex *if_nameindex(void); 11886 extern void if_freenameindex(struct if_nameindex *); 11887 11888 11889 /* 11890 * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if 11891 * struct sockaddr_dl needs to be modified as the interface index is placed 11892 * in this structure by the kernel. 11893 */ 11894 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 11895 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 11896 /* 11897 * CDDL HEADER START 11898 * 11899 * The contents of this file are subject to the terms of the 11900 * Common Development and Distribution License (the "License"). 11901 * You may not use this file except in compliance with the License. 11902 * 11903 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11904 * or http://www.opensolaris.org/os/licensing. 11905 * See the License for the specific language governing permissions 11906 * and limitations under the License. 11907 * 11908 * When distributing Covered Code, include this CDDL HEADER in each 11909 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11910 * If applicable, add the following below this CDDL HEADER, with the 11911 * fields enclosed by brackets "[]" replaced with your own identifying 11912 * information: Portions Copyright [yyyy] [name of copyright owner] 11913 * 11914 * CDDL HEADER END 11915 */ 11916 11917 /* 11918 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11919 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 11920 */ 11921 11922 /* Copyright (c) 1988 AT&T */ 11923 /* All Rights Reserved */ 11924 11925 /* 11926 * User-visible pieces of the ANSI C standard I/O package. 11927 */ 11928 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 11929 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 11930 /* 11931 * CDDL HEADER START 11932 * 11933 * The contents of this file are subject to the terms of the 11934 * Common Development and Distribution License, Version 1.0 only 11935 * (the "License"). You may not use this file except in compliance 11936 * with the License. 11937 * 11938 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11939 * or http://www.opensolaris.org/os/licensing. 11940 * See the License for the specific language governing permissions 11941 * and limitations under the License. 11942 * 11943 * When distributing Covered Code, include this CDDL HEADER in each 11944 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11945 * If applicable, add the following below this CDDL HEADER, with the 11946 * fields enclosed by brackets "[]" replaced with your own identifying 11947 * information: Portions Copyright [yyyy] [name of copyright owner] 11948 * 11949 * CDDL HEADER END 11950 */ 11951 /* 11952 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 11953 * Use is subject to license terms. 11954 */ 11955 11956 11957 11958 11959 #pragma ident "%Z%%M% %I% %E% SMI" 11960 11961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 11962 /* 11963 * CDDL HEADER START 11964 * 11965 * The contents of this file are subject to the terms of the 11966 * Common Development and Distribution License (the "License"). 11967 * You may not use this file except in compliance with the License. 11968 * 11969 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11970 * or http://www.opensolaris.org/os/licensing. 11971 * See the License for the specific language governing permissions 11972 * and limitations under the License. 11973 * 11974 * When distributing Covered Code, include this CDDL HEADER in each 11975 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11976 * If applicable, add the following below this CDDL HEADER, with the 11977 * fields enclosed by brackets "[]" replaced with your own identifying 11978 * information: Portions Copyright [yyyy] [name of copyright owner] 11979 * 11980 * CDDL HEADER END 11981 */ 11982 /* 11983 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 11984 */ 11985 11986 11987 11988 11989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 11990 /* 11991 * CDDL HEADER START 11992 * 11993 * The contents of this file are subject to the terms of the 11994 * Common Development and Distribution License (the "License"). 11995 * You may not use this file except in compliance with the License. 11996 * 11997 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11998 * or http://www.opensolaris.org/os/licensing. 11999 * See the License for the specific language governing permissions 12000 * and limitations under the License. 12001 * 12002 * When distributing Covered Code, include this CDDL HEADER in each 12003 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12004 * If applicable, add the following below this CDDL HEADER, with the 12005 * fields enclosed by brackets "[]" replaced with your own identifying 12006 * information: Portions Copyright [yyyy] [name of copyright owner] 12007 * 12008 * CDDL HEADER END 12009 */ 12010 12011 /* 12012 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 12013 * Copyright (c) 2012 by Delphix. All rights reserved. 12014 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12015 */ 12016 12017 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12018 /* All Rights Reserved */ 12019 12020 12021 12022 12023 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12024 /* 12025 * CDDL HEADER START 12026 * 12027 * The contents of this file are subject to the terms of the 12028 * Common Development and Distribution License (the "License"). 12029 * You may not use this file except in compliance with the License. 12030 * 12031 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12032 * or http://www.opensolaris.org/os/licensing. 12033 * See the License for the specific language governing permissions 12034 * and limitations under the License. 12035 * 12036 * When distributing Covered Code, include this CDDL HEADER in each 12037 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12038 * If applicable, add the following below this CDDL HEADER, with the 12039 * fields enclosed by brackets "[]" replaced with your own identifying 12040 * information: Portions Copyright [yyyy] [name of copyright owner] 12041 * 12042 * CDDL HEADER END 12043 */ 12044 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12045 /* All Rights Reserved */ 12046 12047 12048 /* 12049 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12050 * Use is subject to license terms. 12051 * 12052 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12053 * Copyright 2016 Joyent, Inc. 12054 */ 12055 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 12056 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1 12057 /* 12058 * CDDL HEADER START 12059 * 12060 * The contents of this file are subject to the terms of the 12061 * Common Development and Distribution License (the "License"). 12062 * You may not use this file except in compliance with the License. 12063 * 12064 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12065 * or http://www.opensolaris.org/os/licensing. 12066 * See the License for the specific language governing permissions 12067 * and limitations under the License. 12068 * 12069 * When distributing Covered Code, include this CDDL HEADER in each 12070 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12071 * If applicable, add the following below this CDDL HEADER, with the 12072 * fields enclosed by brackets "[]" replaced with your own identifying 12073 * information: Portions Copyright [yyyy] [name of copyright owner] 12074 * 12075 * CDDL HEADER END 12076 */ 12077 /* 12078 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 12079 * Copyright (c) 2012 by Delphix. All rights reserved. 12080 */ 12081 12082 12083 12084 12085 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12086 /* 12087 * CDDL HEADER START 12088 * 12089 * The contents of this file are subject to the terms of the 12090 * Common Development and Distribution License (the "License"). 12091 * You may not use this file except in compliance with the License. 12092 * 12093 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12094 * or http://www.opensolaris.org/os/licensing. 12095 * See the License for the specific language governing permissions 12096 * and limitations under the License. 12097 * 12098 * When distributing Covered Code, include this CDDL HEADER in each 12099 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12100 * If applicable, add the following below this CDDL HEADER, with the 12101 * fields enclosed by brackets "[]" replaced with your own identifying 12102 * information: Portions Copyright [yyyy] [name of copyright owner] 12103 * 12104 * CDDL HEADER END 12105 */ 12106 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12107 /* All Rights Reserved */ 12108 12109 12110 /* 12111 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12112 * Use is subject to license terms. 12113 * 12114 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12115 * Copyright 2016 Joyent, Inc. 12116 */ 12117 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 12118 12119 12120 12121 12122 12123 12124 /* 12125 * Per-allocation flags 12126 */ 12127 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 12128 /* 12129 * The following flags are restricted for use only within the kernel. 12130 * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. 12131 * VM_NORELOC is used by the kernel when static VA->PA mappings are required. 12132 */ 12133 12134 12135 /* 12136 * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags 12137 * and forgo reaping if the allocation or attempted import, fails. This 12138 * flag is a segkmem-specific flag, and should not be used by anyone else. 12139 */ 12140 12141 12142 /* 12143 * VM_ENDALLOC requests that large addresses be preferred in allocations. 12144 * Has no effect if VM_NEXTFIT is active. 12145 */ 12146 12147 12148 12149 12150 /* 12151 * Arena creation flags 12152 */ 12153 12154 12155 12156 12157 /* 12158 * internal use only; the import function uses the vmem_ximport_t interface 12159 * and may increase the request size if it so desires. 12160 * VMC_XALIGN, for use with vmem_xcreate, specifies that 12161 * the address returned by the import function will be 12162 * aligned according to the alignment argument. 12163 */ 12164 12165 12166 12167 12168 /* 12169 * Public segment types 12170 */ 12171 12172 12173 12174 /* 12175 * Implementation-private segment types 12176 */ 12177 12178 12179 12180 12181 /* 12182 * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may 12183 * call back into the arena being walked, so vmem_walk() must drop the 12184 * arena lock before each callback. The caveat is that since the arena 12185 * isn't locked, its state can change. Therefore it is up to the callback 12186 * routine to handle cases where the segment isn't of the expected type. 12187 * For example, we use this to walk heap_arena when generating a crash dump; 12188 * see segkmem_dump() for sample usage. 12189 */ 12190 12191 12192 typedef struct vmem vmem_t; 12193 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); 12194 typedef void (vmem_free_t)(vmem_t *, void *, size_t); 12195 12196 /* 12197 * Alternate import style; the requested size is passed in a pointer, 12198 * which can be increased by the import function if desired. 12199 */ 12200 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); 12201 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 12202 extern vmem_t *vmem_create(const char *, void *, size_t, size_t, 12203 vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); 12204 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, 12205 vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); 12206 extern void vmem_destroy(vmem_t *); 12207 extern void *vmem_alloc(vmem_t *, size_t, int); 12208 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, 12209 void *, void *, int); 12210 extern void vmem_free(vmem_t *, void *, size_t); 12211 extern void vmem_xfree(vmem_t *, void *, size_t); 12212 extern void *vmem_add(vmem_t *, void *, size_t, int); 12213 extern int vmem_contains(vmem_t *, void *, size_t); 12214 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); 12215 extern size_t vmem_size(vmem_t *, int); 12216 extern void vmem_qcache_reap(vmem_t *vmp); 12217 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 12218 12219 12220 12221 12222 12223 /* 12224 * Kernel memory allocator: DDI interfaces. 12225 * See kmem_alloc(9F) for details. 12226 */ 12227 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 12228 /* 12229 * Kernel memory allocator: private interfaces. 12230 * These interfaces are still evolving. 12231 * Do not use them in unbundled drivers. 12232 */ 12233 12234 /* 12235 * Flags for kmem_cache_create() 12236 */ 12237 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 12238 struct kmem_cache; /* cache structure is opaque to kmem clients */ 12239 12240 typedef struct kmem_cache kmem_cache_t; 12241 12242 /* Client response to kmem move callback */ 12243 typedef enum kmem_cbrc { 12244 KMEM_CBRC_YES, 12245 KMEM_CBRC_NO, 12246 KMEM_CBRC_LATER, 12247 KMEM_CBRC_DONT_NEED, 12248 KMEM_CBRC_DONT_KNOW 12249 } kmem_cbrc_t; 12250 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12251 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 12252 /* 12253 * CDDL HEADER START 12254 * 12255 * The contents of this file are subject to the terms of the 12256 * Common Development and Distribution License (the "License"). 12257 * You may not use this file except in compliance with the License. 12258 * 12259 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12260 * or http://www.opensolaris.org/os/licensing. 12261 * See the License for the specific language governing permissions 12262 * and limitations under the License. 12263 * 12264 * When distributing Covered Code, include this CDDL HEADER in each 12265 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12266 * If applicable, add the following below this CDDL HEADER, with the 12267 * fields enclosed by brackets "[]" replaced with your own identifying 12268 * information: Portions Copyright [yyyy] [name of copyright owner] 12269 * 12270 * CDDL HEADER END 12271 */ 12272 /* 12273 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 12274 * 12275 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12276 * Use is subject to license terms. 12277 */ 12278 12279 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12280 /* All Rights Reserved */ 12281 12282 /* 12283 * University Copyright- Copyright (c) 1982, 1986, 1988 12284 * The Regents of the University of California 12285 * All Rights Reserved 12286 * 12287 * University Acknowledgment- Portions of this document are derived from 12288 * software developed by the University of California, Berkeley, and its 12289 * contributors. 12290 */ 12291 12292 12293 12294 12295 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12296 /* 12297 * CDDL HEADER START 12298 * 12299 * The contents of this file are subject to the terms of the 12300 * Common Development and Distribution License (the "License"). 12301 * You may not use this file except in compliance with the License. 12302 * 12303 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12304 * or http://www.opensolaris.org/os/licensing. 12305 * See the License for the specific language governing permissions 12306 * and limitations under the License. 12307 * 12308 * When distributing Covered Code, include this CDDL HEADER in each 12309 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12310 * If applicable, add the following below this CDDL HEADER, with the 12311 * fields enclosed by brackets "[]" replaced with your own identifying 12312 * information: Portions Copyright [yyyy] [name of copyright owner] 12313 * 12314 * CDDL HEADER END 12315 */ 12316 12317 /* 12318 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12319 * Copyright 2016 Joyent, Inc. 12320 * 12321 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12322 * Use is subject to license terms. 12323 */ 12324 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12325 12326 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12327 /* 12328 * CDDL HEADER START 12329 * 12330 * The contents of this file are subject to the terms of the 12331 * Common Development and Distribution License (the "License"). 12332 * You may not use this file except in compliance with the License. 12333 * 12334 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12335 * or http://www.opensolaris.org/os/licensing. 12336 * See the License for the specific language governing permissions 12337 * and limitations under the License. 12338 * 12339 * When distributing Covered Code, include this CDDL HEADER in each 12340 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12341 * If applicable, add the following below this CDDL HEADER, with the 12342 * fields enclosed by brackets "[]" replaced with your own identifying 12343 * information: Portions Copyright [yyyy] [name of copyright owner] 12344 * 12345 * CDDL HEADER END 12346 */ 12347 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12348 /* All Rights Reserved */ 12349 12350 12351 /* 12352 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12353 * Use is subject to license terms. 12354 * 12355 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12356 * Copyright 2016 Joyent, Inc. 12357 */ 12358 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12359 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 12360 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12361 /* All Rights Reserved */ 12362 12363 12364 /* 12365 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 12366 * All rights reserved. The Berkeley software License Agreement 12367 * specifies the terms and conditions for redistribution. 12368 */ 12369 12370 /* 12371 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12372 * 12373 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12374 * Use is subject to license terms. 12375 * 12376 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12377 */ 12378 12379 /* 12380 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 12381 */ 12382 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 12383 12384 12385 12386 12387 12388 /* 12389 * Process priority specifications 12390 */ 12391 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12392 /* 12393 * Resource limits 12394 */ 12395 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12396 typedef unsigned long rlim_t; 12397 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12398 struct rlimit { 12399 rlim_t rlim_cur; /* current limit */ 12400 rlim_t rlim_max; /* maximum value for rlim_cur */ 12401 }; 12402 12403 /* transitional large file interface versions */ 12404 12405 12406 typedef u_longlong_t rlim64_t; 12407 12408 12409 12410 12411 12412 struct rlimit64 { 12413 rlim64_t rlim_cur; /* current limit */ 12414 rlim64_t rlim_max; /* maximum value for rlim_cur */ 12415 }; 12416 12417 12418 12419 /* 12420 * Although the saved rlimits were initially introduced by the large file API, 12421 * they are now available for all resource limits on the 64-bit kernel and for 12422 * cpu time and file size limits on the 32-bit kernel. 12423 */ 12424 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12425 struct rusage { 12426 struct timeval ru_utime; /* user time used */ 12427 struct timeval ru_stime; /* system time used */ 12428 long ru_maxrss; /* <unimp> */ 12429 long ru_ixrss; /* <unimp> */ 12430 long ru_idrss; /* <unimp> */ 12431 long ru_isrss; /* <unimp> */ 12432 long ru_minflt; /* any page faults not requiring I/O */ 12433 long ru_majflt; /* any page faults requiring I/O */ 12434 long ru_nswap; /* swaps */ 12435 long ru_inblock; /* block input operations */ 12436 long ru_oublock; /* block output operations */ 12437 long ru_msgsnd; /* streams messsages sent */ 12438 long ru_msgrcv; /* streams messages received */ 12439 long ru_nsignals; /* signals received */ 12440 long ru_nvcsw; /* voluntary context switches */ 12441 long ru_nivcsw; /* involuntary " */ 12442 }; 12443 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12444 /* 12445 * In the LP64 compilation environment, map large file interfaces 12446 * back to native versions where possible. 12447 */ 12448 12449 12450 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12451 #pragma redefine_extname setrlimit64 setrlimit 12452 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12453 12454 12455 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12456 #pragma redefine_extname getrlimit64 getrlimit 12457 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12458 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 12459 extern int setrlimit(int, const struct rlimit *); 12460 extern int getrlimit(int, struct rlimit *); 12461 12462 /* transitional large file interfaces */ 12463 12464 12465 extern int setrlimit64(int, const struct rlimit64 *); 12466 extern int getrlimit64(int, struct rlimit64 *); 12467 12468 12469 extern int getpriority(int, id_t); 12470 extern int setpriority(int, id_t, int); 12471 extern int getrusage(int, struct rusage *); 12472 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12473 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12474 /* 12475 * CDDL HEADER START 12476 * 12477 * The contents of this file are subject to the terms of the 12478 * Common Development and Distribution License (the "License"). 12479 * You may not use this file except in compliance with the License. 12480 * 12481 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12482 * or http://www.opensolaris.org/os/licensing. 12483 * See the License for the specific language governing permissions 12484 * and limitations under the License. 12485 * 12486 * When distributing Covered Code, include this CDDL HEADER in each 12487 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12488 * If applicable, add the following below this CDDL HEADER, with the 12489 * fields enclosed by brackets "[]" replaced with your own identifying 12490 * information: Portions Copyright [yyyy] [name of copyright owner] 12491 * 12492 * CDDL HEADER END 12493 */ 12494 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12495 /* All Rights Reserved */ 12496 12497 12498 /* 12499 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12500 * Use is subject to license terms. 12501 * 12502 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12503 * Copyright 2016 Joyent, Inc. 12504 */ 12505 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 12506 12507 12508 12509 12510 12511 /* 12512 * Available local actions and flags. 12513 */ 12514 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12515 /* 12516 * Available global actions and flags. 12517 */ 12518 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12519 /* 12520 * getrctl(2) flag values 12521 */ 12522 12523 12524 12525 12526 /* 12527 * setrctl(2) flag values 12528 */ 12529 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 12530 /* 12531 * rctl_priv_t: rctl privilege defined values 12532 * A large amount of space has been deliberately left between these privileges 12533 * to permit future enrichment of the control privilege value. 12534 */ 12535 12536 12537 12538 12539 typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ 12540 typedef int rctl_priv_t; 12541 12542 typedef struct rctlblk rctlblk_t; 12543 12544 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); 12545 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); 12546 12547 typedef enum { 12548 RCENTITY_PROCESS, 12549 RCENTITY_TASK, 12550 RCENTITY_PROJECT, 12551 RCENTITY_ZONE 12552 } rctl_entity_t; 12553 12554 12555 12556 12557 typedef struct rctl_set rctl_set_t; 12558 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 12559 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12560 /* 12561 * CDDL HEADER START 12562 * 12563 * The contents of this file are subject to the terms of the 12564 * Common Development and Distribution License (the "License"). 12565 * You may not use this file except in compliance with the License. 12566 * 12567 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12568 * or http://www.opensolaris.org/os/licensing. 12569 * See the License for the specific language governing permissions 12570 * and limitations under the License. 12571 * 12572 * When distributing Covered Code, include this CDDL HEADER in each 12573 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12574 * If applicable, add the following below this CDDL HEADER, with the 12575 * fields enclosed by brackets "[]" replaced with your own identifying 12576 * information: Portions Copyright [yyyy] [name of copyright owner] 12577 * 12578 * CDDL HEADER END 12579 */ 12580 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12581 /* All Rights Reserved */ 12582 12583 12584 /* 12585 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12586 * Use is subject to license terms. 12587 * 12588 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12589 * Copyright 2016 Joyent, Inc. 12590 */ 12591 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 12592 12593 12594 12595 12596 12597 int rctl_walk(int (*)(const char *, void *), void *); 12598 12599 hrtime_t rctlblk_get_firing_time(rctlblk_t *); 12600 uint_t rctlblk_get_global_action(rctlblk_t *); 12601 uint_t rctlblk_get_global_flags(rctlblk_t *); 12602 uint_t rctlblk_get_local_action(rctlblk_t *, int *); 12603 uint_t rctlblk_get_local_flags(rctlblk_t *); 12604 id_t rctlblk_get_recipient_pid(rctlblk_t *); 12605 rctl_priv_t rctlblk_get_privilege(rctlblk_t *); 12606 rctl_qty_t rctlblk_get_value(rctlblk_t *); 12607 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); 12608 12609 void rctlblk_set_local_action(rctlblk_t *, uint_t, int); 12610 void rctlblk_set_local_flags(rctlblk_t *, uint_t); 12611 void rctlblk_set_recipient_pid(rctlblk_t *, id_t); 12612 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); 12613 void rctlblk_set_value(rctlblk_t *, rctl_qty_t); 12614 12615 size_t rctlblk_size(void); 12616 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 12617 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 12618 /* 12619 * CDDL HEADER START 12620 * 12621 * The contents of this file are subject to the terms of the 12622 * Common Development and Distribution License (the "License"). 12623 * You may not use this file except in compliance with the License. 12624 * 12625 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12626 * or http://www.opensolaris.org/os/licensing. 12627 * See the License for the specific language governing permissions 12628 * and limitations under the License. 12629 * 12630 * When distributing Covered Code, include this CDDL HEADER in each 12631 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12632 * If applicable, add the following below this CDDL HEADER, with the 12633 * fields enclosed by brackets "[]" replaced with your own identifying 12634 * information: Portions Copyright [yyyy] [name of copyright owner] 12635 * 12636 * CDDL HEADER END 12637 */ 12638 /* 12639 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12640 * Use is subject to license terms. 12641 */ 12642 12643 12644 12645 12646 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12647 /* 12648 * CDDL HEADER START 12649 * 12650 * The contents of this file are subject to the terms of the 12651 * Common Development and Distribution License (the "License"). 12652 * You may not use this file except in compliance with the License. 12653 * 12654 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12655 * or http://www.opensolaris.org/os/licensing. 12656 * See the License for the specific language governing permissions 12657 * and limitations under the License. 12658 * 12659 * When distributing Covered Code, include this CDDL HEADER in each 12660 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12661 * If applicable, add the following below this CDDL HEADER, with the 12662 * fields enclosed by brackets "[]" replaced with your own identifying 12663 * information: Portions Copyright [yyyy] [name of copyright owner] 12664 * 12665 * CDDL HEADER END 12666 */ 12667 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12668 /* All Rights Reserved */ 12669 12670 12671 /* 12672 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12673 * Use is subject to license terms. 12674 * 12675 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12676 * Copyright 2016 Joyent, Inc. 12677 */ 12678 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 12679 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 12680 /* 12681 * CDDL HEADER START 12682 * 12683 * The contents of this file are subject to the terms of the 12684 * Common Development and Distribution License (the "License"). 12685 * You may not use this file except in compliance with the License. 12686 * 12687 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12688 * or http://www.opensolaris.org/os/licensing. 12689 * See the License for the specific language governing permissions 12690 * and limitations under the License. 12691 * 12692 * When distributing Covered Code, include this CDDL HEADER in each 12693 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12694 * If applicable, add the following below this CDDL HEADER, with the 12695 * fields enclosed by brackets "[]" replaced with your own identifying 12696 * information: Portions Copyright [yyyy] [name of copyright owner] 12697 * 12698 * CDDL HEADER END 12699 */ 12700 /* 12701 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 12702 * Copyright 2013, Joyent, Inc. All rights reserved. 12703 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 12704 * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>. 12705 */ 12706 12707 12708 12709 12710 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12711 /* 12712 * CDDL HEADER START 12713 * 12714 * The contents of this file are subject to the terms of the 12715 * Common Development and Distribution License (the "License"). 12716 * You may not use this file except in compliance with the License. 12717 * 12718 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12719 * or http://www.opensolaris.org/os/licensing. 12720 * See the License for the specific language governing permissions 12721 * and limitations under the License. 12722 * 12723 * When distributing Covered Code, include this CDDL HEADER in each 12724 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12725 * If applicable, add the following below this CDDL HEADER, with the 12726 * fields enclosed by brackets "[]" replaced with your own identifying 12727 * information: Portions Copyright [yyyy] [name of copyright owner] 12728 * 12729 * CDDL HEADER END 12730 */ 12731 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12732 /* All Rights Reserved */ 12733 12734 12735 /* 12736 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12737 * Use is subject to license terms. 12738 * 12739 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12740 * Copyright 2016 Joyent, Inc. 12741 */ 12742 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12743 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 12744 /* 12745 * CDDL HEADER START 12746 * 12747 * The contents of this file are subject to the terms of the 12748 * Common Development and Distribution License (the "License"). 12749 * You may not use this file except in compliance with the License. 12750 * 12751 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12752 * or http://www.opensolaris.org/os/licensing. 12753 * See the License for the specific language governing permissions 12754 * and limitations under the License. 12755 * 12756 * When distributing Covered Code, include this CDDL HEADER in each 12757 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12758 * If applicable, add the following below this CDDL HEADER, with the 12759 * fields enclosed by brackets "[]" replaced with your own identifying 12760 * information: Portions Copyright [yyyy] [name of copyright owner] 12761 * 12762 * CDDL HEADER END 12763 */ 12764 /* 12765 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 12766 */ 12767 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12768 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 12769 /* 12770 * CDDL HEADER START 12771 * 12772 * The contents of this file are subject to the terms of the 12773 * Common Development and Distribution License (the "License"). 12774 * You may not use this file except in compliance with the License. 12775 * 12776 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12777 * or http://www.opensolaris.org/os/licensing. 12778 * See the License for the specific language governing permissions 12779 * and limitations under the License. 12780 * 12781 * When distributing Covered Code, include this CDDL HEADER in each 12782 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12783 * If applicable, add the following below this CDDL HEADER, with the 12784 * fields enclosed by brackets "[]" replaced with your own identifying 12785 * information: Portions Copyright [yyyy] [name of copyright owner] 12786 * 12787 * CDDL HEADER END 12788 */ 12789 12790 /* 12791 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 12792 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 12793 */ 12794 12795 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12796 /* All Rights Reserved */ 12797 12798 /* 12799 * University Copyright- Copyright (c) 1982, 1986, 1988 12800 * The Regents of the University of California 12801 * All Rights Reserved 12802 * 12803 * University Acknowledgment- Portions of this document are derived from 12804 * software developed by the University of California, Berkeley, and its 12805 * contributors. 12806 */ 12807 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12808 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 12809 /* 12810 * CDDL HEADER START 12811 * 12812 * The contents of this file are subject to the terms of the 12813 * Common Development and Distribution License (the "License"). 12814 * You may not use this file except in compliance with the License. 12815 * 12816 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12817 * or http://www.opensolaris.org/os/licensing. 12818 * See the License for the specific language governing permissions 12819 * and limitations under the License. 12820 * 12821 * When distributing Covered Code, include this CDDL HEADER in each 12822 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12823 * If applicable, add the following below this CDDL HEADER, with the 12824 * fields enclosed by brackets "[]" replaced with your own identifying 12825 * information: Portions Copyright [yyyy] [name of copyright owner] 12826 * 12827 * CDDL HEADER END 12828 */ 12829 /* 12830 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 12831 */ 12832 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12833 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 12834 /* 12835 * CDDL HEADER START 12836 * 12837 * The contents of this file are subject to the terms of the 12838 * Common Development and Distribution License (the "License"). 12839 * You may not use this file except in compliance with the License. 12840 * 12841 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12842 * or http://www.opensolaris.org/os/licensing. 12843 * See the License for the specific language governing permissions 12844 * and limitations under the License. 12845 * 12846 * When distributing Covered Code, include this CDDL HEADER in each 12847 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12848 * If applicable, add the following below this CDDL HEADER, with the 12849 * fields enclosed by brackets "[]" replaced with your own identifying 12850 * information: Portions Copyright [yyyy] [name of copyright owner] 12851 * 12852 * CDDL HEADER END 12853 */ 12854 /* 12855 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12856 * Use is subject to license terms. 12857 */ 12858 12859 12860 12861 12862 #pragma ident "%Z%%M% %I% %E% SMI" 12863 12864 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 12865 /* 12866 * CDDL HEADER START 12867 * 12868 * The contents of this file are subject to the terms of the 12869 * Common Development and Distribution License (the "License"). 12870 * You may not use this file except in compliance with the License. 12871 * 12872 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12873 * or http://www.opensolaris.org/os/licensing. 12874 * See the License for the specific language governing permissions 12875 * and limitations under the License. 12876 * 12877 * When distributing Covered Code, include this CDDL HEADER in each 12878 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12879 * If applicable, add the following below this CDDL HEADER, with the 12880 * fields enclosed by brackets "[]" replaced with your own identifying 12881 * information: Portions Copyright [yyyy] [name of copyright owner] 12882 * 12883 * CDDL HEADER END 12884 */ 12885 /* 12886 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 12887 */ 12888 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 12889 12890 12891 12892 12893 12894 typedef struct ipc_rqty { /* datum protected by: */ 12895 rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ 12896 rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ 12897 rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ 12898 } ipc_rqty_t; 12899 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 12901 /* 12902 * CDDL HEADER START 12903 * 12904 * The contents of this file are subject to the terms of the 12905 * Common Development and Distribution License (the "License"). 12906 * You may not use this file except in compliance with the License. 12907 * 12908 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12909 * or http://www.opensolaris.org/os/licensing. 12910 * See the License for the specific language governing permissions 12911 * and limitations under the License. 12912 * 12913 * When distributing Covered Code, include this CDDL HEADER in each 12914 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12915 * If applicable, add the following below this CDDL HEADER, with the 12916 * fields enclosed by brackets "[]" replaced with your own identifying 12917 * information: Portions Copyright [yyyy] [name of copyright owner] 12918 * 12919 * CDDL HEADER END 12920 */ 12921 /* 12922 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12923 * 12924 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12925 * Use is subject to license terms. 12926 */ 12927 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 12928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12929 /* 12930 * CDDL HEADER START 12931 * 12932 * The contents of this file are subject to the terms of the 12933 * Common Development and Distribution License (the "License"). 12934 * You may not use this file except in compliance with the License. 12935 * 12936 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12937 * or http://www.opensolaris.org/os/licensing. 12938 * See the License for the specific language governing permissions 12939 * and limitations under the License. 12940 * 12941 * When distributing Covered Code, include this CDDL HEADER in each 12942 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12943 * If applicable, add the following below this CDDL HEADER, with the 12944 * fields enclosed by brackets "[]" replaced with your own identifying 12945 * information: Portions Copyright [yyyy] [name of copyright owner] 12946 * 12947 * CDDL HEADER END 12948 */ 12949 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12950 /* All Rights Reserved */ 12951 12952 12953 /* 12954 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12955 * Use is subject to license terms. 12956 * 12957 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12958 * Copyright 2016 Joyent, Inc. 12959 */ 12960 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 12961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 12962 /* 12963 * CDDL HEADER START 12964 * 12965 * The contents of this file are subject to the terms of the 12966 * Common Development and Distribution License (the "License"). 12967 * You may not use this file except in compliance with the License. 12968 * 12969 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12970 * or http://www.opensolaris.org/os/licensing. 12971 * See the License for the specific language governing permissions 12972 * and limitations under the License. 12973 * 12974 * When distributing Covered Code, include this CDDL HEADER in each 12975 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12976 * If applicable, add the following below this CDDL HEADER, with the 12977 * fields enclosed by brackets "[]" replaced with your own identifying 12978 * information: Portions Copyright [yyyy] [name of copyright owner] 12979 * 12980 * CDDL HEADER END 12981 */ 12982 /* 12983 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 12984 * All Rights Reserved 12985 * 12986 */ 12987 12988 /* 12989 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12990 * 12991 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 12992 * Use is subject to license terms. 12993 */ 12994 12995 12996 12997 12998 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12999 /* 13000 * CDDL HEADER START 13001 * 13002 * The contents of this file are subject to the terms of the 13003 * Common Development and Distribution License (the "License"). 13004 * You may not use this file except in compliance with the License. 13005 * 13006 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13007 * or http://www.opensolaris.org/os/licensing. 13008 * See the License for the specific language governing permissions 13009 * and limitations under the License. 13010 * 13011 * When distributing Covered Code, include this CDDL HEADER in each 13012 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13013 * If applicable, add the following below this CDDL HEADER, with the 13014 * fields enclosed by brackets "[]" replaced with your own identifying 13015 * information: Portions Copyright [yyyy] [name of copyright owner] 13016 * 13017 * CDDL HEADER END 13018 */ 13019 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13020 /* All Rights Reserved */ 13021 13022 13023 /* 13024 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13025 * Use is subject to license terms. 13026 * 13027 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13028 * Copyright 2016 Joyent, Inc. 13029 */ 13030 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 13031 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 13032 /* 13033 * CDDL HEADER START 13034 * 13035 * The contents of this file are subject to the terms of the 13036 * Common Development and Distribution License, Version 1.0 only 13037 * (the "License"). You may not use this file except in compliance 13038 * with the License. 13039 * 13040 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13041 * or http://www.opensolaris.org/os/licensing. 13042 * See the License for the specific language governing permissions 13043 * and limitations under the License. 13044 * 13045 * When distributing Covered Code, include this CDDL HEADER in each 13046 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13047 * If applicable, add the following below this CDDL HEADER, with the 13048 * fields enclosed by brackets "[]" replaced with your own identifying 13049 * information: Portions Copyright [yyyy] [name of copyright owner] 13050 * 13051 * CDDL HEADER END 13052 */ 13053 /* 13054 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13055 * Use is subject to license terms. 13056 */ 13057 13058 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13059 /* All Rights Reserved */ 13060 13061 13062 13063 13064 13065 #pragma ident "%Z%%M% %I% %E% SMI" 13066 13067 13068 13069 13070 13071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 13072 /* 13073 * CDDL HEADER START 13074 * 13075 * The contents of this file are subject to the terms of the 13076 * Common Development and Distribution License (the "License"). 13077 * You may not use this file except in compliance with the License. 13078 * 13079 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13080 * or http://www.opensolaris.org/os/licensing. 13081 * See the License for the specific language governing permissions 13082 * and limitations under the License. 13083 * 13084 * When distributing Covered Code, include this CDDL HEADER in each 13085 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13086 * If applicable, add the following below this CDDL HEADER, with the 13087 * fields enclosed by brackets "[]" replaced with your own identifying 13088 * information: Portions Copyright [yyyy] [name of copyright owner] 13089 * 13090 * CDDL HEADER END 13091 */ 13092 13093 /* 13094 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 13095 * Copyright 2016 Joyent, Inc. 13096 * 13097 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13098 * Use is subject to license terms. 13099 */ 13100 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 13101 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 13102 /* 13103 * CDDL HEADER START 13104 * 13105 * The contents of this file are subject to the terms of the 13106 * Common Development and Distribution License (the "License"). 13107 * You may not use this file except in compliance with the License. 13108 * 13109 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13110 * or http://www.opensolaris.org/os/licensing. 13111 * See the License for the specific language governing permissions 13112 * and limitations under the License. 13113 * 13114 * When distributing Covered Code, include this CDDL HEADER in each 13115 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13116 * If applicable, add the following below this CDDL HEADER, with the 13117 * fields enclosed by brackets "[]" replaced with your own identifying 13118 * information: Portions Copyright [yyyy] [name of copyright owner] 13119 * 13120 * CDDL HEADER END 13121 */ 13122 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13123 /* All Rights Reserved */ 13124 13125 13126 /* 13127 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13128 * Use is subject to license terms. 13129 * 13130 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13131 * Copyright 2016 Joyent, Inc. 13132 */ 13133 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 13134 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 13135 /* 13136 * CDDL HEADER START 13137 * 13138 * The contents of this file are subject to the terms of the 13139 * Common Development and Distribution License (the "License"). 13140 * You may not use this file except in compliance with the License. 13141 * 13142 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13143 * or http://www.opensolaris.org/os/licensing. 13144 * See the License for the specific language governing permissions 13145 * and limitations under the License. 13146 * 13147 * When distributing Covered Code, include this CDDL HEADER in each 13148 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13149 * If applicable, add the following below this CDDL HEADER, with the 13150 * fields enclosed by brackets "[]" replaced with your own identifying 13151 * information: Portions Copyright [yyyy] [name of copyright owner] 13152 * 13153 * CDDL HEADER END 13154 */ 13155 13156 /* 13157 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 13158 * Use is subject to license terms. 13159 */ 13160 13161 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13162 /* All Rights Reserved */ 13163 13164 /* 13165 * University Copyright- Copyright (c) 1982, 1986, 1988 13166 * The Regents of the University of California 13167 * All Rights Reserved 13168 * 13169 * University Acknowledgment- Portions of this document are derived from 13170 * software developed by the University of California, Berkeley, and its 13171 * contributors. 13172 */ 13173 13174 13175 13176 13177 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 13178 /* 13179 * CDDL HEADER START 13180 * 13181 * The contents of this file are subject to the terms of the 13182 * Common Development and Distribution License (the "License"). 13183 * You may not use this file except in compliance with the License. 13184 * 13185 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13186 * or http://www.opensolaris.org/os/licensing. 13187 * See the License for the specific language governing permissions 13188 * and limitations under the License. 13189 * 13190 * When distributing Covered Code, include this CDDL HEADER in each 13191 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13192 * If applicable, add the following below this CDDL HEADER, with the 13193 * fields enclosed by brackets "[]" replaced with your own identifying 13194 * information: Portions Copyright [yyyy] [name of copyright owner] 13195 * 13196 * CDDL HEADER END 13197 */ 13198 13199 /* 13200 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 13201 * Copyright 2016 Joyent, Inc. 13202 * 13203 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13204 * Use is subject to license terms. 13205 */ 13206 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 13207 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 13208 /* 13209 * CDDL HEADER START 13210 * 13211 * The contents of this file are subject to the terms of the 13212 * Common Development and Distribution License (the "License"). 13213 * You may not use this file except in compliance with the License. 13214 * 13215 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13216 * or http://www.opensolaris.org/os/licensing. 13217 * See the License for the specific language governing permissions 13218 * and limitations under the License. 13219 * 13220 * When distributing Covered Code, include this CDDL HEADER in each 13221 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13222 * If applicable, add the following below this CDDL HEADER, with the 13223 * fields enclosed by brackets "[]" replaced with your own identifying 13224 * information: Portions Copyright [yyyy] [name of copyright owner] 13225 * 13226 * CDDL HEADER END 13227 */ 13228 13229 /* 13230 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 13231 * Use is subject to license terms. 13232 */ 13233 13234 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13235 /* All Rights Reserved */ 13236 13237 /* 13238 * An application should not include this header directly. Instead it 13239 * should be included only through the inclusion of other Sun headers. 13240 * 13241 * The contents of this header is limited to identifiers specified in the 13242 * C Standard. Any new identifiers specified in future amendments to the 13243 * C Standard must be placed in this header. If these new identifiers 13244 * are required to also be in the C++ Standard "std" namespace, then for 13245 * anything other than macro definitions, corresponding "using" directives 13246 * must also be added to <sys/signal.h.h>. 13247 */ 13248 13249 13250 13251 13252 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 13253 /* 13254 * CDDL HEADER START 13255 * 13256 * The contents of this file are subject to the terms of the 13257 * Common Development and Distribution License (the "License"). 13258 * You may not use this file except in compliance with the License. 13259 * 13260 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13261 * or http://www.opensolaris.org/os/licensing. 13262 * See the License for the specific language governing permissions 13263 * and limitations under the License. 13264 * 13265 * When distributing Covered Code, include this CDDL HEADER in each 13266 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13267 * If applicable, add the following below this CDDL HEADER, with the 13268 * fields enclosed by brackets "[]" replaced with your own identifying 13269 * information: Portions Copyright [yyyy] [name of copyright owner] 13270 * 13271 * CDDL HEADER END 13272 */ 13273 13274 /* 13275 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 13276 * All Rights Reserved 13277 * 13278 */ 13279 13280 /* 13281 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13282 * Use is subject to license terms. 13283 */ 13284 13285 /* 13286 * WARNING: This is an implementation-specific header, 13287 * its contents are not guaranteed. Applications 13288 * should include <unistd.h> and not this header. 13289 */ 13290 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 13291 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 13292 /* insert new signals here, and move _SIGRTM* appropriately */ 13293 13294 13295 extern long _sysconf(int); /* System Private interface to sysconf() */ 13296 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 13297 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13298 /* 13299 * We need <sys/siginfo.h> for the declaration of siginfo_t. 13300 */ 13301 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 13302 /* 13303 * CDDL HEADER START 13304 * 13305 * The contents of this file are subject to the terms of the 13306 * Common Development and Distribution License, Version 1.0 only 13307 * (the "License"). You may not use this file except in compliance 13308 * with the License. 13309 * 13310 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13311 * or http://www.opensolaris.org/os/licensing. 13312 * See the License for the specific language governing permissions 13313 * and limitations under the License. 13314 * 13315 * When distributing Covered Code, include this CDDL HEADER in each 13316 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13317 * If applicable, add the following below this CDDL HEADER, with the 13318 * fields enclosed by brackets "[]" replaced with your own identifying 13319 * information: Portions Copyright [yyyy] [name of copyright owner] 13320 * 13321 * CDDL HEADER END 13322 */ 13323 /* 13324 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13325 * Use is subject to license terms. 13326 */ 13327 13328 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13329 /* All Rights Reserved */ 13330 13331 13332 13333 13334 #pragma ident "%Z%%M% %I% %E% SMI" 13335 13336 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 13337 /* 13338 * CDDL HEADER START 13339 * 13340 * The contents of this file are subject to the terms of the 13341 * Common Development and Distribution License (the "License"). 13342 * You may not use this file except in compliance with the License. 13343 * 13344 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13345 * or http://www.opensolaris.org/os/licensing. 13346 * See the License for the specific language governing permissions 13347 * and limitations under the License. 13348 * 13349 * When distributing Covered Code, include this CDDL HEADER in each 13350 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13351 * If applicable, add the following below this CDDL HEADER, with the 13352 * fields enclosed by brackets "[]" replaced with your own identifying 13353 * information: Portions Copyright [yyyy] [name of copyright owner] 13354 * 13355 * CDDL HEADER END 13356 */ 13357 13358 /* 13359 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 13360 * Copyright 2016 Joyent, Inc. 13361 * 13362 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13363 * Use is subject to license terms. 13364 */ 13365 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 13366 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 13367 /* 13368 * CDDL HEADER START 13369 * 13370 * The contents of this file are subject to the terms of the 13371 * Common Development and Distribution License (the "License"). 13372 * You may not use this file except in compliance with the License. 13373 * 13374 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13375 * or http://www.opensolaris.org/os/licensing. 13376 * See the License for the specific language governing permissions 13377 * and limitations under the License. 13378 * 13379 * When distributing Covered Code, include this CDDL HEADER in each 13380 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13381 * If applicable, add the following below this CDDL HEADER, with the 13382 * fields enclosed by brackets "[]" replaced with your own identifying 13383 * information: Portions Copyright [yyyy] [name of copyright owner] 13384 * 13385 * CDDL HEADER END 13386 */ 13387 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13388 /* All Rights Reserved */ 13389 13390 13391 /* 13392 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13393 * Use is subject to license terms. 13394 * 13395 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13396 * Copyright 2016 Joyent, Inc. 13397 */ 13398 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 13399 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13400 /* 13401 * The union sigval is also defined in <time.h> as per X/Open and 13402 * POSIX requirements. 13403 */ 13404 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13405 /* 13406 * The sigevent structure is also defined in <time.h> as per X/Open and 13407 * POSIX requirements. 13408 */ 13409 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13410 /* values of sigev_notify */ 13411 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13412 /* 13413 * negative signal codes are reserved for future use for user generated 13414 * signals 13415 */ 13416 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13417 /* 13418 * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and 13419 * SIGBUS) from <sys/machsig.h> 13420 */ 13421 13422 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 13423 /* 13424 * CDDL HEADER START 13425 * 13426 * The contents of this file are subject to the terms of the 13427 * Common Development and Distribution License, Version 1.0 only 13428 * (the "License"). You may not use this file except in compliance 13429 * with the License. 13430 * 13431 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13432 * or http://www.opensolaris.org/os/licensing. 13433 * See the License for the specific language governing permissions 13434 * and limitations under the License. 13435 * 13436 * When distributing Covered Code, include this CDDL HEADER in each 13437 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13438 * If applicable, add the following below this CDDL HEADER, with the 13439 * fields enclosed by brackets "[]" replaced with your own identifying 13440 * information: Portions Copyright [yyyy] [name of copyright owner] 13441 * 13442 * CDDL HEADER END 13443 */ 13444 /* 13445 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 13446 * Use is subject to license terms. 13447 */ 13448 13449 /* Copyright (c) 1988 AT&T */ 13450 /* All Rights Reserved */ 13451 13452 13453 13454 13455 13456 #pragma ident "%Z%%M% %I% %E% SMI" 13457 13458 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 13459 /* 13460 * CDDL HEADER START 13461 * 13462 * The contents of this file are subject to the terms of the 13463 * Common Development and Distribution License (the "License"). 13464 * You may not use this file except in compliance with the License. 13465 * 13466 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13467 * or http://www.opensolaris.org/os/licensing. 13468 * See the License for the specific language governing permissions 13469 * and limitations under the License. 13470 * 13471 * When distributing Covered Code, include this CDDL HEADER in each 13472 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13473 * If applicable, add the following below this CDDL HEADER, with the 13474 * fields enclosed by brackets "[]" replaced with your own identifying 13475 * information: Portions Copyright [yyyy] [name of copyright owner] 13476 * 13477 * CDDL HEADER END 13478 */ 13479 13480 /* 13481 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 13482 * Copyright 2016 Joyent, Inc. 13483 * 13484 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13485 * Use is subject to license terms. 13486 */ 13487 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 13488 13489 13490 13491 13492 13493 /* 13494 * machsig.h is the machine dependent portion of siginfo.h (and is 13495 * included by siginfo.h). A version of machsig.h should exist for 13496 * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS 13497 * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and 13498 * SIGPOLL are architecture independent and may be found in siginfo.h. 13499 */ 13500 13501 13502 13503 13504 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 13505 /* 13506 * CDDL HEADER START 13507 * 13508 * The contents of this file are subject to the terms of the 13509 * Common Development and Distribution License (the "License"). 13510 * You may not use this file except in compliance with the License. 13511 * 13512 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13513 * or http://www.opensolaris.org/os/licensing. 13514 * See the License for the specific language governing permissions 13515 * and limitations under the License. 13516 * 13517 * When distributing Covered Code, include this CDDL HEADER in each 13518 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13519 * If applicable, add the following below this CDDL HEADER, with the 13520 * fields enclosed by brackets "[]" replaced with your own identifying 13521 * information: Portions Copyright [yyyy] [name of copyright owner] 13522 * 13523 * CDDL HEADER END 13524 */ 13525 /* 13526 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 13527 * Use is subject to license terms. 13528 */ 13529 13530 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13531 /* All Rights Reserved */ 13532 13533 /* 13534 * University Copyright- Copyright (c) 1982, 1986, 1988 13535 * The Regents of the University of California 13536 * All Rights Reserved 13537 * 13538 * University Acknowledgment- Portions of this document are derived from 13539 * software developed by the University of California, Berkeley, and its 13540 * contributors. 13541 */ 13542 13543 13544 13545 13546 #pragma ident "%Z%%M% %I% %E% SMI" 13547 13548 13549 13550 13551 13552 /* 13553 * This file describes the data type returned by vm routines 13554 * which handle faults. 13555 * 13556 * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value 13557 * returned by the underlying object mapped at the fault address. 13558 */ 13559 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 13560 typedef int faultcode_t; /* type returned by vm fault routines */ 13561 13562 extern int fc_decode(faultcode_t); 13563 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 13564 13565 13566 /* 13567 * SIGILL signal codes 13568 */ 13569 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 13570 /* 13571 * SIGEMT signal codes 13572 */ 13573 13574 13575 13576 13577 13578 13579 /* 13580 * SIGFPE signal codes 13581 */ 13582 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 13583 /* 13584 * SIGSEGV signal codes 13585 */ 13586 13587 13588 13589 13590 13591 13592 13593 /* 13594 * SIGBUS signal codes 13595 */ 13596 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 13597 13598 /* 13599 * SIGTRAP signal codes 13600 */ 13601 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13602 /* 13603 * SIGCLD signal codes 13604 */ 13605 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13606 /* 13607 * SIGPOLL signal codes 13608 */ 13609 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13610 /* 13611 * SIGPROF signal codes 13612 */ 13613 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13614 /* 13615 * Inclusion of <sys/time_impl.h> is needed for the declaration of 13616 * timestruc_t. However, since inclusion of <sys/time_impl.h> results 13617 * in X/Open and POSIX namespace pollution, the definition for 13618 * timestruct_t has been duplicated in a standards namespace safe header 13619 * <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure 13620 * name, tag, and member names, as well as the type itself, all have 13621 * leading underscores to protect namespace. 13622 */ 13623 13624 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 13625 /* 13626 * CDDL HEADER START 13627 * 13628 * The contents of this file are subject to the terms of the 13629 * Common Development and Distribution License, Version 1.0 only 13630 * (the "License"). You may not use this file except in compliance 13631 * with the License. 13632 * 13633 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13634 * or http://www.opensolaris.org/os/licensing. 13635 * See the License for the specific language governing permissions 13636 * and limitations under the License. 13637 * 13638 * When distributing Covered Code, include this CDDL HEADER in each 13639 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13640 * If applicable, add the following below this CDDL HEADER, with the 13641 * fields enclosed by brackets "[]" replaced with your own identifying 13642 * information: Portions Copyright [yyyy] [name of copyright owner] 13643 * 13644 * CDDL HEADER END 13645 */ 13646 /* 13647 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 13648 * Use is subject to license terms. 13649 */ 13650 13651 /* 13652 * Implementation-private. This header should not be included 13653 * directly by an application. The application should instead 13654 * include <time.h> which includes this header conditionally 13655 * depending on which feature test macros are defined. By default, 13656 * this header is included by <time.h>. X/Open and POSIX 13657 * standards requirements result in this header being included 13658 * by <time.h> only under a restricted set of conditions. 13659 */ 13660 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 13661 13662 13663 13664 13665 /* 13666 * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc. 13667 * Placement here is due to a dependency in <sys/select.h> which is included 13668 * by <sys/types.h> for the sigevent structure. Hence this inclusion must 13669 * follow that definition. 13670 */ 13671 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 13672 /* 13673 * CDDL HEADER START 13674 * 13675 * The contents of this file are subject to the terms of the 13676 * Common Development and Distribution License (the "License"). 13677 * You may not use this file except in compliance with the License. 13678 * 13679 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13680 * or http://www.opensolaris.org/os/licensing. 13681 * See the License for the specific language governing permissions 13682 * and limitations under the License. 13683 * 13684 * When distributing Covered Code, include this CDDL HEADER in each 13685 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13686 * If applicable, add the following below this CDDL HEADER, with the 13687 * fields enclosed by brackets "[]" replaced with your own identifying 13688 * information: Portions Copyright [yyyy] [name of copyright owner] 13689 * 13690 * CDDL HEADER END 13691 */ 13692 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13693 /* All Rights Reserved */ 13694 13695 13696 /* 13697 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13698 * Use is subject to license terms. 13699 * 13700 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13701 * Copyright 2016 Joyent, Inc. 13702 */ 13703 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 13704 13705 13706 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ 13707 13708 13709 13710 int si_signo; /* signal from signal.h */ 13711 int si_code; /* code from above */ 13712 int si_errno; /* error from errno.h */ 13713 13714 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 13715 13716 union { 13717 13718 int __pad[((256 / sizeof (int)) - 4)]; /* for future growth */ 13719 13720 struct { /* kill(), SIGCLD, siqqueue() */ 13721 pid_t __pid; /* process ID */ 13722 union { 13723 struct { 13724 uid_t __uid; 13725 13726 13727 union sigval __value; 13728 13729 13730 13731 } __kill; 13732 struct { 13733 clock_t __utime; 13734 int __status; 13735 clock_t __stime; 13736 } __cld; 13737 } __pdata; 13738 ctid_t __ctid; /* contract ID */ 13739 zoneid_t __zoneid; /* zone ID */ 13740 } __proc; 13741 13742 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 13743 void *__addr; /* faulting address */ 13744 int __trapno; /* illegal trap number */ 13745 caddr_t __pc; /* instruction address */ 13746 } __fault; 13747 13748 struct { /* SIGPOLL, SIGXFSZ */ 13749 /* fd not currently available for SIGPOLL */ 13750 int __fd; /* file descriptor */ 13751 long __band; 13752 } __file; 13753 13754 struct { /* SIGPROF */ 13755 caddr_t __faddr; /* last fault address */ 13756 13757 timestruc_t __tstamp; /* real time stamp */ 13758 13759 13760 13761 short __syscall; /* current syscall */ 13762 char __nsysarg; /* number of arguments */ 13763 char __fault; /* last fault type */ 13764 long __sysarg[8]; /* syscall arguments */ 13765 int __mstate[10]; /* see <sys/msacct.h> */ 13766 } __prof; 13767 13768 struct { /* SI_RCTL */ 13769 int32_t __entity; /* type of entity exceeding */ 13770 } __rctl; 13771 } __data; 13772 13773 } siginfo_t; 13774 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 13775 /* 13776 * XXX -- internal version is identical to siginfo_t but without the padding. 13777 * This must be maintained in sync with it. 13778 */ 13779 13780 13781 13782 typedef struct k_siginfo { 13783 int si_signo; /* signal from signal.h */ 13784 int si_code; /* code from above */ 13785 int si_errno; /* error from errno.h */ 13786 13787 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 13788 13789 union { 13790 struct { /* kill(), SIGCLD, siqqueue() */ 13791 pid_t __pid; /* process ID */ 13792 union { 13793 struct { 13794 uid_t __uid; 13795 union sigval __value; 13796 } __kill; 13797 struct { 13798 clock_t __utime; 13799 int __status; 13800 clock_t __stime; 13801 } __cld; 13802 } __pdata; 13803 ctid_t __ctid; /* contract ID */ 13804 zoneid_t __zoneid; /* zone ID */ 13805 } __proc; 13806 13807 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 13808 void *__addr; /* faulting address */ 13809 int __trapno; /* illegal trap number */ 13810 caddr_t __pc; /* instruction address */ 13811 } __fault; 13812 13813 struct { /* SIGPOLL, SIGXFSZ */ 13814 /* fd not currently available for SIGPOLL */ 13815 int __fd; /* file descriptor */ 13816 long __band; 13817 } __file; 13818 13819 struct { /* SIGPROF */ 13820 caddr_t __faddr; /* last fault address */ 13821 13822 13823 timestruc_t __tstamp; /* real time stamp */ 13824 13825 13826 13827 short __syscall; /* current syscall */ 13828 char __nsysarg; /* number of arguments */ 13829 char __fault; /* last fault type */ 13830 /* these are omitted to keep k_siginfo_t small */ 13831 /* long __sysarg[8]; */ 13832 /* int __mstate[10]; */ 13833 } __prof; 13834 13835 struct { /* SI_RCTL */ 13836 int32_t __entity; /* type of entity exceeding */ 13837 } __rctl; 13838 13839 } __data; 13840 13841 } k_siginfo_t; 13842 13843 typedef struct sigqueue { 13844 struct sigqueue *sq_next; 13845 k_siginfo_t sq_info; 13846 void (*sq_func)(struct sigqueue *); /* destructor function */ 13847 void *sq_backptr; /* pointer to the data structure */ 13848 /* associated by sq_func() */ 13849 int sq_external; /* comes from outside the contract */ 13850 } sigqueue_t; 13851 13852 /* indication whether to queue the signal or not */ 13853 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 13854 13855 13856 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */ 13857 13858 13859 13860 13861 13862 13863 13864 typedef struct { 13865 unsigned int __sigbits[3]; 13866 } k_sigset_t; 13867 13868 /* 13869 * The signal handler routine can have either one or three arguments. 13870 * Existing C code has used either form so not specifing the arguments 13871 * neatly finesses the problem. C++ doesn't accept this. To C++ 13872 * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would 13873 * specify this as "(*sa_handler)(void)"). One or the other form must be 13874 * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow 13875 * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" 13876 * can be used for the three argument form. 13877 */ 13878 13879 /* 13880 * Note: storage overlap by sa_handler and sa_sigaction 13881 */ 13882 struct sigaction { 13883 int sa_flags; 13884 union { 13885 13886 13887 13888 void (*_handler)(); 13889 13890 13891 13892 13893 void (*_sigaction)(int, siginfo_t *, void *); 13894 13895 } _funcptr; 13896 sigset_t sa_mask; 13897 13898 13899 13900 }; 13901 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13902 /* this is only valid for SIGCLD */ 13903 13904 13905 13906 13907 13908 13909 13910 /* non-conformant ANSI compilation */ 13911 13912 /* definitions for the sa_flags field */ 13913 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13914 /* this is only valid for SIGCLD */ 13915 13916 13917 13918 /* 13919 * use of these symbols by applications is injurious 13920 * to binary compatibility 13921 */ 13922 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13923 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */ 13924 13925 13926 13927 typedef struct sigaltstack { 13928 13929 13930 13931 void *ss_sp; 13932 size_t ss_size; 13933 int ss_flags; 13934 } stack_t; 13935 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13936 /* signotify id used only by libc for mq_notify()/aio_notify() */ 13937 typedef struct signotify_id { /* signotify id struct */ 13938 pid_t sn_pid; /* pid of proc to be notified */ 13939 int sn_index; /* index in preallocated pool */ 13940 int sn_pad; /* reserved */ 13941 } signotify_id_t; 13942 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 13943 /* Command codes for sig_notify call */ 13944 13945 13946 13947 13948 13949 13950 13951 /* Added as per XPG4v2 */ 13952 13953 13954 13955 struct sigstack { 13956 void *ss_sp; 13957 int ss_onstack; 13958 }; 13959 13960 13961 /* 13962 * For definition of ucontext_t; must follow struct definition 13963 * for sigset_t 13964 */ 13965 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 13966 13967 /* 13968 * This file defines the data needed to specify a set of 13969 * processes. These types are used by the sigsend, sigsendset, 13970 * priocntl, priocntlset, waitid, evexit, and evexitset system 13971 * calls. 13972 */ 13973 13974 13975 13976 13977 13978 /* 13979 * The following defines the values for an identifier type. It 13980 * specifies the interpretation of an id value. An idtype and 13981 * id together define a simple set of processes. 13982 */ 13983 typedef enum 13984 13985 idtype /* pollutes XPG4.2 namespace */ 13986 13987 { 13988 P_PID, /* A process identifier. */ 13989 P_PPID, /* A parent process identifier. */ 13990 P_PGID, /* A process group (job control group) */ 13991 /* identifier. */ 13992 P_SID, /* A session identifier. */ 13993 P_CID, /* A scheduling class identifier. */ 13994 P_UID, /* A user identifier. */ 13995 P_GID, /* A group identifier. */ 13996 P_ALL, /* All processes. */ 13997 P_LWPID, /* An LWP identifier. */ 13998 P_TASKID, /* A task identifier. */ 13999 P_PROJID, /* A project identifier. */ 14000 P_POOLID, /* A pool identifier. */ 14001 P_ZONEID, /* A zone identifier. */ 14002 P_CTID, /* A (process) contract identifier. */ 14003 P_CPUID, /* CPU identifier. */ 14004 P_PSETID /* Processor set identifier */ 14005 } idtype_t; 14006 14007 14008 /* 14009 * The following defines the operations which can be performed to 14010 * combine two simple sets of processes to form another set of 14011 * processes. 14012 */ 14013 14014 typedef enum idop { 14015 POP_DIFF, /* Set difference. The processes which */ 14016 /* are in the left operand set and not */ 14017 /* in the right operand set. */ 14018 POP_AND, /* Set disjunction. The processes */ 14019 /* which are in both the left and right */ 14020 /* operand sets. */ 14021 POP_OR, /* Set conjunction. The processes */ 14022 /* which are in either the left or the */ 14023 /* right operand sets (or both). */ 14024 POP_XOR /* Set exclusive or. The processes */ 14025 /* which are in either the left or */ 14026 /* right operand sets but not in both. */ 14027 } idop_t; 14028 14029 14030 /* 14031 * The following structure is used to define a set of processes. 14032 * The set is defined in terms of two simple sets of processes 14033 * and an operator which operates on these two operand sets. 14034 */ 14035 typedef struct procset { 14036 idop_t p_op; /* The operator connection the */ 14037 /* following two operands each */ 14038 /* of which is a simple set of */ 14039 /* processes. */ 14040 14041 idtype_t p_lidtype; 14042 /* The type of the left operand */ 14043 /* simple set. */ 14044 id_t p_lid; /* The id of the left operand. */ 14045 14046 idtype_t p_ridtype; 14047 /* The type of the right */ 14048 /* operand simple set. */ 14049 id_t p_rid; /* The id of the right operand. */ 14050 } procset_t; 14051 14052 /* 14053 * The following macro can be used to initialize a procset_t 14054 * structure. 14055 */ 14056 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 14057 14058 14059 14060 14061 14062 /* 14063 * Definitions for p_online, processor_info & lgrp system calls. 14064 */ 14065 14066 /* 14067 * Type for an lgrpid 14068 */ 14069 typedef uint16_t lgrpid_t; 14070 14071 /* 14072 * Type for processor name (CPU number). 14073 */ 14074 typedef int processorid_t; 14075 typedef int chipid_t; 14076 14077 /* 14078 * Flags and return values for p_online(2), and pi_state for processor_info(2). 14079 * These flags are *not* for in-kernel examination of CPU states. 14080 * See <sys/cpuvar.h> for appropriate informational functions. 14081 */ 14082 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 14083 /* 14084 * String names for processor states defined above. 14085 */ 14086 14087 14088 14089 14090 14091 14092 14093 /* 14094 * Structure filled in by processor_info(2). This structure 14095 * SHOULD NOT BE MODIFIED. Changes to the structure would 14096 * negate ABI compatibility. 14097 * 14098 * The string fields are guaranteed to contain a NULL. 14099 * 14100 * The pi_fputypes field contains a (possibly empty) comma-separated 14101 * list of floating point identifier strings. 14102 */ 14103 14104 14105 14106 typedef struct { 14107 int pi_state; /* processor state, see above */ 14108 char pi_processor_type[16]; /* ASCII CPU type */ 14109 char pi_fputypes[32]; /* ASCII FPU types */ 14110 int pi_clock; /* CPU clock freq in MHz */ 14111 } processor_info_t; 14112 14113 /* 14114 * Binding values for processor_bind(2) 14115 */ 14116 14117 14118 14119 14120 14121 14122 /* 14123 * User-level system call interface prototypes 14124 */ 14125 14126 14127 extern int p_online(processorid_t processorid, int flag); 14128 extern int processor_info(processorid_t processorid, 14129 processor_info_t *infop); 14130 extern int processor_bind(idtype_t idtype, id_t id, 14131 processorid_t processorid, processorid_t *obind); 14132 extern processorid_t getcpuid(void); 14133 extern lgrpid_t gethomelgroup(void); 14134 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 14135 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 14136 /* 14137 * CDDL HEADER START 14138 * 14139 * The contents of this file are subject to the terms of the 14140 * Common Development and Distribution License, Version 1.0 only 14141 * (the "License"). You may not use this file except in compliance 14142 * with the License. 14143 * 14144 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14145 * or http://www.opensolaris.org/os/licensing. 14146 * See the License for the specific language governing permissions 14147 * and limitations under the License. 14148 * 14149 * When distributing Covered Code, include this CDDL HEADER in each 14150 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14151 * If applicable, add the following below this CDDL HEADER, with the 14152 * fields enclosed by brackets "[]" replaced with your own identifying 14153 * information: Portions Copyright [yyyy] [name of copyright owner] 14154 * 14155 * CDDL HEADER END 14156 */ 14157 /* 14158 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 14159 * Use is subject to license terms. 14160 */ 14161 14162 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14163 /* All Rights Reserved */ 14164 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 14165 14166 typedef int psetid_t; 14167 14168 /* special processor set id's */ 14169 14170 14171 14172 14173 14174 14175 14176 /* types of processor sets */ 14177 14178 14179 14180 14181 14182 extern int pset_create(psetid_t *); 14183 extern int pset_destroy(psetid_t); 14184 extern int pset_assign(psetid_t, processorid_t, psetid_t *); 14185 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); 14186 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); 14187 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); 14188 extern int pset_getloadavg(psetid_t, double [], int); 14189 extern int pset_list(psetid_t *, uint_t *); 14190 extern int pset_setattr(psetid_t, uint_t); 14191 extern int pset_getattr(psetid_t, uint_t *); 14192 14193 14194 14195 14196 14197 /* system call subcodes */ 14198 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 14199 /* attribute bits */ 14200 # 37 "/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/tsol/label.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 (the "License"). 14207 * You may not use this file except in compliance with the License. 14208 * 14209 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14210 * or http://www.opensolaris.org/os/licensing. 14211 * See the License for the specific language governing permissions 14212 * and limitations under the License. 14213 * 14214 * When distributing Covered Code, include this CDDL HEADER in each 14215 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14216 * If applicable, add the following below this CDDL HEADER, with the 14217 * fields enclosed by brackets "[]" replaced with your own identifying 14218 * information: Portions Copyright [yyyy] [name of copyright owner] 14219 * 14220 * CDDL HEADER END 14221 */ 14222 /* 14223 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14224 * Use is subject to license terms. 14225 */ 14226 14227 14228 14229 14230 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14231 /* 14232 * CDDL HEADER START 14233 * 14234 * The contents of this file are subject to the terms of the 14235 * Common Development and Distribution License (the "License"). 14236 * You may not use this file except in compliance with the License. 14237 * 14238 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14239 * or http://www.opensolaris.org/os/licensing. 14240 * See the License for the specific language governing permissions 14241 * and limitations under the License. 14242 * 14243 * When distributing Covered Code, include this CDDL HEADER in each 14244 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14245 * If applicable, add the following below this CDDL HEADER, with the 14246 * fields enclosed by brackets "[]" replaced with your own identifying 14247 * information: Portions Copyright [yyyy] [name of copyright owner] 14248 * 14249 * CDDL HEADER END 14250 */ 14251 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14252 /* All Rights Reserved */ 14253 14254 14255 /* 14256 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14257 * Use is subject to license terms. 14258 * 14259 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14260 * Copyright 2016 Joyent, Inc. 14261 */ 14262 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 14263 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 14264 /* 14265 * types of label comparison 14266 */ 14267 14268 14269 14270 /* Manifest human readable label names */ 14271 14272 14273 14274 /* Binary Label Structure Definitions */ 14275 14276 typedef struct _mac_label_impl m_label_t; 14277 14278 typedef m_label_t blevel_t, /* compatibility */ 14279 bslabel_t, /* Sensitivity Label */ 14280 bclear_t; /* Clearance */ 14281 14282 typedef struct _tsol_binary_level_lrange { /* Level Range */ 14283 m_label_t *lower_bound; 14284 m_label_t *upper_bound; 14285 } m_range_t; 14286 14287 typedef m_range_t blrange_t; 14288 14289 typedef struct tsol_mlp_s { 14290 uchar_t mlp_ipp; 14291 uint16_t mlp_port; 14292 uint16_t mlp_port_upper; 14293 } tsol_mlp_t; 14294 14295 /* Procedure Interface Definitions available to user and kernel */ 14296 14297 extern int bltype(const void *, uint8_t); 14298 extern int blequal(const m_label_t *, const m_label_t *); 14299 extern int bldominates(const m_label_t *, const m_label_t *); 14300 extern int blstrictdom(const m_label_t *, const m_label_t *); 14301 extern int blinrange(const m_label_t *, const m_range_t *); 14302 extern void blmaximum(m_label_t *, const m_label_t *); 14303 extern void blminimum(m_label_t *, const m_label_t *); 14304 extern void bsllow(m_label_t *); 14305 extern void bslhigh(m_label_t *); 14306 extern void bclearlow(m_label_t *); 14307 extern void bclearhigh(m_label_t *); 14308 extern void bslundef(m_label_t *); 14309 extern void bclearundef(m_label_t *); 14310 extern void setbltype(void *, uint8_t); 14311 extern boolean_t bisinvalid(const void *); 14312 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14313 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 14314 /* 14315 * CDDL HEADER START 14316 * 14317 * The contents of this file are subject to the terms of the 14318 * Common Development and Distribution License (the "License"). 14319 * You may not use this file except in compliance with the License. 14320 * 14321 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14322 * or http://www.opensolaris.org/os/licensing. 14323 * See the License for the specific language governing permissions 14324 * and limitations under the License. 14325 * 14326 * When distributing Covered Code, include this CDDL HEADER in each 14327 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14328 * If applicable, add the following below this CDDL HEADER, with the 14329 * fields enclosed by brackets "[]" replaced with your own identifying 14330 * information: Portions Copyright [yyyy] [name of copyright owner] 14331 * 14332 * CDDL HEADER END 14333 */ 14334 /* 14335 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14336 * Use is subject to license terms. 14337 */ 14338 14339 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14340 /* All Rights Reserved */ 14341 14342 /* 14343 * Portions of this source code were derived from Berkeley 4.3 BSD 14344 * under license from the Regents of the University of California. 14345 */ 14346 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14347 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 14348 /* 14349 * CDDL HEADER START 14350 * 14351 * The contents of this file are subject to the terms of the 14352 * Common Development and Distribution License (the "License"). 14353 * You may not use this file except in compliance with the License. 14354 * 14355 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14356 * or http://www.opensolaris.org/os/licensing. 14357 * See the License for the specific language governing permissions 14358 * and limitations under the License. 14359 * 14360 * When distributing Covered Code, include this CDDL HEADER in each 14361 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14362 * If applicable, add the following below this CDDL HEADER, with the 14363 * fields enclosed by brackets "[]" replaced with your own identifying 14364 * information: Portions Copyright [yyyy] [name of copyright owner] 14365 * 14366 * CDDL HEADER END 14367 */ 14368 14369 /* 14370 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14371 * Use is subject to license terms. 14372 */ 14373 14374 14375 14376 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 14377 /* 14378 * CDDL HEADER START 14379 * 14380 * The contents of this file are subject to the terms of the 14381 * Common Development and Distribution License (the "License"). 14382 * You may not use this file except in compliance with the License. 14383 * 14384 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14385 * or http://www.opensolaris.org/os/licensing. 14386 * See the License for the specific language governing permissions 14387 * and limitations under the License. 14388 * 14389 * When distributing Covered Code, include this CDDL HEADER in each 14390 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14391 * If applicable, add the following below this CDDL HEADER, with the 14392 * fields enclosed by brackets "[]" replaced with your own identifying 14393 * information: Portions Copyright [yyyy] [name of copyright owner] 14394 * 14395 * CDDL HEADER END 14396 */ 14397 /* 14398 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 14399 * Use is subject to license terms. 14400 * 14401 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 14402 */ 14403 14404 14405 14406 14407 /* 14408 * Definition of general kernel statistics structures and /dev/kstat ioctls 14409 */ 14410 14411 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14412 /* 14413 * CDDL HEADER START 14414 * 14415 * The contents of this file are subject to the terms of the 14416 * Common Development and Distribution License (the "License"). 14417 * You may not use this file except in compliance with the License. 14418 * 14419 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14420 * or http://www.opensolaris.org/os/licensing. 14421 * See the License for the specific language governing permissions 14422 * and limitations under the License. 14423 * 14424 * When distributing Covered Code, include this CDDL HEADER in each 14425 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14426 * If applicable, add the following below this CDDL HEADER, with the 14427 * fields enclosed by brackets "[]" replaced with your own identifying 14428 * information: Portions Copyright [yyyy] [name of copyright owner] 14429 * 14430 * CDDL HEADER END 14431 */ 14432 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14433 /* All Rights Reserved */ 14434 14435 14436 /* 14437 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14438 * Use is subject to license terms. 14439 * 14440 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14441 * Copyright 2016 Joyent, Inc. 14442 */ 14443 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 14444 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 14445 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14446 /* All Rights Reserved */ 14447 14448 14449 /* 14450 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 14451 * All rights reserved. The Berkeley software License Agreement 14452 * specifies the terms and conditions for redistribution. 14453 */ 14454 14455 /* 14456 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14457 * 14458 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14459 * Use is subject to license terms. 14460 * 14461 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14462 */ 14463 14464 /* 14465 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 14466 */ 14467 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 14468 14469 14470 14471 14472 14473 typedef int kid_t; /* unique kstat id */ 14474 14475 /* 14476 * Kernel statistics driver (/dev/kstat) ioctls 14477 */ 14478 14479 14480 14481 14482 14483 14484 14485 /* 14486 * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): 14487 * 14488 * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); 14489 * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); 14490 * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); 14491 */ 14492 14493 14494 14495 /* 14496 * The generic kstat header 14497 */ 14498 14499 typedef struct kstat { 14500 /* 14501 * Fields relevant to both kernel and user 14502 */ 14503 hrtime_t ks_crtime; /* creation time (from gethrtime()) */ 14504 struct kstat *ks_next; /* kstat chain linkage */ 14505 kid_t ks_kid; /* unique kstat ID */ 14506 char ks_module[31]; /* provider module name */ 14507 uchar_t ks_resv; /* reserved, currently just padding */ 14508 int ks_instance; /* provider module's instance */ 14509 char ks_name[31]; /* kstat name */ 14510 uchar_t ks_type; /* kstat data type */ 14511 char ks_class[31]; /* kstat class */ 14512 uchar_t ks_flags; /* kstat flags */ 14513 void *ks_data; /* kstat type-specific data */ 14514 uint_t ks_ndata; /* # of type-specific data records */ 14515 size_t ks_data_size; /* total size of kstat data section */ 14516 hrtime_t ks_snaptime; /* time of last data shapshot */ 14517 /* 14518 * Fields relevant to kernel only 14519 */ 14520 int (*ks_update)(struct kstat *, int); /* dynamic update */ 14521 void *ks_private; /* arbitrary provider-private data */ 14522 int (*ks_snapshot)(struct kstat *, void *, int); 14523 void *ks_lock; /* protects this kstat's data */ 14524 } kstat_t; 14525 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14526 /* 14527 * kstat structure and locking strategy 14528 * 14529 * Each kstat consists of a header section (a kstat_t) and a data section. 14530 * The system maintains a set of kstats, protected by kstat_chain_lock. 14531 * kstat_chain_lock protects all additions to/deletions from this set, 14532 * as well as all changes to kstat headers. kstat data sections are 14533 * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, 14534 * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their 14535 * operations on that kstat. It is up to the kstat provider to decide whether 14536 * guaranteeing consistent data to kstat clients is sufficiently important 14537 * to justify the locking cost. Note, however, that most statistic updates 14538 * already occur under one of the provider's mutexes, so if the provider sets 14539 * ks_lock to point to that mutex, then kstat data locking is free. 14540 * 14541 * NOTE: variable-size kstats MUST employ kstat data locking, to prevent 14542 * data-size races with kstat clients. 14543 * 14544 * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) 14545 * in the kstat header so that users don't have to be exposed to all of the 14546 * kernel's lock-related data structures. 14547 */ 14548 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14549 /* 14550 * kstat time 14551 * 14552 * All times associated with kstats (e.g. creation time, snapshot time, 14553 * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, 14554 * as returned by gethrtime(). The accuracy of these timestamps is machine 14555 * dependent, but the precision (units) is the same across all platforms. 14556 */ 14557 14558 /* 14559 * kstat identity (KID) 14560 * 14561 * Each kstat is assigned a unique KID (kstat ID) when it is added to the 14562 * global kstat chain. The KID is used as a cookie by /dev/kstat to 14563 * request information about the corresponding kstat. There is also 14564 * an identity associated with the entire kstat chain, kstat_chain_id, 14565 * which is bumped each time a kstat is added or deleted. /dev/kstat uses 14566 * the chain ID to detect changes in the kstat chain (e.g., a new disk 14567 * coming online) between ioctl()s. 14568 */ 14569 14570 /* 14571 * kstat module, kstat instance 14572 * 14573 * ks_module and ks_instance contain the name and instance of the module 14574 * that created the kstat. In cases where there can only be one instance, 14575 * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its 14576 * module name. 14577 */ 14578 14579 /* 14580 * kstat name 14581 * 14582 * ks_name gives a meaningful name to a kstat. The full kstat namespace 14583 * is module.instance.name, so the name only need be unique within a 14584 * module. kstat_create() will fail if you try to create a kstat with 14585 * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are 14586 * allowed in kstat names, but strongly discouraged, since they hinder 14587 * awk-style processing at user level. 14588 */ 14589 14590 /* 14591 * kstat type 14592 * 14593 * The kstat mechanism provides several flavors of kstat data, defined 14594 * below. The "raw" kstat type is just treated as an array of bytes; you 14595 * can use this to export any kind of data you want. 14596 * 14597 * Some kstat types allow multiple data structures per kstat, e.g. 14598 * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each 14599 * kstat data type. 14600 * 14601 * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To 14602 * get this information, read out the standard system kstat "kstat_types". 14603 */ 14604 14605 14606 /* ks_ndata >= 1 */ 14607 14608 /* ks_ndata >= 1 */ 14609 14610 /* ks_ndata == 1 */ 14611 14612 /* ks_ndata == 1 */ 14613 14614 /* ks_ndata >= 1 */ 14615 14616 14617 14618 /* 14619 * kstat class 14620 * 14621 * Each kstat can be characterized as belonging to some broad class 14622 * of statistics, e.g. disk, tape, net, vm, streams, etc. This field 14623 * can be used as a filter to extract related kstats. The following 14624 * values are currently in use: disk, tape, net, controller, vm, kvm, 14625 * hat, streams, kstat, and misc. (The kstat class encompasses things 14626 * like kstat_types.) 14627 */ 14628 14629 /* 14630 * kstat flags 14631 * 14632 * Any of the following flags may be passed to kstat_create(). They are 14633 * all zero by default. 14634 * 14635 * KSTAT_FLAG_VIRTUAL: 14636 * 14637 * Tells kstat_create() not to allocate memory for the 14638 * kstat data section; instead, you will set the ks_data 14639 * field to point to the data you wish to export. This 14640 * provides a convenient way to export existing data 14641 * structures. 14642 * 14643 * KSTAT_FLAG_VAR_SIZE: 14644 * 14645 * The size of the kstat you are creating will vary over time. 14646 * For example, you may want to use the kstat mechanism to 14647 * export a linked list. NOTE: The kstat framework does not 14648 * manage the data section, so all variable-size kstats must be 14649 * virtual kstats. Moreover, variable-size kstats MUST employ 14650 * kstat data locking to prevent data-size races with kstat 14651 * clients. See the section on "kstat snapshot" for details. 14652 * 14653 * KSTAT_FLAG_WRITABLE: 14654 * 14655 * Makes the kstat's data section writable by root. 14656 * The ks_snapshot routine (see below) does not need to check for 14657 * this; permission checking is handled in the kstat driver. 14658 * 14659 * KSTAT_FLAG_PERSISTENT: 14660 * 14661 * Indicates that this kstat is to be persistent over time. 14662 * For persistent kstats, kstat_delete() simply marks the 14663 * kstat as dormant; a subsequent kstat_create() reactivates 14664 * the kstat. This feature is provided so that statistics 14665 * are not lost across driver close/open (e.g., raw disk I/O 14666 * on a disk with no mounted partitions.) 14667 * NOTE: Persistent kstats cannot be virtual, since ks_data 14668 * points to garbage as soon as the driver goes away. 14669 * 14670 * The following flags are maintained by the kstat framework: 14671 * 14672 * KSTAT_FLAG_DORMANT: 14673 * 14674 * For persistent kstats, indicates that the kstat is in the 14675 * dormant state (e.g., the corresponding device is closed). 14676 * 14677 * KSTAT_FLAG_INVALID: 14678 * 14679 * This flag is set when a kstat is in a transitional state, 14680 * e.g. between kstat_create() and kstat_install(). 14681 * kstat clients must not attempt to access the kstat's data 14682 * if this flag is set. 14683 * 14684 * KSTAT_FLAG_LONGSTRINGS: 14685 * 14686 * Indicates that this kstat contains long strings (which 14687 * are stored outside of the kstat data section). When copied 14688 * out to user space the string data will be held in the data 14689 * section provided by the user. 14690 */ 14691 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14692 /* 14693 * Dynamic update support 14694 * 14695 * The kstat mechanism allows for an optional ks_update function to update 14696 * kstat data. This is useful for drivers where the underlying device 14697 * keeps cheap hardware stats, but extraction is expensive. Instead of 14698 * constantly keeping the kstat data section up to date, you can supply a 14699 * ks_update function which updates the kstat's data section on demand. 14700 * To take advantage of this feature, simply set the ks_update field before 14701 * calling kstat_install(). 14702 * 14703 * The ks_update function, if supplied, must have the following structure: 14704 * 14705 * int 14706 * foo_kstat_update(kstat_t *ksp, int rw) 14707 * { 14708 * if (rw == KSTAT_WRITE) { 14709 * ... update the native stats from ksp->ks_data; 14710 * return EACCES if you don't support this 14711 * } else { 14712 * ... update ksp->ks_data from the native stats 14713 * } 14714 * } 14715 * 14716 * The ks_update return codes are: 0 for success, EACCES if you don't allow 14717 * KSTAT_WRITE, and EIO for any other type of error. 14718 * 14719 * In general, the ks_update function may need to refer to provider-private 14720 * data; for example, it may need a pointer to the provider's raw statistics. 14721 * The ks_private field is available for this purpose. Its use is entirely 14722 * at the provider's discretion. 14723 * 14724 * All variable-size kstats MUST supply a ks_update routine, which computes 14725 * and sets ks_data_size (and ks_ndata if that is meaningful), since these 14726 * are needed to perform kstat snapshots (see below). 14727 * 14728 * No kstat locking should be done inside the ks_update routine. The caller 14729 * will already be holding the kstat's ks_lock (to ensure consistent data). 14730 */ 14731 14732 14733 14734 14735 /* 14736 * Kstat snapshot 14737 * 14738 * In order to get a consistent view of a kstat's data, clients must obey 14739 * the kstat's locking strategy. However, these clients may need to perform 14740 * operations on the data which could cause a fault (e.g. copyout()), or 14741 * operations which are simply expensive. Doing so could cause deadlock 14742 * (e.g. if you're holding a disk's kstat lock which is ultimately required 14743 * to resolve a copyout() fault), performance degradation (since the providers' 14744 * activity is serialized at the kstat lock), device timing problems, etc. 14745 * 14746 * To avoid these problems, kstat data is provided via snapshots. Taking 14747 * a snapshot is a simple process: allocate a wired-down kernel buffer, 14748 * acquire the kstat's data lock, copy the data into the buffer ("take the 14749 * snapshot"), and release the lock. This ensures that the kstat's data lock 14750 * will be held as briefly as possible, and that no faults will occur while 14751 * the lock is held. 14752 * 14753 * Normally, the snapshot is taken by default_kstat_snapshot(), which 14754 * timestamps the data (sets ks_snaptime), copies it, and does a little 14755 * massaging to deal with incomplete transactions on i/o kstats. However, 14756 * this routine only works for kstats with contiguous data (the typical case). 14757 * If you create a kstat whose data is, say, a linked list, you must provide 14758 * your own ks_snapshot routine. The routine you supply must have the 14759 * following prototype (replace "foo" with something appropriate): 14760 * 14761 * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); 14762 * 14763 * The minimal snapshot routine -- one which copies contiguous data that 14764 * doesn't need any massaging -- would be this: 14765 * 14766 * ksp->ks_snaptime = gethrtime(); 14767 * if (rw == KSTAT_WRITE) 14768 * bcopy(buf, ksp->ks_data, ksp->ks_data_size); 14769 * else 14770 * bcopy(ksp->ks_data, buf, ksp->ks_data_size); 14771 * return (0); 14772 * 14773 * A more illuminating example is taking a snapshot of a linked list: 14774 * 14775 * ksp->ks_snaptime = gethrtime(); 14776 * if (rw == KSTAT_WRITE) 14777 * return (EACCES); ... See below ... 14778 * for (foo = first_foo; foo; foo = foo->next) { 14779 * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); 14780 * buf = ((struct foo *) buf) + 1; 14781 * } 14782 * return (0); 14783 * 14784 * In the example above, we have decided that we don't want to allow 14785 * KSTAT_WRITE access, so we return EACCES if this is attempted. 14786 * 14787 * The key points are: 14788 * 14789 * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. 14790 * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, 14791 * and from the buffer to the kstat on KSTAT_WRITE. 14792 * (3) ks_snapshot return values are: 0 for success, EACCES if you 14793 * don't allow KSTAT_WRITE, and EIO for any other type of error. 14794 * 14795 * Named kstats (see section on "Named statistics" below) containing long 14796 * strings (KSTAT_DATA_STRING) need special handling. The kstat driver 14797 * assumes that all strings are copied into the buffer after the array of 14798 * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point 14799 * into the copy within the buffer. The default snapshot routine does this, 14800 * but overriding routines should contain at least the following: 14801 * 14802 * if (rw == KSTAT_READ) { 14803 * kstat_named_t *knp = buf; 14804 * char *end = knp + ksp->ks_ndata; 14805 * uint_t i; 14806 * 14807 * ... Do the regular copy ... 14808 * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); 14809 * 14810 * for (i = 0; i < ksp->ks_ndata; i++, knp++) { 14811 * if (knp[i].data_type == KSTAT_DATA_STRING && 14812 * KSTAT_NAMED_STR_PTR(knp) != NULL) { 14813 * bcopy(KSTAT_NAMED_STR_PTR(knp), end, 14814 * KSTAT_NAMED_STR_BUFLEN(knp)); 14815 * KSTAT_NAMED_STR_PTR(knp) = end; 14816 * end += KSTAT_NAMED_STR_BUFLEN(knp); 14817 * } 14818 * } 14819 */ 14820 14821 /* 14822 * Named statistics. 14823 * 14824 * List of arbitrary name=value statistics. 14825 */ 14826 14827 typedef struct kstat_named { 14828 char name[31]; /* name of counter */ 14829 uchar_t data_type; /* data type */ 14830 union { 14831 char c[16]; /* enough for 128-bit ints */ 14832 int32_t i32; 14833 uint32_t ui32; 14834 struct { 14835 union { 14836 char *ptr; /* NULL-term string */ 14837 14838 14839 14840 char __pad[8]; /* 64-bit padding */ 14841 } addr; 14842 uint32_t len; /* # bytes for strlen + '\0' */ 14843 } str; 14844 /* 14845 * The int64_t and uint64_t types are not valid for a maximally conformant 14846 * 32-bit compilation environment (cc -Xc) using compilers prior to the 14847 * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). 14848 * In these cases, the visibility of i64 and ui64 is only permitted for 14849 * 64-bit compilation environments or 32-bit non-maximally conformant 14850 * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the 14851 * C99 ANSI C compilation environment, the long long type is supported. 14852 * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). 14853 */ 14854 14855 int64_t i64; 14856 uint64_t ui64; 14857 14858 long l; 14859 ulong_t ul; 14860 14861 /* These structure members are obsolete */ 14862 14863 longlong_t ll; 14864 u_longlong_t ull; 14865 float f; 14866 double d; 14867 } value; /* value of counter */ 14868 } kstat_named_t; 14869 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14870 /* 14871 * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) 14872 * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof 14873 * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the 14874 * amount of space required to store the strings (ie, the sum of 14875 * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the 14876 * space required to store the kstat_named_t's. 14877 * 14878 * The default update routine will update ks_data_size automatically for 14879 * variable-length kstats containing long strings (using the default update 14880 * routine only makes sense if the string is the only thing that is changing 14881 * in size, and ks_ndata is constant). Fixed-length kstats containing long 14882 * strings must explicitly change ks_data_size (after creation but before 14883 * initialization) to reflect the correct amount of space required for the 14884 * long strings and the kstat_named_t's. 14885 */ 14886 14887 14888 /* These types are obsolete */ 14889 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14890 /* 14891 * Retrieve the pointer of the string contained in the given named kstat. 14892 */ 14893 14894 14895 /* 14896 * Retrieve the length of the buffer required to store the string in the given 14897 * named kstat. 14898 */ 14899 14900 14901 /* 14902 * Interrupt statistics. 14903 * 14904 * An interrupt is a hard interrupt (sourced from the hardware device 14905 * itself), a soft interrupt (induced by the system via the use of 14906 * some system interrupt source), a watchdog interrupt (induced by 14907 * a periodic timer call), spurious (an interrupt entry point was 14908 * entered but there was no interrupt condition to service), 14909 * or multiple service (an interrupt condition was detected and 14910 * serviced just prior to returning from any of the other types). 14911 * 14912 * Measurement of the spurious class of interrupts is useful for 14913 * autovectored devices in order to pinpoint any interrupt latency 14914 * problems in a particular system configuration. 14915 * 14916 * Devices that have more than one interrupt of the same 14917 * type should use multiple structures. 14918 */ 14919 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 14920 typedef struct kstat_intr { 14921 uint_t intrs[5]; /* interrupt counters */ 14922 } kstat_intr_t; 14923 14924 14925 14926 /* 14927 * I/O statistics. 14928 */ 14929 14930 typedef struct kstat_io { 14931 14932 /* 14933 * Basic counters. 14934 * 14935 * The counters should be updated at the end of service 14936 * (e.g., just prior to calling biodone()). 14937 */ 14938 14939 u_longlong_t nread; /* number of bytes read */ 14940 u_longlong_t nwritten; /* number of bytes written */ 14941 uint_t reads; /* number of read operations */ 14942 uint_t writes; /* number of write operations */ 14943 14944 /* 14945 * Accumulated time and queue length statistics. 14946 * 14947 * Accumulated time statistics are kept as a running sum 14948 * of "active" time. Queue length statistics are kept as a 14949 * running sum of the product of queue length and elapsed time 14950 * at that length -- i.e., a Riemann sum for queue length 14951 * integrated against time. (You can also think of the active time 14952 * as a Riemann sum, for the boolean function (queue_length > 0) 14953 * integrated against time, or you can think of it as the 14954 * Lebesgue measure of the set on which queue_length > 0.) 14955 * 14956 * ^ 14957 * | _________ 14958 * 8 | i4 | 14959 * | | | 14960 * Queue 6 | | 14961 * Length | _________ | | 14962 * 4 | i2 |_______| | 14963 * | | i3 | 14964 * 2_______| | 14965 * | i1 | 14966 * |_______________________________| 14967 * Time-> t1 t2 t3 t4 14968 * 14969 * At each change of state (entry or exit from the queue), 14970 * we add the elapsed time (since the previous state change) 14971 * to the active time if the queue length was non-zero during 14972 * that interval; and we add the product of the elapsed time 14973 * times the queue length to the running length*time sum. 14974 * 14975 * This method is generalizable to measuring residency 14976 * in any defined system: instead of queue lengths, think 14977 * of "outstanding RPC calls to server X". 14978 * 14979 * A large number of I/O subsystems have at least two basic 14980 * "lists" of transactions they manage: one for transactions 14981 * that have been accepted for processing but for which processing 14982 * has yet to begin, and one for transactions which are actively 14983 * being processed (but not done). For this reason, two cumulative 14984 * time statistics are defined here: wait (pre-service) time, 14985 * and run (service) time. 14986 * 14987 * All times are 64-bit nanoseconds (hrtime_t), as returned by 14988 * gethrtime(). 14989 * 14990 * The units of cumulative busy time are accumulated nanoseconds. 14991 * The units of cumulative length*time products are elapsed time 14992 * times queue length. 14993 * 14994 * Updates to the fields below are performed implicitly by calls to 14995 * these five functions: 14996 * 14997 * kstat_waitq_enter() 14998 * kstat_waitq_exit() 14999 * kstat_runq_enter() 15000 * kstat_runq_exit() 15001 * 15002 * kstat_waitq_to_runq() (see below) 15003 * kstat_runq_back_to_waitq() (see below) 15004 * 15005 * Since kstat_waitq_exit() is typically followed immediately 15006 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() 15007 * function which performs both operations. This is a performance 15008 * win since only one timestamp is required. 15009 * 15010 * In some instances, it may be necessary to move a request from 15011 * the run queue back to the wait queue, e.g. for write throttling. 15012 * For these situations, call kstat_runq_back_to_waitq(). 15013 * 15014 * These fields should never be updated by any other means. 15015 */ 15016 15017 hrtime_t wtime; /* cumulative wait (pre-service) time */ 15018 hrtime_t wlentime; /* cumulative wait length*time product */ 15019 hrtime_t wlastupdate; /* last time wait queue changed */ 15020 hrtime_t rtime; /* cumulative run (service) time */ 15021 hrtime_t rlentime; /* cumulative run length*time product */ 15022 hrtime_t rlastupdate; /* last time run queue changed */ 15023 15024 uint_t wcnt; /* count of elements in wait state */ 15025 uint_t rcnt; /* count of elements in run state */ 15026 15027 } kstat_io_t; 15028 15029 15030 15031 /* 15032 * Event timer statistics - cumulative elapsed time and number of events. 15033 * 15034 * Updates to these fields are performed implicitly by calls to 15035 * kstat_timer_start() and kstat_timer_stop(). 15036 */ 15037 15038 typedef struct kstat_timer { 15039 char name[31]; /* event name */ 15040 uchar_t resv; /* reserved */ 15041 u_longlong_t num_events; /* number of events */ 15042 hrtime_t elapsed_time; /* cumulative elapsed time */ 15043 hrtime_t min_time; /* shortest event duration */ 15044 hrtime_t max_time; /* longest event duration */ 15045 hrtime_t start_time; /* previous event start time */ 15046 hrtime_t stop_time; /* previous event stop time */ 15047 } kstat_timer_t; 15048 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 15049 15050 15051 15052 15053 15054 /* 15055 * This allows various pieces in and around IP to have a separate instance 15056 * for each instance of IP. This is used to support zones that have an 15057 * exclusive stack. 15058 * Pieces of software far removed from IP (e.g., kernel software 15059 * sitting on top of TCP or UDP) probably should not use the netstack 15060 * support; if such software wants to support separate zones it 15061 * can do that using the zones framework (zone_key_create() etc) 15062 * whether there is a shared IP stack or and exclusive IP stack underneath. 15063 */ 15064 15065 /* 15066 * Each netstack has an identifier. We reuse the zoneid allocation for 15067 * this but have a separate typedef. Thus the shared stack (used by 15068 * the global zone and other shared stack zones) have a zero ID, and 15069 * the exclusive stacks have a netstackid that is the same as their zoneid. 15070 */ 15071 typedef id_t netstackid_t; 15072 15073 15074 15075 /* 15076 * One for each module which uses netstack support. 15077 * Used in netstack_register(). 15078 * 15079 * The order of these is important for some modules both for 15080 * the creation (which done in ascending order) and destruction (which is 15081 * done in in decending order). 15082 */ 15083 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 15084 /* 15085 * State maintained for each module which tracks the state of 15086 * the create, shutdown and destroy callbacks. 15087 * 15088 * Keeps track of pending actions to avoid holding locks when 15089 * calling into the create/shutdown/destroy functions in the module. 15090 */ 15091 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 15092 /* User-level compile like IP Filter needs a netstack_t. Dummy */ 15093 typedef uint_t nm_state_t; 15094 15095 15096 /* 15097 * One for every netstack in the system. 15098 * We use a union so that the compilar and lint can provide type checking - 15099 * in principle we could have 15100 * #define netstack_arp netstack_modules[NS_ARP] 15101 * etc, but that would imply void * types hence no type checking by the 15102 * compiler. 15103 * 15104 * All the fields in netstack_t except netstack_next are protected by 15105 * netstack_lock. netstack_next is protected by netstack_g_lock. 15106 */ 15107 struct netstack { 15108 union { 15109 void *nu_modules[(18 +1)]; 15110 struct { 15111 struct dls_stack *nu_dls; 15112 struct iptun_stack *nu_iptun; 15113 struct str_stack *nu_str; 15114 struct hook_stack *nu_hook; 15115 struct neti_stack *nu_neti; 15116 struct arp_stack *nu_arp; 15117 struct ip_stack *nu_ip; 15118 struct icmp_stack *nu_icmp; 15119 struct udp_stack *nu_udp; 15120 struct tcp_stack *nu_tcp; 15121 struct sctp_stack *nu_sctp; 15122 struct rts_stack *nu_rts; 15123 struct ipsec_stack *nu_ipsec; 15124 struct keysock_stack *nu_keysock; 15125 struct spd_stack *nu_spdsock; 15126 struct ipsecah_stack *nu_ipsecah; 15127 struct ipsecesp_stack *nu_ipsecesp; 15128 struct ipnet_stack *nu_ipnet; 15129 struct ilb_stack *nu_ilb; 15130 } nu_s; 15131 } netstack_u; 15132 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 15133 nm_state_t netstack_m_state[(18 +1)]; /* module state */ 15134 15135 kmutex_t netstack_lock; 15136 struct netstack *netstack_next; 15137 netstackid_t netstack_stackid; 15138 int netstack_numzones; /* Number of zones using this */ 15139 int netstack_refcnt; /* Number of hold-rele */ 15140 int netstack_flags; /* See below */ 15141 15142 15143 15144 15145 15146 }; 15147 typedef struct netstack netstack_t; 15148 15149 /* netstack_flags values */ 15150 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 15151 /* 15152 * One for each of the NS_* values. 15153 */ 15154 struct netstack_registry { 15155 int nr_flags; /* 0 if nothing registered */ 15156 void *(*nr_create)(netstackid_t, netstack_t *); 15157 void (*nr_shutdown)(netstackid_t, void *); 15158 void (*nr_destroy)(netstackid_t, void *); 15159 }; 15160 15161 /* nr_flags values */ 15162 15163 15164 15165 /* 15166 * To support kstat_create_netstack() using kstat_add_zone we need 15167 * to track both 15168 * - all zoneids that use the global/shared stack 15169 * - all kstats that have been added for the shared stack 15170 */ 15171 15172 extern void netstack_init(void); 15173 extern void netstack_hold(netstack_t *); 15174 extern void netstack_rele(netstack_t *); 15175 extern netstack_t *netstack_find_by_cred(const cred_t *); 15176 extern netstack_t *netstack_find_by_stackid(netstackid_t); 15177 extern netstack_t *netstack_find_by_zoneid(zoneid_t); 15178 15179 extern zoneid_t netstackid_to_zoneid(netstackid_t); 15180 extern zoneid_t netstack_get_zoneid(netstack_t *); 15181 extern netstackid_t zoneid_to_netstackid(zoneid_t); 15182 15183 extern netstack_t *netstack_get_current(void); 15184 15185 /* 15186 * Register interest in changes to the set of netstacks. 15187 * The createfn and destroyfn are required, but the shutdownfn can be 15188 * NULL. 15189 * Note that due to the current zsd implementation, when the create 15190 * function is called the zone isn't fully present, thus functions 15191 * like zone_find_by_* will fail, hence the create function can not 15192 * use many zones kernel functions including zcmn_err(). 15193 */ 15194 extern void netstack_register(int, 15195 void *(*)(netstackid_t, netstack_t *), 15196 void (*)(netstackid_t, void *), 15197 void (*)(netstackid_t, void *)); 15198 extern void netstack_unregister(int); 15199 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, 15200 uint_t, uchar_t, netstackid_t); 15201 extern void kstat_delete_netstack(kstat_t *, netstackid_t); 15202 15203 /* 15204 * Simple support for walking all the netstacks. 15205 * The caller of netstack_next() needs to call netstack_rele() when 15206 * done with a netstack. 15207 */ 15208 typedef int netstack_handle_t; 15209 15210 extern void netstack_next_init(netstack_handle_t *); 15211 extern void netstack_next_fini(netstack_handle_t *); 15212 extern netstack_t *netstack_next(netstack_handle_t *); 15213 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 15214 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 15215 /* 15216 * CDDL HEADER START 15217 * 15218 * The contents of this file are subject to the terms of the 15219 * Common Development and Distribution License (the "License"). 15220 * You may not use this file except in compliance with the License. 15221 * 15222 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15223 * or http://www.opensolaris.org/os/licensing. 15224 * See the License for the specific language governing permissions 15225 * and limitations under the License. 15226 * 15227 * When distributing Covered Code, include this CDDL HEADER in each 15228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15229 * If applicable, add the following below this CDDL HEADER, with the 15230 * fields enclosed by brackets "[]" replaced with your own identifying 15231 * information: Portions Copyright [yyyy] [name of copyright owner] 15232 * 15233 * CDDL HEADER END 15234 */ 15235 /* 15236 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15237 * 15238 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15239 * Use is subject to license terms. 15240 */ 15241 15242 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15243 /* All Rights Reserved */ 15244 15245 15246 15247 15248 15249 15250 15251 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15252 /* 15253 * CDDL HEADER START 15254 * 15255 * The contents of this file are subject to the terms of the 15256 * Common Development and Distribution License (the "License"). 15257 * You may not use this file except in compliance with the License. 15258 * 15259 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15260 * or http://www.opensolaris.org/os/licensing. 15261 * See the License for the specific language governing permissions 15262 * and limitations under the License. 15263 * 15264 * When distributing Covered Code, include this CDDL HEADER in each 15265 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15266 * If applicable, add the following below this CDDL HEADER, with the 15267 * fields enclosed by brackets "[]" replaced with your own identifying 15268 * information: Portions Copyright [yyyy] [name of copyright owner] 15269 * 15270 * CDDL HEADER END 15271 */ 15272 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15273 /* All Rights Reserved */ 15274 15275 15276 /* 15277 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15278 * Use is subject to license terms. 15279 * 15280 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15281 * Copyright 2016 Joyent, Inc. 15282 */ 15283 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 15284 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 15285 /* 15286 * CDDL HEADER START 15287 * 15288 * The contents of this file are subject to the terms of the 15289 * Common Development and Distribution License (the "License"). 15290 * You may not use this file except in compliance with the License. 15291 * 15292 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15293 * or http://www.opensolaris.org/os/licensing. 15294 * See the License for the specific language governing permissions 15295 * and limitations under the License. 15296 * 15297 * When distributing Covered Code, include this CDDL HEADER in each 15298 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15299 * If applicable, add the following below this CDDL HEADER, with the 15300 * fields enclosed by brackets "[]" replaced with your own identifying 15301 * information: Portions Copyright [yyyy] [name of copyright owner] 15302 * 15303 * CDDL HEADER END 15304 */ 15305 /* 15306 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15307 * Use is subject to license terms. 15308 */ 15309 15310 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 15311 /* All Rights Reserved */ 15312 15313 /* 15314 * Portions of this source code were derived from Berkeley 4.3 BSD 15315 * under license from the Regents of the University of California. 15316 */ 15317 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 15318 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 15319 /* 17-21 reserved for obsolete interface */ 15320 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 15321 /* 15322 * Functions reserved for A_FREEZE (may not be available on all platforms) 15323 * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete 15324 * The first two are succeeded by AD_SUSPEND_TO_DISK and 15325 * AD_CHECK_SUSPEND_TO_DISK respectively. 15326 * AD_FORCE should not be used by any new application 15327 * 15328 * We maintain compatibility with the earlier interfaces: 15329 * AD_COMPRESS and AD_CHECK, by preserving those values 15330 * in the corresponding new interfaces 15331 */ 15332 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 15333 /* 15334 * NOTE: the following defines comprise an Unstable interface. Their semantics 15335 * may change or they may be removed completely in a later release 15336 */ 15337 15338 15339 15340 15341 15342 15343 15344 /* 15345 * Functions of A_CONFIG. Unstable interface. 15346 */ 15347 15348 15349 /* 15350 * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, 15351 * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most 15352 * 256 characters. 15353 */ 15354 15355 15356 15357 /* 15358 * FMRI for boot-config service. 15359 */ 15360 15361 15362 15363 /* 15364 * Property group that contains all Fast Reboot configuration properties. 15365 */ 15366 15367 15368 /* 15369 * Property group that contains all Fast Reboot blacklisting information. 15370 */ 15371 15372 15373 /* 15374 * Non-persistent property group which contains all the properties that 15375 * will override settings in the BOOT_CONFIG_PG_PARAMS property group. 15376 */ 15377 15378 15379 15380 15381 /* 15382 * Flag representations of fastboot configuration. 15383 */ 15384 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 15385 extern int uadmin(int, int, uintptr_t); 15386 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 15387 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 15388 /* 15389 * CDDL HEADER START 15390 * 15391 * The contents of this file are subject to the terms of the 15392 * Common Development and Distribution License, Version 1.0 only 15393 * (the "License"). You may not use this file except in compliance 15394 * with the License. 15395 * 15396 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15397 * or http://www.opensolaris.org/os/licensing. 15398 * See the License for the specific language governing permissions 15399 * and limitations under the License. 15400 * 15401 * When distributing Covered Code, include this CDDL HEADER in each 15402 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15403 * If applicable, add the following below this CDDL HEADER, with the 15404 * fields enclosed by brackets "[]" replaced with your own identifying 15405 * information: Portions Copyright [yyyy] [name of copyright owner] 15406 * 15407 * CDDL HEADER END 15408 */ 15409 /* 15410 * Copyright (c) 1991, Sun Microsystems, Inc. 15411 */ 15412 15413 /* 15414 * DKI/DDI MT synchronization primitives. 15415 */ 15416 15417 15418 15419 15420 #pragma ident "%Z%%M% %I% %E% SMI" 15421 15422 /* 15423 * The presence of this file is specified by the DKI/DDI. 15424 */ 15425 15426 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 15427 /* 15428 * CDDL HEADER START 15429 * 15430 * The contents of this file are subject to the terms of the 15431 * Common Development and Distribution License, Version 1.0 only 15432 * (the "License"). You may not use this file except in compliance 15433 * with the License. 15434 * 15435 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15436 * or http://www.opensolaris.org/os/licensing. 15437 * See the License for the specific language governing permissions 15438 * and limitations under the License. 15439 * 15440 * When distributing Covered Code, include this CDDL HEADER in each 15441 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15442 * If applicable, add the following below this CDDL HEADER, with the 15443 * fields enclosed by brackets "[]" replaced with your own identifying 15444 * information: Portions Copyright [yyyy] [name of copyright owner] 15445 * 15446 * CDDL HEADER END 15447 */ 15448 /* 15449 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 15450 * All rights reserved. 15451 */ 15452 15453 /* 15454 * t_lock.h: Prototypes for disp_locks, plus include files 15455 * that describe the interfaces to kernel synch. 15456 * objects. 15457 */ 15458 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 15459 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 15460 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 15461 /* 15462 * CDDL HEADER START 15463 * 15464 * The contents of this file are subject to the terms of the 15465 * Common Development and Distribution License (the "License"). 15466 * You may not use this file except in compliance with the License. 15467 * 15468 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15469 * or http://www.opensolaris.org/os/licensing. 15470 * See the License for the specific language governing permissions 15471 * and limitations under the License. 15472 * 15473 * When distributing Covered Code, include this CDDL HEADER in each 15474 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15475 * If applicable, add the following below this CDDL HEADER, with the 15476 * fields enclosed by brackets "[]" replaced with your own identifying 15477 * information: Portions Copyright [yyyy] [name of copyright owner] 15478 * 15479 * CDDL HEADER END 15480 */ 15481 /* 15482 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15483 * Use is subject to license terms. 15484 */ 15485 15486 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 15487 /* All Rights Reserved */ 15488 15489 /* 15490 * Portions of this source code were derived from Berkeley 4.3 BSD 15491 * under license from the Regents of the University of California. 15492 */ 15493 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 15494 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 15495 /* 15496 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15497 * Use is subject to license terms. 15498 * 15499 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 15500 */ 15501 /* 15502 * Copyright (c) 1982, 1986 Regents of the University of California. 15503 * All rights reserved. 15504 * 15505 * Redistribution and use in source and binary forms are permitted 15506 * provided that this notice is preserved and that due credit is given 15507 * to the University of California at Berkeley. The name of the University 15508 * may not be used to endorse or promote products derived from this 15509 * software without specific prior written permission. This software 15510 * is provided ``as is'' without express or implied warranty. 15511 */ 15512 15513 /* 15514 * Constants and structures defined by the internet system, 15515 * according to following documents 15516 * 15517 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 15518 * http://www.iana.org/assignments/protocol-numbers 15519 * http://www.iana.org/assignments/port-numbers 15520 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 15521 * 15522 */ 15523 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 15524 15525 15526 15527 15528 15529 /* 15530 * NOTE 15531 * 15532 * The contents of this file are private to the implementation of 15533 * Solaris and are subject to change at any time without notice. 15534 * Applications and drivers using these interfaces may fail to 15535 * run on future releases. 15536 */ 15537 15538 /* Available both in kernel and for user space */ 15539 15540 /* zone id restrictions and special ids */ 15541 15542 15543 15544 15545 15546 15547 /* 15548 * Special zoneid_t token to refer to all zones. 15549 */ 15550 15551 15552 /* system call subcodes */ 15553 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 15554 /* zone attributes */ 15555 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 15556 /* Start of the brand-specific attribute namespace */ 15557 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 15558 /* 15559 * Exit values that may be returned by scripts or programs invoked by various 15560 * zone commands. 15561 * 15562 * These are defined as: 15563 * 15564 * ZONE_SUBPROC_OK 15565 * =============== 15566 * The subprocess completed successfully. 15567 * 15568 * ZONE_SUBPROC_USAGE 15569 * ================== 15570 * The subprocess failed with a usage message, or a usage message should 15571 * be output in its behalf. 15572 * 15573 * ZONE_SUBPROC_NOTCOMPLETE 15574 * ======================== 15575 * The subprocess did not complete, but the actions performed by the 15576 * subprocess require no recovery actions by the user. 15577 * 15578 * For example, if the subprocess were called by "zoneadm install," the 15579 * installation of the zone did not succeed but the user need not perform 15580 * a "zoneadm uninstall" before attempting another install. 15581 * 15582 * ZONE_SUBPROC_FATAL 15583 * ================== 15584 * The subprocess failed in a fatal manner, usually one that will require 15585 * some type of recovery action by the user. 15586 * 15587 * For example, if the subprocess were called by "zoneadm install," the 15588 * installation of the zone did not succeed and the user will need to 15589 * perform a "zoneadm uninstall" before another install attempt is 15590 * possible. 15591 * 15592 * The non-success exit values are large to avoid accidental collision 15593 * with values used internally by some commands (e.g. "Z_ERR" and 15594 * "Z_USAGE" as used by zoneadm.) 15595 */ 15596 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 15597 typedef struct { 15598 const char *zone_name; 15599 const char *zone_root; 15600 const struct priv_set *zone_privs; 15601 size_t zone_privssz; 15602 const char *rctlbuf; 15603 size_t rctlbufsz; 15604 int *extended_error; 15605 const char *zfsbuf; 15606 size_t zfsbufsz; 15607 int match; /* match level */ 15608 uint32_t doi; /* DOI for label */ 15609 const bslabel_t *label; /* label associated with zone */ 15610 int flags; 15611 } zone_def; 15612 15613 /* extended error information */ 15614 15615 15616 15617 15618 15619 /* 15620 * zone_status values 15621 * 15622 * You must modify zone_status_names in mdb(1M)'s genunix module 15623 * (genunix/zone.c) when you modify this enum. 15624 */ 15625 typedef enum { 15626 ZONE_IS_UNINITIALIZED = 0, 15627 ZONE_IS_INITIALIZED, 15628 ZONE_IS_READY, 15629 ZONE_IS_BOOTING, 15630 ZONE_IS_RUNNING, 15631 ZONE_IS_SHUTTING_DOWN, 15632 ZONE_IS_EMPTY, 15633 ZONE_IS_DOWN, 15634 ZONE_IS_DYING, 15635 ZONE_IS_DEAD 15636 } zone_status_t; 15637 15638 15639 15640 /* 15641 * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also 15642 * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. 15643 */ 15644 typedef enum zone_cmd { 15645 Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, 15646 Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN 15647 } zone_cmd_t; 15648 15649 /* 15650 * The structure of a request to zoneadmd. 15651 */ 15652 typedef struct zone_cmd_arg { 15653 uint64_t uniqid; /* unique "generation number" */ 15654 zone_cmd_t cmd; /* requested action */ 15655 uint32_t _pad; /* need consistent 32/64 bit alignmt */ 15656 char locale[1024]; /* locale in which to render messages */ 15657 char bootbuf[256]; /* arguments passed to zone_boot() */ 15658 } zone_cmd_arg_t; 15659 15660 /* 15661 * Structure of zoneadmd's response to a request. A NULL return value means 15662 * the caller should attempt to restart zoneadmd and retry. 15663 */ 15664 typedef struct zone_cmd_rval { 15665 int rval; /* return value of request */ 15666 char errbuf[1]; /* variable-sized buffer containing error messages */ 15667 } zone_cmd_rval_t; 15668 15669 /* 15670 * The zone support infrastructure uses the zone name as a component 15671 * of unix domain (AF_UNIX) sockets, which are limited to 108 characters 15672 * in length, so ZONENAME_MAX is limited by that. 15673 */ 15674 15675 15676 15677 15678 /* 15679 * Extended Regular expression (see regex(5)) which matches all valid zone 15680 * names. 15681 */ 15682 15683 15684 /* 15685 * Where the zones support infrastructure places temporary files. 15686 */ 15687 15688 15689 /* 15690 * The path to the door used by clients to communicate with zoneadmd. 15691 */ 15692 15693 15694 15695 /* zone_flags */ 15696 /* 15697 * Threads that read or write the following flag must hold zone_lock. 15698 */ 15699 15700 15701 /* 15702 * The following threads are set when the zone is created and never changed. 15703 * Threads that test for these flags don't have to hold zone_lock. 15704 */ 15705 15706 15707 15708 15709 15710 /* zone_create flags */ 15711 15712 15713 /* zone network properties */ 15714 15715 15716 15717 15718 15719 15720 typedef struct zone_net_data { 15721 int zn_type; 15722 int zn_len; 15723 datalink_id_t zn_linkid; 15724 uint8_t zn_val[1]; 15725 } zone_net_data_t; 15726 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 15727 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 15728 /* 15729 * CDDL HEADER START 15730 * 15731 * The contents of this file are subject to the terms of the 15732 * Common Development and Distribution License (the "License"). 15733 * You may not use this file except in compliance with the License. 15734 * 15735 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15736 * or http://www.opensolaris.org/os/licensing. 15737 * See the License for the specific language governing permissions 15738 * and limitations under the License. 15739 * 15740 * When distributing Covered Code, include this CDDL HEADER in each 15741 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15742 * If applicable, add the following below this CDDL HEADER, with the 15743 * fields enclosed by brackets "[]" replaced with your own identifying 15744 * information: Portions Copyright [yyyy] [name of copyright owner] 15745 * 15746 * CDDL HEADER END 15747 */ 15748 /* 15749 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15750 * 15751 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 15752 */ 15753 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 15754 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1 15755 /* 15756 * CDDL HEADER START 15757 * 15758 * The contents of this file are subject to the terms of the 15759 * Common Development and Distribution License (the "License"). 15760 * You may not use this file except in compliance with the License. 15761 * 15762 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15763 * or http://www.opensolaris.org/os/licensing. 15764 * See the License for the specific language governing permissions 15765 * and limitations under the License. 15766 * 15767 * When distributing Covered Code, include this CDDL HEADER in each 15768 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15769 * If applicable, add the following below this CDDL HEADER, with the 15770 * fields enclosed by brackets "[]" replaced with your own identifying 15771 * information: Portions Copyright [yyyy] [name of copyright owner] 15772 * 15773 * CDDL HEADER END 15774 */ 15775 /* 15776 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15777 * Use is subject to license terms. 15778 */ 15779 15780 15781 15782 15783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 15784 /* 15785 * CDDL HEADER START 15786 * 15787 * The contents of this file are subject to the terms of the 15788 * Common Development and Distribution License (the "License"). 15789 * You may not use this file except in compliance with the License. 15790 * 15791 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15792 * or http://www.opensolaris.org/os/licensing. 15793 * See the License for the specific language governing permissions 15794 * and limitations under the License. 15795 * 15796 * When distributing Covered Code, include this CDDL HEADER in each 15797 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15798 * If applicable, add the following below this CDDL HEADER, with the 15799 * fields enclosed by brackets "[]" replaced with your own identifying 15800 * information: Portions Copyright [yyyy] [name of copyright owner] 15801 * 15802 * CDDL HEADER END 15803 */ 15804 /* 15805 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 15806 * Use is subject to license terms. 15807 * Copyright 2015 Nexenta Systems, Inc. 15808 */ 15809 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15810 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 15811 /* 15812 * CDDL HEADER START 15813 * 15814 * The contents of this file are subject to the terms of the 15815 * Common Development and Distribution License (the "License"). 15816 * You may not use this file except in compliance with the License. 15817 * 15818 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15819 * or http://www.opensolaris.org/os/licensing. 15820 * See the License for the specific language governing permissions 15821 * and limitations under the License. 15822 * 15823 * When distributing Covered Code, include this CDDL HEADER in each 15824 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15825 * If applicable, add the following below this CDDL HEADER, with the 15826 * fields enclosed by brackets "[]" replaced with your own identifying 15827 * information: Portions Copyright [yyyy] [name of copyright owner] 15828 * 15829 * CDDL HEADER END 15830 */ 15831 /* 15832 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15833 * Use is subject to license terms. 15834 */ 15835 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15836 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 15837 /* 15838 * CDDL HEADER START 15839 * 15840 * The contents of this file are subject to the terms of the 15841 * Common Development and Distribution License (the "License"). 15842 * You may not use this file except in compliance with the License. 15843 * 15844 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15845 * or http://www.opensolaris.org/os/licensing. 15846 * See the License for the specific language governing permissions 15847 * and limitations under the License. 15848 * 15849 * When distributing Covered Code, include this CDDL HEADER in each 15850 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15851 * If applicable, add the following below this CDDL HEADER, with the 15852 * fields enclosed by brackets "[]" replaced with your own identifying 15853 * information: Portions Copyright [yyyy] [name of copyright owner] 15854 * 15855 * CDDL HEADER END 15856 */ 15857 /* 15858 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15859 * 15860 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 15861 * Use is subject to license terms. 15862 */ 15863 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15864 15865 15866 15867 15868 15869 /* Procedural Interface Structure Definitions */ 15870 15871 struct label_info { /* structure returned by label_info */ 15872 short ilabel_len; /* max Information Label length */ 15873 short slabel_len; /* max Sensitivity Label length */ 15874 short clabel_len; /* max CMW Label length */ 15875 short clear_len; /* max Clearance Label length */ 15876 short vers_len; /* version string length */ 15877 short header_len; /* max len of banner page header */ 15878 short protect_as_len; /* max len of banner page protect as */ 15879 short caveats_len; /* max len of banner page caveats */ 15880 short channels_len; /* max len of banner page channels */ 15881 }; 15882 15883 typedef struct label_set_identifier { /* valid label set identifier */ 15884 int type; /* type of the set */ 15885 char *name; /* name of the set if needed */ 15886 } set_id; 15887 15888 struct name_fields { /* names for label builder fields */ 15889 char *class_name; /* Classifications field name */ 15890 char *comps_name; /* Compartments field name */ 15891 char *marks_name; /* Markings field name */ 15892 }; 15893 15894 /* Label Set Identifier Types */ 15895 15896 /* 15897 * The accreditation ranges as specified in the label encodings file. 15898 * The name parameter is ignored. 15899 * 15900 * System Accreditation Range is all valid labels plus Admin High and Low. 15901 * 15902 * User Accreditation Range is valid user labels as defined in the 15903 * ACCREDITATION RANGE: section of the label encodings file. 15904 */ 15905 15906 15907 15908 15909 15910 /* System Call Interface Definitions */ 15911 15912 extern int getlabel(const char *, m_label_t *); 15913 extern int fgetlabel(int, m_label_t *); 15914 15915 extern int getplabel(m_label_t *); 15916 extern int setflabel(const char *, m_label_t *); 15917 extern char *getpathbylabel(const char *, char *, size_t, 15918 const m_label_t *sl); 15919 extern m_label_t *getzonelabelbyid(zoneid_t); 15920 extern m_label_t *getzonelabelbyname(const char *); 15921 extern zoneid_t getzoneidbylabel(const m_label_t *); 15922 extern char *getzonenamebylabel(const m_label_t *); 15923 extern char *getzonerootbyid(zoneid_t); 15924 extern char *getzonerootbyname(const char *); 15925 extern char *getzonerootbylabel(const m_label_t *); 15926 extern m_label_t *getlabelbypath(const char *); 15927 15928 15929 /* Flag word values */ 15930 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 15931 /* implies NEW_LABEL */ 15932 15933 15934 15935 15936 /* Procedure Interface Definitions available to user */ 15937 15938 /* APIs shared with the kernel are in <sys/tsol/label.h */ 15939 15940 extern m_label_t *blabel_alloc(void); 15941 extern void blabel_free(m_label_t *); 15942 extern size32_t blabel_size(void); 15943 extern char *bsltoh(const m_label_t *); 15944 extern char *bcleartoh(const m_label_t *); 15945 15946 extern char *bsltoh_r(const m_label_t *, char *); 15947 extern char *bcleartoh_r(const m_label_t *, char *); 15948 extern char *h_alloc(uint8_t); 15949 extern void h_free(char *); 15950 15951 extern int htobsl(const char *, m_label_t *); 15952 extern int htobclear(const char *, m_label_t *); 15953 15954 extern m_range_t *getuserrange(const char *); 15955 extern m_range_t *getdevicerange(const char *); 15956 15957 extern int set_effective_priv(priv_op_t, int, ...); 15958 extern int set_inheritable_priv(priv_op_t, int, ...); 15959 extern int set_permitted_priv(priv_op_t, int, ...); 15960 extern int is_system_labeled(void); 15961 15962 /* Procedures needed for multi-level printing */ 15963 15964 extern int tsol_check_admin_auth(uid_t uid); 15965 15966 /* APIs implemented via labeld */ 15967 15968 extern int blinset(const m_label_t *, const set_id *); 15969 extern int labelinfo(struct label_info *); 15970 extern ssize_t labelvers(char **, size_t); 15971 extern char *bltocolor(const m_label_t *); 15972 extern char *bltocolor_r(const m_label_t *, size_t, char *); 15973 15974 extern ssize_t bsltos(const m_label_t *, char **, size_t, int); 15975 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int); 15976 15977 15978 extern char *sbsltos(const m_label_t *, size_t); 15979 extern char *sbcleartos(const m_label_t *, size_t); 15980 15981 15982 extern int stobsl(const char *, m_label_t *, int, int *); 15983 extern int stobclear(const char *, m_label_t *, int, int *); 15984 extern int bslvalid(const m_label_t *); 15985 extern int bclearvalid(const m_label_t *); 15986 15987 /* DIA label conversion and parsing */ 15988 15989 /* Conversion types */ 15990 15991 typedef enum _m_label_str { 15992 M_LABEL = 1, /* process or user clearance */ 15993 M_INTERNAL = 2, /* internal form for use in public databases */ 15994 M_COLOR = 3, /* process label color */ 15995 PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */ 15996 PRINTER_LABEL = 5, /* DIA banner page label */ 15997 PRINTER_CAVEATS = 6, /* DIA banner page caveats */ 15998 PRINTER_CHANNELS = 7 /* DIA banner page handling channels */ 15999 } m_label_str_t; 16000 16001 /* Flags for conversion, not all flags apply to all types */ 16002 16003 16004 16005 16006 extern int label_to_str(const m_label_t *, char **, const m_label_str_t, 16007 uint_t); 16008 extern int l_to_str_internal(const m_label_t *, char **); 16009 16010 /* Parsing types */ 16011 typedef enum _m_label_type { 16012 MAC_LABEL = 1, /* process or object label */ 16013 USER_CLEAR = 2 /* user's clearance (LUB) */ 16014 } m_label_type_t; 16015 16016 /* Flags for parsing */ 16017 16018 16019 16020 16021 16022 16023 /* EINVAL sub codes */ 16024 16025 16026 16027 /* bad requested label type, bad previous label type */ 16028 16029 16030 extern int str_to_label(const char *, m_label_t **, const m_label_type_t, 16031 uint_t, int *); 16032 extern int hexstr_to_label(const char *, m_label_t *); 16033 16034 extern m_label_t *m_label_alloc(const m_label_type_t); 16035 16036 extern int m_label_dup(m_label_t **, const m_label_t *); 16037 16038 extern void m_label_free(m_label_t *); 16039 16040 /* Contract Private interfaces with the label builder GUIs */ 16041 16042 extern int bslcvtfull(const m_label_t *, const m_range_t *, int, 16043 char **, char **[], char **[], char *[], int *, int *); 16044 extern int bslcvt(const m_label_t *, int, char **, char *[]); 16045 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int, 16046 char **, char **[], char **[], char *[], int *, int *); 16047 extern int bclearcvt(const m_label_t *, int, char **, char *[]); 16048 16049 extern int labelfields(struct name_fields *); 16050 extern int userdefs(m_label_t *, m_label_t *); 16051 extern int zonecopy(m_label_t *, char *, char *, char *, int); 16052 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 16053 16054 16055 16056 16057 16058 /* 16059 * Functions for mapping between id and name for active zones. 16060 */ 16061 extern zoneid_t getzoneid(void); 16062 extern zoneid_t getzoneidbyname(const char *); 16063 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t); 16064 16065 /* 16066 * NOTE 16067 * 16068 * The remaining contents of this file are private to the implementation 16069 * of Solaris and are subject to change at any time without notice, 16070 * Applications using these interfaces may fail to run on future releases. 16071 */ 16072 16073 extern int zonept(int, zoneid_t); 16074 extern int zone_get_id(const char *, zoneid_t *); 16075 16076 /* System call API */ 16077 extern zoneid_t zone_create(const char *, const char *, 16078 const struct priv_set *, const char *, size_t, const char *, size_t, int *, 16079 int, int, const bslabel_t *, int); 16080 extern int zone_boot(zoneid_t); 16081 extern int zone_destroy(zoneid_t); 16082 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t); 16083 extern int zone_setattr(zoneid_t, int, void *, size_t); 16084 extern int zone_enter(zoneid_t); 16085 extern int zone_list(zoneid_t *, uint_t *); 16086 extern int zone_shutdown(zoneid_t); 16087 extern int zone_version(int *); 16088 extern int zone_add_datalink(zoneid_t, datalink_id_t); 16089 extern int zone_remove_datalink(zoneid_t, datalink_id_t); 16090 extern int zone_check_datalink(zoneid_t *, datalink_id_t); 16091 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *); 16092 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16093 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1 16094 /* 16095 * CDDL HEADER START 16096 * 16097 * The contents of this file are subject to the terms of the 16098 * Common Development and Distribution License (the "License"). 16099 * You may not use this file except in compliance with the License. 16100 * 16101 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16102 * or http://www.opensolaris.org/os/licensing. 16103 * See the License for the specific language governing permissions 16104 * and limitations under the License. 16105 * 16106 * When distributing Covered Code, include this CDDL HEADER in each 16107 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16108 * If applicable, add the following below this CDDL HEADER, with the 16109 * fields enclosed by brackets "[]" replaced with your own identifying 16110 * information: Portions Copyright [yyyy] [name of copyright owner] 16111 * 16112 * CDDL HEADER END 16113 */ 16114 16115 /* 16116 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 16117 * Copyright (c) 2011, Joyent, Inc. All rights reserved. 16118 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 16119 */ 16120 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 16121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16122 /* 16123 * CDDL HEADER START 16124 * 16125 * The contents of this file are subject to the terms of the 16126 * Common Development and Distribution License (the "License"). 16127 * You may not use this file except in compliance with the License. 16128 * 16129 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16130 * or http://www.opensolaris.org/os/licensing. 16131 * See the License for the specific language governing permissions 16132 * and limitations under the License. 16133 * 16134 * When distributing Covered Code, include this CDDL HEADER in each 16135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16136 * If applicable, add the following below this CDDL HEADER, with the 16137 * fields enclosed by brackets "[]" replaced with your own identifying 16138 * information: Portions Copyright [yyyy] [name of copyright owner] 16139 * 16140 * CDDL HEADER END 16141 */ 16142 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16143 /* All Rights Reserved */ 16144 16145 16146 /* 16147 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16148 * Use is subject to license terms. 16149 * 16150 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16151 * Copyright 2016 Joyent, Inc. 16152 */ 16153 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2 16154 16155 typedef struct __brand_handle *brand_handle_t; 16156 16157 typedef struct priv_iter_s { 16158 char *pi_name; 16159 char *pi_set; 16160 char *pi_iptype; 16161 } priv_iter_t; 16162 16163 extern brand_handle_t brand_open(const char *); 16164 extern void brand_close(brand_handle_t); 16165 16166 extern boolean_t brand_allow_exclusive_ip(brand_handle_t); 16167 16168 extern int brand_get_attach(brand_handle_t, const char *, const char *, 16169 char *, size_t); 16170 extern int brand_get_boot(brand_handle_t, const char *, const char *, 16171 char *, size_t); 16172 extern int brand_get_brandname(brand_handle_t, char *, size_t); 16173 extern int brand_get_clone(brand_handle_t, const char *, const char *, 16174 char *, size_t); 16175 extern int brand_get_detach(brand_handle_t, const char *, const char *, 16176 char *, size_t); 16177 extern int brand_get_shutdown(brand_handle_t, const char *, const char *, 16178 char *, size_t); 16179 extern int brand_get_halt(brand_handle_t, const char *, const char *, 16180 char *, size_t); 16181 extern int brand_get_initname(brand_handle_t, char *, size_t); 16182 extern boolean_t brand_restartinit(brand_handle_t); 16183 extern int brand_get_install(brand_handle_t, const char *, const char *, 16184 char *, size_t); 16185 extern int brand_get_installopts(brand_handle_t, char *, size_t); 16186 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t); 16187 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *, 16188 char *, size_t); 16189 extern int brand_get_modname(brand_handle_t, char *, size_t); 16190 extern int brand_get_postattach(brand_handle_t, const char *, const char *, 16191 char *, size_t); 16192 extern int brand_get_postclone(brand_handle_t, const char *, const char *, 16193 char *, size_t); 16194 extern int brand_get_postinstall(brand_handle_t, const char *, const char *, 16195 char *, size_t); 16196 extern int brand_get_postsnap(brand_handle_t, const char *, const char *, 16197 char *, size_t); 16198 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *, 16199 char *, size_t); 16200 extern int brand_get_predetach(brand_handle_t, const char *, const char *, 16201 char *, size_t); 16202 extern int brand_get_presnap(brand_handle_t, const char *, const char *, 16203 char *, size_t); 16204 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *, 16205 char *, size_t); 16206 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *, 16207 char *, size_t); 16208 extern int brand_get_query(brand_handle_t, const char *, const char *, 16209 char *, size_t); 16210 extern int brand_get_uninstall(brand_handle_t, const char *, const char *, 16211 char *, size_t); 16212 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *, 16213 char *, size_t); 16214 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t); 16215 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t); 16216 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *, 16217 char *, size_t); 16218 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *, 16219 size_t); 16220 16221 extern int brand_config_iter_privilege(brand_handle_t, 16222 int (*func)(void *, priv_iter_t *), void *); 16223 16224 extern int brand_platform_iter_devices(brand_handle_t, const char *, 16225 int (*)(void *, const char *, const char *), void *, const char *); 16226 extern int brand_platform_iter_gmounts(brand_handle_t, const char *, 16227 int (*)(void *, const char *, const char *, const char *, const char *), 16228 void *); 16229 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *, 16230 const char *, const char *), void *); 16231 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *, 16232 const char *, const char *, const char *, const char *), void *); 16233 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1 16235 /* 16236 * CDDL HEADER START 16237 * 16238 * The contents of this file are subject to the terms of the 16239 * Common Development and Distribution License, Version 1.0 only 16240 * (the "License"). You may not use this file except in compliance 16241 * with the License. 16242 * 16243 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16244 * or http://www.opensolaris.org/os/licensing. 16245 * See the License for the specific language governing permissions 16246 * and limitations under the License. 16247 * 16248 * When distributing Covered Code, include this CDDL HEADER in each 16249 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16250 * If applicable, add the following below this CDDL HEADER, with the 16251 * fields enclosed by brackets "[]" replaced with your own identifying 16252 * information: Portions Copyright [yyyy] [name of copyright owner] 16253 * 16254 * CDDL HEADER END 16255 */ 16256 /* 16257 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16258 * Use is subject to license terms. 16259 */ 16260 16261 16262 16263 16264 #pragma ident "%Z%%M% %I% %E% SMI" 16265 16266 16267 16268 16269 16270 /* 16271 * The copyright in this file is taken from the original Leach 16272 * & Salz UUID specification, from which this implementation 16273 * is derived. 16274 */ 16275 16276 /* 16277 * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. 16278 * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & 16279 * Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 16280 * Microsoft. To anyone who acknowledges that this file is provided 16281 * "AS IS" without any express or implied warranty: permission to use, 16282 * copy, modify, and distribute this file for any purpose is hereby 16283 * granted without fee, provided that the above copyright notices and 16284 * this notice appears in all source code copies, and that none of the 16285 * names of Open Software Foundation, Inc., Hewlett-Packard Company, 16286 * or Digital Equipment Corporation be used in advertising or 16287 * publicity pertaining to distribution of the software without 16288 * specific, written prior permission. Neither Open Software 16289 * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital 16290 * Equipment Corporation makes any representations about the 16291 * suitability of this software for any purpose. 16292 */ 16293 16294 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16295 /* 16296 * CDDL HEADER START 16297 * 16298 * The contents of this file are subject to the terms of the 16299 * Common Development and Distribution License (the "License"). 16300 * You may not use this file except in compliance with the License. 16301 * 16302 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16303 * or http://www.opensolaris.org/os/licensing. 16304 * See the License for the specific language governing permissions 16305 * and limitations under the License. 16306 * 16307 * When distributing Covered Code, include this CDDL HEADER in each 16308 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16309 * If applicable, add the following below this CDDL HEADER, with the 16310 * fields enclosed by brackets "[]" replaced with your own identifying 16311 * information: Portions Copyright [yyyy] [name of copyright owner] 16312 * 16313 * CDDL HEADER END 16314 */ 16315 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16316 /* All Rights Reserved */ 16317 16318 16319 /* 16320 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16321 * Use is subject to license terms. 16322 * 16323 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16324 * Copyright 2016 Joyent, Inc. 16325 */ 16326 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 16327 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 16328 /* 16329 * CDDL HEADER START 16330 * 16331 * The contents of this file are subject to the terms of the 16332 * Common Development and Distribution License (the "License"). 16333 * You may not use this file except in compliance with the License. 16334 * 16335 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16336 * or http://www.opensolaris.org/os/licensing. 16337 * See the License for the specific language governing permissions 16338 * and limitations under the License. 16339 * 16340 * When distributing Covered Code, include this CDDL HEADER in each 16341 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16342 * If applicable, add the following below this CDDL HEADER, with the 16343 * fields enclosed by brackets "[]" replaced with your own identifying 16344 * information: Portions Copyright [yyyy] [name of copyright owner] 16345 * 16346 * CDDL HEADER END 16347 */ 16348 16349 /* 16350 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16351 * Use is subject to license terms. 16352 */ 16353 16354 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16355 /* All Rights Reserved */ 16356 16357 /* 16358 * University Copyright- Copyright (c) 1982, 1986, 1988 16359 * The Regents of the University of California 16360 * All Rights Reserved 16361 * 16362 * University Acknowledgment- Portions of this document are derived from 16363 * software developed by the University of California, Berkeley, and its 16364 * contributors. 16365 */ 16366 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 16367 16368 typedef struct { 16369 uint8_t nodeID[6]; 16370 } uuid_node_t; 16371 16372 /* 16373 * The uuid type used throughout when referencing uuids themselves 16374 */ 16375 struct uuid { 16376 uint32_t time_low; 16377 uint16_t time_mid; 16378 uint16_t time_hi_and_version; 16379 uint8_t clock_seq_hi_and_reserved; 16380 uint8_t clock_seq_low; 16381 uint8_t node_addr[6]; 16382 }; 16383 16384 16385 16386 16387 16388 typedef uchar_t uuid_t[16]; 16389 16390 /* 16391 * Convert a uuid to/from little-endian format 16392 */ 16393 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16394 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1 16395 /* 16396 * CDDL HEADER START 16397 * 16398 * The contents of this file are subject to the terms of the 16399 * Common Development and Distribution License (the "License"). 16400 * You may not use this file except in compliance with the License. 16401 * 16402 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16403 * or http://www.opensolaris.org/os/licensing. 16404 * See the License for the specific language governing permissions 16405 * and limitations under the License. 16406 * 16407 * When distributing Covered Code, include this CDDL HEADER in each 16408 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16409 * If applicable, add the following below this CDDL HEADER, with the 16410 * fields enclosed by brackets "[]" replaced with your own identifying 16411 * information: Portions Copyright [yyyy] [name of copyright owner] 16412 * 16413 * CDDL HEADER END 16414 */ 16415 /* 16416 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 16417 */ 16418 16419 16420 16421 16422 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16423 /* 16424 * CDDL HEADER START 16425 * 16426 * The contents of this file are subject to the terms of the 16427 * Common Development and Distribution License (the "License"). 16428 * You may not use this file except in compliance with the License. 16429 * 16430 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16431 * or http://www.opensolaris.org/os/licensing. 16432 * See the License for the specific language governing permissions 16433 * and limitations under the License. 16434 * 16435 * When distributing Covered Code, include this CDDL HEADER in each 16436 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16437 * If applicable, add the following below this CDDL HEADER, with the 16438 * fields enclosed by brackets "[]" replaced with your own identifying 16439 * information: Portions Copyright [yyyy] [name of copyright owner] 16440 * 16441 * CDDL HEADER END 16442 */ 16443 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16444 /* All Rights Reserved */ 16445 16446 16447 /* 16448 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16449 * Use is subject to license terms. 16450 * 16451 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16452 * Copyright 2016 Joyent, Inc. 16453 */ 16454 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 16455 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 16456 /* 16457 * CDDL HEADER START 16458 * 16459 * The contents of this file are subject to the terms of the 16460 * Common Development and Distribution License, Version 1.0 only 16461 * (the "License"). You may not use this file except in compliance 16462 * with the License. 16463 * 16464 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16465 * or http://www.opensolaris.org/os/licensing. 16466 * See the License for the specific language governing permissions 16467 * and limitations under the License. 16468 * 16469 * When distributing Covered Code, include this CDDL HEADER in each 16470 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16471 * If applicable, add the following below this CDDL HEADER, with the 16472 * fields enclosed by brackets "[]" replaced with your own identifying 16473 * information: Portions Copyright [yyyy] [name of copyright owner] 16474 * 16475 * CDDL HEADER END 16476 */ 16477 /* Copyright (c) 1988 AT&T */ 16478 /* All Rights Reserved */ 16479 16480 /* 16481 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16482 * 16483 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16484 * Use is subject to license terms. 16485 */ 16486 16487 16488 16489 16490 /* 16491 * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 16492 * variable argument definitions. For legacy support, it also defines 16493 * the pre-standard variable argument definitions. 16494 * 16495 * The varargs definitions within this header are defined in terms of 16496 * implementation definitions. These implementation definitions reside 16497 * in <sys/va_list.h>. This organization enables protected use of 16498 * the implementation by other standard headers without introducing 16499 * names into the users' namespace. 16500 */ 16501 16502 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 16503 /* 16504 * CDDL HEADER START 16505 * 16506 * The contents of this file are subject to the terms of the 16507 * Common Development and Distribution License, Version 1.0 only 16508 * (the "License"). You may not use this file except in compliance 16509 * with the License. 16510 * 16511 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16512 * or http://www.opensolaris.org/os/licensing. 16513 * See the License for the specific language governing permissions 16514 * and limitations under the License. 16515 * 16516 * When distributing Covered Code, include this CDDL HEADER in each 16517 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16518 * If applicable, add the following below this CDDL HEADER, with the 16519 * fields enclosed by brackets "[]" replaced with your own identifying 16520 * information: Portions Copyright [yyyy] [name of copyright owner] 16521 * 16522 * CDDL HEADER END 16523 */ 16524 /* Copyright (c) 1988 AT&T */ 16525 /* All Rights Reserved */ 16526 16527 16528 /* 16529 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16530 * Use is subject to license terms. 16531 */ 16532 16533 /* 16534 * An application should not include this header directly. Instead it 16535 * should be included only through the inclusion of other Sun headers. 16536 * 16537 * The contents of this header is limited to identifiers specified in the 16538 * C Standard. Any new identifiers specified in future amendments to the 16539 * C Standard must be placed in this header. If these new identifiers 16540 * are required to also be in the C++ Standard "std" namespace, then for 16541 * anything other than macro definitions, corresponding "using" directives 16542 * must also be added to <stdarg.h>. 16543 */ 16544 16545 16546 16547 16548 #pragma ident "%Z%%M% %I% %E% SMI" 16549 16550 /* 16551 * This header defines the ISO C 1989 and ISO C++ 1998 variable 16552 * argument definitions. 16553 * 16554 * The varargs definitions within this header are defined in terms of 16555 * implementation definitions. These implementation definitions reside 16556 * in <sys/va_impl.h>. This organization enables protected use of 16557 * the implementation by other standard headers without introducing 16558 * names into the users' namespace. 16559 */ 16560 16561 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1 16562 /* 16563 * CDDL HEADER START 16564 * 16565 * The contents of this file are subject to the terms of the 16566 * Common Development and Distribution License, Version 1.0 only 16567 * (the "License"). You may not use this file except in compliance 16568 * with the License. 16569 * 16570 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16571 * or http://www.opensolaris.org/os/licensing. 16572 * See the License for the specific language governing permissions 16573 * and limitations under the License. 16574 * 16575 * When distributing Covered Code, include this CDDL HEADER in each 16576 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16577 * If applicable, add the following below this CDDL HEADER, with the 16578 * fields enclosed by brackets "[]" replaced with your own identifying 16579 * information: Portions Copyright [yyyy] [name of copyright owner] 16580 * 16581 * CDDL HEADER END 16582 */ 16583 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16584 /* All Rights Reserved */ 16585 16586 16587 /* 16588 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16589 * 16590 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16591 * Use is subject to license terms. 16592 */ 16593 16594 16595 16596 16597 /* 16598 * An application should not include this header directly. Instead it 16599 * should be included only through the inclusion of other Sun headers, 16600 * specifically <stdarg.h> and <varargs.h>. 16601 * 16602 * This header serves two purposes. 16603 * 16604 * First, it provides a common set of definitions that implementations 16605 * of the various standards for variable argument lists may use. These 16606 * various standards are implemented in <varargs.h>, <stdarg.h>, 16607 * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>. 16608 * 16609 * Second, it provides varying implementations of the common definitions, 16610 * depending upon the compiler. 16611 */ 16612 16613 /* 16614 * The common definitions exported by this header or compilers using 16615 * this header are: 16616 * 16617 * the macro __va_start(list, name) starting the list iteration 16618 * the macro __va_arg(list, type) getting the current arg and iterating 16619 * the macro __va_copy(to, from) to bookmark the list iteration 16620 * the macro __va_end(list) to end the iteration 16621 * 16622 * In addition, the following are exported via inclusion of <sys/va_list.h>: 16623 * 16624 * the identifier __builtin_va_alist for the variable list pseudo parameter 16625 * the type __va_alist_type for the variable list pseudo parameter 16626 * the type __va_list defining the type of the variable list iterator 16627 */ 16628 16629 /* 16630 * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and 16631 * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor 16632 * macros (e.g. __sparc) to determine the protocol appropriate to the 16633 * current compilation. It is intended that the compilation system 16634 * define the feature, processor, and compiler macros, not the user of 16635 * the system. 16636 */ 16637 16638 /* 16639 * Many compilation systems depend upon the use of special functions 16640 * built into the the compilation system to handle variable argument 16641 * lists. These built-in symbols may include one or more of the 16642 * following: 16643 * 16644 * __builtin_va_alist 16645 * __builtin_va_start 16646 * __builtin_va_arg_incr 16647 * __builtin_stdarg_start 16648 * __builtin_va_end 16649 * __builtin_va_arg 16650 * __builtin_va_copy 16651 */ 16652 16653 /* 16654 * The following are defined in <sys/va_list.h>: 16655 * 16656 * __va_alist_type 16657 * __va_void() 16658 * __va_ptr_base 16659 * ISA definitions via inclusion of <sys/isa_defs.h> 16660 * 16661 * Inclusion of this header also makes visible the symbols in <sys/va_list.h>. 16662 * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h> 16663 * via inclusion of <iso/stdarg_iso.h>. 16664 */ 16665 16666 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 16667 /* 16668 * CDDL HEADER START 16669 * 16670 * The contents of this file are subject to the terms of the 16671 * Common Development and Distribution License, Version 1.0 only 16672 * (the "License"). You may not use this file except in compliance 16673 * with the License. 16674 * 16675 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16676 * or http://www.opensolaris.org/os/licensing. 16677 * See the License for the specific language governing permissions 16678 * and limitations under the License. 16679 * 16680 * When distributing Covered Code, include this CDDL HEADER in each 16681 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16682 * If applicable, add the following below this CDDL HEADER, with the 16683 * fields enclosed by brackets "[]" replaced with your own identifying 16684 * information: Portions Copyright [yyyy] [name of copyright owner] 16685 * 16686 * CDDL HEADER END 16687 */ 16688 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16689 /* All Rights Reserved */ 16690 16691 16692 /* 16693 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16694 * 16695 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16696 * Use is subject to license terms. 16697 */ 16698 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 16699 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 16700 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 16701 typedef __va_list va_list; 16702 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 16703 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 16704 /* 16705 * CDDL HEADER START 16706 * 16707 * The contents of this file are subject to the terms of the 16708 * Common Development and Distribution License, Version 1.0 only 16709 * (the "License"). You may not use this file except in compliance 16710 * with the License. 16711 * 16712 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16713 * or http://www.opensolaris.org/os/licensing. 16714 * See the License for the specific language governing permissions 16715 * and limitations under the License. 16716 * 16717 * When distributing Covered Code, include this CDDL HEADER in each 16718 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16719 * If applicable, add the following below this CDDL HEADER, with the 16720 * fields enclosed by brackets "[]" replaced with your own identifying 16721 * information: Portions Copyright [yyyy] [name of copyright owner] 16722 * 16723 * CDDL HEADER END 16724 */ 16725 /* Copyright (c) 1988 AT&T */ 16726 /* All Rights Reserved */ 16727 16728 16729 /* 16730 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16731 * Use is subject to license terms. 16732 */ 16733 16734 16735 16736 16737 #pragma ident "%Z%%M% %I% %E% SMI" 16738 16739 /* 16740 * An application should not include this header directly. Instead it 16741 * should be included only through the inclusion of other Sun headers. 16742 * 16743 * This header defines the va_copy variable argument macro, which is 16744 * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ 16745 * 1998. Because this macro is a long-standing Solaris extension, it 16746 * is also permitted in other contexts. 16747 * 16748 * The varargs definitions within this header are defined in terms of 16749 * implementation definitions. These implementation definitions reside 16750 * in <sys/va_list.h>. This organization enables protected use of 16751 * the implementation by other standard headers without introducing 16752 * names into the users' namespace. 16753 */ 16754 16755 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 16756 /* 16757 * CDDL HEADER START 16758 * 16759 * The contents of this file are subject to the terms of the 16760 * Common Development and Distribution License (the "License"). 16761 * You may not use this file except in compliance with the License. 16762 * 16763 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16764 * or http://www.opensolaris.org/os/licensing. 16765 * See the License for the specific language governing permissions 16766 * and limitations under the License. 16767 * 16768 * When distributing Covered Code, include this CDDL HEADER in each 16769 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16770 * If applicable, add the following below this CDDL HEADER, with the 16771 * fields enclosed by brackets "[]" replaced with your own identifying 16772 * information: Portions Copyright [yyyy] [name of copyright owner] 16773 * 16774 * CDDL HEADER END 16775 */ 16776 16777 /* 16778 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 16779 * Copyright 2016 Joyent, Inc. 16780 * 16781 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16782 * Use is subject to license terms. 16783 */ 16784 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 16785 16786 16787 16788 16789 16790 /* 16791 * va_copy was initially a Solaris extension to provide a portable 16792 * way to perform a variable argument list ``bookmarking'' function. 16793 * It is now specified in the ISO/IEC 9899:1999 standard. 16794 */ 16795 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 16796 16797 /* 16798 * Allow global visibility for symbols defined in 16799 * C++ "std" namespace in <iso/stdarg_iso.h>. 16800 */ 16801 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 16802 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 16803 /* 16804 * CDDL HEADER START 16805 * 16806 * The contents of this file are subject to the terms of the 16807 * Common Development and Distribution License (the "License"). 16808 * You may not use this file except in compliance with the License. 16809 * 16810 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16811 * or http://www.opensolaris.org/os/licensing. 16812 * See the License for the specific language governing permissions 16813 * and limitations under the License. 16814 * 16815 * When distributing Covered Code, include this CDDL HEADER in each 16816 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16817 * If applicable, add the following below this CDDL HEADER, with the 16818 * fields enclosed by brackets "[]" replaced with your own identifying 16819 * information: Portions Copyright [yyyy] [name of copyright owner] 16820 * 16821 * CDDL HEADER END 16822 */ 16823 16824 /* 16825 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16826 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 16827 */ 16828 16829 /* Copyright (c) 1988 AT&T */ 16830 /* All Rights Reserved */ 16831 16832 /* 16833 * User-visible pieces of the ANSI C standard I/O package. 16834 */ 16835 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 16836 16837 16838 16839 16840 16841 /* 16842 * Standard flags codes. 16843 */ 16844 16845 16846 /* 16847 * Standard error codes. 16848 */ 16849 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 16850 /* 16851 * Standard program exit codes. 16852 */ 16853 16854 16855 16856 16857 /* 16858 * Exit status profiles. 16859 */ 16860 16861 16862 16863 /* 16864 * Error reporting functions. 16865 */ 16866 uint32_t uu_error(void); 16867 const char *uu_strerror(uint32_t); 16868 16869 /* 16870 * Program notification functions. 16871 */ 16872 extern void uu_alt_exit(int); 16873 extern const char *uu_setpname(char *); 16874 extern const char *uu_getpname(void); 16875 /*PRINTFLIKE1*/ 16876 extern void uu_warn(const char *, ...); 16877 extern void uu_vwarn(const char *, va_list); 16878 /*PRINTFLIKE1*/ 16879 extern void uu_die(const char *, ...) __attribute__((__noreturn__)); 16880 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__)); 16881 /*PRINTFLIKE2*/ 16882 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__)); 16883 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__)); 16884 16885 /* 16886 * Exit status functions (not to be used directly) 16887 */ 16888 extern int *uu_exit_ok(void); 16889 extern int *uu_exit_fatal(void); 16890 extern int *uu_exit_usage(void); 16891 16892 /* 16893 * string->number conversions 16894 */ 16895 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t); 16896 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t); 16897 16898 /* 16899 * Debug print facility functions. 16900 */ 16901 typedef struct uu_dprintf uu_dprintf_t; 16902 16903 typedef enum { 16904 UU_DPRINTF_SILENT, 16905 UU_DPRINTF_FATAL, 16906 UU_DPRINTF_WARNING, 16907 UU_DPRINTF_NOTICE, 16908 UU_DPRINTF_INFO, 16909 UU_DPRINTF_DEBUG 16910 } uu_dprintf_severity_t; 16911 16912 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t, 16913 uint_t); 16914 /*PRINTFLIKE3*/ 16915 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t, 16916 const char *, ...); 16917 extern void uu_dprintf_destroy(uu_dprintf_t *); 16918 extern const char *uu_dprintf_getname(uu_dprintf_t *); 16919 16920 /* 16921 * Identifier test flags and function. 16922 */ 16923 16924 16925 16926 int uu_check_name(const char *, uint_t); 16927 16928 /* 16929 * File creation functions. 16930 */ 16931 extern int uu_open_tmp(const char *dir, uint_t uflags); 16932 16933 /* 16934 * Convenience functions. 16935 */ 16936 16937 16938 /*PRINTFLIKE1*/ 16939 extern char *uu_msprintf(const char *format, ...); 16940 extern void *uu_zalloc(size_t); 16941 extern char *uu_strdup(const char *); 16942 extern void uu_free(void *); 16943 16944 extern boolean_t uu_strcaseeq(const char *a, const char *b); 16945 extern boolean_t uu_streq(const char *a, const char *b); 16946 extern char *uu_strndup(const char *s, size_t n); 16947 extern boolean_t uu_strbw(const char *a, const char *b); 16948 extern void *uu_memdup(const void *buf, size_t sz); 16949 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len); 16950 16951 /* 16952 * Comparison function type definition. 16953 * Developers should be careful in their use of the _private argument. If you 16954 * break interface guarantees, you get undefined behavior. 16955 */ 16956 typedef int uu_compare_fn_t(const void *__left, const void *__right, 16957 void *__private); 16958 16959 /* 16960 * Walk variant flags. 16961 * A data structure need not provide support for all variants and 16962 * combinations. Refer to the appropriate documentation. 16963 */ 16964 16965 16966 16967 16968 16969 16970 /* 16971 * Walk callback function return codes. 16972 */ 16973 16974 16975 16976 16977 /* 16978 * Walk callback function type definition. 16979 */ 16980 typedef int uu_walk_fn_t(void *_elem, void *_private); 16981 16982 /* 16983 * lists: opaque structures 16984 */ 16985 typedef struct uu_list_pool uu_list_pool_t; 16986 typedef struct uu_list uu_list_t; 16987 16988 typedef struct uu_list_node { 16989 uintptr_t uln_opaque[2]; 16990 } uu_list_node_t; 16991 16992 typedef struct uu_list_walk uu_list_walk_t; 16993 16994 typedef uintptr_t uu_list_index_t; 16995 16996 /* 16997 * lists: interface 16998 * 16999 * basic usage: 17000 * typedef struct foo { 17001 * ... 17002 * uu_list_node_t foo_node; 17003 * ... 17004 * } foo_t; 17005 * 17006 * static int 17007 * foo_compare(void *l_arg, void *r_arg, void *private) 17008 * { 17009 * foo_t *l = l_arg; 17010 * foo_t *r = r_arg; 17011 * 17012 * if (... l greater than r ...) 17013 * return (1); 17014 * if (... l less than r ...) 17015 * return (-1); 17016 * return (0); 17017 * } 17018 * 17019 * ... 17020 * // at initialization time 17021 * foo_pool = uu_list_pool_create("foo_pool", 17022 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 17023 * debugging? 0 : UU_AVL_POOL_DEBUG); 17024 * ... 17025 */ 17026 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t, 17027 uu_compare_fn_t *, uint32_t); 17028 17029 17030 void uu_list_pool_destroy(uu_list_pool_t *); 17031 17032 /* 17033 * usage: 17034 * 17035 * foo_t *a; 17036 * a = malloc(sizeof(*a)); 17037 * uu_list_node_init(a, &a->foo_list, pool); 17038 * ... 17039 * uu_list_node_fini(a, &a->foo_list, pool); 17040 * free(a); 17041 */ 17042 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *); 17043 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *); 17044 17045 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t); 17046 17047 17048 17049 void uu_list_destroy(uu_list_t *); /* list must be empty */ 17050 17051 size_t uu_list_numnodes(uu_list_t *); 17052 17053 void *uu_list_first(uu_list_t *); 17054 void *uu_list_last(uu_list_t *); 17055 17056 void *uu_list_next(uu_list_t *, void *); 17057 void *uu_list_prev(uu_list_t *, void *); 17058 17059 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t); 17060 17061 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t); 17062 void *uu_list_walk_next(uu_list_walk_t *); 17063 void uu_list_walk_end(uu_list_walk_t *); 17064 17065 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *); 17066 void uu_list_insert(uu_list_t *, void *, uu_list_index_t); 17067 17068 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t); 17069 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t); 17070 17071 void *uu_list_teardown(uu_list_t *, void **); 17072 17073 void uu_list_remove(uu_list_t *, void *); 17074 17075 /* 17076 * lists: interfaces for non-sorted lists only 17077 */ 17078 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem); 17079 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem); 17080 17081 /* 17082 * avl trees: opaque structures 17083 */ 17084 typedef struct uu_avl_pool uu_avl_pool_t; 17085 typedef struct uu_avl uu_avl_t; 17086 17087 typedef struct uu_avl_node { 17088 17089 uintptr_t uan_opaque[3]; 17090 17091 17092 17093 } uu_avl_node_t; 17094 17095 typedef struct uu_avl_walk uu_avl_walk_t; 17096 17097 typedef uintptr_t uu_avl_index_t; 17098 17099 /* 17100 * avl trees: interface 17101 * 17102 * basic usage: 17103 * typedef struct foo { 17104 * ... 17105 * uu_avl_node_t foo_node; 17106 * ... 17107 * } foo_t; 17108 * 17109 * static int 17110 * foo_compare(void *l_arg, void *r_arg, void *private) 17111 * { 17112 * foo_t *l = l_arg; 17113 * foo_t *r = r_arg; 17114 * 17115 * if (... l greater than r ...) 17116 * return (1); 17117 * if (... l less than r ...) 17118 * return (-1); 17119 * return (0); 17120 * } 17121 * 17122 * ... 17123 * // at initialization time 17124 * foo_pool = uu_avl_pool_create("foo_pool", 17125 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 17126 * debugging? 0 : UU_AVL_POOL_DEBUG); 17127 * ... 17128 */ 17129 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t, 17130 uu_compare_fn_t *, uint32_t); 17131 17132 17133 void uu_avl_pool_destroy(uu_avl_pool_t *); 17134 17135 /* 17136 * usage: 17137 * 17138 * foo_t *a; 17139 * a = malloc(sizeof(*a)); 17140 * uu_avl_node_init(a, &a->foo_avl, pool); 17141 * ... 17142 * uu_avl_node_fini(a, &a->foo_avl, pool); 17143 * free(a); 17144 */ 17145 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *); 17146 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *); 17147 17148 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t); 17149 17150 17151 void uu_avl_destroy(uu_avl_t *); /* list must be empty */ 17152 17153 size_t uu_avl_numnodes(uu_avl_t *); 17154 17155 void *uu_avl_first(uu_avl_t *); 17156 void *uu_avl_last(uu_avl_t *); 17157 17158 void *uu_avl_next(uu_avl_t *, void *); 17159 void *uu_avl_prev(uu_avl_t *, void *); 17160 17161 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t); 17162 17163 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t); 17164 void *uu_avl_walk_next(uu_avl_walk_t *); 17165 void uu_avl_walk_end(uu_avl_walk_t *); 17166 17167 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *); 17168 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t); 17169 17170 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t); 17171 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t); 17172 17173 void *uu_avl_teardown(uu_avl_t *, void **); 17174 17175 void uu_avl_remove(uu_avl_t *, void *); 17176 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17177 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1 17178 /* 17179 * CDDL HEADER START 17180 * 17181 * The contents of this file are subject to the terms of the 17182 * Common Development and Distribution License (the "License"). 17183 * You may not use this file except in compliance with the License. 17184 * 17185 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17186 * or http://www.opensolaris.org/os/licensing. 17187 * See the License for the specific language governing permissions 17188 * and limitations under the License. 17189 * 17190 * When distributing Covered Code, include this CDDL HEADER in each 17191 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17192 * If applicable, add the following below this CDDL HEADER, with the 17193 * fields enclosed by brackets "[]" replaced with your own identifying 17194 * information: Portions Copyright [yyyy] [name of copyright owner] 17195 * 17196 * CDDL HEADER END 17197 */ 17198 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17199 /* All Rights Reserved */ 17200 17201 17202 /* 17203 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17204 * 17205 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17206 * Use is subject to license terms. 17207 */ 17208 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17209 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 17210 /* 17211 * CDDL HEADER START 17212 * 17213 * The contents of this file are subject to the terms of the 17214 * Common Development and Distribution License (the "License"). 17215 * You may not use this file except in compliance with the License. 17216 * 17217 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17218 * or http://www.opensolaris.org/os/licensing. 17219 * See the License for the specific language governing permissions 17220 * and limitations under the License. 17221 * 17222 * When distributing Covered Code, include this CDDL HEADER in each 17223 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17224 * If applicable, add the following below this CDDL HEADER, with the 17225 * fields enclosed by brackets "[]" replaced with your own identifying 17226 * information: Portions Copyright [yyyy] [name of copyright owner] 17227 * 17228 * CDDL HEADER END 17229 */ 17230 17231 /* 17232 * Copyright (c) 2013 Gary Mills 17233 * 17234 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 17235 * Use is subject to license terms. 17236 */ 17237 17238 /* Copyright (c) 1988 AT&T */ 17239 /* All Rights Reserved */ 17240 17241 17242 17243 17244 17245 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17246 /* 17247 * CDDL HEADER START 17248 * 17249 * The contents of this file are subject to the terms of the 17250 * Common Development and Distribution License (the "License"). 17251 * You may not use this file except in compliance with the License. 17252 * 17253 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17254 * or http://www.opensolaris.org/os/licensing. 17255 * See the License for the specific language governing permissions 17256 * and limitations under the License. 17257 * 17258 * When distributing Covered Code, include this CDDL HEADER in each 17259 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17260 * If applicable, add the following below this CDDL HEADER, with the 17261 * fields enclosed by brackets "[]" replaced with your own identifying 17262 * information: Portions Copyright [yyyy] [name of copyright owner] 17263 * 17264 * CDDL HEADER END 17265 */ 17266 17267 /* 17268 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17269 * Copyright 2016 Joyent, Inc. 17270 * 17271 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17272 * Use is subject to license terms. 17273 */ 17274 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 17275 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 17276 /* 17277 * CDDL HEADER START 17278 * 17279 * The contents of this file are subject to the terms of the 17280 * Common Development and Distribution License (the "License"). 17281 * You may not use this file except in compliance with the License. 17282 * 17283 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17284 * or http://www.opensolaris.org/os/licensing. 17285 * See the License for the specific language governing permissions 17286 * and limitations under the License. 17287 * 17288 * 17289 * When distributing Covered Code, include this CDDL HEADER in each 17290 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17291 * If applicable, add the following below this CDDL HEADER, with the 17292 * fields enclosed by brackets "[]" replaced with your own identifying 17293 * information: Portions Copyright [yyyy] [name of copyright owner] 17294 * 17295 * CDDL HEADER END 17296 */ 17297 17298 /* 17299 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 17300 * Use is subject to license terms. 17301 * Copyright 2016 Joyent, Inc. 17302 */ 17303 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 17304 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 17305 /* 17306 * CDDL HEADER START 17307 * 17308 * The contents of this file are subject to the terms of the 17309 * Common Development and Distribution License, Version 1.0 only 17310 * (the "License"). You may not use this file except in compliance 17311 * with the License. 17312 * 17313 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17314 * or http://www.opensolaris.org/os/licensing. 17315 * See the License for the specific language governing permissions 17316 * and limitations under the License. 17317 * 17318 * When distributing Covered Code, include this CDDL HEADER in each 17319 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17320 * If applicable, add the following below this CDDL HEADER, with the 17321 * fields enclosed by brackets "[]" replaced with your own identifying 17322 * information: Portions Copyright [yyyy] [name of copyright owner] 17323 * 17324 * CDDL HEADER END 17325 */ 17326 /* 17327 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 17328 * Use is subject to license terms. 17329 */ 17330 17331 /* Copyright (c) 1988 AT&T */ 17332 /* All Rights Reserved */ 17333 17334 17335 /* 17336 * An application should not include this header directly. Instead it 17337 * should be included only through the inclusion of other Sun headers. 17338 * 17339 * The contents of this header is limited to identifiers specified in the 17340 * C Standard. Any new identifiers specified in future amendments to the 17341 * C Standard must be placed in this header. If these new identifiers 17342 * are required to also be in the C++ Standard "std" namespace, then for 17343 * anything other than macro definitions, corresponding "using" directives 17344 * must also be added to <limits.h>. 17345 */ 17346 17347 17348 17349 17350 #pragma ident "%Z%%M% %I% %E% SMI" 17351 17352 17353 17354 17355 17356 /* 17357 * Sizes of integral types 17358 */ 17359 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 17360 /* min value of a "long int" */ 17361 17362 /* max value of a "long int" */ 17363 17364 /* max value of "unsigned long int" */ 17365 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 17366 /* min value of a long long */ 17367 17368 /* max value of a long long */ 17369 17370 /* max value of "unsigned long long */ 17371 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 17372 17373 /* 17374 * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C 17375 * committee's working draft for the revision of the current ISO C standard, 17376 * ISO/IEC 9899:1990 Programming language - C. These are not currently 17377 * required by any standard but constitute a useful, general purpose set 17378 * of type definitions and limits which is namespace clean with respect to 17379 * all standards. 17380 */ 17381 17382 17383 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 17384 /* 17385 * CDDL HEADER START 17386 * 17387 * The contents of this file are subject to the terms of the 17388 * Common Development and Distribution License, Version 1.0 only 17389 * (the "License"). You may not use this file except in compliance 17390 * with the License. 17391 * 17392 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17393 * or http://www.opensolaris.org/os/licensing. 17394 * See the License for the specific language governing permissions 17395 * and limitations under the License. 17396 * 17397 * When distributing Covered Code, include this CDDL HEADER in each 17398 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17399 * If applicable, add the following below this CDDL HEADER, with the 17400 * fields enclosed by brackets "[]" replaced with your own identifying 17401 * information: Portions Copyright [yyyy] [name of copyright owner] 17402 * 17403 * CDDL HEADER END 17404 */ 17405 /* 17406 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17407 * 17408 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17409 * Use is subject to license terms. 17410 */ 17411 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 17412 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17413 /* 17414 * ARG_MAX is calculated as follows: 17415 * NCARGS - space for other stuff on initial stack 17416 * like aux vectors, saved registers, etc.. 17417 */ 17418 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17419 /* 17420 * POSIX conformant definitions - An implementation may define 17421 * other symbols which reflect the actual implementation. Alternate 17422 * definitions may not be as restrictive as the POSIX definitions. 17423 */ 17424 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17425 /* POSIX.1c conformant */ 17426 17427 17428 17429 17430 17431 /* UNIX 03 conformant */ 17432 17433 17434 17435 17436 17437 /* 17438 * POSIX.2 and XPG4-XSH4 conformant definitions 17439 */ 17440 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17441 /* UNIX 03 conformant */ 17442 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17443 /* 17444 * For dual definitions for PASS_MAX and sysconf.c 17445 */ 17446 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17447 /* NLS printf() and scanf() */ 17448 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17449 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ 17450 17451 17452 17453 /* of a double */ 17454 17455 17456 /* of a "float" */ 17457 17458 17459 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ 17460 17461 17462 /* of a double */ 17463 17464 /* of a float */ 17465 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17466 /* 17467 * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the 17468 * related text states: 17469 * 17470 * A definition of one of the values from Table 2-5 shall be omitted from the 17471 * <limits.h> on specific implementations where the corresponding value is 17472 * equal to or greater than the stated minimum, but where the value can vary 17473 * depending on the file to which it is applied. The actual value supported for 17474 * a specific pathname shall be provided by the pathconf() (5.7.1) function. 17475 * 17476 * This is clear that any machine supporting multiple file system types 17477 * and/or a network can not include this define, regardless of protection 17478 * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. 17479 * 17480 * #define NAME_MAX 14 17481 */ 17482 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 17483 /* Increased for illumos */ 17484 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17485 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 1 17486 /* 17487 * CDDL HEADER START 17488 * 17489 * The contents of this file are subject to the terms of the 17490 * Common Development and Distribution License, Version 1.0 only 17491 * (the "License"). You may not use this file except in compliance 17492 * with the License. 17493 * 17494 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17495 * or http://www.opensolaris.org/os/licensing. 17496 * See the License for the specific language governing permissions 17497 * and limitations under the License. 17498 * 17499 * When distributing Covered Code, include this CDDL HEADER in each 17500 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17501 * If applicable, add the following below this CDDL HEADER, with the 17502 * fields enclosed by brackets "[]" replaced with your own identifying 17503 * information: Portions Copyright [yyyy] [name of copyright owner] 17504 * 17505 * CDDL HEADER END 17506 */ 17507 /* 17508 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17509 * 17510 * Copyright 1997 Sun Microsystems, Inc. All rights reserved. 17511 * Use is subject to license terms. 17512 */ 17513 17514 /* Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T */ 17515 /* All Rights Reserved */ 17516 17517 /* 17518 * Portions of this source code were derived from Berkeley 4.3 BSD 17519 * under license from the Regents of the University of California. 17520 */ 17521 17522 17523 17524 17525 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17526 /* 17527 * CDDL HEADER START 17528 * 17529 * The contents of this file are subject to the terms of the 17530 * Common Development and Distribution License (the "License"). 17531 * You may not use this file except in compliance with the License. 17532 * 17533 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17534 * or http://www.opensolaris.org/os/licensing. 17535 * See the License for the specific language governing permissions 17536 * and limitations under the License. 17537 * 17538 * When distributing Covered Code, include this CDDL HEADER in each 17539 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17540 * If applicable, add the following below this CDDL HEADER, with the 17541 * fields enclosed by brackets "[]" replaced with your own identifying 17542 * information: Portions Copyright [yyyy] [name of copyright owner] 17543 * 17544 * CDDL HEADER END 17545 */ 17546 17547 /* 17548 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17549 * Copyright 2016 Joyent, Inc. 17550 * 17551 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17552 * Use is subject to license terms. 17553 */ 17554 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17555 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17556 /* 17557 * CDDL HEADER START 17558 * 17559 * The contents of this file are subject to the terms of the 17560 * Common Development and Distribution License (the "License"). 17561 * You may not use this file except in compliance with the License. 17562 * 17563 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17564 * or http://www.opensolaris.org/os/licensing. 17565 * See the License for the specific language governing permissions 17566 * and limitations under the License. 17567 * 17568 * When distributing Covered Code, include this CDDL HEADER in each 17569 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17570 * If applicable, add the following below this CDDL HEADER, with the 17571 * fields enclosed by brackets "[]" replaced with your own identifying 17572 * information: Portions Copyright [yyyy] [name of copyright owner] 17573 * 17574 * CDDL HEADER END 17575 */ 17576 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17577 /* All Rights Reserved */ 17578 17579 17580 /* 17581 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17582 * Use is subject to license terms. 17583 * 17584 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17585 * Copyright 2016 Joyent, Inc. 17586 */ 17587 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17588 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 17589 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17590 /* All Rights Reserved */ 17591 17592 17593 /* 17594 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 17595 * All rights reserved. The Berkeley software License Agreement 17596 * specifies the terms and conditions for redistribution. 17597 */ 17598 17599 /* 17600 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17601 * 17602 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17603 * Use is subject to license terms. 17604 * 17605 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17606 */ 17607 17608 /* 17609 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 17610 */ 17611 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17612 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1 17613 /* 17614 * CDDL HEADER START 17615 * 17616 * The contents of this file are subject to the terms of the 17617 * Common Development and Distribution License, Version 1.0 only 17618 * (the "License"). You may not use this file except in compliance 17619 * with the License. 17620 * 17621 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17622 * or http://www.opensolaris.org/os/licensing. 17623 * See the License for the specific language governing permissions 17624 * and limitations under the License. 17625 * 17626 * When distributing Covered Code, include this CDDL HEADER in each 17627 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17628 * If applicable, add the following below this CDDL HEADER, with the 17629 * fields enclosed by brackets "[]" replaced with your own identifying 17630 * information: Portions Copyright [yyyy] [name of copyright owner] 17631 * 17632 * CDDL HEADER END 17633 */ 17634 /* Copyright (c) 1988 AT&T */ 17635 /* All Rights Reserved */ 17636 17637 17638 /* 17639 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17640 * 17641 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17642 * Use is subject to license terms. 17643 */ 17644 17645 17646 17647 17648 17649 /* 17650 * Note: The getutent(3c) family of interfaces are obsolete. 17651 * The getutxent(3c) family provide a superset of this functionality 17652 * and should be used in place of getutent(3c). 17653 */ 17654 17655 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17656 /* 17657 * CDDL HEADER START 17658 * 17659 * The contents of this file are subject to the terms of the 17660 * Common Development and Distribution License (the "License"). 17661 * You may not use this file except in compliance with the License. 17662 * 17663 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17664 * or http://www.opensolaris.org/os/licensing. 17665 * See the License for the specific language governing permissions 17666 * and limitations under the License. 17667 * 17668 * When distributing Covered Code, include this CDDL HEADER in each 17669 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17670 * If applicable, add the following below this CDDL HEADER, with the 17671 * fields enclosed by brackets "[]" replaced with your own identifying 17672 * information: Portions Copyright [yyyy] [name of copyright owner] 17673 * 17674 * CDDL HEADER END 17675 */ 17676 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17677 /* All Rights Reserved */ 17678 17679 17680 /* 17681 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17682 * Use is subject to license terms. 17683 * 17684 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17685 * Copyright 2016 Joyent, Inc. 17686 */ 17687 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 17688 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 17689 struct exit_status { 17690 short e_termination; /* Process termination status */ 17691 short e_exit; /* Process exit status */ 17692 }; 17693 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 17694 /* 17695 * This data structure describes the utmp entries returned by 17696 * the getutent(3c) family of APIs. It does not (necessarily) 17697 * correspond to the contents of the utmp or wtmp files. 17698 * 17699 * Applications should only interact with this subsystem via 17700 * the getutxent(3c) family of APIs, as the getutent(3c) family 17701 * are obsolete. 17702 */ 17703 struct utmp { 17704 char ut_user[8]; /* User login name */ 17705 char ut_id[4]; /* /etc/inittab id(usually line #) */ 17706 char ut_line[12]; /* device name (console, lnxx) */ 17707 short ut_pid; /* short for compat. - process id */ 17708 short ut_type; /* type of entry */ 17709 struct exit_status ut_exit; /* The exit status of a process */ 17710 /* marked as DEAD_PROCESS. */ 17711 time_t ut_time; /* time entry was made */ 17712 }; 17713 17714 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 17715 /* 17716 * CDDL HEADER START 17717 * 17718 * The contents of this file are subject to the terms of the 17719 * Common Development and Distribution License (the "License"). 17720 * You may not use this file except in compliance with the License. 17721 * 17722 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17723 * or http://www.opensolaris.org/os/licensing. 17724 * See the License for the specific language governing permissions 17725 * and limitations under the License. 17726 * 17727 * When distributing Covered Code, include this CDDL HEADER in each 17728 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17729 * If applicable, add the following below this CDDL HEADER, with the 17730 * fields enclosed by brackets "[]" replaced with your own identifying 17731 * information: Portions Copyright [yyyy] [name of copyright owner] 17732 * 17733 * CDDL HEADER END 17734 */ 17735 /* 17736 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 17737 * Use is subject to license terms. 17738 * Copyright 2015 Nexenta Systems, Inc. 17739 */ 17740 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 17741 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 17742 /* 17743 * CDDL HEADER START 17744 * 17745 * The contents of this file are subject to the terms of the 17746 * Common Development and Distribution License, Version 1.0 only 17747 * (the "License"). You may not use this file except in compliance 17748 * with the License. 17749 * 17750 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17751 * or http://www.opensolaris.org/os/licensing. 17752 * See the License for the specific language governing permissions 17753 * and limitations under the License. 17754 * 17755 * When distributing Covered Code, include this CDDL HEADER in each 17756 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17757 * If applicable, add the following below this CDDL HEADER, with the 17758 * fields enclosed by brackets "[]" replaced with your own identifying 17759 * information: Portions Copyright [yyyy] [name of copyright owner] 17760 * 17761 * CDDL HEADER END 17762 */ 17763 /* 17764 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17765 * 17766 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 17767 * Use is subject to license terms. 17768 */ 17769 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 17770 17771 /* 17772 * This data structure describes the utmp *file* contents using 17773 * fixed-width data types. It should only be used by the implementation. 17774 * 17775 * Applications should use the getutxent(3c) family of routines to interact 17776 * with this database. 17777 */ 17778 17779 struct futmp { 17780 char ut_user[8]; /* User login name */ 17781 char ut_id[4]; /* /etc/inittab id */ 17782 char ut_line[12]; /* device name (console, lnxx) */ 17783 int16_t ut_pid; /* process id */ 17784 int16_t ut_type; /* type of entry */ 17785 struct { 17786 int16_t e_termination; /* Process termination status */ 17787 int16_t e_exit; /* Process exit status */ 17788 } ut_exit; /* The exit status of a process */ 17789 time32_t ut_time; /* time entry was made */ 17790 }; 17791 17792 17793 17794 /* Definitions for ut_type */ 17795 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 17796 /* Special strings or formats used in the "ut_line" field when */ 17797 /* accounting for something other than a process. */ 17798 /* No string for the ut_line field can be more than 11 chars + */ 17799 /* a NULL in length. */ 17800 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 17801 /* Define and macro for determing if a normal user wrote the entry */ 17802 /* and marking the utmpx entry as a normal user */ 17803 17804 17805 17806 17807 17808 extern void endutent(void); 17809 extern struct utmp *getutent(void); 17810 extern struct utmp *getutid(const struct utmp *); 17811 extern struct utmp *getutline(const struct utmp *); 17812 extern struct utmp *pututline(const struct utmp *); 17813 extern void setutent(void); 17814 extern int utmpname(const char *); 17815 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17816 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 17817 /* 17818 * This data structure describes the utmpx entries returned by 17819 * the getutxent(3c) family of APIs. It does not (necessarily) 17820 * correspond to the contents of the utmpx or wtmpx files. 17821 * 17822 * Applications should only interact with this subsystem via 17823 * the getutxent(3c) family of APIs. 17824 */ 17825 struct utmpx { 17826 char ut_user[32]; /* user login name */ 17827 char ut_id[4]; /* inittab id */ 17828 char ut_line[32]; /* device name (console, lnxx) */ 17829 pid_t ut_pid; /* process id */ 17830 short ut_type; /* type of entry */ 17831 17832 struct exit_status ut_exit; /* process termination/exit status */ 17833 17834 17835 17836 struct timeval ut_tv; /* time entry was made */ 17837 int ut_session; /* session ID, used for windowing */ 17838 17839 int pad[5]; /* reserved for future use */ 17840 17841 17842 17843 short ut_syslen; /* significant length of ut_host */ 17844 /* including terminating null */ 17845 char ut_host[257]; /* remote host name */ 17846 }; 17847 17848 17849 17850 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 17851 /* 17852 * CDDL HEADER START 17853 * 17854 * The contents of this file are subject to the terms of the 17855 * Common Development and Distribution License (the "License"). 17856 * You may not use this file except in compliance with the License. 17857 * 17858 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17859 * or http://www.opensolaris.org/os/licensing. 17860 * See the License for the specific language governing permissions 17861 * and limitations under the License. 17862 * 17863 * When distributing Covered Code, include this CDDL HEADER in each 17864 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17865 * If applicable, add the following below this CDDL HEADER, with the 17866 * fields enclosed by brackets "[]" replaced with your own identifying 17867 * information: Portions Copyright [yyyy] [name of copyright owner] 17868 * 17869 * CDDL HEADER END 17870 */ 17871 /* 17872 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 17873 * Use is subject to license terms. 17874 * Copyright 2015 Nexenta Systems, Inc. 17875 */ 17876 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 17878 /* 17879 * CDDL HEADER START 17880 * 17881 * The contents of this file are subject to the terms of the 17882 * Common Development and Distribution License, Version 1.0 only 17883 * (the "License"). You may not use this file except in compliance 17884 * with the License. 17885 * 17886 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17887 * or http://www.opensolaris.org/os/licensing. 17888 * See the License for the specific language governing permissions 17889 * and limitations under the License. 17890 * 17891 * When distributing Covered Code, include this CDDL HEADER in each 17892 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17893 * If applicable, add the following below this CDDL HEADER, with the 17894 * fields enclosed by brackets "[]" replaced with your own identifying 17895 * information: Portions Copyright [yyyy] [name of copyright owner] 17896 * 17897 * CDDL HEADER END 17898 */ 17899 /* 17900 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17901 * 17902 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 17903 * Use is subject to license terms. 17904 */ 17905 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 17906 17907 /* 17908 * This data structure describes the utmp *file* contents using 17909 * fixed-width data types. It should only be used by the implementation. 17910 * 17911 * Applications should use the getutxent(3c) family of routines to interact 17912 * with this database. 17913 */ 17914 17915 struct futmpx { 17916 char ut_user[32]; /* user login name */ 17917 char ut_id[4]; /* inittab id */ 17918 char ut_line[32]; /* device name (console, lnxx) */ 17919 pid32_t ut_pid; /* process id */ 17920 int16_t ut_type; /* type of entry */ 17921 struct { 17922 int16_t e_termination; /* process termination status */ 17923 int16_t e_exit; /* process exit status */ 17924 } ut_exit; /* exit status of a process */ 17925 struct timeval32 ut_tv; /* time entry was made */ 17926 int32_t ut_session; /* session ID, user for windowing */ 17927 int32_t pad[5]; /* reserved for future use */ 17928 int16_t ut_syslen; /* significant length of ut_host */ 17929 char ut_host[257]; /* remote host name */ 17930 }; 17931 17932 17933 17934 /* Define and macro for determing if a normal user wrote the entry */ 17935 /* and marking the utmpx entry as a normal user */ 17936 17937 17938 17939 17940 17941 17942 extern void endutxent(void); 17943 extern struct utmpx *getutxent(void); 17944 extern struct utmpx *getutxid(const struct utmpx *); 17945 extern struct utmpx *getutxline(const struct utmpx *); 17946 extern struct utmpx *pututxline(const struct utmpx *); 17947 extern void setutxent(void); 17948 17949 17950 extern int utmpxname(const char *); 17951 extern struct utmpx *makeutx(const struct utmpx *); 17952 extern struct utmpx *modutx(const struct utmpx *); 17953 extern void getutmp(const struct utmpx *, struct utmp *); 17954 extern void getutmpx(const struct utmp *, struct utmpx *); 17955 extern void updwtmp(const char *, struct utmp *); 17956 extern void updwtmpx(const char *, struct utmpx *); 17957 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17958 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 17959 /* 17960 * Warning: these are shared with the admin/install consolidation. 17961 * Do not insert states between any of the currently defined states, 17962 * and any new states must be evaluated for impact on range comparisons. 17963 */ 17964 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 17965 /* Owner, group, and mode (defined by packaging) for the config directory */ 17966 17967 17968 17969 17970 /* Owner, group, and mode (defined by packaging) for the index file */ 17971 17972 17973 17974 17975 /* The maximum length of the VERSION string in the pkginfo(4) file. */ 17976 17977 17978 /* 17979 * Shortened alias names for the zones rctls. 17980 */ 17981 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 17982 /* Default name for zone detached manifest */ 17983 17984 17985 /* 17986 * Bit flag definitions for passing into libzonecfg functions. 17987 */ 17988 17989 17990 /* 17991 * The integer field expresses the current values on a get. 17992 * On a put, it represents the new values if >= 0 or "don't change" if < 0. 17993 */ 17994 struct zoneent { 17995 char zone_name[64]; /* name of the zone */ 17996 int zone_state; /* configured | incomplete | installed */ 17997 char zone_path[1024]; /* path to zone storage */ 17998 uuid_t zone_uuid; /* unique ID for zone */ 17999 char zone_newname[64]; /* for doing renames */ 18000 }; 18001 18002 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */ 18003 18004 typedef uint_t zone_state_t; 18005 18006 typedef struct zone_fsopt { 18007 struct zone_fsopt *zone_fsopt_next; 18008 char zone_fsopt_opt[1024]; 18009 } zone_fsopt_t; 18010 18011 struct zone_fstab { 18012 char zone_fs_special[1024]; /* special file */ 18013 char zone_fs_dir[1024]; /* mount point */ 18014 char zone_fs_type[16]; /* e.g. ufs */ 18015 zone_fsopt_t *zone_fs_options; /* mount options */ 18016 char zone_fs_raw[1024]; /* device to fsck */ 18017 }; 18018 18019 struct zone_nwiftab { 18020 char zone_nwif_address[46]; /* shared-ip only */ 18021 char zone_nwif_allowed_address[46]; /* excl-ip only */ 18022 char zone_nwif_physical[32]; 18023 char zone_nwif_defrouter[46]; 18024 }; 18025 18026 struct zone_devtab { 18027 char zone_dev_match[1024]; 18028 }; 18029 18030 struct zone_rctlvaltab { 18031 char zone_rctlval_priv[256]; 18032 char zone_rctlval_limit[256]; 18033 char zone_rctlval_action[256]; 18034 struct zone_rctlvaltab *zone_rctlval_next; 18035 }; 18036 18037 struct zone_rctltab { 18038 char zone_rctl_name[256]; 18039 struct zone_rctlvaltab *zone_rctl_valptr; 18040 }; 18041 18042 struct zone_attrtab { 18043 char zone_attr_name[256]; 18044 char zone_attr_type[256]; 18045 char zone_attr_value[2 * 1024]; 18046 }; 18047 18048 struct zone_dstab { 18049 char zone_dataset_name[256]; 18050 }; 18051 18052 struct zone_psettab { 18053 char zone_ncpu_min[256]; 18054 char zone_ncpu_max[256]; 18055 char zone_importance[256]; 18056 }; 18057 18058 struct zone_mcaptab { 18059 char zone_physmem_cap[256]; 18060 }; 18061 18062 struct zone_pkgtab { 18063 char zone_pkg_name[256]; 18064 char zone_pkg_version[256]; 18065 }; 18066 18067 struct zone_devpermtab { 18068 char zone_devperm_name[1024]; 18069 uid_t zone_devperm_uid; 18070 gid_t zone_devperm_gid; 18071 mode_t zone_devperm_mode; 18072 char *zone_devperm_acl; 18073 }; 18074 18075 struct zone_admintab { 18076 char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))]; 18077 char zone_admin_auths[4096]; 18078 }; 18079 18080 typedef struct zone_userauths { 18081 char user[(sizeof (((struct utmpx *)0)->ut_user))]; 18082 char zonename[64]; 18083 struct zone_userauths *next; 18084 } zone_userauths_t; 18085 18086 typedef struct { 18087 uu_avl_node_t zpe_entry; 18088 char *zpe_name; 18089 char *zpe_vers; 18090 } zone_pkg_entry_t; 18091 18092 typedef enum zone_iptype { 18093 ZS_SHARED, 18094 ZS_EXCLUSIVE 18095 } zone_iptype_t; 18096 18097 /* 18098 * Basic configuration management routines. 18099 */ 18100 extern zone_dochandle_t zonecfg_init_handle(void); 18101 extern int zonecfg_get_handle(const char *, zone_dochandle_t); 18102 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t); 18103 extern int zonecfg_get_template_handle(const char *, const char *, 18104 zone_dochandle_t); 18105 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t); 18106 extern int zonecfg_check_handle(zone_dochandle_t); 18107 extern void zonecfg_fini_handle(zone_dochandle_t); 18108 extern int zonecfg_destroy(const char *, boolean_t); 18109 extern int zonecfg_destroy_snapshot(const char *); 18110 extern int zonecfg_save(zone_dochandle_t); 18111 extern int zonecfg_create_snapshot(const char *); 18112 extern char *zonecfg_strerror(int); 18113 extern int zonecfg_access(const char *, int); 18114 extern void zonecfg_set_root(const char *); 18115 extern const char *zonecfg_get_root(void); 18116 extern boolean_t zonecfg_in_alt_root(void); 18117 extern int zonecfg_num_resources(zone_dochandle_t, char *); 18118 extern int zonecfg_del_all_resources(zone_dochandle_t, char *); 18119 extern boolean_t zonecfg_valid_ncpus(char *, char *); 18120 extern boolean_t zonecfg_valid_importance(char *); 18121 extern int zonecfg_str_to_bytes(char *, uint64_t *); 18122 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *); 18123 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *); 18124 18125 /* 18126 * Zone name, path to zone directory, autoboot setting, pool, boot 18127 * arguments, and scheduling-class. 18128 */ 18129 extern int zonecfg_validate_zonename(const char *); 18130 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t); 18131 extern int zonecfg_set_name(zone_dochandle_t, char *); 18132 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t); 18133 extern int zonecfg_set_zonepath(zone_dochandle_t, char *); 18134 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *); 18135 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t); 18136 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *); 18137 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t); 18138 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t); 18139 extern int zonecfg_set_pool(zone_dochandle_t, char *); 18140 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t); 18141 extern int zonecfg_set_bootargs(zone_dochandle_t, char *); 18142 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t); 18143 extern int zonecfg_set_sched(zone_dochandle_t, char *); 18144 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int); 18145 18146 /* 18147 * Set/retrieve the brand for the zone 18148 */ 18149 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t); 18150 extern int zonecfg_set_brand(zone_dochandle_t, char *); 18151 18152 /* 18153 * Filesystem configuration. 18154 */ 18155 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *); 18156 extern int zonecfg_delete_filesystem(zone_dochandle_t, 18157 struct zone_fstab *); 18158 extern int zonecfg_modify_filesystem(zone_dochandle_t, 18159 struct zone_fstab *, struct zone_fstab *); 18160 extern int zonecfg_lookup_filesystem(zone_dochandle_t, 18161 struct zone_fstab *); 18162 extern int zonecfg_add_fs_option(struct zone_fstab *, char *); 18163 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *); 18164 extern void zonecfg_free_fs_option_list(zone_fsopt_t *); 18165 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *, 18166 void *), void *); 18167 18168 /* 18169 * Network interface configuration. 18170 */ 18171 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *); 18172 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *); 18173 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *, 18174 struct zone_nwiftab *); 18175 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *); 18176 18177 /* 18178 * Hostid emulation configuration. 18179 */ 18180 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t); 18181 extern int zonecfg_set_hostid(zone_dochandle_t, const char *); 18182 18183 /* 18184 * Allowed FS mounts configuration. 18185 */ 18186 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t); 18187 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *); 18188 18189 /* 18190 * Device configuration and rule matching. 18191 */ 18192 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *); 18193 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *); 18194 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *, 18195 struct zone_devtab *); 18196 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *); 18197 18198 /* 18199 * Resource control configuration. 18200 */ 18201 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *); 18202 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *); 18203 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *, 18204 struct zone_rctltab *); 18205 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *); 18206 extern int zonecfg_add_rctl_value(struct zone_rctltab *, 18207 struct zone_rctlvaltab *); 18208 extern int zonecfg_remove_rctl_value(struct zone_rctltab *, 18209 struct zone_rctlvaltab *); 18210 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *); 18211 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *); 18212 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t); 18213 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *); 18214 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *); 18215 extern int zonecfg_apply_rctls(char *, zone_dochandle_t); 18216 18217 /* 18218 * Generic attribute configuration and type/value extraction. 18219 */ 18220 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *); 18221 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *); 18222 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *, 18223 struct zone_attrtab *); 18224 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *); 18225 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *, 18226 boolean_t *); 18227 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *); 18228 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *, 18229 size_t); 18230 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *); 18231 18232 /* 18233 * ZFS configuration. 18234 */ 18235 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *); 18236 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *); 18237 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *, 18238 struct zone_dstab *); 18239 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *); 18240 18241 /* 18242 * cpu-set configuration. 18243 */ 18244 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *); 18245 extern int zonecfg_delete_pset(zone_dochandle_t); 18246 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *); 18247 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *); 18248 18249 /* 18250 * mem-cap configuration. 18251 */ 18252 extern int zonecfg_delete_mcap(zone_dochandle_t); 18253 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *); 18254 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *); 18255 18256 /* 18257 * Temporary pool support functions. 18258 */ 18259 extern int zonecfg_destroy_tmp_pool(char *, char *, int); 18260 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int); 18261 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int); 18262 extern boolean_t zonecfg_warn_poold(zone_dochandle_t); 18263 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t); 18264 18265 /* 18266 * Miscellaneous utility functions. 18267 */ 18268 extern int zonecfg_enable_rcapd(char *, int); 18269 18270 /* 18271 * attach/detach support. 18272 */ 18273 extern int zonecfg_get_attach_handle(const char *, const char *, 18274 const char *, boolean_t, zone_dochandle_t); 18275 extern int zonecfg_attach_manifest(int, zone_dochandle_t, 18276 zone_dochandle_t); 18277 extern int zonecfg_detach_save(zone_dochandle_t, uint_t); 18278 extern boolean_t zonecfg_detached(const char *); 18279 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced); 18280 extern int zonecfg_dev_manifest(zone_dochandle_t); 18281 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *, 18282 uid_t, gid_t, mode_t, const char *); 18283 extern void zonecfg_set_swinv(zone_dochandle_t); 18284 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *); 18285 18286 /* 18287 * External zone verification support. 18288 */ 18289 extern int zonecfg_verify_save(zone_dochandle_t, char *); 18290 18291 /* 18292 * '*ent' iterator routines. 18293 */ 18294 extern int zonecfg_setfsent(zone_dochandle_t); 18295 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *); 18296 extern int zonecfg_endfsent(zone_dochandle_t); 18297 extern int zonecfg_setnwifent(zone_dochandle_t); 18298 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *); 18299 extern int zonecfg_endnwifent(zone_dochandle_t); 18300 extern int zonecfg_setdevent(zone_dochandle_t); 18301 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *); 18302 extern int zonecfg_enddevent(zone_dochandle_t); 18303 extern int zonecfg_setattrent(zone_dochandle_t); 18304 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *); 18305 extern int zonecfg_endattrent(zone_dochandle_t); 18306 extern int zonecfg_setrctlent(zone_dochandle_t); 18307 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *); 18308 extern int zonecfg_endrctlent(zone_dochandle_t); 18309 extern int zonecfg_setdsent(zone_dochandle_t); 18310 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *); 18311 extern int zonecfg_enddsent(zone_dochandle_t); 18312 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *); 18313 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *); 18314 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *, 18315 uu_avl_t *); 18316 extern int zonecfg_setdevperment(zone_dochandle_t); 18317 extern int zonecfg_getdevperment(zone_dochandle_t, 18318 struct zone_devpermtab *); 18319 extern int zonecfg_enddevperment(zone_dochandle_t); 18320 extern int zonecfg_setadminent(zone_dochandle_t); 18321 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *); 18322 extern int zonecfg_endadminent(zone_dochandle_t); 18323 18324 /* 18325 * Privilege-related functions. 18326 */ 18327 extern int zonecfg_default_privset(priv_set_t *, const char *); 18328 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *, 18329 char **); 18330 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **); 18331 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *); 18332 18333 /* 18334 * Higher-level routines. 18335 */ 18336 extern int zone_get_brand(char *, char *, size_t); 18337 extern int zone_get_rootpath(char *, char *, size_t); 18338 extern int zone_get_devroot(char *, char *, size_t); 18339 extern int zone_get_zonepath(char *, char *, size_t); 18340 extern int zone_get_state(char *, zone_state_t *); 18341 extern int zone_set_state(char *, zone_state_t); 18342 extern char *zone_state_str(zone_state_t); 18343 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t); 18344 extern int zonecfg_get_uuid(const char *, uuid_t); 18345 extern int zonecfg_default_brand(char *, size_t); 18346 18347 /* 18348 * Iterator for configured zones. 18349 */ 18350 extern FILE *setzoneent(void); 18351 extern char *getzoneent(FILE *); 18352 extern struct zoneent *getzoneent_private(FILE *); 18353 extern void endzoneent(FILE *); 18354 18355 /* 18356 * File-system-related convenience functions. 18357 */ 18358 extern boolean_t zonecfg_valid_fs_type(const char *); 18359 18360 /* 18361 * Network-related convenience functions. 18362 */ 18363 extern boolean_t zonecfg_same_net_address(char *, char *); 18364 extern int zonecfg_valid_net_address(char *, struct lifreq *); 18365 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *); 18366 18367 /* 18368 * Rctl-related common functions. 18369 */ 18370 extern boolean_t zonecfg_is_rctl(const char *); 18371 extern boolean_t zonecfg_valid_rctlname(const char *); 18372 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *); 18373 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *); 18374 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *, 18375 rctlblk_t *); 18376 18377 /* 18378 * Live Upgrade support functions. Shared between ON and install gate. 18379 */ 18380 extern FILE *zonecfg_open_scratch(const char *, boolean_t); 18381 extern int zonecfg_lock_scratch(FILE *); 18382 extern void zonecfg_close_scratch(FILE *); 18383 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *, 18384 size_t); 18385 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *, 18386 size_t); 18387 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t, 18388 char *, size_t); 18389 extern int zonecfg_add_scratch(FILE *, const char *, const char *, 18390 const char *); 18391 extern int zonecfg_delete_scratch(FILE *, const char *); 18392 extern boolean_t zonecfg_is_scratch(const char *); 18393 18394 /* 18395 * zoneadmd support functions. Shared between zoneadm and brand hook code. 18396 */ 18397 extern void zonecfg_init_lock_file(const char *, char **); 18398 extern void zonecfg_release_lock_file(const char *, int); 18399 extern int zonecfg_grab_lock_file(const char *, int *); 18400 extern boolean_t zonecfg_lock_file_held(int *); 18401 extern int zonecfg_ping_zoneadmd(const char *); 18402 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *, 18403 boolean_t); 18404 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *); 18405 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *, 18406 boolean_t); 18407 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *, 18408 char *); 18409 extern int zonecfg_delete_admin(zone_dochandle_t, 18410 struct zone_admintab *, char *); 18411 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *, 18412 struct zone_admintab *, char *); 18413 extern int zonecfg_delete_admins(zone_dochandle_t, char *); 18414 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *); 18415 extern int zonecfg_authorize_users(zone_dochandle_t, char *); 18416 extern int zonecfg_update_userauths(zone_dochandle_t, char *); 18417 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *); 18418 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *); 18419 extern boolean_t zonecfg_valid_auths(const char *, const char *); 18420 # 40 "../common/zones_lofs.c" 2 18421 # 1 "../common/zones_strings.h" 1 18422 /* 18423 * CDDL HEADER START 18424 * 18425 * The contents of this file are subject to the terms of the 18426 * Common Development and Distribution License (the "License"). 18427 * You may not use this file except in compliance with the License. 18428 * 18429 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18430 * or http://www.opensolaris.org/os/licensing. 18431 * See the License for the specific language governing permissions 18432 * and limitations under the License. 18433 * 18434 * When distributing Covered Code, include this CDDL HEADER in each 18435 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18436 * If applicable, add the following below this CDDL HEADER, with the 18437 * fields enclosed by brackets "[]" replaced with your own identifying 18438 * information: Portions Copyright [yyyy] [name of copyright owner] 18439 * 18440 * CDDL HEADER END 18441 */ 18442 /* 18443 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 18444 */ 18445 18446 18447 18448 18449 18450 18451 18452 /* 18453 * Module: zones_strings.h 18454 * Group: libinstzones 18455 * Description: This header contains strings used in libinstzones 18456 * library modules. 18457 */ 18458 18459 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 18460 /* 18461 * CDDL HEADER START 18462 * 18463 * The contents of this file are subject to the terms of the 18464 * Common Development and Distribution License (the "License"). 18465 * You may not use this file except in compliance with the License. 18466 * 18467 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18468 * or http://www.opensolaris.org/os/licensing. 18469 * See the License for the specific language governing permissions 18470 * and limitations under the License. 18471 * 18472 * When distributing Covered Code, include this CDDL HEADER in each 18473 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18474 * If applicable, add the following below this CDDL HEADER, with the 18475 * fields enclosed by brackets "[]" replaced with your own identifying 18476 * information: Portions Copyright [yyyy] [name of copyright owner] 18477 * 18478 * CDDL HEADER END 18479 */ 18480 /* 18481 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18482 * 18483 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18484 * Use is subject to license terms. 18485 */ 18486 # 39 "../common/zones_strings.h" 2 18487 18488 /* 18489 * C++ prefix 18490 */ 18491 18492 18493 18494 18495 18496 /* constants */ 18497 # 58 "../common/zones_strings.h" 18498 /* 18499 * message strings 18500 */ 18501 18502 /* BEGIN CSTYLED */ 18503 18504 /* 18505 * I18N: these messages are debugging message and are only displayed 18506 * when special debugging output has been enabled - these messages 18507 * will never be displayed during normal product usage 18508 */ 18509 # 121 "../common/zones_strings.h" 18510 /* 18511 * I18N: these messages are error messages that can be displayed 18512 * during the normal usage of the products 18513 */ 18514 # 189 "../common/zones_strings.h" 18515 /* 18516 * I18N: these are messages that can be displayed during the normal 18517 * usage of the products 18518 */ 18519 18520 18521 18522 18523 18524 18525 18526 /* 18527 * I18N: these messages are warning messages that can be displayed 18528 * during the normal usage of the products 18529 */ 18530 18531 18532 18533 18534 /* END CSTYLED */ 18535 18536 /* 18537 * C++ postfix 18538 */ 18539 # 41 "../common/zones_lofs.c" 2 18540 # 1 "../common/instzones_lib.h" 1 18541 /* 18542 * CDDL HEADER START 18543 * 18544 * The contents of this file are subject to the terms of the 18545 * Common Development and Distribution License (the "License"). 18546 * You may not use this file except in compliance with the License. 18547 * 18548 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18549 * or http://www.opensolaris.org/os/licensing. 18550 * See the License for the specific language governing permissions 18551 * and limitations under the License. 18552 * 18553 * When distributing Covered Code, include this CDDL HEADER in each 18554 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18555 * If applicable, add the following below this CDDL HEADER, with the 18556 * fields enclosed by brackets "[]" replaced with your own identifying 18557 * information: Portions Copyright [yyyy] [name of copyright owner] 18558 * 18559 * CDDL HEADER END 18560 */ 18561 /* 18562 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 18563 */ 18564 18565 18566 18567 18568 18569 18570 18571 /* 18572 * Module: instzones_lib.h 18573 * Group: libinstzones 18574 * Description: This module contains the libinstzones internal data structures, 18575 * constants, and function prototypes. This include should not be 18576 * needed by any external code (consumers of this library). 18577 */ 18578 18579 /* 18580 * required includes 18581 */ 18582 18583 /* System includes */ 18584 18585 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 18586 /* 18587 * CDDL HEADER START 18588 * 18589 * The contents of this file are subject to the terms of the 18590 * Common Development and Distribution License (the "License"). 18591 * You may not use this file except in compliance with the License. 18592 * 18593 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18594 * or http://www.opensolaris.org/os/licensing. 18595 * See the License for the specific language governing permissions 18596 * and limitations under the License. 18597 * 18598 * When distributing Covered Code, include this CDDL HEADER in each 18599 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18600 * If applicable, add the following below this CDDL HEADER, with the 18601 * fields enclosed by brackets "[]" replaced with your own identifying 18602 * information: Portions Copyright [yyyy] [name of copyright owner] 18603 * 18604 * CDDL HEADER END 18605 */ 18606 /* 18607 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18608 * Use is subject to license terms. 18609 */ 18610 # 46 "../common/instzones_lib.h" 2 18611 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 18612 /* 18613 * CDDL HEADER START 18614 * 18615 * The contents of this file are subject to the terms of the 18616 * Common Development and Distribution License (the "License"). 18617 * You may not use this file except in compliance with the License. 18618 * 18619 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18620 * or http://www.opensolaris.org/os/licensing. 18621 * See the License for the specific language governing permissions 18622 * and limitations under the License. 18623 * 18624 * When distributing Covered Code, include this CDDL HEADER in each 18625 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18626 * If applicable, add the following below this CDDL HEADER, with the 18627 * fields enclosed by brackets "[]" replaced with your own identifying 18628 * information: Portions Copyright [yyyy] [name of copyright owner] 18629 * 18630 * CDDL HEADER END 18631 */ 18632 18633 /* 18634 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 18635 */ 18636 # 47 "../common/instzones_lib.h" 2 18637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1 18638 /* 18639 * CDDL HEADER START 18640 * 18641 * The contents of this file are subject to the terms of the 18642 * Common Development and Distribution License (the "License"). 18643 * You may not use this file except in compliance with the License. 18644 * 18645 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18646 * or http://www.opensolaris.org/os/licensing. 18647 * See the License for the specific language governing permissions 18648 * and limitations under the License. 18649 * 18650 * When distributing Covered Code, include this CDDL HEADER in each 18651 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18652 * If applicable, add the following below this CDDL HEADER, with the 18653 * fields enclosed by brackets "[]" replaced with your own identifying 18654 * information: Portions Copyright [yyyy] [name of copyright owner] 18655 * 18656 * CDDL HEADER END 18657 */ 18658 /* 18659 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18660 * Use is subject to license terms. 18661 */ 18662 18663 18664 18665 18666 #pragma ident "%Z%%M% %I% %E% SMI" 18667 18668 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18669 /* 18670 * CDDL HEADER START 18671 * 18672 * The contents of this file are subject to the terms of the 18673 * Common Development and Distribution License (the "License"). 18674 * You may not use this file except in compliance with the License. 18675 * 18676 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18677 * or http://www.opensolaris.org/os/licensing. 18678 * See the License for the specific language governing permissions 18679 * and limitations under the License. 18680 * 18681 * When distributing Covered Code, include this CDDL HEADER in each 18682 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18683 * If applicable, add the following below this CDDL HEADER, with the 18684 * fields enclosed by brackets "[]" replaced with your own identifying 18685 * information: Portions Copyright [yyyy] [name of copyright owner] 18686 * 18687 * CDDL HEADER END 18688 */ 18689 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18690 /* All Rights Reserved */ 18691 18692 18693 /* 18694 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18695 * Use is subject to license terms. 18696 * 18697 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18698 * Copyright 2016 Joyent, Inc. 18699 */ 18700 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 18701 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1 18702 /* 18703 * CDDL HEADER START 18704 * 18705 * The contents of this file are subject to the terms of the 18706 * Common Development and Distribution License (the "License"). 18707 * You may not use this file except in compliance with the License. 18708 * 18709 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18710 * or http://www.opensolaris.org/os/licensing. 18711 * See the License for the specific language governing permissions 18712 * and limitations under the License. 18713 * 18714 * When distributing Covered Code, include this CDDL HEADER in each 18715 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18716 * If applicable, add the following below this CDDL HEADER, with the 18717 * fields enclosed by brackets "[]" replaced with your own identifying 18718 * information: Portions Copyright [yyyy] [name of copyright owner] 18719 * 18720 * CDDL HEADER END 18721 */ 18722 /* 18723 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18724 * Use is subject to license terms. 18725 */ 18726 18727 18728 18729 18730 #pragma ident "%Z%%M% %I% %E% SMI" 18731 18732 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18733 /* 18734 * CDDL HEADER START 18735 * 18736 * The contents of this file are subject to the terms of the 18737 * Common Development and Distribution License (the "License"). 18738 * You may not use this file except in compliance with the License. 18739 * 18740 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18741 * or http://www.opensolaris.org/os/licensing. 18742 * See the License for the specific language governing permissions 18743 * and limitations under the License. 18744 * 18745 * When distributing Covered Code, include this CDDL HEADER in each 18746 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18747 * If applicable, add the following below this CDDL HEADER, with the 18748 * fields enclosed by brackets "[]" replaced with your own identifying 18749 * information: Portions Copyright [yyyy] [name of copyright owner] 18750 * 18751 * CDDL HEADER END 18752 */ 18753 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18754 /* All Rights Reserved */ 18755 18756 18757 /* 18758 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18759 * Use is subject to license terms. 18760 * 18761 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18762 * Copyright 2016 Joyent, Inc. 18763 */ 18764 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2 18765 18766 18767 18768 18769 18770 typedef uint64_t ctevid_t; 18771 18772 /* 18773 * Contract parameter maximum size, in bytes 18774 */ 18775 18776 18777 /* 18778 * Common event types 18779 */ 18780 18781 18782 /* 18783 * Level of status detail requested 18784 */ 18785 18786 18787 18788 18789 /* 18790 * Values for ctev_flags. 18791 */ 18792 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 18793 typedef enum ctstate { 18794 CTS_OWNED, /* contract is owned by a process */ 18795 CTS_INHERITED, /* contract has been inherited by its parent */ 18796 CTS_ORPHAN, /* contract has no parent */ 18797 CTS_DEAD /* contract has been destroyed */ 18798 } ctstate_t; 18799 18800 typedef enum ct_typeid { 18801 CTT_PROCESS, /* process contract */ 18802 CTT_DEVICE, /* device contract */ 18803 CTT_MAXTYPE 18804 } ct_typeid_t; 18805 18806 typedef struct ct_event { 18807 ctid_t ctev_id; 18808 uint32_t ctev_pad1; 18809 ctevid_t ctev_evid; 18810 ct_typeid_t ctev_cttype; 18811 uint32_t ctev_flags; 18812 uint32_t ctev_type; 18813 uint32_t ctev_nbytes; 18814 uint32_t ctev_goffset; 18815 uint32_t ctev_pad2; 18816 char *ctev_buffer; 18817 } ct_event_t; 18818 18819 typedef struct ct_status { 18820 ctid_t ctst_id; 18821 zoneid_t ctst_zoneid; 18822 ct_typeid_t ctst_type; 18823 pid_t ctst_holder; 18824 ctstate_t ctst_state; 18825 int ctst_nevents; 18826 int ctst_ntime; 18827 int ctst_qtime; 18828 uint64_t ctst_nevid; 18829 uint_t ctst_detail; 18830 size_t ctst_nbytes; 18831 uint_t ctst_critical; 18832 uint_t ctst_informative; 18833 uint64_t ctst_cookie; 18834 char *ctst_buffer; 18835 } ct_status_t; 18836 18837 typedef struct ct_param { 18838 uint32_t ctpm_id; 18839 uint32_t ctpm_size; 18840 void *ctpm_value; 18841 } ct_param_t; 18842 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 18843 18844 18845 18846 18847 18848 typedef void *ct_stathdl_t; 18849 typedef void *ct_evthdl_t; 18850 18851 /* 18852 * Common routines 18853 */ 18854 extern int ct_tmpl_activate(int); 18855 extern int ct_tmpl_clear(int); 18856 extern int ct_tmpl_create(int, ctid_t *); 18857 extern int ct_tmpl_set_cookie(int, uint64_t); 18858 extern int ct_tmpl_get_cookie(int, uint64_t *); 18859 extern int ct_tmpl_set_critical(int, uint_t); 18860 extern int ct_tmpl_get_critical(int, uint_t *); 18861 extern int ct_tmpl_set_informative(int, uint_t); 18862 extern int ct_tmpl_get_informative(int, uint_t *); 18863 18864 extern int ct_ctl_adopt(int); 18865 extern int ct_ctl_abandon(int); 18866 extern int ct_ctl_ack(int, ctevid_t); 18867 extern int ct_ctl_nack(int, ctevid_t); 18868 extern int ct_ctl_qack(int, ctevid_t); 18869 extern int ct_ctl_newct(int, ctevid_t, int); 18870 18871 extern int ct_status_read(int, int, ct_stathdl_t *); 18872 extern void ct_status_free(ct_stathdl_t); 18873 18874 extern ctid_t ct_status_get_id(ct_stathdl_t); 18875 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t); 18876 extern const char *ct_status_get_type(ct_stathdl_t); 18877 extern id_t ct_status_get_holder(ct_stathdl_t); 18878 extern ctstate_t ct_status_get_state(ct_stathdl_t); 18879 extern int ct_status_get_nevents(ct_stathdl_t); 18880 extern int ct_status_get_ntime(ct_stathdl_t); 18881 extern int ct_status_get_qtime(ct_stathdl_t); 18882 extern ctevid_t ct_status_get_nevid(ct_stathdl_t); 18883 extern uint_t ct_status_get_informative(ct_stathdl_t); 18884 extern uint_t ct_status_get_critical(ct_stathdl_t); 18885 extern uint64_t ct_status_get_cookie(ct_stathdl_t); 18886 18887 extern int ct_event_read(int, ct_evthdl_t *); 18888 extern int ct_event_read_critical(int, ct_evthdl_t *); 18889 extern int ct_event_reset(int); 18890 extern int ct_event_reliable(int); 18891 extern void ct_event_free(ct_evthdl_t); 18892 18893 extern uint_t ct_event_get_flags(ct_evthdl_t); 18894 extern ctid_t ct_event_get_ctid(ct_evthdl_t); 18895 extern ctevid_t ct_event_get_evid(ct_evthdl_t); 18896 extern uint_t ct_event_get_type(ct_evthdl_t); 18897 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *); 18898 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *); 18899 18900 /* 18901 * Process contract routines 18902 */ 18903 extern int ct_pr_tmpl_set_transfer(int, ctid_t); 18904 extern int ct_pr_tmpl_set_fatal(int, uint_t); 18905 extern int ct_pr_tmpl_set_param(int, uint_t); 18906 extern int ct_pr_tmpl_set_svc_fmri(int, const char *); 18907 extern int ct_pr_tmpl_set_svc_aux(int, const char *); 18908 18909 extern int ct_pr_tmpl_get_transfer(int, ctid_t *); 18910 extern int ct_pr_tmpl_get_fatal(int, uint_t *); 18911 extern int ct_pr_tmpl_get_param(int, uint_t *); 18912 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t); 18913 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t); 18914 18915 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *); 18916 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *); 18917 extern int ct_pr_event_get_signal(ct_evthdl_t, int *); 18918 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *); 18919 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *); 18920 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *); 18921 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **); 18922 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **); 18923 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **); 18924 18925 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *); 18926 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *); 18927 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *); 18928 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *); 18929 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **); 18930 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **); 18931 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *); 18932 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **); 18933 18934 /* 18935 * Device contract routines 18936 */ 18937 int ct_dev_tmpl_set_minor(int, char *); 18938 int ct_dev_tmpl_set_aset(int, uint_t); 18939 int ct_dev_tmpl_set_noneg(int); 18940 int ct_dev_tmpl_clear_noneg(int); 18941 int ct_dev_tmpl_get_minor(int, char *, size_t *); 18942 int ct_dev_tmpl_get_aset(int, uint_t *); 18943 int ct_dev_tmpl_get_noneg(int, uint_t *); 18944 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *); 18945 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *); 18946 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *); 18947 int ct_dev_status_get_minor(ct_stathdl_t, char **); 18948 # 48 "../common/instzones_lib.h" 2 18949 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1 18950 /* 18951 * CDDL HEADER START 18952 * 18953 * The contents of this file are subject to the terms of the 18954 * Common Development and Distribution License (the "License"). 18955 * You may not use this file except in compliance with the License. 18956 * 18957 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18958 * or http://www.opensolaris.org/os/licensing. 18959 * See the License for the specific language governing permissions 18960 * and limitations under the License. 18961 * 18962 * When distributing Covered Code, include this CDDL HEADER in each 18963 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18964 * If applicable, add the following below this CDDL HEADER, with the 18965 * fields enclosed by brackets "[]" replaced with your own identifying 18966 * information: Portions Copyright [yyyy] [name of copyright owner] 18967 * 18968 * CDDL HEADER END 18969 */ 18970 18971 /* 18972 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 18973 */ 18974 18975 18976 18977 18978 18979 /* 18980 * Module: instzones_api.h 18981 * Group: libinstzones 18982 * Description: This module contains the libinstzones API data structures, 18983 * constants, and function prototypes. 18984 */ 18985 18986 /* 18987 * required includes 18988 */ 18989 18990 /* System includes */ 18991 18992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 18993 /* 18994 * CDDL HEADER START 18995 * 18996 * The contents of this file are subject to the terms of the 18997 * Common Development and Distribution License, Version 1.0 only 18998 * (the "License"). You may not use this file except in compliance 18999 * with the License. 19000 * 19001 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19002 * or http://www.opensolaris.org/os/licensing. 19003 * See the License for the specific language governing permissions 19004 * and limitations under the License. 19005 * 19006 * When distributing Covered Code, include this CDDL HEADER in each 19007 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19008 * If applicable, add the following below this CDDL HEADER, with the 19009 * fields enclosed by brackets "[]" replaced with your own identifying 19010 * information: Portions Copyright [yyyy] [name of copyright owner] 19011 * 19012 * CDDL HEADER END 19013 */ 19014 /* Copyright (c) 1988 AT&T */ 19015 /* All Rights Reserved */ 19016 19017 /* 19018 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19019 * 19020 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19021 * Use is subject to license terms. 19022 */ 19023 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19024 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 19025 /* 19026 * CDDL HEADER START 19027 * 19028 * The contents of this file are subject to the terms of the 19029 * Common Development and Distribution License (the "License"). 19030 * You may not use this file except in compliance with the License. 19031 * 19032 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19033 * or http://www.opensolaris.org/os/licensing. 19034 * See the License for the specific language governing permissions 19035 * and limitations under the License. 19036 * 19037 * When distributing Covered Code, include this CDDL HEADER in each 19038 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19039 * If applicable, add the following below this CDDL HEADER, with the 19040 * fields enclosed by brackets "[]" replaced with your own identifying 19041 * information: Portions Copyright [yyyy] [name of copyright owner] 19042 * 19043 * CDDL HEADER END 19044 */ 19045 19046 /* 19047 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19048 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19049 */ 19050 19051 /* Copyright (c) 1988 AT&T */ 19052 /* All Rights Reserved */ 19053 19054 /* 19055 * User-visible pieces of the ANSI C standard I/O package. 19056 */ 19057 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 19059 /* 19060 * CDDL HEADER START 19061 * 19062 * The contents of this file are subject to the terms of the 19063 * Common Development and Distribution License (the "License"). 19064 * You may not use this file except in compliance with the License. 19065 * 19066 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19067 * or http://www.opensolaris.org/os/licensing. 19068 * See the License for the specific language governing permissions 19069 * and limitations under the License. 19070 * 19071 * When distributing Covered Code, include this CDDL HEADER in each 19072 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19073 * If applicable, add the following below this CDDL HEADER, with the 19074 * fields enclosed by brackets "[]" replaced with your own identifying 19075 * information: Portions Copyright [yyyy] [name of copyright owner] 19076 * 19077 * CDDL HEADER END 19078 */ 19079 19080 /* 19081 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19082 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19083 */ 19084 19085 /* Copyright (c) 1988 AT&T */ 19086 /* All Rights Reserved */ 19087 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1 19089 /* 19090 * CDDL HEADER START 19091 * 19092 * The contents of this file are subject to the terms of the 19093 * Common Development and Distribution License, Version 1.0 only 19094 * (the "License"). You may not use this file except in compliance 19095 * with the License. 19096 * 19097 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19098 * or http://www.opensolaris.org/os/licensing. 19099 * See the License for the specific language governing permissions 19100 * and limitations under the License. 19101 * 19102 * When distributing Covered Code, include this CDDL HEADER in each 19103 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19104 * If applicable, add the following below this CDDL HEADER, with the 19105 * fields enclosed by brackets "[]" replaced with your own identifying 19106 * information: Portions Copyright [yyyy] [name of copyright owner] 19107 * 19108 * CDDL HEADER END 19109 */ 19110 /* Copyright (c) 1988 AT&T */ 19111 /* All Rights Reserved */ 19112 19113 19114 19115 19116 19117 #pragma ident "%Z%%M% %I% %E% SMI" 19118 19119 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1 19120 /* 19121 * CDDL HEADER START 19122 * 19123 * The contents of this file are subject to the terms of the 19124 * Common Development and Distribution License (the "License"). 19125 * You may not use this file except in compliance with the License. 19126 * 19127 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19128 * or http://www.opensolaris.org/os/licensing. 19129 * See the License for the specific language governing permissions 19130 * and limitations under the License. 19131 * 19132 * When distributing Covered Code, include this CDDL HEADER in each 19133 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19134 * If applicable, add the following below this CDDL HEADER, with the 19135 * fields enclosed by brackets "[]" replaced with your own identifying 19136 * information: Portions Copyright [yyyy] [name of copyright owner] 19137 * 19138 * CDDL HEADER END 19139 */ 19140 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19141 /* All Rights Reserved */ 19142 19143 19144 /* 19145 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19146 * 19147 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 19148 */ 19149 19150 19151 19152 19153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 19154 /* 19155 * CDDL HEADER START 19156 * 19157 * The contents of this file are subject to the terms of the 19158 * Common Development and Distribution License (the "License"). 19159 * You may not use this file except in compliance with the License. 19160 * 19161 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19162 * or http://www.opensolaris.org/os/licensing. 19163 * See the License for the specific language governing permissions 19164 * and limitations under the License. 19165 * 19166 * When distributing Covered Code, include this CDDL HEADER in each 19167 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19168 * If applicable, add the following below this CDDL HEADER, with the 19169 * fields enclosed by brackets "[]" replaced with your own identifying 19170 * information: Portions Copyright [yyyy] [name of copyright owner] 19171 * 19172 * CDDL HEADER END 19173 */ 19174 19175 /* 19176 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 19177 * Copyright 2016 Joyent, Inc. 19178 * 19179 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19180 * Use is subject to license terms. 19181 */ 19182 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 19183 19184 19185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1 19186 /* 19187 * CDDL HEADER START 19188 * 19189 * The contents of this file are subject to the terms of the 19190 * Common Development and Distribution License, Version 1.0 only 19191 * (the "License"). You may not use this file except in compliance 19192 * with the License. 19193 * 19194 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19195 * or http://www.opensolaris.org/os/licensing. 19196 * See the License for the specific language governing permissions 19197 * and limitations under the License. 19198 * 19199 * When distributing Covered Code, include this CDDL HEADER in each 19200 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19201 * If applicable, add the following below this CDDL HEADER, with the 19202 * fields enclosed by brackets "[]" replaced with your own identifying 19203 * information: Portions Copyright [yyyy] [name of copyright owner] 19204 * 19205 * CDDL HEADER END 19206 */ 19207 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19208 /* All Rights Reserved */ 19209 19210 19211 19212 19213 19214 #pragma ident "%Z%%M% %I% %E% SMI" 19215 19216 19217 19218 19219 19220 /* 19221 * Terminal definitions related to underlying hardware. 19222 */ 19223 19224 /* 19225 * Speeds 19226 */ 19227 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 19228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 19229 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19230 /* All Rights Reserved */ 19231 19232 19233 /* 19234 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 19235 * All rights reserved. The Berkeley software License Agreement 19236 * specifies the terms and conditions for redistribution. 19237 */ 19238 19239 /* 19240 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19241 * 19242 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19243 * Use is subject to license terms. 19244 * 19245 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19246 */ 19247 19248 /* 19249 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 19250 */ 19251 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 19252 19253 19254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19255 /* 19256 * CDDL HEADER START 19257 * 19258 * The contents of this file are subject to the terms of the 19259 * Common Development and Distribution License (the "License"). 19260 * You may not use this file except in compliance with the License. 19261 * 19262 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19263 * or http://www.opensolaris.org/os/licensing. 19264 * See the License for the specific language governing permissions 19265 * and limitations under the License. 19266 * 19267 * When distributing Covered Code, include this CDDL HEADER in each 19268 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19269 * If applicable, add the following below this CDDL HEADER, with the 19270 * fields enclosed by brackets "[]" replaced with your own identifying 19271 * information: Portions Copyright [yyyy] [name of copyright owner] 19272 * 19273 * CDDL HEADER END 19274 */ 19275 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19276 /* All Rights Reserved */ 19277 19278 19279 /* 19280 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19281 * Use is subject to license terms. 19282 * 19283 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19284 * Copyright 2016 Joyent, Inc. 19285 */ 19286 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 19287 19288 19289 19290 19291 19292 /* 19293 * _POSIX_VDISABLE has been defined in <sys/termios.h> since the 19294 * introduction of the header. The POSIX standard, IEEE Std. 19295 * 1003.1-1988 also required the existence of _POSIX_VDISABLE in 19296 * this header. Subsequent versions of the IEEE Standard as well 19297 * as the X/Open specifications required that _POSIX_VDISABLE be 19298 * defined in <unistd.h> while still allowing for it's existence 19299 * here. With the introduction of XPG6, _POSIX_VDISABLE can only 19300 * be defined in <unistd.h>. 19301 */ 19302 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19303 /* required by termio.h and VCEOF/VCEOL */ 19304 19305 19306 19307 19308 19309 /* some defines required by POSIX */ 19310 19311 19312 /* 19313 * types defined by POSIX. These are better off in types.h, but 19314 * the standard says that they have to be in termios.h. 19315 */ 19316 typedef unsigned int tcflag_t; 19317 typedef unsigned char cc_t; 19318 typedef unsigned int speed_t; 19319 19320 /* 19321 * Ioctl control packet 19322 */ 19323 struct termios { 19324 tcflag_t c_iflag; /* input modes */ 19325 tcflag_t c_oflag; /* output modes */ 19326 tcflag_t c_cflag; /* control modes */ 19327 tcflag_t c_lflag; /* line discipline modes */ 19328 cc_t c_cc[19]; /* control chars */ 19329 }; 19330 19331 /* 19332 * POSIX termios functions 19333 * These functions get mapped into ioctls. 19334 */ 19335 19336 19337 19338 extern speed_t cfgetospeed(const struct termios *); 19339 extern int cfsetospeed(struct termios *, speed_t); 19340 extern speed_t cfgetispeed(const struct termios *); 19341 extern int cfsetispeed(struct termios *, speed_t); 19342 extern int tcgetattr(int, struct termios *); 19343 extern int tcsetattr(int, int, const struct termios *); 19344 extern int tcsendbreak(int, int); 19345 extern int tcdrain(int); 19346 extern int tcflush(int, int); 19347 extern int tcflow(int, int); 19348 19349 19350 19351 extern pid_t tcgetsid(int); 19352 19353 19354 19355 19356 19357 /* control characters */ 19358 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19359 /* 17 through 19 reserved for future use */ 19360 19361 /* 19362 * control characters form Xenix termio.h 19363 */ 19364 19365 19366 19367 19368 19369 19370 /* S5 default control chars */ 19371 /* CINTR, CERASE and CKILL modified to SunOS traditional values */ 19372 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19373 /* input modes */ 19374 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19375 /* output modes */ 19376 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19377 /* control modes */ 19378 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19379 /* 19380 * 4.4BSD hardware flow control flags 19381 */ 19382 19383 19384 19385 19386 19387 /* line discipline 0 modes */ 19388 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19389 /* Slots reserved for 386/XENIX compatibility - keyboard control */ 19390 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19391 /* 19392 * Softcarrier ioctls 19393 */ 19394 19395 19396 19397 19398 /* termios ioctls */ 19399 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19400 /* 19401 * NTP PPS ioctls 19402 */ 19403 19404 19405 19406 19407 /* Argument filled in by TIOCGPPSEV */ 19408 struct ppsclockev { 19409 struct timeval tv; 19410 uint_t serial; 19411 }; 19412 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19413 /* termios option flags */ 19414 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19415 /* TIOC ioctls for BSD, ptys, job control and modem control */ 19416 19417 19418 19419 19420 19421 /* Slots for 386/XENIX compatibility */ 19422 /* BSD includes these ioctls in ttold.h */ 19423 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19424 /* 19425 * BSD ioctls that are not the same as XENIX are included here. 19426 * There are also some relevant ioctls from SUN/BSD sys/ttycom.h 19427 * BSD pty ioctls like TIOCPKT are not supported in SVR4. 19428 */ 19429 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19430 /* POSIX job control ioctls */ 19431 19432 19433 19434 19435 19436 19437 /* Miscellaneous */ 19438 19439 19440 /* Modem control */ 19441 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19442 /* pseudo-tty */ 19443 19444 19445 19446 19447 19448 /* Some more 386 xenix stuff */ 19449 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19450 /* Slots for 386 compatibility */ 19451 19452 19453 19454 19455 19456 19457 19458 /* 19459 * These are retained for 386/XENIX compatibility. 19460 */ 19461 19462 19463 19464 19465 19466 /* 19467 * Returns a non-zero value if there 19468 * are characters in the input queue. 19469 * 19470 * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may 19471 * have added it; 4BSD had FIONREAD, which returned the number of characters 19472 * waiting, and was supposed to work on all descriptors (i.e., every driver 19473 * should make a stab at implementing it). 19474 */ 19475 19476 19477 19478 /* 19479 * Speeds 19480 */ 19481 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 19482 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ 19483 struct winsize { 19484 unsigned short ws_row; /* rows, in characters */ 19485 unsigned short ws_col; /* columns, in character */ 19486 unsigned short ws_xpixel; /* horizontal size, pixels */ 19487 unsigned short ws_ypixel; /* vertical size, pixels */ 19488 }; 19489 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2 19490 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19491 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 19492 /* 19493 * CDDL HEADER START 19494 * 19495 * The contents of this file are subject to the terms of the 19496 * Common Development and Distribution License (the "License"). 19497 * You may not use this file except in compliance with the License. 19498 * 19499 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19500 * or http://www.opensolaris.org/os/licensing. 19501 * See the License for the specific language governing permissions 19502 * and limitations under the License. 19503 * 19504 * When distributing Covered Code, include this CDDL HEADER in each 19505 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19506 * If applicable, add the following below this CDDL HEADER, with the 19507 * fields enclosed by brackets "[]" replaced with your own identifying 19508 * information: Portions Copyright [yyyy] [name of copyright owner] 19509 * 19510 * CDDL HEADER END 19511 */ 19512 19513 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 19514 /* 19515 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19516 * 19517 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 19518 * Use is subject to license terms. 19519 * Copyright 2015 Joyent, Inc. All rights reserved. 19520 */ 19521 19522 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 19523 /* All Rights Reserved */ 19524 19525 /* 19526 * University Copyright- Copyright (c) 1982, 1986, 1988 19527 * The Regents of the University of California 19528 * All Rights Reserved 19529 * 19530 * University Acknowledgment- Portions of this document are derived from 19531 * software developed by the University of California, Berkeley, and its 19532 * contributors. 19533 */ 19534 19535 19536 19537 19538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 19539 /* 19540 * CDDL HEADER START 19541 * 19542 * The contents of this file are subject to the terms of the 19543 * Common Development and Distribution License (the "License"). 19544 * You may not use this file except in compliance with the License. 19545 * 19546 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19547 * or http://www.opensolaris.org/os/licensing. 19548 * See the License for the specific language governing permissions 19549 * and limitations under the License. 19550 * 19551 * When distributing Covered Code, include this CDDL HEADER in each 19552 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19553 * If applicable, add the following below this CDDL HEADER, with the 19554 * fields enclosed by brackets "[]" replaced with your own identifying 19555 * information: Portions Copyright [yyyy] [name of copyright owner] 19556 * 19557 * CDDL HEADER END 19558 */ 19559 19560 /* 19561 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 19562 * Copyright 2016 Joyent, Inc. 19563 * 19564 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19565 * Use is subject to license terms. 19566 */ 19567 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 19568 19569 19570 19571 19572 19573 19574 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19575 /* 19576 * CDDL HEADER START 19577 * 19578 * The contents of this file are subject to the terms of the 19579 * Common Development and Distribution License (the "License"). 19580 * You may not use this file except in compliance with the License. 19581 * 19582 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19583 * or http://www.opensolaris.org/os/licensing. 19584 * See the License for the specific language governing permissions 19585 * and limitations under the License. 19586 * 19587 * When distributing Covered Code, include this CDDL HEADER in each 19588 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19589 * If applicable, add the following below this CDDL HEADER, with the 19590 * fields enclosed by brackets "[]" replaced with your own identifying 19591 * information: Portions Copyright [yyyy] [name of copyright owner] 19592 * 19593 * CDDL HEADER END 19594 */ 19595 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19596 /* All Rights Reserved */ 19597 19598 19599 /* 19600 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19601 * Use is subject to license terms. 19602 * 19603 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19604 * Copyright 2016 Joyent, Inc. 19605 */ 19606 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 19607 19608 19609 /* 19610 * Protections are chosen from these bits, or-ed together. 19611 * Note - not all implementations literally provide all possible 19612 * combinations. PROT_WRITE is often implemented as (PROT_READ | 19613 * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). 19614 * However, no implementation will permit a write to succeed 19615 * where PROT_WRITE has not been set. Also, no implementation will 19616 * allow any access to succeed where prot is specified as PROT_NONE. 19617 */ 19618 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19619 /* sharing types: must choose either SHARED or PRIVATE */ 19620 19621 19622 19623 19624 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ 19625 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19626 /* these flags not yet implemented */ 19627 19628 19629 19630 /* these flags are used by memcntl */ 19631 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19632 /* 19633 * For the sake of backward object compatibility, we use the _MAP_NEW flag. 19634 * This flag will be automatically or'ed in by the C library for all 19635 * new mmap calls. Previous binaries with old mmap calls will continue 19636 * to get 0 or -1 for return values. New mmap calls will get the mapped 19637 * address as the return value if successful and -1 on errors. By default, 19638 * new mmap calls automatically have the kernel assign the map address 19639 * unless the MAP_FIXED flag is given. 19640 */ 19641 19642 19643 19644 19645 19646 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ 19647 19648 19649 19650 19651 19652 /* 19653 * Values for mr_flags field of mmapobj_result_t below. 19654 * The bottom 16 bits are mutually exclusive and thus only one 19655 * of them can be set at a time. Use MR_GET_TYPE below to check this value. 19656 * The top 16 bits are used for flags which are not mutually exclusive and 19657 * thus more than one of these flags can be set for a given mmapobj_result_t. 19658 * 19659 * MR_PADDING being set indicates that this memory range represents the user 19660 * requested padding. 19661 * 19662 * MR_HDR_ELF being set indicates that the ELF header of the mapped object 19663 * is mapped at mr_addr + mr_offset. 19664 * 19665 * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped 19666 * object is mapped at mr_addr + mr_offset. 19667 */ 19668 19669 /* 19670 * External flags for mr_flags field below. 19671 */ 19672 19673 19674 19675 19676 /* 19677 * Internal flags for mr_flags field below. 19678 */ 19679 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19680 typedef struct mmapobj_result { 19681 caddr_t mr_addr; /* mapping address */ 19682 size_t mr_msize; /* mapping size */ 19683 size_t mr_fsize; /* file size */ 19684 size_t mr_offset; /* offset into file */ 19685 uint_t mr_prot; /* the protections provided */ 19686 uint_t mr_flags; /* info on the mapping */ 19687 } mmapobj_result_t; 19688 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19689 /* 19690 * large file compilation environment setup 19691 * 19692 * In the LP64 compilation environment, map large file interfaces 19693 * back to native versions where possible. 19694 */ 19695 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19696 19697 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19698 #pragma redefine_extname mmap64 mmap 19699 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19700 19701 19702 19703 19704 19705 19706 19707 19708 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19709 #pragma redefine_extname getpagesizes getpagesizes2 19710 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19711 19712 19713 19714 19715 19716 /* 19717 * Except for old binaries mmap() will return the resultant 19718 * address of mapping on success and (caddr_t)-1 on error. 19719 */ 19720 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19721 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); 19722 extern int munmap(caddr_t, size_t); 19723 extern int mprotect(caddr_t, size_t, int); 19724 extern int msync(caddr_t, size_t, int); 19725 extern int mlock(caddr_t, size_t); 19726 extern int munlock(caddr_t, size_t); 19727 extern int mincore(caddr_t, size_t, char *); 19728 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); 19729 extern int madvise(caddr_t, size_t, int); 19730 19731 extern int getpagesizes(size_t *, int); 19732 extern int getpagesizes2(size_t *, int); 19733 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); 19734 /* guard visibility of uint64_t */ 19735 19736 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, 19737 uint_t *); 19738 19739 19740 /* transitional large file interface version */ 19741 19742 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); 19743 19744 19745 19746 19747 extern int mlockall(int); 19748 extern int munlockall(void); 19749 extern int shm_open(const char *, int, mode_t); 19750 extern int shm_unlink(const char *); 19751 19752 19753 19754 extern int posix_madvise(void *, size_t, int); 19755 19756 19757 /* mmap failure value */ 19758 19759 19760 19761 19762 19763 19764 19765 /* 19766 * structure for memcntl hat advise operations. 19767 */ 19768 struct memcntl_mha { 19769 uint_t mha_cmd; /* command(s) */ 19770 uint_t mha_flags; 19771 size_t mha_pagesize; 19772 }; 19773 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19774 /* 19775 * advice to madvise 19776 * 19777 * Note, if more than 4 bits worth of advice (eg. 16) are specified then 19778 * changes will be necessary to the struct vpage. 19779 */ 19780 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19781 /* advice to posix_madvise */ 19782 /* these values must be kept in sync with the MADV_* values, above */ 19783 19784 19785 19786 19787 19788 19789 19790 /* flags to msync */ 19791 19792 /* modified for UNIX98 compliance */ 19793 19794 19795 19796 19797 19798 /* functions to mctl */ 19799 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19800 /* sub-commands for MC_HAT_ADVISE */ 19801 19802 19803 /* for last bss adjacent to */ 19804 /* brk area and brk area itself */ 19805 19806 /* processes main stack */ 19807 19808 19809 19810 19811 /* flags to mlockall */ 19812 19813 19814 19815 19816 19817 19818 /* definitions for meminfosys syscall */ 19819 19820 19821 19822 19823 19824 /* private structure for meminfo */ 19825 typedef struct meminfo { 19826 const uint64_t *mi_inaddr; /* array of input addresses */ 19827 const uint_t *mi_info_req; /* array of types of info requested */ 19828 uint64_t *mi_outdata; /* array of results are placed */ 19829 uint_t *mi_validity; /* array of bitwise result codes */ 19830 int mi_info_count; /* number of pieces of info requested */ 19831 } meminfo_t; 19832 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19833 /* 19834 * info_req request type definitions for meminfo 19835 * request types starting with MEMINFO_V are used for Virtual addresses 19836 * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical 19837 * addresses 19838 */ 19839 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 19840 /* maximum number of addresses meminfo() can process at a time */ 19841 19842 19843 /* maximum number of request types */ 19844 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19845 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 19846 /* 19847 * CDDL HEADER START 19848 * 19849 * The contents of this file are subject to the terms of the 19850 * Common Development and Distribution License (the "License"). 19851 * You may not use this file except in compliance with the License. 19852 * 19853 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19854 * or http://www.opensolaris.org/os/licensing. 19855 * See the License for the specific language governing permissions 19856 * and limitations under the License. 19857 * 19858 * When distributing Covered Code, include this CDDL HEADER in each 19859 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19860 * If applicable, add the following below this CDDL HEADER, with the 19861 * fields enclosed by brackets "[]" replaced with your own identifying 19862 * information: Portions Copyright [yyyy] [name of copyright owner] 19863 * 19864 * CDDL HEADER END 19865 */ 19866 19867 /* 19868 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 19869 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 19870 */ 19871 19872 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 19873 /* All Rights Reserved */ 19874 19875 /* 19876 * University Copyright- Copyright (c) 1982, 1986, 1988 19877 * The Regents of the University of California 19878 * All Rights Reserved 19879 * 19880 * University Acknowledgment- Portions of this document are derived from 19881 * software developed by the University of California, Berkeley, and its 19882 * contributors. 19883 */ 19884 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19885 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19886 /* 19887 * CDDL HEADER START 19888 * 19889 * The contents of this file are subject to the terms of the 19890 * Common Development and Distribution License (the "License"). 19891 * You may not use this file except in compliance with the License. 19892 * 19893 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19894 * or http://www.opensolaris.org/os/licensing. 19895 * See the License for the specific language governing permissions 19896 * and limitations under the License. 19897 * 19898 * When distributing Covered Code, include this CDDL HEADER in each 19899 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19900 * If applicable, add the following below this CDDL HEADER, with the 19901 * fields enclosed by brackets "[]" replaced with your own identifying 19902 * information: Portions Copyright [yyyy] [name of copyright owner] 19903 * 19904 * CDDL HEADER END 19905 */ 19906 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19907 /* All Rights Reserved */ 19908 19909 19910 /* 19911 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19912 * Use is subject to license terms. 19913 * 19914 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19915 * Copyright 2016 Joyent, Inc. 19916 */ 19917 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19918 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1 19919 /* 19920 * CDDL HEADER START 19921 * 19922 * The contents of this file are subject to the terms of the 19923 * Common Development and Distribution License, Version 1.0 only 19924 * (the "License"). You may not use this file except in compliance 19925 * with the License. 19926 * 19927 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19928 * or http://www.opensolaris.org/os/licensing. 19929 * See the License for the specific language governing permissions 19930 * and limitations under the License. 19931 * 19932 * When distributing Covered Code, include this CDDL HEADER in each 19933 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19934 * If applicable, add the following below this CDDL HEADER, with the 19935 * fields enclosed by brackets "[]" replaced with your own identifying 19936 * information: Portions Copyright [yyyy] [name of copyright owner] 19937 * 19938 * CDDL HEADER END 19939 */ 19940 /* 19941 * Copyright 1991 Sun Microsystems, Inc. All rights reserved. 19942 * Use is subject to license terms. 19943 */ 19944 19945 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19946 /* All Rights Reserved */ 19947 19948 19949 19950 19951 #pragma ident "%Z%%M% %I% %E% SMI" 19952 19953 19954 19955 19956 19957 /* 19958 * There are some inherent problems in having a single file 19959 * ioctl.h, with both System V and BSD flags. Introducing 19960 * BSD flags into this file creates compilation problems 19961 * with flags such as ECHO, NL1 etc., if termio.h and ioctl.h 19962 * are included by the same file. Since these two files can 19963 * be only included by System V applications, /usr/inclule/sys/ioctl.h 19964 * will be System V mode and all the BSD flags will be turned off 19965 * using #ifdef BSD_COMP. This file will also exist in 19966 * /usr/ucbinclude/sys/ioctl.h for BSD applications but without the 19967 * BSD flags turned off. System V appliactions can use ioctl.h without 19968 * any changes, System V applications requiring BSD flags should 19969 * -D BSD_COMP when compiling (and be warned about the common 19970 * flags between System V and BSD) and BSD applications should 19971 * use /usr/ucbinclude/sys/ioctl.h. 19972 * 19973 */ 19974 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 19975 /* BSD related defines */ 19976 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19977 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 19978 /* 19979 * CDDL HEADER START 19980 * 19981 * The contents of this file are subject to the terms of the 19982 * Common Development and Distribution License (the "License"). 19983 * You may not use this file except in compliance with the License. 19984 * 19985 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19986 * or http://www.opensolaris.org/os/licensing. 19987 * See the License for the specific language governing permissions 19988 * and limitations under the License. 19989 * 19990 * When distributing Covered Code, include this CDDL HEADER in each 19991 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19992 * If applicable, add the following below this CDDL HEADER, with the 19993 * fields enclosed by brackets "[]" replaced with your own identifying 19994 * information: Portions Copyright [yyyy] [name of copyright owner] 19995 * 19996 * CDDL HEADER END 19997 */ 19998 19999 /* 20000 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 20001 */ 20002 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20003 20004 /* 20005 * C++ prefix 20006 */ 20007 20008 20009 20010 20011 20012 20013 /* function prototypes */ 20014 20015 /* PRINTFLIKE1 */ 20016 typedef void (*_z_printf_fcn_t)(char *a_format, ...); 20017 20018 /* zone list structure */ 20019 20020 typedef struct _zoneListElement_t *zoneList_t; 20021 20022 /* zone brand list structure */ 20023 20024 typedef struct _zoneBrandList zoneBrandList_t; 20025 20026 /* flag for zone locking functions */ 20027 20028 typedef unsigned long ZLOCKS_T; 20029 20030 /* flags for zone locking */ 20031 20032 20033 20034 20035 20036 20037 /* 20038 * external function definitions 20039 */ 20040 20041 /* zones.c */ 20042 20043 extern boolean_t z_zones_are_implemented(void); 20044 extern void z_set_zone_root(const char *zroot); 20045 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList, 20046 int a_zoneIndex); 20047 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList, 20048 int a_zoneIndex); 20049 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList, 20050 int a_zoneIndex, zone_state_t a_newState); 20051 extern char *z_get_zonename(void); 20052 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList, 20053 int a_zoneIndex); 20054 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList, 20055 int a_zoneIndex); 20056 extern int z_zoneExecCmdArray(int *r_status, char **r_results, 20057 char *a_inputFile, char *a_path, char *a_argv[], 20058 const char *a_zoneName, int *a_fds); 20059 extern int z_zone_exec(const char *zonename, const char *path, 20060 char *argv[], char *a_stdoutPath, 20061 char *a_stderrPath, int *a_fds); 20062 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename, 20063 char *a_userAdminFilename); 20064 extern void z_free_zone_list(zoneList_t a_zoneList); 20065 extern zoneList_t z_get_nonglobal_zone_list(void); 20066 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *); 20067 extern void z_free_brand_list(zoneBrandList_t *a_brandList); 20068 extern zoneBrandList_t *z_make_brand_list(const char *brandList, 20069 const char *delim); 20070 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 20071 extern boolean_t z_non_global_zones_exist(void); 20072 extern boolean_t z_running_in_global_zone(void); 20073 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn, 20074 _z_printf_fcn_t a_echo_debug_fcn, 20075 _z_printf_fcn_t a_progerr_fcn); 20076 extern int z_set_zone_spec(const char *zlist); 20077 extern int z_verify_zone_spec(void); 20078 extern boolean_t z_on_zone_spec(const char *zonename); 20079 extern boolean_t z_global_only(void); 20080 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 20081 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags); 20082 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags); 20083 extern char *z_zlist_get_zonename(zoneList_t a_zoneList, 20084 int a_zoneId); 20085 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList, 20086 int a_zoneId); 20087 extern char *z_zlist_get_scratch(zoneList_t a_zoneList, 20088 int a_zoneId); 20089 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint); 20090 extern boolean_t z_mount_in_lz(char **r_lzMountPoint, 20091 char **r_lzRootPath, 20092 char *a_zoneName, char *a_gzPath, 20093 char *a_mountPointPrefix); 20094 extern boolean_t z_is_zone_branded(char *zoneName); 20095 extern boolean_t z_is_zone_brand_in_list(char *zoneName, 20096 zoneBrandList_t *brands); 20097 extern boolean_t z_zones_are_implemented(void); 20098 20099 /* zones_exec.c */ 20100 extern int z_ExecCmdArray(int *r_status, char **r_results, 20101 char *a_inputFile, char *a_cmd, char **a_args); 20102 /*VARARGS*/ 20103 extern int z_ExecCmdList(int *r_status, char **r_results, 20104 char *a_inputFile, char *a_cmd, ...); 20105 20106 /* zones_paths.c */ 20107 extern char *z_make_zone_root(char *); 20108 extern void z_path_canonize(char *file); 20109 extern void z_canoninplace(char *file); 20110 20111 /* zones_lofs.c */ 20112 extern void z_destroyMountTable(void); 20113 extern int z_createMountTable(void); 20114 extern int z_isPathWritable(const char *); 20115 extern void z_resolve_lofs(char *path, size_t); 20116 20117 /* zones_states.c */ 20118 extern int UmountAllZones(char *mntpnt); 20119 20120 /* 20121 * C++ postfix 20122 */ 20123 # 49 "../common/instzones_lib.h" 2 20124 20125 20126 20127 /* 20128 * C++ prefix 20129 */ 20130 20131 20132 20133 20134 20135 /* constants */ 20136 20137 20138 /* macros */ 20139 20140 /* 20141 * argument array processing type 20142 */ 20143 20144 /* 20145 * This is the "argument array" definition that is returned by _z_new_args 20146 * and is used by _z_add_args, _z_free_args, etc. 20147 */ 20148 20149 struct _argArray_t { 20150 long _aaNumArgs; /* number of arguments set */ 20151 long _aaMaxArgs; /* number of arguments allocated */ 20152 char **_aaArgs; /* actual arguments */ 20153 }; 20154 20155 typedef struct _argArray_t argArray_t; 20156 20157 /* 20158 * lock objects 20159 */ 20160 20161 /* 20162 * this allows a root path to be prepended to a lock object; e.g. 20163 * rootpath.%s/zone.%s/... 20164 */ 20165 20166 20167 /* this locks a single zone (zone.name) */ 20168 20169 20170 /* this locks all zones */ 20171 20172 20173 /* this locks all packages, in all zones */ 20174 20175 20176 20177 20178 20179 /* paths to commands executed by this module */ 20180 20181 20182 20183 20184 /* max message size for program output functions (echo, echo debug, progerr) */ 20185 20186 20187 20188 /* maximum number of retries when waiting for lock */ 20189 20190 20191 20192 /* delay (in seconds) between retries when waiting for lock */ 20193 20194 20195 20196 /* Size of buffer increments when reading from pipe */ 20197 20198 20199 20200 /* Maximum number of arguments to pkg_ExecCmdList */ 20201 20202 20203 20204 /* 20205 * These dynamic libraries are required in order to use the zones 20206 * functionality - if these libraries are not available at runtime, 20207 * then zones are assumed to NOT be available, and it is assumed that 20208 * the program is running in the global zone with no non-global zones. 20209 */ 20210 # 147 "../common/instzones_lib.h" 20211 /* 20212 * Environment values used when running commands within a non-global zone 20213 */ 20214 20215 /* SHELL= */ 20216 20217 20218 20219 /* PATH= */ 20220 20221 20222 20223 /* error codes */ 20224 20225 20226 /* 20227 * zone brand list structure 20228 */ 20229 20230 struct _zoneBrandList { 20231 char *string_ptr; 20232 struct _zoneBrandList *next; 20233 }; 20234 20235 /* 20236 * zone status structure - used to retrieve and hold status of zones 20237 */ 20238 20239 typedef unsigned long _zone_status_t; 20240 20241 struct _zoneListElement_t { 20242 char *_zlName; 20243 char *_zlPath; 20244 char *_zlScratchName; 20245 char *_zlLockObjects; 20246 /* 20247 * the install "state" refers to the zone states listed in 20248 * /usr/include/libzonecfg.h that is stored in the zone_state_t 20249 * structure and returned from getzoneent_private() - such as: 20250 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE, 20251 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED, 20252 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN. 20253 */ 20254 zone_state_t _zlOrigInstallState; 20255 zone_state_t _zlCurrInstallState; 20256 /* 20257 * the kernel "status" refers to the zone status listed in 20258 * /usr/include/sys/zone.h, returned by zone_get_state(), 20259 * and defined in the zone_status_t enum - such as: 20260 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING, 20261 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY, 20262 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD. 20263 */ 20264 zone_status_t _zlOrigKernelStatus; 20265 zone_status_t _zlCurrKernelStatus; 20266 /* 20267 * this is an internal state recorded about the zone (ZSF_xxx). 20268 */ 20269 _zone_status_t _zlStatus; 20270 }; 20271 20272 typedef struct _zoneListElement_t zoneListElement_t; 20273 20274 /* bits used in the _zoneListElement _zlStatus variable */ 20275 20276 20277 20278 20279 /* 20280 * User-specified list of zones. 20281 */ 20282 20283 typedef struct zone_spec_s { 20284 struct zone_spec_s *zl_next; 20285 boolean_t zl_used; 20286 char zl_name[64]; 20287 } zone_spec_t; 20288 20289 /* 20290 * The global data structure used to hold all of the global (extern) data 20291 * used by this library. 20292 * 20293 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <-- 20294 * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <-- 20295 */ 20296 20297 struct _z_global_data_t { 20298 char *_z_ObjectLocks; /* object locks held */ 20299 char *_z_root_dir; /* root for zone lib fctns */ 20300 int _z_SigReceived; /* received signal count */ 20301 pid_t _z_ChildProcessId; /* child to propagate sigs to */ 20302 zone_spec_t *_zone_spec; /* zones to operate on */ 20303 _z_printf_fcn_t _z_echo; /* operational message fcn */ 20304 _z_printf_fcn_t _z_echo_debug; /* debug message fcn */ 20305 _z_printf_fcn_t _z_progerr; /* program error fcn */ 20306 }; 20307 20308 typedef struct _z_global_data_t z_global_data_t; 20309 20310 /* 20311 * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined, 20312 * instzones_lib.h will define the z_global_data structure. 20313 * Otherwise an extern to the structure is inserted. 20314 * 20315 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <-- 20316 * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <-- 20317 */ 20318 # 272 "../common/instzones_lib.h" 20319 /* define structure extern */ 20320 20321 extern z_global_data_t _z_global_data; 20322 20323 20324 20325 /* function prototypes */ 20326 20327 /* 20328 * The following functions can be used by other libs, but not 20329 * by applications. 20330 */ 20331 20332 /* ---> zones_states.c */ 20333 20334 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem); 20335 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem); 20336 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem); 20337 int UmountAllZones(char *mntpnt); 20338 void *_z_calloc(size_t size); 20339 void *_z_malloc(size_t size); 20340 void *_z_realloc(void *ptr, size_t size); 20341 void *_z_strdup(char *str); 20342 20343 /* ---> zones_utils.c */ 20344 20345 /*PRINTFLIKE1*/ 20346 void _z_program_error(char *fmt, ...); 20347 /*PRINTFLIKE1*/ 20348 void _z_echo(char *fmt, ...); 20349 /*PRINTFLIKE1*/ 20350 void _z_echoDebug(char *a_fmt, ...); 20351 int _z_is_directory(char *path); 20352 boolean_t _z_running_in_global_zone(void); 20353 boolean_t _z_zones_are_implemented(void); 20354 void _z_sig_trap(int a_signo); 20355 int _z_close_file_descriptors(void *a_fds, int a_fd); 20356 boolean_t _z_brands_are_implemented(void); 20357 20358 20359 /* ---> zones_locks.c */ 20360 20361 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result, 20362 char *a_lockObject); 20363 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName, 20364 char *a_lock, pid_t a_pid, boolean_t a_wait); 20365 boolean_t _z_lock_zone(zoneListElement_t *a_zlst, 20366 ZLOCKS_T a_lflags); 20367 boolean_t _z_lock_zone_object(char **r_objectLocks, 20368 char *a_zoneName, char *a_lockObject, 20369 pid_t a_pid, char *a_waitingMsg, 20370 char *a_busyMsg); 20371 boolean_t _z_release_lock(char *a_zoneName, char *a_lock, 20372 char *a_key, boolean_t a_wait); 20373 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst, 20374 ZLOCKS_T a_lflags); 20375 boolean_t _z_unlock_zone_object(char **r_objectLocks, 20376 char *a_zoneName, char *a_lockObject, 20377 char *a_errMsg); 20378 20379 /* ---> zones_args.c */ 20380 20381 void _z_free_args(argArray_t *a_args); 20382 argArray_t *_z_new_args(int initialCount); 20383 /*PRINTFLIKE2*/ 20384 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...); 20385 int _z_get_argc(argArray_t *a_args); 20386 char **_z_get_argv(argArray_t *a_args); 20387 20388 /* ---> zones_str.c */ 20389 20390 boolean_t _z_strContainsToken(char *a_string, char *a_token, 20391 char *a_separators); 20392 char *_z_strGetToken(char *r_sep, char *a_string, 20393 int a_index, char *a_separators); 20394 void _z_strRemoveLeadingWhitespace(char **a_str); 20395 void _z_strGetToken_r(char *r_sep, char *a_string, 20396 int a_index, char *a_separators, char *a_buf, 20397 int a_bufLen); 20398 void _z_strAddToken(char **a_old, char *a_new, 20399 char a_separator); 20400 void _z_strRemoveToken(char **r_string, char *a_token, 20401 char *a_separators, int a_index); 20402 /*PRINTFLIKE3*/ 20403 void _z_strPrintf_r(char *a_buf, int a_bufLen, 20404 char *a_format, ...); 20405 /*PRINTFLIKE1*/ 20406 char *_z_strPrintf(char *a_format, ...); 20407 20408 /* ---> zones_exec.c */ 20409 20410 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile, 20411 char *a_path, char *a_argv[], const char *a_zoneName, 20412 int *a_fds); 20413 int _zexec(const char *a_zoneName, 20414 const char *path, char *argv[]); 20415 char *_zexec_add_env(char *name, char *value); 20416 int _zexec_init_template(void); 20417 char **_zexec_prep_env(); 20418 20419 /* 20420 * C++ postfix 20421 */ 20422 # 42 "../common/zones_lofs.c" 2 20423 20424 20425 20426 20427 20428 static struct mnttab *mountTable; 20429 static size_t mountTableSize = 0; 20430 static boolean_t createdFlag = B_FALSE; 20431 20432 /* 20433 * Name : z_createMountTable 20434 * Description : Populate the mountTable Array with mnttab entries 20435 * Arguments : void 20436 * Returns : int 20437 * 0: The Mount Table was succesfully initialized 20438 * -1: There was an error during initialisation 20439 */ 20440 int 20441 z_createMountTable(void) 20442 { 20443 FILE *fp; 20444 struct mnttab ent; 20445 struct mnttab *entp; 20446 20447 if (createdFlag) { 20448 return (0); 20449 } 20450 20451 fp = fopen("/etc/mnttab", "r"); 20452 if (fp == 0L) { 20453 _z_program_error(dgettext(TEXT_DOMAIN, "unable to open <%s> for reading: (%d) %s"), "/etc/mnttab", (*(___errno())), 20454 strerror((*(___errno())))); 20455 return (-1); 20456 } 20457 20458 /* Put the entries into the table */ 20459 mountTable = 0L; 20460 mountTableSize = 0; 20461 createdFlag = B_TRUE; 20462 while (getmntent(fp, &ent) == 0) { 20463 if (mountTableSize % 32 == 0) { 20464 mountTable = _z_realloc(mountTable, 20465 (mountTableSize + 32) * sizeof (ent)); 20466 } 20467 entp = &mountTable[mountTableSize++]; 20468 20469 /* 20470 * Zero out any fields we're not using. 20471 */ 20472 (void) memset(entp, 0, sizeof (*entp)); 20473 20474 if (ent.mnt_special != 0L) 20475 entp->mnt_special = _z_strdup(ent.mnt_special); 20476 if (ent.mnt_mntopts != 0L) 20477 entp->mnt_mntopts = _z_strdup(ent.mnt_mntopts); 20478 entp->mnt_mountp = _z_strdup(ent.mnt_mountp); 20479 entp->mnt_fstype = _z_strdup(ent.mnt_fstype); 20480 } 20481 20482 (void) fclose(fp); 20483 return (0); 20484 } 20485 20486 /* 20487 * Name : findPathRWStatus 20488 * Description : Check whether the given path is an mnttab entry 20489 * Arguments : char * - The Path to be verified 20490 * Returns : int 20491 * -1: The Path is NOT present in the table (mnttab) 20492 * 0: The Path is present in the table and is mounted read-only 20493 * 1: The Path is present in the table and is mounted read-write 20494 */ 20495 static int 20496 findPathRWStatus(const char *a_path) 20497 { 20498 int i; 20499 20500 for (i = 0; i < mountTableSize; i++) { 20501 if (strcmp(a_path, mountTable[i].mnt_mountp) == 0) { 20502 if (hasmntopt(&mountTable[i], "ro") != 0L) { 20503 return (0); 20504 } else { 20505 return (1); 20506 } 20507 } 20508 } 20509 20510 return (-1); 20511 } 20512 20513 20514 /* 20515 * Name : z_isPathWritable 20516 * Description : Check if the given path is in a writable area 20517 * Arguments : char * - The Path to be verified 20518 * Returns : int 20519 * 0: The Path is under a read-only mount 20520 * 1: The Path is under a read-write mount 20521 * NOTE : This funcion automatically initialises 20522 * the mountPoint table if needed. 20523 */ 20524 int 20525 z_isPathWritable(const char *a_str) 20526 { 20527 int i, result, slen; 20528 char a_path[1024]; 20529 20530 if (!createdFlag) { 20531 if (z_createMountTable() != 0) { 20532 return (1); 20533 } 20534 } 20535 20536 (void) strlcpy(a_path, a_str, sizeof (a_path)); 20537 slen = strlen(a_path); 20538 20539 /* 20540 * This for loop traverses Path backwards, incrementally removing the 20541 * basename of Path and looking for the resultant directory in the 20542 * mnttab. Once found, it returns the rw status of that file system. 20543 */ 20544 for (i = slen; i > 0; i--) { 20545 if ((a_path[i] == '/') || (a_path[i] == '\0')) { 20546 a_path[i] = '\0'; 20547 result = findPathRWStatus(a_path); 20548 if (result != -1) { 20549 return (result); 20550 } 20551 } 20552 } 20553 20554 return (1); 20555 } 20556 20557 /* 20558 * Name : z_destroyMountTable 20559 * Description : Clear the entries in the mount table 20560 * Arguments : void 20561 * Returns : void 20562 */ 20563 void 20564 z_destroyMountTable(void) 20565 { 20566 int i; 20567 20568 if (!createdFlag) { 20569 return; 20570 } 20571 20572 if (mountTable == 0L) { 20573 return; 20574 } 20575 20576 for (i = 0; i < mountTableSize; i++) { 20577 free(mountTable[i].mnt_mountp); 20578 free(mountTable[i].mnt_fstype); 20579 free(mountTable[i].mnt_special); 20580 free(mountTable[i].mnt_mntopts); 20581 (void)((mountTable[i].mnt_time == 0L) || (__assert("mountTable[i].mnt_time == NULL", "../common/zones_lofs.c", 200), 0)); 20582 } 20583 20584 free(mountTable); 20585 mountTable = 0L; 20586 mountTableSize = 0; 20587 createdFlag = B_FALSE; 20588 } 20589 20590 /* 20591 * Name : z_resolve_lofs 20592 * Description : Loop over potential loopback mounts and symlinks in a 20593 * given path and resolve them all down to an absolute path. 20594 * Arguments : char * - path to resolve. path is in writable storage. 20595 * size_t - length of path storage. 20596 * Returns : void 20597 */ 20598 void 20599 z_resolve_lofs(char *path, size_t pathlen) 20600 { 20601 int len, arlen, i; 20602 const char *altroot; 20603 char tmppath[1024]; 20604 boolean_t outside_altroot; 20605 20606 if ((len = resolvepath(path, tmppath, sizeof (tmppath))) == -1) 20607 return; 20608 20609 tmppath[len] = '\0'; 20610 (void) strlcpy(path, tmppath, pathlen); 20611 20612 if (z_createMountTable() == -1) 20613 return; 20614 20615 altroot = zonecfg_get_root(); 20616 arlen = strlen(altroot); 20617 outside_altroot = B_FALSE; 20618 for (;;) { 20619 struct mnttab *mnp; 20620 20621 /* Search in reverse order to find longest match */ 20622 for (i = mountTableSize; i > 0; i--) { 20623 mnp = &mountTable[i - 1]; 20624 if (mnp->mnt_fstype == 0L || 20625 mnp->mnt_mountp == 0L || 20626 mnp->mnt_special == 0L) 20627 continue; 20628 len = strlen(mnp->mnt_mountp); 20629 if (strncmp(mnp->mnt_mountp, path, len) == 0 && 20630 (path[len] == '/' || path[len] == '\0')) 20631 break; 20632 } 20633 if (i <= 0) 20634 break; 20635 20636 /* If it's not a lofs then we're done */ 20637 if (strcmp(mnp->mnt_fstype, "lofs") != 0) 20638 break; 20639 20640 if (outside_altroot) { 20641 char *cp; 20642 int olen = sizeof ("ro") - 1; 20643 20644 /* 20645 * If we run into a read-only mount outside of the 20646 * alternate root environment, then the user doesn't 20647 * want this path to be made read-write. 20648 */ 20649 if (mnp->mnt_mntopts != 0L && 20650 (cp = strstr(mnp->mnt_mntopts, "ro")) != 20651 0L && 20652 (cp == mnp->mnt_mntopts || cp[-1] == ',') && 20653 (cp[olen] == '\0' || cp[olen] == ',')) { 20654 break; 20655 } 20656 } else if (arlen > 0 && 20657 (strncmp(mnp->mnt_special, altroot, arlen) != 0 || 20658 (mnp->mnt_special[arlen] != '\0' && 20659 mnp->mnt_special[arlen] != '/'))) { 20660 outside_altroot = B_TRUE; 20661 } 20662 /* use temporary buffer because new path might be longer */ 20663 (void) snprintf(tmppath, sizeof (tmppath), "%s%s", 20664 mnp->mnt_special, path + len); 20665 if ((len = resolvepath(tmppath, path, pathlen)) == -1) 20666 break; 20667 path[len] = '\0'; 20668 } 20669 } 20670