1 # 1 "../common/zones_args.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "../common/zones_args.c" 5 /* 6 * CDDL HEADER START 7 * 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License (the "License"). 10 * You may not use this file except in compliance with the License. 11 * 12 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 * or http://www.opensolaris.org/os/licensing. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 * If applicable, add the following below this CDDL HEADER, with the 20 * fields enclosed by brackets "[]" replaced with your own identifying 21 * information: Portions Copyright [yyyy] [name of copyright owner] 22 * 23 * CDDL HEADER END 24 */ 25 /* 26 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 27 * Use is subject to license terms. 28 */ 29 30 31 32 /* 33 * Module: zones_args.c 34 * Group: libinstzones 35 * Description: Private functions used by zones library functions to manipulate 36 * argument lists 37 * 38 * Public Methods: 39 * 40 * _z_add_arg - add new argument to argument array for use in exec() calls 41 * _z_free_args - free all storage contained in an argument array previously 42 * _z_get_argc - return (int) argc count from argument array 43 * _z_get_argv - return (char **)argv pointer from argument array 44 * _z_new_args - create a new argument array for use in exec() calls 45 */ 46 47 /* 48 * System includes 49 */ 50 51 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 52 /* 53 * CDDL HEADER START 54 * 55 * The contents of this file are subject to the terms of the 56 * Common Development and Distribution License (the "License"). 57 * You may not use this file except in compliance with the License. 58 * 59 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 60 * or http://www.opensolaris.org/os/licensing. 61 * See the License for the specific language governing permissions 62 * and limitations under the License. 63 * 64 * When distributing Covered Code, include this CDDL HEADER in each 65 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 66 * If applicable, add the following below this CDDL HEADER, with the 67 * fields enclosed by brackets "[]" replaced with your own identifying 68 * information: Portions Copyright [yyyy] [name of copyright owner] 69 * 70 * CDDL HEADER END 71 */ 72 73 /* 74 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 75 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 76 */ 77 78 /* Copyright (c) 1988 AT&T */ 79 /* All Rights Reserved */ 80 81 /* 82 * User-visible pieces of the ANSI C standard I/O package. 83 */ 84 85 86 87 88 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 89 /* 90 * CDDL HEADER START 91 * 92 * The contents of this file are subject to the terms of the 93 * Common Development and Distribution License (the "License"). 94 * You may not use this file except in compliance with the License. 95 * 96 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97 * or http://www.opensolaris.org/os/licensing. 98 * See the License for the specific language governing permissions 99 * and limitations under the License. 100 * 101 * When distributing Covered Code, include this CDDL HEADER in each 102 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 103 * If applicable, add the following below this CDDL HEADER, with the 104 * fields enclosed by brackets "[]" replaced with your own identifying 105 * information: Portions Copyright [yyyy] [name of copyright owner] 106 * 107 * CDDL HEADER END 108 */ 109 110 /* 111 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 112 * Copyright 2016 Joyent, Inc. 113 * 114 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 115 * Use is subject to license terms. 116 */ 117 118 119 120 121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 122 /* 123 * CDDL HEADER START 124 * 125 * The contents of this file are subject to the terms of the 126 * Common Development and Distribution License, Version 1.0 only 127 * (the "License"). You may not use this file except in compliance 128 * with the License. 129 * 130 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 131 * or http://www.opensolaris.org/os/licensing. 132 * See the License for the specific language governing permissions 133 * and limitations under the License. 134 * 135 * When distributing Covered Code, include this CDDL HEADER in each 136 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 137 * If applicable, add the following below this CDDL HEADER, with the 138 * fields enclosed by brackets "[]" replaced with your own identifying 139 * information: Portions Copyright [yyyy] [name of copyright owner] 140 * 141 * CDDL HEADER END 142 */ 143 /* 144 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 145 * Use is subject to license terms. 146 */ 147 /* 148 * Copyright 2015 EveryCity Ltd. All rights reserved. 149 */ 150 151 152 153 154 /* 155 * This file contains definitions designed to enable different compilers 156 * to be used harmoniously on Solaris systems. 157 */ 158 159 160 161 162 163 /* 164 * Allow for version tests for compiler bugs and features. 165 */ 166 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 167 /* 168 * analogous to lint's PRINTFLIKEn 169 */ 170 171 172 173 174 175 /* 176 * Handle the kernel printf routines that can take '%b' too 177 */ 178 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 179 /* 180 * This one's pretty obvious -- the function never returns 181 */ 182 183 184 /* 185 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 186 * behaviour. 187 * 188 * Should only be used on 'extern inline' definitions for GCC. 189 */ 190 191 192 193 194 195 196 /* 197 * The function has control flow such that it may return multiple times (in 198 * the manner of setjmp or vfork) 199 */ 200 201 202 203 204 205 206 /* 207 * This is an appropriate label for functions that do not 208 * modify their arguments, e.g. strlen() 209 */ 210 211 212 /* 213 * This is a stronger form of __pure__. Can be used for functions 214 * that do not modify their arguments and don't depend on global 215 * memory. 216 */ 217 218 219 220 221 /* 222 * This attribute, attached to a variable, means that the variable is meant to 223 * be possibly unused. GCC will not produce a warning for this variable. 224 */ 225 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 226 /* 227 * Shorthand versions for readability 228 */ 229 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 230 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 231 /* 232 * CDDL HEADER START 233 * 234 * The contents of this file are subject to the terms of the 235 * Common Development and Distribution License (the "License"). 236 * You may not use this file except in compliance with the License. 237 * 238 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 239 * or http://www.opensolaris.org/os/licensing. 240 * See the License for the specific language governing permissions 241 * and limitations under the License. 242 * 243 * 244 * When distributing Covered Code, include this CDDL HEADER in each 245 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 246 * If applicable, add the following below this CDDL HEADER, with the 247 * fields enclosed by brackets "[]" replaced with your own identifying 248 * information: Portions Copyright [yyyy] [name of copyright owner] 249 * 250 * CDDL HEADER END 251 */ 252 253 /* 254 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 255 * Use is subject to license terms. 256 * Copyright 2016 Joyent, Inc. 257 */ 258 259 260 261 262 /* 263 * This header file serves to group a set of well known defines and to 264 * set these for each instruction set architecture. These defines may 265 * be divided into two groups; characteristics of the processor and 266 * implementation choices for Solaris on a processor. 267 * 268 * Processor Characteristics: 269 * 270 * _LITTLE_ENDIAN / _BIG_ENDIAN: 271 * The natural byte order of the processor. A pointer to an int points 272 * to the least/most significant byte of that int. 273 * 274 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 275 * The processor specific direction of stack growth. A push onto the 276 * stack increases/decreases the stack pointer, so it stores data at 277 * successively higher/lower addresses. (Stackless machines ignored 278 * without regrets). 279 * 280 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 281 * A pointer to a long long points to the most/least significant long 282 * within that long long. 283 * 284 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 285 * The C compiler assigns bit fields from the high/low to the low/high end 286 * of an int (most to least significant vs. least to most significant). 287 * 288 * _IEEE_754: 289 * The processor (or supported implementations of the processor) 290 * supports the ieee-754 floating point standard. No other floating 291 * point standards are supported (or significant). Any other supported 292 * floating point formats are expected to be cased on the ISA processor 293 * symbol. 294 * 295 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 296 * The C Compiler implements objects of type `char' as `unsigned' or 297 * `signed' respectively. This is really an implementation choice of 298 * the compiler writer, but it is specified in the ABI and tends to 299 * be uniform across compilers for an instruction set architecture. 300 * Hence, it has the properties of a processor characteristic. 301 * 302 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 303 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 304 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 305 * The ABI defines alignment requirements of each of the primitive 306 * object types. Some, if not all, may be hardware requirements as 307 * well. The values are expressed in "byte-alignment" units. 308 * 309 * _MAX_ALIGNMENT: 310 * The most stringent alignment requirement as specified by the ABI. 311 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 312 * 313 * _MAX_ALIGNMENT_TYPE: 314 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 315 * 316 * _ALIGNMENT_REQUIRED: 317 * True or false (1 or 0) whether or not the hardware requires the ABI 318 * alignment. 319 * 320 * _LONG_LONG_ALIGNMENT_32 321 * The 32-bit ABI supported by a 64-bit kernel may have different 322 * alignment requirements for primitive object types. The value of this 323 * identifier is expressed in "byte-alignment" units. 324 * 325 * _HAVE_CPUID_INSN 326 * This indicates that the architecture supports the 'cpuid' 327 * instruction as defined by Intel. (Intel allows other vendors 328 * to extend the instruction for their own purposes.) 329 * 330 * 331 * Implementation Choices: 332 * 333 * _ILP32 / _LP64: 334 * This specifies the compiler data type implementation as specified in 335 * the relevant ABI. The choice between these is strongly influenced 336 * by the underlying hardware, but is not absolutely tied to it. 337 * Currently only two data type models are supported: 338 * 339 * _ILP32: 340 * Int/Long/Pointer are 32 bits. This is the historical UNIX 341 * and Solaris implementation. Due to its historical standing, 342 * this is the default case. 343 * 344 * _LP64: 345 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 346 * implementation for 64-bit ABIs such as SPARC V9. 347 * 348 * _I32LPx: 349 * A compilation environment where 'int' is 32-bit, and 350 * longs and pointers are simply the same size. 351 * 352 * In all cases, Char is 8 bits and Short is 16 bits. 353 * 354 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 355 * This specifies the form of the disk VTOC (or label): 356 * 357 * _SUNOS_VTOC_8: 358 * This is a VTOC form which is upwardly compatible with the 359 * SunOS 4.x disk label and allows 8 partitions per disk. 360 * 361 * _SUNOS_VTOC_16: 362 * In this format the incore vtoc image matches the ondisk 363 * version. It allows 16 slices per disk, and is not 364 * compatible with the SunOS 4.x disk label. 365 * 366 * Note that these are not the only two VTOC forms possible and 367 * additional forms may be added. One possible form would be the 368 * SVr4 VTOC form. The symbol for that is reserved now, although 369 * it is not implemented. 370 * 371 * _SVR4_VTOC_16: 372 * This VTOC form is compatible with the System V Release 4 373 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 374 * 16 partitions per disk. 375 * 376 * 377 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 378 * This describes the type of addresses used by system DMA: 379 * 380 * _DMA_USES_PHYSADDR: 381 * This type of DMA, used in the x86 implementation, 382 * requires physical addresses for DMA buffers. The 24-bit 383 * addresses used by some legacy boards is the source of the 384 * "low-memory" (<16MB) requirement for some devices using DMA. 385 * 386 * _DMA_USES_VIRTADDR: 387 * This method of DMA allows the use of virtual addresses for 388 * DMA transfers. 389 * 390 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 391 * This indicates the presence/absence of an fdisk table. 392 * 393 * _FIRMWARE_NEEDS_FDISK 394 * The fdisk table is required by system firmware. If present, 395 * it allows a disk to be subdivided into multiple fdisk 396 * partitions, each of which is equivalent to a separate, 397 * virtual disk. This enables the co-existence of multiple 398 * operating systems on a shared hard disk. 399 * 400 * _NO_FDISK_PRESENT 401 * If the fdisk table is absent, it is assumed that the entire 402 * media is allocated for a single operating system. 403 * 404 * _HAVE_TEM_FIRMWARE 405 * Defined if this architecture has the (fallback) option of 406 * using prom_* calls for doing I/O if a suitable kernel driver 407 * is not available to do it. 408 * 409 * _DONT_USE_1275_GENERIC_NAMES 410 * Controls whether or not device tree node names should 411 * comply with the IEEE 1275 "Generic Names" Recommended 412 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 413 * names identifying the particular device will be used. 414 * 415 * __i386_COMPAT 416 * This indicates whether the i386 ABI is supported as a *non-native* 417 * mode for the platform. When this symbol is defined: 418 * - 32-bit xstat-style system calls are enabled 419 * - 32-bit xmknod-style system calls are enabled 420 * - 32-bit system calls use i386 sizes -and- alignments 421 * 422 * Note that this is NOT defined for the i386 native environment! 423 * 424 * __x86 425 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 426 * which is useful only insofar as these two architectures share 427 * common attributes. Analogous to __sparc. 428 * 429 * _PSM_MODULES 430 * This indicates whether or not the implementation uses PSM 431 * modules for processor support, reading /etc/mach from inside 432 * the kernel to extract a list. 433 * 434 * _RTC_CONFIG 435 * This indicates whether or not the implementation uses /etc/rtc_config 436 * to configure the real-time clock in the kernel. 437 * 438 * _UNIX_KRTLD 439 * This indicates that the implementation uses a dynamically 440 * linked unix + krtld to form the core kernel image at boot 441 * time, or (in the absence of this symbol) a prelinked kernel image. 442 * 443 * _OBP 444 * This indicates the firmware interface is OBP. 445 * 446 * _SOFT_HOSTID 447 * This indicates that the implementation obtains the hostid 448 * from the file /etc/hostid, rather than from hardware. 449 */ 450 451 452 453 454 455 /* 456 * The following set of definitions characterize Solaris on AMD's 457 * 64-bit systems. 458 */ 459 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 460 /* 461 * Define the appropriate "processor characteristics" 462 */ 463 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 464 /* 465 * Different alignment constraints for the i386 ABI in compatibility mode 466 */ 467 468 469 /* 470 * Define the appropriate "implementation choices". 471 */ 472 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 473 /* 474 * The feature test macro __i386 is generic for all processors implementing 475 * the Intel 386 instruction set or a superset of it. Specifically, this 476 * includes all members of the 386, 486, and Pentium family of processors. 477 */ 478 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 479 480 481 482 483 484 /* 485 * Values of _POSIX_C_SOURCE 486 * 487 * undefined not a POSIX compilation 488 * 1 POSIX.1-1990 compilation 489 * 2 POSIX.2-1992 compilation 490 * 199309L POSIX.1b-1993 compilation (Real Time) 491 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 492 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 493 * 200809L POSIX.1-2008 compilation 494 */ 495 496 497 498 499 /* 500 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 501 * and _STDC_C99 are Sun implementation specific macros created in order to 502 * compress common standards specified feature test macros for easier reading. 503 * These macros should not be used by the application developer as 504 * unexpected results may occur. Instead, the user should reference 505 * standards(5) for correct usage of the standards feature test macros. 506 * 507 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 508 * X/Open or POSIX or in the negative, when neither 509 * X/Open or POSIX defines a symbol. 510 * 511 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 512 * by the compiler. For Sun compilers the value of 513 * __STDC__ is either 1, 0, or not defined based on the 514 * compilation mode (see cc(1)). When the value of 515 * __STDC__ is 1 and in the absence of any other feature 516 * test macros, the namespace available to the application 517 * is limited to only those symbols defined by the C 518 * Standard. _STRICT_STDC provides a more readable means 519 * of identifying symbols defined by the standard, or in 520 * the negative, symbols that are extensions to the C 521 * Standard. See additional comments for GNU C differences. 522 * 523 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 524 * defined by the compiler and indicates the version of 525 * the C standard. A value of 199901L indicates a 526 * compiler that complies with ISO/IEC 9899:1999, other- 527 * wise known as the C99 standard. 528 * 529 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 530 * is 201112L indicating a compiler that compiles with 531 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 532 * 533 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 534 * by the standards, and the user has not explicitly 535 * relaxed the strictness via __EXTENSIONS__. 536 */ 537 538 539 540 541 542 /* 543 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 544 * 99899:2011 specify the following predefined macro name: 545 * 546 * __STDC__ The integer constant 1, intended to indicate a conforming 547 * implementation. 548 * 549 * Furthermore, a strictly conforming program shall use only those features 550 * of the language and library specified in these standards. A conforming 551 * implementation shall accept any strictly conforming program. 552 * 553 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 554 * strictly conforming environments and __STDC__ to 0 for environments that 555 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 556 * C semantics, Sun's C compiler does not define __STDC__. 557 * 558 * The GNU C project interpretation is that __STDC__ should always be defined 559 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 560 * or not extensions to the C standard are used. Violations of conforming 561 * behavior are conditionally flagged as warnings via the use of the 562 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 563 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 564 * conforming environments using the -ansi or -std=<standard> options. 565 * 566 * In the absence of any other compiler options, Sun and GNU set the value 567 * of __STDC__ as follows when using the following options: 568 * 569 * Value of __STDC__ __STRICT_ANSI__ 570 * 571 * cc -Xa (default) 0 undefined 572 * cc -Xt (transitional) 0 undefined 573 * cc -Xc (strictly conforming) 1 undefined 574 * cc -Xs (K&R C) undefined undefined 575 * 576 * gcc (default) 1 undefined 577 * gcc -ansi, -std={c89, c99,...) 1 defined 578 * gcc -traditional (K&R) undefined undefined 579 * 580 * The default compilation modes for Sun C compilers versus GNU C compilers 581 * results in a differing value for __STDC__ which results in a more 582 * restricted namespace when using Sun compilers. To allow both GNU and Sun 583 * interpretations to peacefully co-exist, we use the following Sun 584 * implementation _STRICT_STDC_ macro: 585 */ 586 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 587 /* 588 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 589 */ 590 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 591 /* 592 * Use strict symbol visibility. 593 */ 594 595 596 597 598 599 /* 600 * Large file interfaces: 601 * 602 * _LARGEFILE_SOURCE 603 * 1 large file-related additions to POSIX 604 * interfaces requested (fseeko, etc.) 605 * _LARGEFILE64_SOURCE 606 * 1 transitional large-file-related interfaces 607 * requested (seek64, stat64, etc.) 608 * 609 * The corresponding announcement macros are respectively: 610 * _LFS_LARGEFILE 611 * _LFS64_LARGEFILE 612 * (These are set in <unistd.h>.) 613 * 614 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 615 * well. 616 * 617 * The large file interfaces are made visible regardless of the initial values 618 * of the feature test macros under certain circumstances: 619 * - If no explicit standards-conforming environment is requested (neither 620 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 621 * __STDC__ does not imply standards conformance). 622 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 623 * is defined). 624 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 625 * defined). (Note that this dependency is an artifact of the current 626 * kernel implementation and may change in future releases.) 627 */ 628 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 629 /* 630 * Large file compilation environment control: 631 * 632 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 633 * types and governs the mapping between file-related source function symbol 634 * names and the corresponding binary entry points. 635 * 636 * In the 32-bit environment, the default value is 32; if not set, set it to 637 * the default here, to simplify tests in other headers. 638 * 639 * In the 64-bit compilation environment, the only value allowed is 64. 640 */ 641 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 642 /* 643 * Use of _XOPEN_SOURCE 644 * 645 * The following X/Open specifications are supported: 646 * 647 * X/Open Portability Guide, Issue 3 (XPG3) 648 * X/Open CAE Specification, Issue 4 (XPG4) 649 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 650 * X/Open CAE Specification, Issue 5 (XPG5) 651 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 652 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 653 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 654 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 655 * 656 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 657 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 658 * Version 2 (SUSv2) 659 * XPG6 is the result of a merge of the X/Open and POSIX specifications 660 * and as such is also referred to as IEEE Std. 1003.1-2001 in 661 * addition to UNIX 03 and SUSv3. 662 * XPG7 is also referred to as UNIX 08 and SUSv4. 663 * 664 * When writing a conforming X/Open application, as per the specification 665 * requirements, the appropriate feature test macros must be defined at 666 * compile time. These are as follows. For more info, see standards(5). 667 * 668 * Feature Test Macro Specification 669 * ------------------------------------------------ ------------- 670 * _XOPEN_SOURCE XPG3 671 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 672 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 673 * _XOPEN_SOURCE = 500 XPG5 674 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 675 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 676 * 677 * In order to simplify the guards within the headers, the following 678 * implementation private test macros have been created. Applications 679 * must NOT use these private test macros as unexpected results will 680 * occur. 681 * 682 * Note that in general, the use of these private macros is cumulative. 683 * For example, the use of _XPG3 with no other restrictions on the X/Open 684 * namespace will make the symbols visible for XPG3 through XPG6 685 * compilation environments. The use of _XPG4_2 with no other X/Open 686 * namespace restrictions indicates that the symbols were introduced in 687 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 688 * environments, but not for XPG3 or XPG4 compilation environments. 689 * 690 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 691 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 692 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 693 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 694 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 695 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 696 */ 697 698 /* X/Open Portability Guide, Issue 3 */ 699 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 700 /* 701 * _XOPEN_VERSION is defined by the X/Open specifications and is not 702 * normally defined by the application, except in the case of an XPG4 703 * application. On the implementation side, _XOPEN_VERSION defined with 704 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 705 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 706 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 707 * application and with a value of 600 indicates an XPG6 (UNIX 03) 708 * application and with a value of 700 indicates an XPG7 (UNIX 08). 709 * The appropriate version is determined by the use of the 710 * feature test macros described earlier. The value of _XOPEN_VERSION 711 * defaults to 3 otherwise indicating support for XPG3 applications. 712 */ 713 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 714 /* 715 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 716 * conforming environments. ISO 9899:1999 says it does. 717 * 718 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 719 * defined in all but strictly conforming environments that disallow it. 720 */ 721 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 722 /* 723 * The following macro defines a value for the ISO C99 restrict 724 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 725 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 726 * if any other compiler is used. This allows for the use of single 727 * prototype declarations regardless of compiler version. 728 */ 729 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 730 /* 731 * The following macro defines a value for the ISO C11 _Noreturn 732 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 733 * an ISO C11 compiler is used and "" (null string) if any other 734 * compiler is used. This allows for the use of single prototype 735 * declarations regardless of compiler version. 736 */ 737 738 739 740 741 742 743 744 /* 745 * The following macro indicates header support for the ANSI C++ 746 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 747 */ 748 749 750 /* 751 * The following macro indicates header support for the C99 standard, 752 * ISO/IEC 9899:1999, Programming Languages - C. 753 */ 754 755 756 /* 757 * The following macro indicates header support for the C99 standard, 758 * ISO/IEC 9899:2011, Programming Languages - C. 759 */ 760 761 762 /* 763 * The following macro indicates header support for DTrace. The value is an 764 * integer that corresponds to the major version number for DTrace. 765 */ 766 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 767 768 769 770 771 772 /* 773 * Do all of our 'redefine_extname' processing before 774 * declarations of the associated functions are seen. 775 * This is necessary to keep gcc happy. 776 */ 777 778 779 /* large file compilation environment setup */ 780 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 781 /* In the LP64 compilation environment, all APIs are already large file */ 782 783 784 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 785 #pragma redefine_extname fopen64 fopen 786 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 787 788 789 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 790 #pragma redefine_extname freopen64 freopen 791 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 792 793 794 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 795 #pragma redefine_extname tmpfile64 tmpfile 796 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 797 798 799 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 800 #pragma redefine_extname fgetpos64 fgetpos 801 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 802 803 804 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 805 #pragma redefine_extname fsetpos64 fsetpos 806 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 807 808 809 810 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 811 #pragma redefine_extname fseeko64 fseeko 812 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 813 814 815 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 816 #pragma redefine_extname ftello64 ftello 817 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 818 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 819 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 820 /* 821 * CDDL HEADER START 822 * 823 * The contents of this file are subject to the terms of the 824 * Common Development and Distribution License, Version 1.0 only 825 * (the "License"). You may not use this file except in compliance 826 * with the License. 827 * 828 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 829 * or http://www.opensolaris.org/os/licensing. 830 * See the License for the specific language governing permissions 831 * and limitations under the License. 832 * 833 * When distributing Covered Code, include this CDDL HEADER in each 834 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 835 * If applicable, add the following below this CDDL HEADER, with the 836 * fields enclosed by brackets "[]" replaced with your own identifying 837 * information: Portions Copyright [yyyy] [name of copyright owner] 838 * 839 * CDDL HEADER END 840 */ 841 /* 842 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 843 * Copyright 2014 PALO, Richard. 844 * 845 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 846 * Use is subject to license terms. 847 */ 848 849 /* Copyright (c) 1988 AT&T */ 850 /* All Rights Reserved */ 851 852 /* 853 * An application should not include this header directly. Instead it 854 * should be included only through the inclusion of other Sun headers. 855 * 856 * The contents of this header is limited to identifiers specified in the 857 * C Standard. Any new identifiers specified in future amendments to the 858 * C Standard must be placed in this header. If these new identifiers 859 * are required to also be in the C++ Standard "std" namespace, then for 860 * anything other than macro definitions, corresponding "using" directives 861 * must also be added to <stdio.h>. 862 */ 863 864 /* 865 * User-visible pieces of the ANSI C standard I/O package. 866 */ 867 868 869 870 871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 872 /* 873 * CDDL HEADER START 874 * 875 * The contents of this file are subject to the terms of the 876 * Common Development and Distribution License (the "License"). 877 * You may not use this file except in compliance with the License. 878 * 879 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 880 * or http://www.opensolaris.org/os/licensing. 881 * See the License for the specific language governing permissions 882 * and limitations under the License. 883 * 884 * When distributing Covered Code, include this CDDL HEADER in each 885 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 886 * If applicable, add the following below this CDDL HEADER, with the 887 * fields enclosed by brackets "[]" replaced with your own identifying 888 * information: Portions Copyright [yyyy] [name of copyright owner] 889 * 890 * CDDL HEADER END 891 */ 892 893 /* 894 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 895 * Copyright 2016 Joyent, Inc. 896 * 897 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 898 * Use is subject to license terms. 899 */ 900 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 901 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 902 /* 903 * This file and its contents are supplied under the terms of the 904 * Common Development and Distribution License ("CDDL"), version 1.0. 905 * You may only use this file in accordance with the terms of version 906 * 1.0 of the CDDL. 907 * 908 * A full copy of the text of the CDDL should have accompanied this 909 * source. A copy of the CDDL is also available via the Internet at 910 * http://www.illumos.org/license/CDDL. 911 */ 912 913 /* 914 * Copyright 2014-2016 PALO, Richard. 915 */ 916 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 917 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 918 /* 919 * CDDL HEADER START 920 * 921 * The contents of this file are subject to the terms of the 922 * Common Development and Distribution License, Version 1.0 only 923 * (the "License"). You may not use this file except in compliance 924 * with the License. 925 * 926 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 927 * or http://www.opensolaris.org/os/licensing. 928 * See the License for the specific language governing permissions 929 * and limitations under the License. 930 * 931 * When distributing Covered Code, include this CDDL HEADER in each 932 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 933 * If applicable, add the following below this CDDL HEADER, with the 934 * fields enclosed by brackets "[]" replaced with your own identifying 935 * information: Portions Copyright [yyyy] [name of copyright owner] 936 * 937 * CDDL HEADER END 938 */ 939 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 940 /* All Rights Reserved */ 941 942 943 /* 944 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 945 * 946 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 947 * Use is subject to license terms. 948 */ 949 950 951 952 953 /* 954 * An application should not include this header directly. Instead it 955 * should be included only through the inclusion of other Sun headers. 956 * 957 * The purpose of this header is to provide the type definitions for 958 * the va_list argument used by a number of printf and printf like 959 * functions. The headers that define these various function prototypes 960 * #include this header directly. These include but are not necessarily 961 * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and 962 * <syslog.h>. The type definitions included in this header are for 963 * the benefit of consumers of va_list. 964 * 965 * Any application that accepts variable argument lists must as documented, 966 * include either <varargs.h> or the preferred <stdarg.h>. Doing so will 967 * pull in the appropriate compiler protocols defined in <sys/va_impl.h> 968 * which is in turn is included by <varargs.h> and <stdarg.h>. See comments 969 * in <sys/va_impl.h> for more detailed information regarding implementation 970 * and compiler specific protocols. 971 */ 972 973 /* 974 * The common definitions exported by this header or compilers using 975 * this header are: 976 * 977 * the identifier __builtin_va_alist for the variable list pseudo parameter 978 * the type __va_alist_type for the variable list pseudo parameter 979 * the type __va_list defining the type of the variable list iterator 980 * 981 * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros 982 * (__GNUC__) and processor macros (e.g. __amd64) are intended to be 983 * defined by the compilation system, not the user of the system. 984 */ 985 986 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 987 /* 988 * CDDL HEADER START 989 * 990 * The contents of this file are subject to the terms of the 991 * Common Development and Distribution License (the "License"). 992 * You may not use this file except in compliance with the License. 993 * 994 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 995 * or http://www.opensolaris.org/os/licensing. 996 * See the License for the specific language governing permissions 997 * and limitations under the License. 998 * 999 * 1000 * When distributing Covered Code, include this CDDL HEADER in each 1001 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1002 * If applicable, add the following below this CDDL HEADER, with the 1003 * fields enclosed by brackets "[]" replaced with your own identifying 1004 * information: Portions Copyright [yyyy] [name of copyright owner] 1005 * 1006 * CDDL HEADER END 1007 */ 1008 1009 /* 1010 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1011 * Use is subject to license terms. 1012 * Copyright 2016 Joyent, Inc. 1013 */ 1014 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 1015 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1016 typedef __builtin_va_list __gnuc_va_list; 1017 /* 1018 * XX64 This seems unnecessary .. but is needed because vcmn_err is 1019 * defined with __va_list instead of plain old va_list. 1020 * Perhaps that should be fixed! 1021 */ 1022 typedef __builtin_va_list __va_list; 1023 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1024 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 1025 /* 1026 * CDDL HEADER START 1027 * 1028 * The contents of this file are subject to the terms of the 1029 * Common Development and Distribution License, Version 1.0 only 1030 * (the "License"). You may not use this file except in compliance 1031 * with the License. 1032 * 1033 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1034 * or http://www.opensolaris.org/os/licensing. 1035 * See the License for the specific language governing permissions 1036 * and limitations under the License. 1037 * 1038 * When distributing Covered Code, include this CDDL HEADER in each 1039 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1040 * If applicable, add the following below this CDDL HEADER, with the 1041 * fields enclosed by brackets "[]" replaced with your own identifying 1042 * information: Portions Copyright [yyyy] [name of copyright owner] 1043 * 1044 * CDDL HEADER END 1045 */ 1046 /* 1047 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1048 * Use is subject to license terms. 1049 */ 1050 1051 1052 1053 1054 #pragma ident "%Z%%M% %I% %E% SMI" 1055 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1056 typedef struct __FILE __FILE; 1057 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 1059 /* 1060 * CDDL HEADER START 1061 * 1062 * The contents of this file are subject to the terms of the 1063 * Common Development and Distribution License (the "License"). 1064 * You may not use this file except in compliance with the License. 1065 * 1066 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1067 * or http://www.opensolaris.org/os/licensing. 1068 * See the License for the specific language governing permissions 1069 * and limitations under the License. 1070 * 1071 * When distributing Covered Code, include this CDDL HEADER in each 1072 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1073 * If applicable, add the following below this CDDL HEADER, with the 1074 * fields enclosed by brackets "[]" replaced with your own identifying 1075 * information: Portions Copyright [yyyy] [name of copyright owner] 1076 * 1077 * CDDL HEADER END 1078 */ 1079 1080 /* 1081 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1082 * Use is subject to license terms. 1083 */ 1084 1085 1086 1087 1088 #pragma ident "%Z%%M% %I% %E% SMI" 1089 1090 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 1091 /* 1092 * CDDL HEADER START 1093 * 1094 * The contents of this file are subject to the terms of the 1095 * Common Development and Distribution License (the "License"). 1096 * You may not use this file except in compliance with the License. 1097 * 1098 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1099 * or http://www.opensolaris.org/os/licensing. 1100 * See the License for the specific language governing permissions 1101 * and limitations under the License. 1102 * 1103 * 1104 * When distributing Covered Code, include this CDDL HEADER in each 1105 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1106 * If applicable, add the following below this CDDL HEADER, with the 1107 * fields enclosed by brackets "[]" replaced with your own identifying 1108 * information: Portions Copyright [yyyy] [name of copyright owner] 1109 * 1110 * CDDL HEADER END 1111 */ 1112 1113 /* 1114 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1115 * Use is subject to license terms. 1116 * Copyright 2016 Joyent, Inc. 1117 */ 1118 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 1119 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1120 struct __FILE { 1121 long __pad[16]; 1122 }; 1123 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1124 1125 /* 1126 * If feature test macros are set that enable interfaces that use types 1127 * defined in <sys/types.h>, get those types by doing the include. 1128 * 1129 * Note that in asking for the interfaces associated with this feature test 1130 * macro one also asks for definitions of the POSIX types. 1131 */ 1132 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1133 typedef __FILE FILE; 1134 1135 1136 1137 1138 1139 typedef unsigned long size_t; /* size of something in bytes */ 1140 1141 1142 1143 1144 1145 1146 typedef long fpos_t; 1147 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1148 /* 1149 * The value of _NFILE is defined in the Processor Specific ABI. The value 1150 * is chosen for historical reasons rather than for truly processor related 1151 * attribute. Note that the SPARC Processor Specific ABI uses the common 1152 * UNIX historical value of 20 so it is allowed to fall through. 1153 */ 1154 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1155 extern __FILE __iob[20]; 1156 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1157 extern int remove(const char *); 1158 extern int rename(const char *, const char *); 1159 extern FILE *tmpfile(void); 1160 extern char *tmpnam(char *); 1161 extern int fclose(FILE *); 1162 extern int fflush(FILE *); 1163 extern FILE *fopen(const char *, const char *); 1164 extern FILE *freopen(const char *, 1165 const char *, FILE *); 1166 extern void setbuf(FILE *, char *); 1167 extern int setvbuf(FILE *, char *, int, 1168 size_t); 1169 /* PRINTFLIKE2 */ 1170 extern int fprintf(FILE *, const char *, ...); 1171 /* SCANFLIKE2 */ 1172 extern int fscanf(FILE *, const char *, ...); 1173 /* PRINTFLIKE1 */ 1174 extern int printf(const char *, ...); 1175 /* SCANFLIKE1 */ 1176 extern int scanf(const char *, ...); 1177 /* PRINTFLIKE2 */ 1178 extern int sprintf(char *, const char *, ...); 1179 /* SCANFLIKE2 */ 1180 extern int sscanf(const char *, 1181 const char *, ...); 1182 extern int vfprintf(FILE *, const char *, 1183 __va_list); 1184 extern int vprintf(const char *, __va_list); 1185 extern int vsprintf(char *, const char *, 1186 __va_list); 1187 extern int fgetc(FILE *); 1188 extern char *fgets(char *, int, FILE *); 1189 extern int fputc(int, FILE *); 1190 extern int fputs(const char *, FILE *); 1191 1192 1193 extern int getc(FILE *); 1194 extern int putc(int, FILE *); 1195 1196 1197 1198 extern int getchar(void); 1199 extern int putchar(int); 1200 1201 1202 /* 1203 * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 1204 * environment has been requested, we remove it. 1205 */ 1206 1207 extern char *gets(char *); 1208 1209 extern int puts(const char *); 1210 extern int ungetc(int, FILE *); 1211 extern size_t fread(void *, size_t, size_t, 1212 FILE *); 1213 extern size_t fwrite(const void *, size_t, size_t, 1214 FILE *); 1215 1216 extern int fgetpos(FILE *, fpos_t *); 1217 extern int fsetpos(FILE *, const fpos_t *); 1218 1219 extern int fseek(FILE *, long, int); 1220 extern long ftell(FILE *); 1221 extern void rewind(FILE *); 1222 1223 1224 extern void clearerr(FILE *); 1225 extern int feof(FILE *); 1226 extern int ferror(FILE *); 1227 1228 extern void perror(const char *); 1229 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1230 1231 /* 1232 * If feature test macros are set that enable interfaces that use types 1233 * defined in <sys/types.h>, get those types by doing the include. 1234 * 1235 * Note that in asking for the interfaces associated with this feature test 1236 * macro one also asks for definitions of the POSIX types. 1237 */ 1238 1239 /* 1240 * Allow global visibility for symbols defined in 1241 * C++ "std" namespace in <iso/stdio_iso.h>. 1242 */ 1243 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1244 /* 1245 * This header needs to be included here because it relies on the global 1246 * visibility of FILE and size_t in the C++ environment. 1247 */ 1248 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 1249 /* 1250 * CDDL HEADER START 1251 * 1252 * The contents of this file are subject to the terms of the 1253 * Common Development and Distribution License, Version 1.0 only 1254 * (the "License"). You may not use this file except in compliance 1255 * with the License. 1256 * 1257 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1258 * or http://www.opensolaris.org/os/licensing. 1259 * See the License for the specific language governing permissions 1260 * and limitations under the License. 1261 * 1262 * When distributing Covered Code, include this CDDL HEADER in each 1263 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1264 * If applicable, add the following below this CDDL HEADER, with the 1265 * fields enclosed by brackets "[]" replaced with your own identifying 1266 * information: Portions Copyright [yyyy] [name of copyright owner] 1267 * 1268 * CDDL HEADER END 1269 */ 1270 /* 1271 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1272 * 1273 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1274 * Use is subject to license terms. 1275 */ 1276 1277 /* 1278 * An application should not include this header directly. Instead it 1279 * should be included only through the inclusion of other Sun headers. 1280 * 1281 * The contents of this header is limited to identifiers specified in 1282 * the C99 standard and in conflict with the C++ implementation of the 1283 * standard header. The C++ standard may adopt the C99 standard at 1284 * which point it is expected that the symbols included here will 1285 * become part of the C++ std namespace. 1286 */ 1287 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1288 /* 1289 * The following have been added as a result of the ISO/IEC 9899:1999 1290 * standard. For a strictly conforming C application, visibility is 1291 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1292 * For non-strictly conforming C applications, there are no restrictions 1293 * on the C namespace. 1294 */ 1295 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1296 extern int vfscanf(FILE *, const char *, __va_list); 1297 extern int vscanf(const char *, __va_list); 1298 extern int vsscanf(const char *, const char *, 1299 __va_list); 1300 1301 1302 1303 1304 extern int snprintf(char *, size_t, const char *, 1305 ...); 1306 extern int vsnprintf(char *, size_t, const char *, 1307 __va_list); 1308 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1309 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1310 typedef long off_t; 1311 1312 1313 1314 1315 1316 typedef off_t off64_t; 1317 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1318 typedef fpos_t fpos64_t; 1319 1320 1321 1322 1323 1324 /* 1325 * XPG4 requires that va_list be defined in <stdio.h> "as described in 1326 * <stdarg.h>". ANSI-C and POSIX require that the namespace of <stdio.h> 1327 * not be polluted with this name. 1328 */ 1329 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1330 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1331 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1332 extern unsigned char _sibuf[], _sobuf[]; 1333 1334 1335 /* large file compilation environment setup */ 1336 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1337 /* In the LP64 compilation environment, all APIs are already large file */ 1338 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1339 typedef long ssize_t; /* size of something in bytes or -1 */ 1340 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1341 extern char *tmpnam_r(char *); 1342 1343 1344 1345 1346 extern int fcloseall(void); 1347 extern void setbuffer(FILE *, char *, size_t); 1348 extern int setlinebuf(FILE *); 1349 /* PRINTFLIKE2 */ 1350 extern int asprintf(char **, const char *, ...); 1351 /* PRINTFLIKE2 */ 1352 extern int vasprintf(char **, const char *, __va_list); 1353 1354 1355 1356 1357 /* || defined(_XPG7) */ 1358 extern ssize_t getdelim(char **, size_t *, 1359 int, FILE *); 1360 extern ssize_t getline(char **, size_t *, 1361 FILE *); 1362 1363 1364 /* 1365 * The following are known to POSIX and XOPEN, but not to ANSI-C. 1366 */ 1367 1368 1369 1370 extern FILE *fdopen(int, const char *); 1371 extern char *ctermid(char *); 1372 extern int fileno(FILE *); 1373 1374 1375 1376 /* 1377 * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. 1378 */ 1379 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1380 /* 1381 * The following are known to XOPEN, but not to ANSI-C or POSIX. 1382 */ 1383 1384 1385 extern FILE *popen(const char *, const char *); 1386 extern char *tempnam(const char *, const char *); 1387 extern int pclose(FILE *); 1388 1389 extern int getsubopt(char **, char *const *, char **); 1390 1391 1392 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1393 1394 extern char *cuserid(char *); 1395 extern int getopt(int, char *const *, const char *); 1396 extern char *optarg; 1397 extern int optind, opterr, optopt; 1398 extern int getw(FILE *); 1399 extern int putw(int, FILE *); 1400 1401 1402 1403 1404 /* 1405 * The following are defined as part of the Large File Summit interfaces. 1406 */ 1407 1408 extern int fseeko(FILE *, off_t, int); 1409 extern off_t ftello(FILE *); 1410 1411 1412 /* 1413 * The following are defined as part of the transitional Large File Summit 1414 * interfaces. 1415 */ 1416 1417 1418 extern FILE *fopen64(const char *, const char *); 1419 extern FILE *freopen64(const char *, const char *, FILE *); 1420 extern FILE *tmpfile64(void); 1421 extern int fgetpos64(FILE *, fpos64_t *); 1422 extern int fsetpos64(FILE *, const fpos64_t *); 1423 extern int fseeko64(FILE *, off64_t, int); 1424 extern off64_t ftello64(FILE *); 1425 1426 1427 /* 1428 * XPG7 symbols 1429 */ 1430 1431 extern FILE *fmemopen(void *, size_t, 1432 const char *); 1433 extern FILE *open_memstream(char **, size_t *); 1434 # 48 "../common/zones_args.c" 2 1435 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 1436 /* 1437 * CDDL HEADER START 1438 * 1439 * The contents of this file are subject to the terms of the 1440 * Common Development and Distribution License (the "License"). 1441 * You may not use this file except in compliance with the License. 1442 * 1443 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1444 * or http://www.opensolaris.org/os/licensing. 1445 * See the License for the specific language governing permissions 1446 * and limitations under the License. 1447 * 1448 * When distributing Covered Code, include this CDDL HEADER in each 1449 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1450 * If applicable, add the following below this CDDL HEADER, with the 1451 * fields enclosed by brackets "[]" replaced with your own identifying 1452 * information: Portions Copyright [yyyy] [name of copyright owner] 1453 * 1454 * CDDL HEADER END 1455 */ 1456 1457 /* 1458 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1459 * Copyright (c) 2013 Gary Mills 1460 * 1461 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 1462 */ 1463 1464 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 1465 1466 /* Copyright (c) 1988 AT&T */ 1467 /* All Rights Reserved */ 1468 1469 1470 1471 1472 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 1473 /* 1474 * CDDL HEADER START 1475 * 1476 * The contents of this file are subject to the terms of the 1477 * Common Development and Distribution License, Version 1.0 only 1478 * (the "License"). You may not use this file except in compliance 1479 * with the License. 1480 * 1481 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1482 * or http://www.opensolaris.org/os/licensing. 1483 * See the License for the specific language governing permissions 1484 * and limitations under the License. 1485 * 1486 * When distributing Covered Code, include this CDDL HEADER in each 1487 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1488 * If applicable, add the following below this CDDL HEADER, with the 1489 * fields enclosed by brackets "[]" replaced with your own identifying 1490 * information: Portions Copyright [yyyy] [name of copyright owner] 1491 * 1492 * CDDL HEADER END 1493 */ 1494 /* 1495 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1496 * Copyright 2014 PALO, Richard. 1497 * 1498 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1499 * Use is subject to license terms. 1500 */ 1501 1502 /* Copyright (c) 1988 AT&T */ 1503 /* All Rights Reserved */ 1504 1505 1506 /* 1507 * An application should not include this header directly. Instead it 1508 * should be included only through the inclusion of other Sun headers. 1509 * 1510 * The contents of this header is limited to identifiers specified in the 1511 * C Standard. Any new identifiers specified in future amendments to the 1512 * C Standard must be placed in this header. If these new identifiers 1513 * are required to also be in the C++ Standard "std" namespace, then for 1514 * anything other than macro definitions, corresponding "using" directives 1515 * must also be added to <locale.h>. 1516 */ 1517 1518 1519 1520 1521 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1522 /* 1523 * CDDL HEADER START 1524 * 1525 * The contents of this file are subject to the terms of the 1526 * Common Development and Distribution License (the "License"). 1527 * You may not use this file except in compliance with the License. 1528 * 1529 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1530 * or http://www.opensolaris.org/os/licensing. 1531 * See the License for the specific language governing permissions 1532 * and limitations under the License. 1533 * 1534 * When distributing Covered Code, include this CDDL HEADER in each 1535 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1536 * If applicable, add the following below this CDDL HEADER, with the 1537 * fields enclosed by brackets "[]" replaced with your own identifying 1538 * information: Portions Copyright [yyyy] [name of copyright owner] 1539 * 1540 * CDDL HEADER END 1541 */ 1542 1543 /* 1544 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1545 * Copyright 2016 Joyent, Inc. 1546 * 1547 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1548 * Use is subject to license terms. 1549 */ 1550 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1551 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 1552 /* 1553 * This file and its contents are supplied under the terms of the 1554 * Common Development and Distribution License ("CDDL"), version 1.0. 1555 * You may only use this file in accordance with the terms of version 1556 * 1.0 of the CDDL. 1557 * 1558 * A full copy of the text of the CDDL should have accompanied this 1559 * source. A copy of the CDDL is also available via the Internet at 1560 * http://www.illumos.org/license/CDDL. 1561 */ 1562 1563 /* 1564 * Copyright 2014-2016 PALO, Richard. 1565 */ 1566 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1567 1568 1569 1570 1571 1572 unsigned char __mb_cur_max(void); 1573 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1574 typedef struct { 1575 int quot; 1576 int rem; 1577 } div_t; 1578 1579 typedef struct { 1580 long quot; 1581 long rem; 1582 } ldiv_t; 1583 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1584 /* 1585 * wchar_t is a built-in type in standard C++ and as such is not 1586 * defined here when using standard C++. However, the GNU compiler 1587 * fixincludes utility nonetheless creates its own version of this 1588 * header for use by gcc and g++. In that version it adds a redundant 1589 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 1590 * header we need to include the following magic comment: 1591 * 1592 * we must use the C++ compiler's type 1593 * 1594 * The above comment should not be removed or changed until GNU 1595 * gcc/fixinc/inclhack.def is updated to bypass this header. 1596 */ 1597 1598 1599 1600 1601 typedef int wchar_t; 1602 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1603 extern void abort(void) __attribute__((__noreturn__)); 1604 extern int abs(int); 1605 extern int atexit(void (*)(void)); 1606 extern double atof(const char *); 1607 extern int atoi(const char *); 1608 extern long int atol(const char *); 1609 extern void *bsearch(const void *, const void *, size_t, size_t, 1610 int (*)(const void *, const void *)); 1611 1612 1613 1614 1615 1616 1617 extern void *calloc(size_t, size_t); 1618 extern div_t div(int, int); 1619 extern void exit(int) 1620 __attribute__((__noreturn__)); 1621 extern void free(void *); 1622 extern char *getenv(const char *); 1623 extern long int labs(long); 1624 extern ldiv_t ldiv(long, long); 1625 extern void *malloc(size_t); 1626 extern int mblen(const char *, size_t); 1627 extern size_t mbstowcs(wchar_t *, const char *, 1628 size_t); 1629 extern int mbtowc(wchar_t *, const char *, size_t); 1630 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); 1631 1632 1633 1634 1635 1636 extern int rand(void); 1637 extern void *realloc(void *, size_t); 1638 extern void srand(unsigned int); 1639 extern double strtod(const char *, char **); 1640 extern long int strtol(const char *, char **, int); 1641 extern unsigned long int strtoul(const char *, 1642 char **, int); 1643 extern int system(const char *); 1644 extern int wctomb(char *, wchar_t); 1645 extern size_t wcstombs(char *, const wchar_t *, 1646 size_t); 1647 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1648 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 1649 /* 1650 * CDDL HEADER START 1651 * 1652 * The contents of this file are subject to the terms of the 1653 * Common Development and Distribution License, Version 1.0 only 1654 * (the "License"). You may not use this file except in compliance 1655 * with the License. 1656 * 1657 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1658 * or http://www.opensolaris.org/os/licensing. 1659 * See the License for the specific language governing permissions 1660 * and limitations under the License. 1661 * 1662 * When distributing Covered Code, include this CDDL HEADER in each 1663 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1664 * If applicable, add the following below this CDDL HEADER, with the 1665 * fields enclosed by brackets "[]" replaced with your own identifying 1666 * information: Portions Copyright [yyyy] [name of copyright owner] 1667 * 1668 * CDDL HEADER END 1669 */ 1670 /* 1671 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1672 * 1673 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1674 * Use is subject to license terms. 1675 */ 1676 1677 /* 1678 * An application should not include this header directly. Instead it 1679 * should be included only through the inclusion of other Sun headers. 1680 * 1681 * The contents of this header is limited to identifiers specified in 1682 * the C99 standard and in conflict with the C++ implementation of the 1683 * standard header. The C++ standard may adopt the C99 standard at 1684 * which point it is expected that the symbols included here will 1685 * become part of the C++ std namespace. 1686 */ 1687 1688 1689 1690 1691 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1692 /* 1693 * CDDL HEADER START 1694 * 1695 * The contents of this file are subject to the terms of the 1696 * Common Development and Distribution License (the "License"). 1697 * You may not use this file except in compliance with the License. 1698 * 1699 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1700 * or http://www.opensolaris.org/os/licensing. 1701 * See the License for the specific language governing permissions 1702 * and limitations under the License. 1703 * 1704 * When distributing Covered Code, include this CDDL HEADER in each 1705 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1706 * If applicable, add the following below this CDDL HEADER, with the 1707 * fields enclosed by brackets "[]" replaced with your own identifying 1708 * information: Portions Copyright [yyyy] [name of copyright owner] 1709 * 1710 * CDDL HEADER END 1711 */ 1712 1713 /* 1714 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1715 * Copyright 2016 Joyent, Inc. 1716 * 1717 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1718 * Use is subject to license terms. 1719 */ 1720 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 1721 1722 1723 1724 1725 1726 /* 1727 * The following have been added as a result of the ISO/IEC 9899:1999 1728 * standard. For a strictly conforming C application, visibility is 1729 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1730 * For non-strictly conforming C applications, there are no restrictions 1731 * on the C namespace. 1732 */ 1733 1734 1735 typedef struct { 1736 long long quot; 1737 long long rem; 1738 } lldiv_t; 1739 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1740 extern void _Exit(int); 1741 extern float strtof(const char *, char **); 1742 extern long double strtold(const char *, char **); 1743 1744 1745 extern long long atoll(const char *); 1746 extern long long llabs(long long); 1747 extern lldiv_t lldiv(long long, long long); 1748 extern long long strtoll(const char *, char **, 1749 int); 1750 extern unsigned long long strtoull(const char *, 1751 char **, int); 1752 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1753 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 1754 /* 1755 * This file and its contents are supplied under the terms of the 1756 * Common Development and Distribution License ("CDDL"), version 1.0. 1757 * You may only use this file in accordance with the terms of version 1758 * 1.0 of the CDDL. 1759 * 1760 * A full copy of the text of the CDDL should have accompanied this 1761 * source. A copy of the CDDL is also available via the Internet at 1762 * http://www.illumos.org/license/CDDL. 1763 */ 1764 1765 /* 1766 * Copyright 2016 Joyent, Inc. 1767 */ 1768 1769 /* 1770 * An application should not include this header directly. Instead it 1771 * should be included only through the inclusion of other illumos headers. 1772 * 1773 * The contents of this header is limited to identifiers specified in 1774 * the C11 standard and in conflict with the C++ implementation of the 1775 * standard header. The C++ standard may adopt the C11 standard at 1776 * which point it is expected that the symbols included here will 1777 * become part of the C++ std namespace. 1778 */ 1779 1780 1781 1782 1783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1784 /* 1785 * CDDL HEADER START 1786 * 1787 * The contents of this file are subject to the terms of the 1788 * Common Development and Distribution License (the "License"). 1789 * You may not use this file except in compliance with the License. 1790 * 1791 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1792 * or http://www.opensolaris.org/os/licensing. 1793 * See the License for the specific language governing permissions 1794 * and limitations under the License. 1795 * 1796 * When distributing Covered Code, include this CDDL HEADER in each 1797 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1798 * If applicable, add the following below this CDDL HEADER, with the 1799 * fields enclosed by brackets "[]" replaced with your own identifying 1800 * information: Portions Copyright [yyyy] [name of copyright owner] 1801 * 1802 * CDDL HEADER END 1803 */ 1804 1805 /* 1806 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1807 * Copyright 2016 Joyent, Inc. 1808 * 1809 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1810 * Use is subject to license terms. 1811 */ 1812 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 1813 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1814 /* 1815 * The following have been added as a result of the ISO/IEC 9899:2011 1816 * standard. For a strictly conforming C application, visibility is 1817 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1818 * For non-strictly conforming C applications, there are no restrictions 1819 * on the C namespace. 1820 */ 1821 1822 /* 1823 * Work around fix-includes and other bad actors with using multiple headers. 1824 */ 1825 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1826 extern void *aligned_alloc(size_t, size_t); 1827 extern int at_quick_exit(void (*)(void)); 1828 extern void quick_exit(int); 1829 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1830 1831 1832 1833 1834 1835 /* 1836 * Allow global visibility for symbols defined in 1837 * C++ "std" namespace in <iso/stdlib_iso.h>. 1838 */ 1839 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1840 /* 1841 * Allow global visibility for symbols defined in 1842 * C++ "std" namespace in <iso/stdlib_c11.h>. 1843 */ 1844 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1845 typedef unsigned int uid_t; /* UID type */ 1846 1847 1848 /* large file compilation environment setup */ 1849 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1850 /* In the LP64 compilation environment, all APIs are already large file */ 1851 1852 1853 1854 1855 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1856 #pragma redefine_extname mkstemp64 mkstemp 1857 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1858 1859 1860 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1861 #pragma redefine_extname mkstemps64 mkstemps 1862 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1863 1864 1865 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1866 #pragma redefine_extname mkostemp64 mkostemp 1867 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1868 1869 1870 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1871 #pragma redefine_extname mkostemps64 mkostemps 1872 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1873 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1874 extern int rand_r(unsigned int *); 1875 1876 1877 extern void _exithandle(void); 1878 1879 1880 1881 1882 extern double drand48(void); 1883 extern double erand48(unsigned short *); 1884 extern long jrand48(unsigned short *); 1885 extern void lcong48(unsigned short *); 1886 extern long lrand48(void); 1887 extern long mrand48(void); 1888 extern long nrand48(unsigned short *); 1889 extern unsigned short *seed48(unsigned short *); 1890 extern void srand48(long); 1891 extern int putenv(char *); 1892 extern void setkey(const char *); 1893 1894 1895 /* 1896 * swab() has historically been in <stdlib.h> as delivered from AT&T 1897 * and continues to be visible in the default compilation environment. 1898 * As of Issue 4 of the X/Open Portability Guides, swab() was declared 1899 * in <unistd.h>. As a result, with respect to X/Open namespace the 1900 * swab() declaration in this header is only visible for the XPG3 1901 * environment. 1902 */ 1903 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1904 extern void swab(const char *, char *, ssize_t); 1905 1906 1907 1908 1909 1910 extern int mkstemp(char *); 1911 1912 extern int mkstemps(char *, int); 1913 1914 1915 1916 1917 1918 extern int mkstemp64(char *); 1919 1920 extern int mkstemps64(char *, int); 1921 1922 1923 1924 1925 extern char *mkdtemp(char *); 1926 1927 1928 1929 extern int mkostemp(char *, int); 1930 extern int mkostemps(char *, int, int); 1931 1932 1933 extern int mkostemp64(char *, int); 1934 extern int mkostemps64(char *, int, int); 1935 1936 1937 1938 1939 1940 1941 extern long a64l(const char *); 1942 extern char *ecvt(double, int, int *, int *); 1943 extern char *fcvt(double, int, int *, int *); 1944 extern char *gcvt(double, int, char *); 1945 extern int getsubopt(char **, char *const *, char **); 1946 extern int grantpt(int); 1947 extern char *initstate(unsigned, char *, size_t); 1948 extern char *l64a(long); 1949 extern char *mktemp(char *); 1950 extern char *ptsname(int); 1951 extern long random(void); 1952 extern char *realpath(const char *, char *); 1953 extern char *setstate(const char *); 1954 extern void srandom(unsigned); 1955 extern int unlockpt(int); 1956 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1957 1958 extern int ttyslot(void); 1959 extern void *valloc(size_t); 1960 1961 1962 1963 1964 1965 1966 extern int posix_memalign(void **, size_t, size_t); 1967 extern int posix_openpt(int); 1968 extern int setenv(const char *, const char *, int); 1969 extern int unsetenv(const char *); 1970 1971 1972 1973 1974 extern char *canonicalize_file_name(const char *); 1975 extern int clearenv(void); 1976 extern void closefrom(int); 1977 extern int daemon(int, int); 1978 extern int dup2(int, int); 1979 extern int dup3(int, int, int); 1980 extern int fdwalk(int (*)(void *, int), void *); 1981 extern char *qecvt(long double, int, int *, int *); 1982 extern char *qfcvt(long double, int, int *, int *); 1983 extern char *qgcvt(long double, int, char *); 1984 extern char *getcwd(char *, size_t); 1985 extern const char *getexecname(void); 1986 1987 1988 1989 1990 1991 1992 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1993 #pragma redefine_extname getlogin getloginx 1994 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1995 1996 1997 1998 1999 2000 2001 extern char *getlogin(void); 2002 2003 2004 extern int getopt(int, char *const *, const char *); 2005 extern char *optarg; 2006 extern int optind, opterr, optopt; 2007 extern char *getpass(const char *); 2008 extern char *getpassphrase(const char *); 2009 extern int getpw(uid_t, char *); 2010 extern int isatty(int); 2011 extern void *memalign(size_t, size_t); 2012 extern char *ttyname(int); 2013 extern char *mkdtemp(char *); 2014 extern const char *getprogname(void); 2015 extern void setprogname(const char *); 2016 2017 2018 extern char *lltostr(long long, char *); 2019 extern char *ulltostr(unsigned long long, char *); 2020 2021 2022 2023 2024 /* OpenBSD compatibility functions */ 2025 2026 2027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 2028 /* 2029 * CDDL HEADER START 2030 * 2031 * The contents of this file are subject to the terms of the 2032 * Common Development and Distribution License, Version 1.0 only 2033 * (the "License"). You may not use this file except in compliance 2034 * with the License. 2035 * 2036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2037 * or http://www.opensolaris.org/os/licensing. 2038 * See the License for the specific language governing permissions 2039 * and limitations under the License. 2040 * 2041 * When distributing Covered Code, include this CDDL HEADER in each 2042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2043 * If applicable, add the following below this CDDL HEADER, with the 2044 * fields enclosed by brackets "[]" replaced with your own identifying 2045 * information: Portions Copyright [yyyy] [name of copyright owner] 2046 * 2047 * CDDL HEADER END 2048 */ 2049 /* 2050 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2051 * 2052 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2053 * Use is subject to license terms. 2054 */ 2055 2056 2057 2058 2059 /* 2060 * This file, <inttypes.h>, is specified by the ISO C standard, 2061 * standard, ISO/IEC 9899:1999 Programming language - C and is 2062 * also defined by SUSv3. 2063 * 2064 * ISO International Organization for Standardization. 2065 * SUSv3 Single Unix Specification, Version 3 2066 */ 2067 2068 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2069 /* 2070 * CDDL HEADER START 2071 * 2072 * The contents of this file are subject to the terms of the 2073 * Common Development and Distribution License (the "License"). 2074 * You may not use this file except in compliance with the License. 2075 * 2076 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2077 * or http://www.opensolaris.org/os/licensing. 2078 * See the License for the specific language governing permissions 2079 * and limitations under the License. 2080 * 2081 * When distributing Covered Code, include this CDDL HEADER in each 2082 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2083 * If applicable, add the following below this CDDL HEADER, with the 2084 * fields enclosed by brackets "[]" replaced with your own identifying 2085 * information: Portions Copyright [yyyy] [name of copyright owner] 2086 * 2087 * CDDL HEADER END 2088 */ 2089 2090 /* 2091 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2092 * Copyright 2016 Joyent, Inc. 2093 * 2094 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2095 * Use is subject to license terms. 2096 */ 2097 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 2099 /* 2100 * CDDL HEADER START 2101 * 2102 * The contents of this file are subject to the terms of the 2103 * Common Development and Distribution License, Version 1.0 only 2104 * (the "License"). You may not use this file except in compliance 2105 * with the License. 2106 * 2107 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2108 * or http://www.opensolaris.org/os/licensing. 2109 * See the License for the specific language governing permissions 2110 * and limitations under the License. 2111 * 2112 * When distributing Covered Code, include this CDDL HEADER in each 2113 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2114 * If applicable, add the following below this CDDL HEADER, with the 2115 * fields enclosed by brackets "[]" replaced with your own identifying 2116 * information: Portions Copyright [yyyy] [name of copyright owner] 2117 * 2118 * CDDL HEADER END 2119 */ 2120 /* 2121 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2122 * Use is subject to license terms. 2123 */ 2124 2125 2126 2127 2128 #pragma ident "%Z%%M% %I% %E% SMI" 2129 2130 /* 2131 * This header, <sys/inttypes.h>, contains (through nested inclusion) the 2132 * vast majority of the facilities specified for <inttypes.h> as defined 2133 * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2134 * 2135 * Kernel/Driver developers are encouraged to include this file to access 2136 * the fixed size types, limits and utility macros. Application developers 2137 * should use the standard defined header <inttypes.h>. 2138 */ 2139 2140 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2141 /* 2142 * CDDL HEADER START 2143 * 2144 * The contents of this file are subject to the terms of the 2145 * Common Development and Distribution License (the "License"). 2146 * You may not use this file except in compliance with the License. 2147 * 2148 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2149 * or http://www.opensolaris.org/os/licensing. 2150 * See the License for the specific language governing permissions 2151 * and limitations under the License. 2152 * 2153 * When distributing Covered Code, include this CDDL HEADER in each 2154 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2155 * If applicable, add the following below this CDDL HEADER, with the 2156 * fields enclosed by brackets "[]" replaced with your own identifying 2157 * information: Portions Copyright [yyyy] [name of copyright owner] 2158 * 2159 * CDDL HEADER END 2160 */ 2161 2162 /* 2163 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2164 * Copyright 2016 Joyent, Inc. 2165 * 2166 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2167 * Use is subject to license terms. 2168 */ 2169 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2171 /* 2172 * CDDL HEADER START 2173 * 2174 * The contents of this file are subject to the terms of the 2175 * Common Development and Distribution License, Version 1.0 only 2176 * (the "License"). You may not use this file except in compliance 2177 * with the License. 2178 * 2179 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2180 * or http://www.opensolaris.org/os/licensing. 2181 * See the License for the specific language governing permissions 2182 * and limitations under the License. 2183 * 2184 * When distributing Covered Code, include this CDDL HEADER in each 2185 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2186 * If applicable, add the following below this CDDL HEADER, with the 2187 * fields enclosed by brackets "[]" replaced with your own identifying 2188 * information: Portions Copyright [yyyy] [name of copyright owner] 2189 * 2190 * CDDL HEADER END 2191 */ 2192 /* 2193 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2194 * 2195 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2196 * Use is subject to license terms. 2197 */ 2198 2199 2200 2201 2202 /* 2203 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 2204 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 2205 * Programming language - C. 2206 * 2207 * Programs/Modules should not directly include this file. Access to the 2208 * types defined in this file should be through the inclusion of one of the 2209 * following files: 2210 * 2211 * <sys/types.h> Provides only the "_t" types defined in this 2212 * file which is a subset of the contents of 2213 * <inttypes.h>. (This can be appropriate for 2214 * all programs/modules except those claiming 2215 * ANSI-C conformance.) 2216 * 2217 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2218 * components of <inttypes.h>. 2219 * 2220 * <inttypes.h> For use by applications. 2221 * 2222 * See these files for more details. 2223 */ 2224 2225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2226 /* 2227 * CDDL HEADER START 2228 * 2229 * The contents of this file are subject to the terms of the 2230 * Common Development and Distribution License (the "License"). 2231 * You may not use this file except in compliance with the License. 2232 * 2233 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2234 * or http://www.opensolaris.org/os/licensing. 2235 * See the License for the specific language governing permissions 2236 * and limitations under the License. 2237 * 2238 * When distributing Covered Code, include this CDDL HEADER in each 2239 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2240 * If applicable, add the following below this CDDL HEADER, with the 2241 * fields enclosed by brackets "[]" replaced with your own identifying 2242 * information: Portions Copyright [yyyy] [name of copyright owner] 2243 * 2244 * CDDL HEADER END 2245 */ 2246 2247 /* 2248 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2249 * Copyright 2016 Joyent, Inc. 2250 * 2251 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2252 * Use is subject to license terms. 2253 */ 2254 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 2255 2256 2257 2258 2259 2260 /* 2261 * Basic / Extended integer types 2262 * 2263 * The following defines the basic fixed-size integer types. 2264 * 2265 * Implementations are free to typedef them to Standard C integer types or 2266 * extensions that they support. If an implementation does not support one 2267 * of the particular integer data types below, then it should not define the 2268 * typedefs and macros corresponding to that data type. Note that int8_t 2269 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 2270 * as an unsigned entity because there is no way to define an eight bit 2271 * signed integral. 2272 */ 2273 2274 typedef char int8_t; 2275 2276 2277 2278 typedef short int16_t; 2279 typedef int int32_t; 2280 2281 2282 typedef long int64_t; 2283 2284 2285 2286 2287 2288 2289 2290 typedef unsigned char uint8_t; 2291 typedef unsigned short uint16_t; 2292 typedef unsigned int uint32_t; 2293 2294 typedef unsigned long uint64_t; 2295 2296 2297 2298 2299 2300 2301 /* 2302 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 2303 * and unsigned integer types supported by the implementation. 2304 */ 2305 2306 typedef int64_t intmax_t; 2307 typedef uint64_t uintmax_t; 2308 2309 2310 2311 2312 2313 /* 2314 * intptr_t and uintptr_t are signed and unsigned integer types large enough 2315 * to hold any data pointer; that is, data pointers can be assigned into or 2316 * from these integer types without losing precision. 2317 */ 2318 2319 typedef long intptr_t; 2320 typedef unsigned long uintptr_t; 2321 2322 2323 2324 2325 2326 /* 2327 * The following define the fastest integer types that can hold the 2328 * specified number of bits. 2329 */ 2330 2331 typedef char int_fast8_t; 2332 2333 2334 2335 typedef int int_fast16_t; 2336 typedef int int_fast32_t; 2337 2338 typedef long int_fast64_t; 2339 2340 2341 2342 2343 2344 2345 typedef unsigned char uint_fast8_t; 2346 typedef unsigned int uint_fast16_t; 2347 typedef unsigned int uint_fast32_t; 2348 2349 typedef unsigned long uint_fast64_t; 2350 2351 2352 2353 2354 2355 2356 /* 2357 * The following define the smallest integer types that can hold the 2358 * specified number of bits. 2359 */ 2360 2361 typedef char int_least8_t; 2362 2363 2364 2365 typedef short int_least16_t; 2366 typedef int int_least32_t; 2367 2368 typedef long int_least64_t; 2369 2370 2371 2372 2373 2374 2375 /* 2376 * If these are changed, please update char16_t and char32_t in head/uchar.h. 2377 */ 2378 typedef unsigned char uint_least8_t; 2379 typedef unsigned short uint_least16_t; 2380 typedef unsigned int uint_least32_t; 2381 2382 typedef unsigned long uint_least64_t; 2383 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2384 2385 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2386 /* 2387 * CDDL HEADER START 2388 * 2389 * The contents of this file are subject to the terms of the 2390 * Common Development and Distribution License, Version 1.0 only 2391 * (the "License"). You may not use this file except in compliance 2392 * with the License. 2393 * 2394 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2395 * or http://www.opensolaris.org/os/licensing. 2396 * See the License for the specific language governing permissions 2397 * and limitations under the License. 2398 * 2399 * When distributing Covered Code, include this CDDL HEADER in each 2400 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2401 * If applicable, add the following below this CDDL HEADER, with the 2402 * fields enclosed by brackets "[]" replaced with your own identifying 2403 * information: Portions Copyright [yyyy] [name of copyright owner] 2404 * 2405 * CDDL HEADER END 2406 */ 2407 /* 2408 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2409 * 2410 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2411 * Use is subject to license terms. 2412 */ 2413 2414 2415 2416 2417 /* 2418 * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation 2419 * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999 2420 * Programming language - C. 2421 * 2422 * Programs/Modules should not directly include this file. Access to the 2423 * types defined in this file should be through the inclusion of one of the 2424 * following files: 2425 * 2426 * <limits.h> This nested inclusion is disabled for strictly 2427 * ANSI-C conforming compilations. The *_MIN 2428 * definitions are not visible to POSIX or XPG 2429 * conforming applications (due to what may be 2430 * a bug in the specification - this is under 2431 * investigation) 2432 * 2433 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2434 * components of <inttypes.h>. 2435 * 2436 * <inttypes.h> For use by applications. 2437 * 2438 * See these files for more details. 2439 */ 2440 2441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2442 /* 2443 * CDDL HEADER START 2444 * 2445 * The contents of this file are subject to the terms of the 2446 * Common Development and Distribution License (the "License"). 2447 * You may not use this file except in compliance with the License. 2448 * 2449 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2450 * or http://www.opensolaris.org/os/licensing. 2451 * See the License for the specific language governing permissions 2452 * and limitations under the License. 2453 * 2454 * When distributing Covered Code, include this CDDL HEADER in each 2455 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2456 * If applicable, add the following below this CDDL HEADER, with the 2457 * fields enclosed by brackets "[]" replaced with your own identifying 2458 * information: Portions Copyright [yyyy] [name of copyright owner] 2459 * 2460 * CDDL HEADER END 2461 */ 2462 2463 /* 2464 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2465 * Copyright 2016 Joyent, Inc. 2466 * 2467 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2468 * Use is subject to license terms. 2469 */ 2470 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 2471 2472 2473 2474 2475 2476 /* 2477 * Limits 2478 * 2479 * The following define the limits for the types defined in <sys/int_types.h>. 2480 * 2481 * INTMAX_MIN (minimum value of the largest supported signed integer type), 2482 * INTMAX_MAX (maximum value of the largest supported signed integer type), 2483 * and UINTMAX_MAX (maximum value of the largest supported unsigned integer 2484 * type) can be set to implementation defined limits. 2485 * 2486 * NOTE : A programmer can test to see whether an implementation supports 2487 * a particular size of integer by testing if the macro that gives the 2488 * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX 2489 * tests false, the implementation does not support unsigned 64 bit integers. 2490 * 2491 * The type of these macros is intentionally unspecified. 2492 * 2493 * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs 2494 * where the ABI specifies "char" as unsigned when the translation mode is 2495 * not ANSI-C. 2496 */ 2497 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2498 /* 2499 * The following 2 macros are provided for testing whether the types 2500 * intptr_t and uintptr_t (integers large enough to hold a void *) are 2501 * defined in this header. They are needed in case the architecture can't 2502 * represent a pointer in any standard integral type. 2503 */ 2504 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2505 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */ 2506 2507 2508 2509 2510 2511 2512 /* 2513 * Maximum value of a "size_t". SIZE_MAX was previously defined 2514 * in <limits.h>, however, the standards specify it be defined 2515 * in <stdint.h>. The <stdint.h> headers includes this header as 2516 * does <limits.h>. The value of SIZE_MAX should not deviate 2517 * from the value of ULONG_MAX defined <sys/types.h>. 2518 */ 2519 2520 2521 2522 2523 2524 2525 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */ 2526 2527 2528 2529 2530 /* 2531 * Maximum limit of wchar_t. The WCHAR_* macros are also 2532 * defined in <iso/wchar_iso.h>, but inclusion of that header 2533 * will break ISO/IEC C namespace. 2534 */ 2535 2536 2537 2538 2539 /* Maximum limit of wint_t */ 2540 2541 2542 2543 2544 /* 2545 * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that 2546 * when including <limits.h> that the suffix _MAX is reserved but not the 2547 * suffix _MIN. However, until that issue is resolved.... 2548 */ 2549 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2550 /* Minimum value of a pointer-holding signed integer type */ 2551 2552 2553 2554 2555 2556 2557 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */ 2558 2559 2560 2561 2562 2563 2564 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */ 2565 2566 2567 2568 2569 /* 2570 * Minimum limit of wchar_t. The WCHAR_* macros are also 2571 * defined in <iso/wchar_iso.h>, but inclusion of that header 2572 * will break ISO/IEC C namespace. 2573 */ 2574 2575 2576 2577 2578 /* Minimum limit of wint_t */ 2579 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2580 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2581 /* 2582 * CDDL HEADER START 2583 * 2584 * The contents of this file are subject to the terms of the 2585 * Common Development and Distribution License, Version 1.0 only 2586 * (the "License"). You may not use this file except in compliance 2587 * with the License. 2588 * 2589 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2590 * or http://www.opensolaris.org/os/licensing. 2591 * See the License for the specific language governing permissions 2592 * and limitations under the License. 2593 * 2594 * When distributing Covered Code, include this CDDL HEADER in each 2595 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2596 * If applicable, add the following below this CDDL HEADER, with the 2597 * fields enclosed by brackets "[]" replaced with your own identifying 2598 * information: Portions Copyright [yyyy] [name of copyright owner] 2599 * 2600 * CDDL HEADER END 2601 */ 2602 /* 2603 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2604 * 2605 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2606 * Use is subject to license terms. 2607 */ 2608 2609 2610 2611 2612 /* 2613 * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation 2614 * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working 2615 * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 2616 * Programming language - C. 2617 * 2618 * Programs/Modules should not directly include this file. Access to the 2619 * types defined in this file should be through the inclusion of one of the 2620 * following files: 2621 * 2622 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2623 * components of <inttypes.h>. 2624 * 2625 * <inttypes.h> For use by applications. 2626 * 2627 * See these files for more details. 2628 * 2629 * Use at your own risk. This file will track the evolution of the revision 2630 * of the current ISO C standard. As of February 1996, the committee is 2631 * squarely behind the fixed sized types. 2632 */ 2633 2634 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2635 /* 2636 * CDDL HEADER START 2637 * 2638 * The contents of this file are subject to the terms of the 2639 * Common Development and Distribution License (the "License"). 2640 * You may not use this file except in compliance with the License. 2641 * 2642 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2643 * or http://www.opensolaris.org/os/licensing. 2644 * See the License for the specific language governing permissions 2645 * and limitations under the License. 2646 * 2647 * When distributing Covered Code, include this CDDL HEADER in each 2648 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2649 * If applicable, add the following below this CDDL HEADER, with the 2650 * fields enclosed by brackets "[]" replaced with your own identifying 2651 * information: Portions Copyright [yyyy] [name of copyright owner] 2652 * 2653 * CDDL HEADER END 2654 */ 2655 2656 /* 2657 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2658 * Copyright 2016 Joyent, Inc. 2659 * 2660 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2661 * Use is subject to license terms. 2662 */ 2663 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 2664 2665 2666 2667 2668 2669 /* 2670 * Constants 2671 * 2672 * The following macros create constants of the types defined in 2673 * <sys/int_types.h>. The intent is that: 2674 * Constants defined using these macros have a specific size and 2675 * signedness. The suffix used for int64_t and uint64_t (ll and ull) 2676 * are for examples only. Implementations are permitted to use other 2677 * suffixes. 2678 * 2679 * The "CSTYLED" comments are flags to an internal code style analysis tool 2680 * telling it to silently accept the line which follows. This internal 2681 * standard requires a space between arguments, but the historical, 2682 * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. 2683 */ 2684 /* CSTYLED */ 2685 2686 2687 2688 2689 2690 2691 /* CSTYLED */ 2692 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2693 /* CSTYLED */ 2694 2695 /* CSTYLED */ 2696 2697 /* CSTYLED */ 2698 2699 2700 /* CSTYLED */ 2701 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2702 /* CSTYLED */ 2703 2704 /* CSTYLED */ 2705 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2706 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 2707 /* 2708 * CDDL HEADER START 2709 * 2710 * The contents of this file are subject to the terms of the 2711 * Common Development and Distribution License, Version 1.0 only 2712 * (the "License"). You may not use this file except in compliance 2713 * with the License. 2714 * 2715 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2716 * or http://www.opensolaris.org/os/licensing. 2717 * See the License for the specific language governing permissions 2718 * and limitations under the License. 2719 * 2720 * When distributing Covered Code, include this CDDL HEADER in each 2721 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2722 * If applicable, add the following below this CDDL HEADER, with the 2723 * fields enclosed by brackets "[]" replaced with your own identifying 2724 * information: Portions Copyright [yyyy] [name of copyright owner] 2725 * 2726 * CDDL HEADER END 2727 */ 2728 /* 2729 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2730 * 2731 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2732 * Use is subject to license terms. 2733 */ 2734 2735 2736 2737 2738 /* 2739 * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation 2740 * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999 2741 * Programming language - C. 2742 * 2743 * ISO International Organization for Standardization. 2744 * 2745 * Programs/Modules should not directly include this file. Access to the 2746 * types defined in this file should be through the inclusion of one of the 2747 * following files: 2748 * 2749 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2750 * components of <inttypes.h>. 2751 * 2752 * <inttypes.h> For use by applications. 2753 * 2754 * See these files for more details. 2755 */ 2756 2757 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2758 /* 2759 * CDDL HEADER START 2760 * 2761 * The contents of this file are subject to the terms of the 2762 * Common Development and Distribution License (the "License"). 2763 * You may not use this file except in compliance with the License. 2764 * 2765 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2766 * or http://www.opensolaris.org/os/licensing. 2767 * See the License for the specific language governing permissions 2768 * and limitations under the License. 2769 * 2770 * When distributing Covered Code, include this CDDL HEADER in each 2771 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2772 * If applicable, add the following below this CDDL HEADER, with the 2773 * fields enclosed by brackets "[]" replaced with your own identifying 2774 * information: Portions Copyright [yyyy] [name of copyright owner] 2775 * 2776 * CDDL HEADER END 2777 */ 2778 2779 /* 2780 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2781 * Copyright 2016 Joyent, Inc. 2782 * 2783 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2784 * Use is subject to license terms. 2785 */ 2786 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 2787 2788 2789 2790 2791 2792 /* 2793 * Formatted I/O 2794 * 2795 * The following macros can be used even when an implementation has not 2796 * extended the printf/scanf family of functions. 2797 * 2798 * The form of the names of the macros is either "PRI" for printf specifiers 2799 * or "SCN" for scanf specifiers, followed by the conversion specifier letter 2800 * followed by the datatype size. For example, PRId32 is the macro for 2801 * the printf d conversion specifier with the flags for 32 bit datatype. 2802 * 2803 * An example using one of these macros: 2804 * 2805 * uint64_t u; 2806 * printf("u = %016" PRIx64 "\n", u); 2807 * 2808 * For the purpose of example, the definitions of the printf/scanf macros 2809 * below have the values appropriate for a machine with 8 bit shorts, 16 2810 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation 2811 * mode, and 64 bit long longs. 2812 */ 2813 2814 /* 2815 * fprintf macros for signed integers 2816 */ 2817 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2818 /* 2819 * fprintf macros for unsigned integers 2820 */ 2821 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2822 /* 2823 * fprintf macros for pointers 2824 */ 2825 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2826 /* 2827 * fscanf macros for signed integers 2828 */ 2829 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2830 /* 2831 * fscanf macros for unsigned integers 2832 */ 2833 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2834 /* 2835 * The following macros define I/O formats for intmax_t and uintmax_t. 2836 */ 2837 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2838 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2839 2840 2841 2842 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 2843 /* 2844 * CDDL HEADER START 2845 * 2846 * The contents of this file are subject to the terms of the 2847 * Common Development and Distribution License, Version 1.0 only 2848 * (the "License"). You may not use this file except in compliance 2849 * with the License. 2850 * 2851 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2852 * or http://www.opensolaris.org/os/licensing. 2853 * See the License for the specific language governing permissions 2854 * and limitations under the License. 2855 * 2856 * When distributing Covered Code, include this CDDL HEADER in each 2857 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2858 * If applicable, add the following below this CDDL HEADER, with the 2859 * fields enclosed by brackets "[]" replaced with your own identifying 2860 * information: Portions Copyright [yyyy] [name of copyright owner] 2861 * 2862 * CDDL HEADER END 2863 */ 2864 /* 2865 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2866 * Use is subject to license terms. 2867 */ 2868 2869 2870 2871 2872 #pragma ident "%Z%%M% %I% %E% SMI" 2873 2874 /* 2875 * This header is included by <stdint.h> which was introduced by 2876 * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2877 * The header is a subset of the <inttypes.h> header. 2878 */ 2879 2880 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2881 /* 2882 * CDDL HEADER START 2883 * 2884 * The contents of this file are subject to the terms of the 2885 * Common Development and Distribution License, Version 1.0 only 2886 * (the "License"). You may not use this file except in compliance 2887 * with the License. 2888 * 2889 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2890 * or http://www.opensolaris.org/os/licensing. 2891 * See the License for the specific language governing permissions 2892 * and limitations under the License. 2893 * 2894 * When distributing Covered Code, include this CDDL HEADER in each 2895 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2896 * If applicable, add the following below this CDDL HEADER, with the 2897 * fields enclosed by brackets "[]" replaced with your own identifying 2898 * information: Portions Copyright [yyyy] [name of copyright owner] 2899 * 2900 * CDDL HEADER END 2901 */ 2902 /* 2903 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2904 * 2905 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2906 * Use is subject to license terms. 2907 */ 2908 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2909 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2910 /* 2911 * CDDL HEADER START 2912 * 2913 * The contents of this file are subject to the terms of the 2914 * Common Development and Distribution License, Version 1.0 only 2915 * (the "License"). You may not use this file except in compliance 2916 * with the License. 2917 * 2918 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2919 * or http://www.opensolaris.org/os/licensing. 2920 * See the License for the specific language governing permissions 2921 * and limitations under the License. 2922 * 2923 * When distributing Covered Code, include this CDDL HEADER in each 2924 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2925 * If applicable, add the following below this CDDL HEADER, with the 2926 * fields enclosed by brackets "[]" replaced with your own identifying 2927 * information: Portions Copyright [yyyy] [name of copyright owner] 2928 * 2929 * CDDL HEADER END 2930 */ 2931 /* 2932 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2933 * 2934 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2935 * Use is subject to license terms. 2936 */ 2937 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2938 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2939 /* 2940 * CDDL HEADER START 2941 * 2942 * The contents of this file are subject to the terms of the 2943 * Common Development and Distribution License, Version 1.0 only 2944 * (the "License"). You may not use this file except in compliance 2945 * with the License. 2946 * 2947 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2948 * or http://www.opensolaris.org/os/licensing. 2949 * See the License for the specific language governing permissions 2950 * and limitations under the License. 2951 * 2952 * When distributing Covered Code, include this CDDL HEADER in each 2953 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2954 * If applicable, add the following below this CDDL HEADER, with the 2955 * fields enclosed by brackets "[]" replaced with your own identifying 2956 * information: Portions Copyright [yyyy] [name of copyright owner] 2957 * 2958 * CDDL HEADER END 2959 */ 2960 /* 2961 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2962 * 2963 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2964 * Use is subject to license terms. 2965 */ 2966 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2967 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2968 2969 2970 2971 2972 2973 2974 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */ 2975 2976 /* 2977 * wchar_t is a built-in type in standard C++ and as such is not 2978 * defined here when using standard C++. However, the GNU compiler 2979 * fixincludes utility nonetheless creates its own version of this 2980 * header for use by gcc and g++. In that version it adds a redundant 2981 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 2982 * header we need to include the following magic comment: 2983 * 2984 * we must use the C++ compiler's type 2985 * 2986 * The above comment should not be removed or changed until GNU 2987 * gcc/fixinc/inclhack.def is updated to bypass this header. 2988 */ 2989 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2990 typedef struct { 2991 intmax_t quot; 2992 intmax_t rem; 2993 } imaxdiv_t; 2994 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2995 extern intmax_t imaxabs(intmax_t); 2996 extern imaxdiv_t imaxdiv(intmax_t, intmax_t); 2997 extern intmax_t strtoimax(const char *, char **, 2998 int); 2999 extern uintmax_t strtoumax(const char *, char **, 3000 int); 3001 extern intmax_t wcstoimax(const wchar_t *, 3002 wchar_t **, int); 3003 extern uintmax_t wcstoumax(const wchar_t *, 3004 wchar_t **, int); 3005 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 3006 extern uint32_t arc4random(void); 3007 extern void arc4random_buf(void *, size_t); 3008 extern uint32_t arc4random_uniform(uint32_t); 3009 extern void freezero(void *, size_t); 3010 extern void *recallocarray(void *, size_t, size_t, size_t); 3011 # 49 "../common/zones_args.c" 2 3012 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 3013 /* 3014 * CDDL HEADER START 3015 * 3016 * The contents of this file are subject to the terms of the 3017 * Common Development and Distribution License (the "License"). 3018 * You may not use this file except in compliance with the License. 3019 * 3020 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3021 * or http://www.opensolaris.org/os/licensing. 3022 * See the License for the specific language governing permissions 3023 * and limitations under the License. 3024 * 3025 * When distributing Covered Code, include this CDDL HEADER in each 3026 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3027 * If applicable, add the following below this CDDL HEADER, with the 3028 * fields enclosed by brackets "[]" replaced with your own identifying 3029 * information: Portions Copyright [yyyy] [name of copyright owner] 3030 * 3031 * CDDL HEADER END 3032 */ 3033 3034 /* 3035 * Copyright 2014 PALO, Richard. 3036 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3037 * Copyright (c) 2013 Gary Mills 3038 * 3039 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3040 */ 3041 3042 /* Copyright (c) 1988 AT&T */ 3043 /* All Rights Reserved */ 3044 3045 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 3046 3047 3048 3049 3050 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3051 /* 3052 * CDDL HEADER START 3053 * 3054 * The contents of this file are subject to the terms of the 3055 * Common Development and Distribution License (the "License"). 3056 * You may not use this file except in compliance with the License. 3057 * 3058 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3059 * or http://www.opensolaris.org/os/licensing. 3060 * See the License for the specific language governing permissions 3061 * and limitations under the License. 3062 * 3063 * When distributing Covered Code, include this CDDL HEADER in each 3064 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3065 * If applicable, add the following below this CDDL HEADER, with the 3066 * fields enclosed by brackets "[]" replaced with your own identifying 3067 * information: Portions Copyright [yyyy] [name of copyright owner] 3068 * 3069 * CDDL HEADER END 3070 */ 3071 3072 /* 3073 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3074 * Copyright 2016 Joyent, Inc. 3075 * 3076 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3077 * Use is subject to license terms. 3078 */ 3079 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3080 3081 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3082 /* 3083 * This file and its contents are supplied under the terms of the 3084 * Common Development and Distribution License ("CDDL"), version 1.0. 3085 * You may only use this file in accordance with the terms of version 3086 * 1.0 of the CDDL. 3087 * 3088 * A full copy of the text of the CDDL should have accompanied this 3089 * source. A copy of the CDDL is also available via the Internet at 3090 * http://www.illumos.org/license/CDDL. 3091 */ 3092 3093 /* 3094 * Copyright 2014-2016 PALO, Richard. 3095 */ 3096 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3098 /* 3099 * CDDL HEADER START 3100 * 3101 * The contents of this file are subject to the terms of the 3102 * Common Development and Distribution License (the "License"). 3103 * You may not use this file except in compliance with the License. 3104 * 3105 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3106 * or http://www.opensolaris.org/os/licensing. 3107 * See the License for the specific language governing permissions 3108 * and limitations under the License. 3109 * 3110 * When distributing Covered Code, include this CDDL HEADER in each 3111 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3112 * If applicable, add the following below this CDDL HEADER, with the 3113 * fields enclosed by brackets "[]" replaced with your own identifying 3114 * information: Portions Copyright [yyyy] [name of copyright owner] 3115 * 3116 * CDDL HEADER END 3117 */ 3118 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3119 /* All Rights Reserved */ 3120 3121 3122 /* 3123 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3124 * Use is subject to license terms. 3125 * 3126 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3127 * Copyright 2016 Joyent, Inc. 3128 */ 3129 3130 3131 3132 3133 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3134 /* 3135 * CDDL HEADER START 3136 * 3137 * The contents of this file are subject to the terms of the 3138 * Common Development and Distribution License (the "License"). 3139 * You may not use this file except in compliance with the License. 3140 * 3141 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3142 * or http://www.opensolaris.org/os/licensing. 3143 * See the License for the specific language governing permissions 3144 * and limitations under the License. 3145 * 3146 * When distributing Covered Code, include this CDDL HEADER in each 3147 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3148 * If applicable, add the following below this CDDL HEADER, with the 3149 * fields enclosed by brackets "[]" replaced with your own identifying 3150 * information: Portions Copyright [yyyy] [name of copyright owner] 3151 * 3152 * CDDL HEADER END 3153 */ 3154 3155 /* 3156 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3157 * Copyright 2016 Joyent, Inc. 3158 * 3159 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3160 * Use is subject to license terms. 3161 */ 3162 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 3164 /* 3165 * CDDL HEADER START 3166 * 3167 * The contents of this file are subject to the terms of the 3168 * Common Development and Distribution License (the "License"). 3169 * You may not use this file except in compliance with the License. 3170 * 3171 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3172 * or http://www.opensolaris.org/os/licensing. 3173 * See the License for the specific language governing permissions 3174 * and limitations under the License. 3175 * 3176 * 3177 * When distributing Covered Code, include this CDDL HEADER in each 3178 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3179 * If applicable, add the following below this CDDL HEADER, with the 3180 * fields enclosed by brackets "[]" replaced with your own identifying 3181 * information: Portions Copyright [yyyy] [name of copyright owner] 3182 * 3183 * CDDL HEADER END 3184 */ 3185 3186 /* 3187 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3188 * Use is subject to license terms. 3189 * Copyright 2016 Joyent, Inc. 3190 */ 3191 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3192 3193 /* 3194 * Machine dependent definitions moved to <sys/machtypes.h>. 3195 */ 3196 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 3197 /* 3198 * CDDL HEADER START 3199 * 3200 * The contents of this file are subject to the terms of the 3201 * Common Development and Distribution License, Version 1.0 only 3202 * (the "License"). You may not use this file except in compliance 3203 * with the License. 3204 * 3205 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3206 * or http://www.opensolaris.org/os/licensing. 3207 * See the License for the specific language governing permissions 3208 * and limitations under the License. 3209 * 3210 * When distributing Covered Code, include this CDDL HEADER in each 3211 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3212 * If applicable, add the following below this CDDL HEADER, with the 3213 * fields enclosed by brackets "[]" replaced with your own identifying 3214 * information: Portions Copyright [yyyy] [name of copyright owner] 3215 * 3216 * CDDL HEADER END 3217 */ 3218 /* 3219 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3220 * Use is subject to license terms. 3221 */ 3222 3223 3224 3225 3226 #pragma ident "%Z%%M% %I% %E% SMI" 3227 3228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3229 /* 3230 * CDDL HEADER START 3231 * 3232 * The contents of this file are subject to the terms of the 3233 * Common Development and Distribution License (the "License"). 3234 * You may not use this file except in compliance with the License. 3235 * 3236 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3237 * or http://www.opensolaris.org/os/licensing. 3238 * See the License for the specific language governing permissions 3239 * and limitations under the License. 3240 * 3241 * When distributing Covered Code, include this CDDL HEADER in each 3242 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3243 * If applicable, add the following below this CDDL HEADER, with the 3244 * fields enclosed by brackets "[]" replaced with your own identifying 3245 * information: Portions Copyright [yyyy] [name of copyright owner] 3246 * 3247 * CDDL HEADER END 3248 */ 3249 3250 /* 3251 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3252 * Copyright 2016 Joyent, Inc. 3253 * 3254 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3255 * Use is subject to license terms. 3256 */ 3257 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3258 3259 3260 3261 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 3262 /* 3263 * CDDL HEADER START 3264 * 3265 * The contents of this file are subject to the terms of the 3266 * Common Development and Distribution License (the "License"). 3267 * You may not use this file except in compliance with the License. 3268 * 3269 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3270 * or http://www.opensolaris.org/os/licensing. 3271 * See the License for the specific language governing permissions 3272 * and limitations under the License. 3273 * 3274 * When distributing Covered Code, include this CDDL HEADER in each 3275 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3276 * If applicable, add the following below this CDDL HEADER, with the 3277 * fields enclosed by brackets "[]" replaced with your own identifying 3278 * information: Portions Copyright [yyyy] [name of copyright owner] 3279 * 3280 * CDDL HEADER END 3281 */ 3282 /* 3283 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3284 * Use is subject to license terms. 3285 */ 3286 3287 3288 3289 3290 #pragma ident "%Z%%M% %I% %E% SMI" 3291 3292 3293 3294 3295 3296 /* 3297 * Machine dependent types: 3298 * 3299 * intel ia32 Version 3300 */ 3301 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 3302 typedef struct _label_t { long val[8]; } label_t; 3303 3304 3305 3306 typedef unsigned char lock_t; /* lock work for busy wait */ 3307 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3308 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3309 3310 /* 3311 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 3312 * committee's working draft for the revision of the current ISO C standard, 3313 * ISO/IEC 9899:1990 Programming language - C. These are not currently 3314 * required by any standard but constitute a useful, general purpose set 3315 * of type definitions which is namespace clean with respect to all standards. 3316 */ 3317 3318 3319 3320 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 3321 /* 3322 * CDDL HEADER START 3323 * 3324 * The contents of this file are subject to the terms of the 3325 * Common Development and Distribution License, Version 1.0 only 3326 * (the "License"). You may not use this file except in compliance 3327 * 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 /* 3343 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3344 * 3345 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3346 * Use is subject to license terms. 3347 */ 3348 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3349 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3350 /* 3351 * Strictly conforming ANSI C environments prior to the 1999 3352 * revision of the C Standard (ISO/IEC 9899:1999) do not have 3353 * the long long data type. 3354 */ 3355 3356 typedef long long longlong_t; 3357 typedef unsigned long long u_longlong_t; 3358 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3359 /* 3360 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 3361 * to use them instead of int32_t and uint32_t because DEC had 3362 * shipped 64-bit wide. 3363 */ 3364 3365 typedef int32_t t_scalar_t; 3366 typedef uint32_t t_uscalar_t; 3367 3368 3369 3370 3371 3372 /* 3373 * POSIX Extensions 3374 */ 3375 typedef unsigned char uchar_t; 3376 typedef unsigned short ushort_t; 3377 typedef unsigned int uint_t; 3378 typedef unsigned long ulong_t; 3379 3380 typedef char *caddr_t; /* ?<core address> type */ 3381 typedef long daddr_t; /* <disk address> type */ 3382 typedef short cnt_t; /* ?<count> type */ 3383 3384 3385 3386 3387 typedef long ptrdiff_t; /* pointer difference */ 3388 3389 3390 3391 3392 3393 /* 3394 * VM-related types 3395 */ 3396 typedef ulong_t pfn_t; /* page frame number */ 3397 typedef ulong_t pgcnt_t; /* number of pages */ 3398 typedef long spgcnt_t; /* signed number of pages */ 3399 3400 typedef uchar_t use_t; /* use count for swap. */ 3401 typedef short sysid_t; 3402 typedef short index_t; 3403 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 3404 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 3405 3406 /* 3407 * The size of off_t and related types depends on the setting of 3408 * _FILE_OFFSET_BITS. (Note that other system headers define other types 3409 * related to those defined here.) 3410 * 3411 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 3412 * explicitly 64 bits wide become available. 3413 */ 3414 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3415 typedef ulong_t ino_t; /* expanded inode type */ 3416 typedef long blkcnt_t; /* count of file blocks */ 3417 typedef ulong_t fsblkcnt_t; /* count of file system blocks */ 3418 typedef ulong_t fsfilcnt_t; /* count of files */ 3419 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3420 typedef ino_t ino64_t; /* expanded inode type */ 3421 typedef blkcnt_t blkcnt64_t; /* count of file blocks */ 3422 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */ 3423 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */ 3424 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3425 typedef int blksize_t; /* used for block sizes */ 3426 3427 3428 3429 3430 3431 3432 3433 typedef enum { B_FALSE, B_TRUE } boolean_t; 3434 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3435 /* 3436 * The {u,}pad64_t types can be used in structures such that those structures 3437 * may be accessed by code produced by compilation environments which don't 3438 * support a 64 bit integral datatype. The intention is not to allow 3439 * use of these fields in such environments, but to maintain the alignment 3440 * and offsets of the structure. 3441 * 3442 * Similar comments for {u,}pad128_t. 3443 * 3444 * Note that these types do NOT generate any stronger alignment constraints 3445 * than those available in the underlying ABI. See <sys/isa_defs.h> 3446 */ 3447 3448 typedef int64_t pad64_t; 3449 typedef uint64_t upad64_t; 3450 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3451 typedef union { 3452 long double _q; 3453 int32_t _l[4]; 3454 } pad128_t; 3455 3456 typedef union { 3457 long double _q; 3458 uint32_t _l[4]; 3459 } upad128_t; 3460 3461 typedef longlong_t offset_t; 3462 typedef u_longlong_t u_offset_t; 3463 typedef u_longlong_t len_t; 3464 typedef u_longlong_t diskaddr_t; 3465 3466 3467 3468 3469 /* 3470 * Definitions remaining from previous partial support for 64-bit file 3471 * offsets. This partial support for devices greater than 2gb requires 3472 * compiler support for long long. 3473 */ 3474 3475 typedef union { 3476 offset_t _f; /* Full 64 bit offset value */ 3477 struct { 3478 int32_t _l; /* lower 32 bits of offset value */ 3479 int32_t _u; /* upper 32 bits of offset value */ 3480 } _p; 3481 } lloff_t; 3482 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3483 typedef union { 3484 longlong_t _f; /* Full 64 bit disk address value */ 3485 struct { 3486 int32_t _l; /* lower 32 bits of disk address value */ 3487 int32_t _u; /* upper 32 bits of disk address value */ 3488 } _p; 3489 } lldaddr_t; 3490 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3491 typedef uint_t k_fltset_t; /* kernel fault set type */ 3492 3493 /* 3494 * The following type is for various kinds of identifiers. The 3495 * actual type must be the same for all since some system calls 3496 * (such as sigsend) take arguments that may be any of these 3497 * types. The enumeration type idtype_t defined in sys/procset.h 3498 * is used to indicate what type of id is being specified -- 3499 * a process id, process group id, session id, scheduling class id, 3500 * user id, group id, project id, task id or zone id. 3501 */ 3502 3503 typedef int id_t; 3504 3505 3506 3507 3508 typedef id_t lgrp_id_t; /* lgroup ID */ 3509 3510 /* 3511 * Type useconds_t is an unsigned integral type capable of storing 3512 * values at least in the range of zero to 1,000,000. 3513 */ 3514 typedef uint_t useconds_t; /* Time, in microseconds */ 3515 3516 3517 3518 typedef long suseconds_t; /* signed # of microseconds */ 3519 3520 3521 /* 3522 * Typedefs for dev_t components. 3523 */ 3524 3525 typedef uint_t major_t; /* major part of device number */ 3526 typedef uint_t minor_t; /* minor part of device number */ 3527 3528 3529 3530 3531 3532 /* 3533 * The data type of a thread priority. 3534 */ 3535 typedef short pri_t; 3536 3537 /* 3538 * The data type for a CPU flags field. (Can be extended to larger unsigned 3539 * types, if needed, limited by ability to update atomically.) 3540 */ 3541 typedef ushort_t cpu_flag_t; 3542 3543 /* 3544 * For compatibility reasons the following typedefs (prefixed o_) 3545 * can't grow regardless of the EFT definition. Although, 3546 * applications should not explicitly use these typedefs 3547 * they may be included via a system header definition. 3548 * WARNING: These typedefs may be removed in a future 3549 * release. 3550 * ex. the definitions in s5inode.h (now obsoleted) 3551 * remained small to preserve compatibility 3552 * in the S5 file system type. 3553 */ 3554 typedef ushort_t o_mode_t; /* old file attribute type */ 3555 typedef short o_dev_t; /* old device type */ 3556 typedef ushort_t o_uid_t; /* old UID type */ 3557 typedef o_uid_t o_gid_t; /* old GID type */ 3558 typedef short o_nlink_t; /* old file link type */ 3559 typedef short o_pid_t; /* old process id type */ 3560 typedef ushort_t o_ino_t; /* old inode type */ 3561 3562 3563 /* 3564 * POSIX and XOPEN Declarations 3565 */ 3566 typedef int key_t; /* IPC key type */ 3567 3568 typedef uint_t mode_t; /* file attribute type */ 3569 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3570 typedef uid_t gid_t; /* GID type */ 3571 3572 typedef uint32_t datalink_id_t; 3573 typedef uint32_t vrid_t; 3574 3575 typedef id_t taskid_t; 3576 typedef id_t projid_t; 3577 typedef id_t poolid_t; 3578 typedef id_t zoneid_t; 3579 typedef id_t ctid_t; 3580 3581 /* 3582 * POSIX definitions are same as defined in thread.h and synch.h. 3583 * Any changes made to here should be reflected in corresponding 3584 * files as described in comments. 3585 */ 3586 typedef uint_t pthread_t; /* = thread_t in thread.h */ 3587 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 3588 3589 /* "Magic numbers" tagging synchronization object types */ 3590 3591 3592 3593 3594 3595 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 3596 struct { 3597 uint16_t __pthread_mutex_flag1; 3598 uint8_t __pthread_mutex_flag2; 3599 uint8_t __pthread_mutex_ceiling; 3600 uint16_t __pthread_mutex_type; 3601 uint16_t __pthread_mutex_magic; 3602 } __pthread_mutex_flags; 3603 union { 3604 struct { 3605 uint8_t __pthread_mutex_pad[8]; 3606 } __pthread_mutex_lock64; 3607 struct { 3608 uint32_t __pthread_ownerpid; 3609 uint32_t __pthread_lockword; 3610 } __pthread_mutex_lock32; 3611 upad64_t __pthread_mutex_owner64; 3612 } __pthread_mutex_lock; 3613 upad64_t __pthread_mutex_data; 3614 } pthread_mutex_t; 3615 3616 typedef struct _pthread_cond { /* = cond_t in synch.h */ 3617 struct { 3618 uint8_t __pthread_cond_flag[4]; 3619 uint16_t __pthread_cond_type; 3620 uint16_t __pthread_cond_magic; 3621 } __pthread_cond_flags; 3622 upad64_t __pthread_cond_data; 3623 } pthread_cond_t; 3624 3625 /* 3626 * UNIX 98 Extension 3627 */ 3628 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 3629 int32_t __pthread_rwlock_readers; 3630 uint16_t __pthread_rwlock_type; 3631 uint16_t __pthread_rwlock_magic; 3632 pthread_mutex_t __pthread_rwlock_mutex; 3633 pthread_cond_t __pthread_rwlock_readercv; 3634 pthread_cond_t __pthread_rwlock_writercv; 3635 } pthread_rwlock_t; 3636 3637 /* 3638 * SUSV3 3639 */ 3640 typedef struct { 3641 uint32_t __pthread_barrier_count; 3642 uint32_t __pthread_barrier_current; 3643 upad64_t __pthread_barrier_cycle; 3644 upad64_t __pthread_barrier_reserved; 3645 pthread_mutex_t __pthread_barrier_lock; 3646 pthread_cond_t __pthread_barrier_cond; 3647 } pthread_barrier_t; 3648 3649 typedef pthread_mutex_t pthread_spinlock_t; 3650 3651 /* 3652 * attributes for threads, dynamically allocated by library 3653 */ 3654 typedef struct _pthread_attr { 3655 void *__pthread_attrp; 3656 } pthread_attr_t; 3657 3658 /* 3659 * attributes for mutex, dynamically allocated by library 3660 */ 3661 typedef struct _pthread_mutexattr { 3662 void *__pthread_mutexattrp; 3663 } pthread_mutexattr_t; 3664 3665 /* 3666 * attributes for cond, dynamically allocated by library 3667 */ 3668 typedef struct _pthread_condattr { 3669 void *__pthread_condattrp; 3670 } pthread_condattr_t; 3671 3672 /* 3673 * pthread_once 3674 */ 3675 typedef struct _once { 3676 upad64_t __pthread_once_pad[4]; 3677 } pthread_once_t; 3678 3679 /* 3680 * UNIX 98 Extensions 3681 * attributes for rwlock, dynamically allocated by library 3682 */ 3683 typedef struct _pthread_rwlockattr { 3684 void *__pthread_rwlockattrp; 3685 } pthread_rwlockattr_t; 3686 3687 /* 3688 * SUSV3 3689 * attributes for pthread_barrier_t, dynamically allocated by library 3690 */ 3691 typedef struct { 3692 void *__pthread_barrierattrp; 3693 } pthread_barrierattr_t; 3694 3695 typedef ulong_t dev_t; /* expanded device type */ 3696 3697 3698 typedef uint_t nlink_t; /* file link type */ 3699 typedef int pid_t; /* process id type */ 3700 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3701 typedef long time_t; /* time of day in seconds */ 3702 3703 3704 3705 3706 typedef long clock_t; /* relative time in a specified resolution */ 3707 3708 3709 3710 3711 typedef int clockid_t; /* clock identifier type */ 3712 3713 3714 3715 3716 typedef int timer_t; /* timer identifier type */ 3717 3718 3719 3720 3721 /* BEGIN CSTYLED */ 3722 typedef unsigned char unchar; 3723 typedef unsigned short ushort; 3724 typedef unsigned int uint; 3725 typedef unsigned long ulong; 3726 /* END CSTYLED */ 3727 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3728 /* 3729 * The following is the value of type id_t to use to indicate the 3730 * caller's current id. See procset.h for the type idtype_t 3731 * which defines which kind of id is being specified. 3732 */ 3733 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3734 /* 3735 * The following value of type pfn_t is used to indicate 3736 * invalid page frame number. 3737 */ 3738 3739 3740 3741 /* BEGIN CSTYLED */ 3742 typedef unsigned char u_char; 3743 typedef unsigned short u_short; 3744 typedef unsigned int u_int; 3745 typedef unsigned long u_long; 3746 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 3747 typedef quad_t quad; /* used by UFS */ 3748 /* END CSTYLED */ 3749 3750 /* 3751 * Nested include for BSD/sockets source compatibility. 3752 * (The select macros used to be defined here). 3753 */ 3754 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 3755 /* 3756 * CDDL HEADER START 3757 * 3758 * The contents of this file are subject to the terms of the 3759 * Common Development and Distribution License (the "License"). 3760 * You may not use this file except in compliance with the License. 3761 * 3762 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3763 * or http://www.opensolaris.org/os/licensing. 3764 * See the License for the specific language governing permissions 3765 * and limitations under the License. 3766 * 3767 * When distributing Covered Code, include this CDDL HEADER in each 3768 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3769 * If applicable, add the following below this CDDL HEADER, with the 3770 * fields enclosed by brackets "[]" replaced with your own identifying 3771 * information: Portions Copyright [yyyy] [name of copyright owner] 3772 * 3773 * CDDL HEADER END 3774 */ 3775 3776 /* 3777 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3778 * 3779 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3780 * 3781 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 3782 * Use is subject to license terms. 3783 */ 3784 3785 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3786 /* All Rights Reserved */ 3787 3788 /* 3789 * University Copyright- Copyright (c) 1982, 1986, 1988 3790 * The Regents of the University of California 3791 * All Rights Reserved 3792 * 3793 * University Acknowledgment- Portions of this document are derived from 3794 * software developed by the University of California, Berkeley, and its 3795 * contributors. 3796 */ 3797 3798 3799 3800 3801 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3802 /* 3803 * CDDL HEADER START 3804 * 3805 * The contents of this file are subject to the terms of the 3806 * Common Development and Distribution License (the "License"). 3807 * You may not use this file except in compliance with the License. 3808 * 3809 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3810 * or http://www.opensolaris.org/os/licensing. 3811 * See the License for the specific language governing permissions 3812 * and limitations under the License. 3813 * 3814 * When distributing Covered Code, include this CDDL HEADER in each 3815 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3816 * If applicable, add the following below this CDDL HEADER, with the 3817 * fields enclosed by brackets "[]" replaced with your own identifying 3818 * information: Portions Copyright [yyyy] [name of copyright owner] 3819 * 3820 * CDDL HEADER END 3821 */ 3822 3823 /* 3824 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3825 * Copyright 2016 Joyent, Inc. 3826 * 3827 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3828 * Use is subject to license terms. 3829 */ 3830 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3831 3832 3833 3834 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 3835 /* 3836 * CDDL HEADER START 3837 * 3838 * The contents of this file are subject to the terms of the 3839 * Common Development and Distribution License, Version 1.0 only 3840 * (the "License"). You may not use this file except in compliance 3841 * with the License. 3842 * 3843 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3844 * or http://www.opensolaris.org/os/licensing. 3845 * See the License for the specific language governing permissions 3846 * and limitations under the License. 3847 * 3848 * When distributing Covered Code, include this CDDL HEADER in each 3849 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3850 * If applicable, add the following below this CDDL HEADER, with the 3851 * fields enclosed by brackets "[]" replaced with your own identifying 3852 * information: Portions Copyright [yyyy] [name of copyright owner] 3853 * 3854 * CDDL HEADER END 3855 */ 3856 /* 3857 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3858 * Use is subject to license terms. 3859 */ 3860 3861 /* 3862 * Implementation-private. This header should not be included 3863 * directly by an application. The application should instead 3864 * include <time.h> which includes this header conditionally 3865 * depending on which feature test macros are defined. By default, 3866 * this header is included by <time.h>. X/Open and POSIX 3867 * standards requirements result in this header being included 3868 * by <time.h> only under a restricted set of conditions. 3869 */ 3870 3871 3872 3873 3874 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3875 /* 3876 * CDDL HEADER START 3877 * 3878 * The contents of this file are subject to the terms of the 3879 * Common Development and Distribution License (the "License"). 3880 * You may not use this file except in compliance with the License. 3881 * 3882 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3883 * or http://www.opensolaris.org/os/licensing. 3884 * See the License for the specific language governing permissions 3885 * and limitations under the License. 3886 * 3887 * When distributing Covered Code, include this CDDL HEADER in each 3888 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3889 * If applicable, add the following below this CDDL HEADER, with the 3890 * fields enclosed by brackets "[]" replaced with your own identifying 3891 * information: Portions Copyright [yyyy] [name of copyright owner] 3892 * 3893 * CDDL HEADER END 3894 */ 3895 3896 /* 3897 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3898 * Copyright 2016 Joyent, Inc. 3899 * 3900 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3901 * Use is subject to license terms. 3902 */ 3903 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 3904 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3905 /* 3906 * Time expressed in seconds and nanoseconds 3907 */ 3908 3909 typedef struct timespec { /* definition per POSIX.4 */ 3910 time_t tv_sec; /* seconds */ 3911 long tv_nsec; /* and nanoseconds */ 3912 } timespec_t; 3913 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3914 typedef struct timespec timestruc_t; /* definition per SVr4 */ 3915 3916 /* 3917 * The following has been left in for backward compatibility. Portable 3918 * applications should not use the structure name timestruc. 3919 */ 3920 3921 3922 3923 3924 3925 /* 3926 * Timer specification 3927 */ 3928 typedef struct itimerspec { /* definition per POSIX.4 */ 3929 struct timespec it_interval; /* timer period */ 3930 struct timespec it_value; /* timer expiration */ 3931 } itimerspec_t; 3932 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3933 3934 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 3935 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3936 /* All Rights Reserved */ 3937 3938 3939 /* 3940 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 3941 * All rights reserved. The Berkeley software License Agreement 3942 * specifies the terms and conditions for redistribution. 3943 */ 3944 3945 /* 3946 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3947 * 3948 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3949 * Use is subject to license terms. 3950 * 3951 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3952 */ 3953 3954 /* 3955 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 3956 */ 3957 3958 3959 3960 3961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3962 /* 3963 * CDDL HEADER START 3964 * 3965 * The contents of this file are subject to the terms of the 3966 * Common Development and Distribution License (the "License"). 3967 * You may not use this file except in compliance with the License. 3968 * 3969 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3970 * or http://www.opensolaris.org/os/licensing. 3971 * See the License for the specific language governing permissions 3972 * and limitations under the License. 3973 * 3974 * When distributing Covered Code, include this CDDL HEADER in each 3975 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3976 * If applicable, add the following below this CDDL HEADER, with the 3977 * fields enclosed by brackets "[]" replaced with your own identifying 3978 * information: Portions Copyright [yyyy] [name of copyright owner] 3979 * 3980 * CDDL HEADER END 3981 */ 3982 3983 /* 3984 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3985 * Copyright 2016 Joyent, Inc. 3986 * 3987 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3988 * Use is subject to license terms. 3989 */ 3990 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 3991 3992 /* 3993 * Structure returned by gettimeofday(2) system call, 3994 * and used in other calls. 3995 */ 3996 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 3997 struct timeval { 3998 time_t tv_sec; /* seconds */ 3999 suseconds_t tv_usec; /* and microseconds */ 4000 }; 4001 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4002 struct timezone { 4003 int tz_minuteswest; /* minutes west of Greenwich */ 4004 int tz_dsttime; /* type of dst correction */ 4005 }; 4006 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4007 /* 4008 * Needed for longlong_t type. Placement of this due to <sys/types.h> 4009 * including <sys/select.h> which relies on the presense of the itimerval 4010 * structure. 4011 */ 4012 4013 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4014 /* 4015 * CDDL HEADER START 4016 * 4017 * The contents of this file are subject to the terms of the 4018 * Common Development and Distribution License (the "License"). 4019 * You may not use this file except in compliance with the License. 4020 * 4021 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4022 * or http://www.opensolaris.org/os/licensing. 4023 * See the License for the specific language governing permissions 4024 * and limitations under the License. 4025 * 4026 * When distributing Covered Code, include this CDDL HEADER in each 4027 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4028 * If applicable, add the following below this CDDL HEADER, with the 4029 * fields enclosed by brackets "[]" replaced with your own identifying 4030 * information: Portions Copyright [yyyy] [name of copyright owner] 4031 * 4032 * CDDL HEADER END 4033 */ 4034 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4035 /* All Rights Reserved */ 4036 4037 4038 /* 4039 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4040 * Use is subject to license terms. 4041 * 4042 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4043 * Copyright 2016 Joyent, Inc. 4044 */ 4045 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4046 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4047 /* 4048 * Operations on timevals. 4049 */ 4050 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4051 /* 4052 * Names of the interval timers, and structure 4053 * defining a timer setting. 4054 */ 4055 4056 4057 4058 /* time and when system is running on */ 4059 /* behalf of the process. */ 4060 4061 /* time profiling of multithreaded */ 4062 /* programs. */ 4063 4064 4065 struct itimerval { 4066 struct timeval it_interval; /* timer interval */ 4067 struct timeval it_value; /* current value */ 4068 }; 4069 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4070 /* 4071 * Definitions for commonly used resolutions. 4072 */ 4073 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4074 /* 4075 * Time expressed as a 64-bit nanosecond counter. 4076 */ 4077 typedef longlong_t hrtime_t; 4078 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4079 int adjtime(struct timeval *, struct timeval *); 4080 4081 4082 4083 4084 int futimesat(int, const char *, const struct timeval *); 4085 4086 4087 4088 4089 4090 int getitimer(int, struct itimerval *); 4091 int utimes(const char *, const struct timeval *); 4092 4093 4094 4095 4096 int setitimer(int, struct itimerval *, 4097 struct itimerval *); 4098 4099 4100 4101 4102 /* 4103 * gettimeofday() and settimeofday() were included in SVr4 due to their 4104 * common use in BSD based applications. They were to be included exactly 4105 * as in BSD, with two parameters. However, AT&T/USL noted that the second 4106 * parameter was unused and deleted it, thereby making a routine included 4107 * for compatibility, incompatible. 4108 * 4109 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 4110 * parameters. 4111 * 4112 * This has caused general disagreement in the application community as to 4113 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 4114 * The flag _SVID_GETTOD may be used to force the SVID version. 4115 */ 4116 4117 4118 4119 4120 4121 int settimeofday(struct timeval *, void *); 4122 4123 hrtime_t gethrtime(void); 4124 hrtime_t gethrvtime(void); 4125 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4126 int gettimeofday(struct timeval *, void *); 4127 4128 4129 4130 4131 /* 4132 * The inclusion of <time.h> is historical and was added for 4133 * backward compatibility in delta 1.2 when a number of definitions 4134 * were moved out of <sys/time.h>. More recently, the timespec and 4135 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 4136 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 4137 * which is now included by <time.h>. This change was due to POSIX 4138 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 4139 * non-X/Open applications, including this header will still make 4140 * visible these definitions. 4141 */ 4142 4143 4144 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 4145 /* 4146 * CDDL HEADER START 4147 * 4148 * The contents of this file are subject to the terms of the 4149 * Common Development and Distribution License (the "License"). 4150 * You may not use this file except in compliance with the License. 4151 * 4152 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4153 * or http://www.opensolaris.org/os/licensing. 4154 * See the License for the specific language governing permissions 4155 * and limitations under the License. 4156 * 4157 * When distributing Covered Code, include this CDDL HEADER in each 4158 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4159 * If applicable, add the following below this CDDL HEADER, with the 4160 * fields enclosed by brackets "[]" replaced with your own identifying 4161 * information: Portions Copyright [yyyy] [name of copyright owner] 4162 * 4163 * CDDL HEADER END 4164 */ 4165 /* Copyright (c) 1988 AT&T */ 4166 /* All Rights Reserved */ 4167 4168 4169 /* 4170 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4171 * 4172 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 4173 * Use is subject to license terms. 4174 */ 4175 /* 4176 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 4177 * Copyright 2016 Joyent, Inc. 4178 */ 4179 4180 4181 4182 4183 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4184 /* 4185 * CDDL HEADER START 4186 * 4187 * The contents of this file are subject to the terms of the 4188 * Common Development and Distribution License (the "License"). 4189 * You may not use this file except in compliance with the License. 4190 * 4191 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4192 * or http://www.opensolaris.org/os/licensing. 4193 * See the License for the specific language governing permissions 4194 * and limitations under the License. 4195 * 4196 * When distributing Covered Code, include this CDDL HEADER in each 4197 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4198 * If applicable, add the following below this CDDL HEADER, with the 4199 * fields enclosed by brackets "[]" replaced with your own identifying 4200 * information: Portions Copyright [yyyy] [name of copyright owner] 4201 * 4202 * CDDL HEADER END 4203 */ 4204 4205 /* 4206 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4207 * Copyright 2016 Joyent, Inc. 4208 * 4209 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4210 * Use is subject to license terms. 4211 */ 4212 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 4214 /* 4215 * CDDL HEADER START 4216 * 4217 * The contents of this file are subject to the terms of the 4218 * Common Development and Distribution License, Version 1.0 only 4219 * (the "License"). You may not use this file except in compliance 4220 * with the License. 4221 * 4222 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4223 * or http://www.opensolaris.org/os/licensing. 4224 * See the License for the specific language governing permissions 4225 * and limitations under the License. 4226 * 4227 * When distributing Covered Code, include this CDDL HEADER in each 4228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4229 * If applicable, add the following below this CDDL HEADER, with the 4230 * fields enclosed by brackets "[]" replaced with your own identifying 4231 * information: Portions Copyright [yyyy] [name of copyright owner] 4232 * 4233 * CDDL HEADER END 4234 */ 4235 /* Copyright (c) 1988 AT&T */ 4236 /* All Rights Reserved */ 4237 4238 /* 4239 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4240 * Copyright 2014 PALO, Richard. 4241 * 4242 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 4243 * Use is subject to license terms. 4244 */ 4245 4246 /* 4247 * An application should not include this header directly. Instead it 4248 * should be included only through the inclusion of other Sun headers. 4249 * 4250 * The contents of this header is limited to identifiers specified in the 4251 * C Standard. Any new identifiers specified in future amendments to the 4252 * C Standard must be placed in this header. If these new identifiers 4253 * are required to also be in the C++ Standard "std" namespace, then for 4254 * anything other than macro definitions, corresponding "using" directives 4255 * must also be added to <time.h.h>. 4256 */ 4257 4258 4259 4260 4261 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4262 /* 4263 * CDDL HEADER START 4264 * 4265 * The contents of this file are subject to the terms of the 4266 * Common Development and Distribution License (the "License"). 4267 * You may not use this file except in compliance with the License. 4268 * 4269 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4270 * or http://www.opensolaris.org/os/licensing. 4271 * See the License for the specific language governing permissions 4272 * and limitations under the License. 4273 * 4274 * When distributing Covered Code, include this CDDL HEADER in each 4275 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4276 * If applicable, add the following below this CDDL HEADER, with the 4277 * fields enclosed by brackets "[]" replaced with your own identifying 4278 * information: Portions Copyright [yyyy] [name of copyright owner] 4279 * 4280 * CDDL HEADER END 4281 */ 4282 4283 /* 4284 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4285 * Copyright 2016 Joyent, Inc. 4286 * 4287 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4288 * Use is subject to license terms. 4289 */ 4290 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4291 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 4292 /* 4293 * This file and its contents are supplied under the terms of the 4294 * Common Development and Distribution License ("CDDL"), version 1.0. 4295 * You may only use this file in accordance with the terms of version 4296 * 1.0 of the CDDL. 4297 * 4298 * A full copy of the text of the CDDL should have accompanied this 4299 * source. A copy of the CDDL is also available via the Internet at 4300 * http://www.illumos.org/license/CDDL. 4301 */ 4302 4303 /* 4304 * Copyright 2014-2016 PALO, Richard. 4305 */ 4306 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4307 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 4308 struct tm { /* see ctime(3) */ 4309 int tm_sec; 4310 int tm_min; 4311 int tm_hour; 4312 int tm_mday; 4313 int tm_mon; 4314 int tm_year; 4315 int tm_wday; 4316 int tm_yday; 4317 int tm_isdst; 4318 }; 4319 4320 4321 extern char *asctime(const struct tm *); 4322 extern clock_t clock(void); 4323 extern char *ctime(const time_t *); 4324 extern double difftime(time_t, time_t); 4325 extern struct tm *gmtime(const time_t *); 4326 extern struct tm *localtime(const time_t *); 4327 extern time_t mktime(struct tm *); 4328 extern time_t time(time_t *); 4329 extern size_t strftime(char *, size_t, const char *, 4330 const struct tm *); 4331 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4332 /* 4333 * C11 requires sys/time_impl.h for the definition of the struct timespec. 4334 */ 4335 4336 4337 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4338 /* 4339 * CDDL HEADER START 4340 * 4341 * The contents of this file are subject to the terms of the 4342 * Common Development and Distribution License (the "License"). 4343 * You may not use this file except in compliance with the License. 4344 * 4345 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4346 * or http://www.opensolaris.org/os/licensing. 4347 * See the License for the specific language governing permissions 4348 * and limitations under the License. 4349 * 4350 * When distributing Covered Code, include this CDDL HEADER in each 4351 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4352 * If applicable, add the following below this CDDL HEADER, with the 4353 * fields enclosed by brackets "[]" replaced with your own identifying 4354 * information: Portions Copyright [yyyy] [name of copyright owner] 4355 * 4356 * CDDL HEADER END 4357 */ 4358 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4359 /* All Rights Reserved */ 4360 4361 4362 /* 4363 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4364 * Use is subject to license terms. 4365 * 4366 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4367 * Copyright 2016 Joyent, Inc. 4368 */ 4369 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4370 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 4371 /* 4372 * CDDL HEADER START 4373 * 4374 * The contents of this file are subject to the terms of the 4375 * Common Development and Distribution License, Version 1.0 only 4376 * (the "License"). You may not use this file except in compliance 4377 * with the License. 4378 * 4379 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4380 * or http://www.opensolaris.org/os/licensing. 4381 * See the License for the specific language governing permissions 4382 * and limitations under the License. 4383 * 4384 * When distributing Covered Code, include this CDDL HEADER in each 4385 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4386 * If applicable, add the following below this CDDL HEADER, with the 4387 * fields enclosed by brackets "[]" replaced with your own identifying 4388 * information: Portions Copyright [yyyy] [name of copyright owner] 4389 * 4390 * CDDL HEADER END 4391 */ 4392 /* 4393 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 4394 * Use is subject to license terms. 4395 */ 4396 4397 /* 4398 * Implementation-private. This header should not be included 4399 * directly by an application. The application should instead 4400 * include <time.h> which includes this header conditionally 4401 * depending on which feature test macros are defined. By default, 4402 * this header is included by <time.h>. X/Open and POSIX 4403 * standards requirements result in this header being included 4404 * by <time.h> only under a restricted set of conditions. 4405 */ 4406 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4407 4408 4409 /* 4410 * Allow global visibility for symbols defined in 4411 * C++ "std" namespace in <iso/time_iso.h>. 4412 */ 4413 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4414 extern struct tm *gmtime_r(const time_t *, 4415 struct tm *); 4416 extern struct tm *localtime_r(const time_t *, 4417 struct tm *); 4418 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4419 extern char *strptime(const char *, const char *, 4420 struct tm *); 4421 4422 4423 4424 4425 4426 /* 4427 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 4428 * definition of the sigevent structure. Both require the inclusion 4429 * of <signal.h> and <time.h> when using the timer_create() function. 4430 * However, X/Open also specifies that the sigevent structure be defined 4431 * in <time.h> as described in the header <signal.h>. This prevents 4432 * compiler warnings for applications that only include <time.h> and not 4433 * also <signal.h>. The sigval union and the sigevent structure is 4434 * therefore defined both here and in <sys/siginfo.h> which gets included 4435 * via inclusion of <signal.h>. 4436 */ 4437 4438 4439 union sigval { 4440 int sival_int; /* integer value */ 4441 void *sival_ptr; /* pointer value */ 4442 }; 4443 4444 4445 4446 4447 struct sigevent { 4448 int sigev_notify; /* notification mode */ 4449 int sigev_signo; /* signal number */ 4450 union sigval sigev_value; /* signal value */ 4451 void (*sigev_notify_function)(union sigval); 4452 pthread_attr_t *sigev_notify_attributes; 4453 int __sigev_pad2; 4454 }; 4455 4456 4457 extern int clock_getres(clockid_t, struct timespec *); 4458 extern int clock_gettime(clockid_t, struct timespec *); 4459 extern int clock_settime(clockid_t, const struct timespec *); 4460 extern int timer_create(clockid_t, struct sigevent *, 4461 timer_t *); 4462 extern int timer_delete(timer_t); 4463 extern int timer_getoverrun(timer_t); 4464 extern int timer_gettime(timer_t, struct itimerspec *); 4465 extern int timer_settime(timer_t, int, const struct itimerspec *, 4466 struct itimerspec *); 4467 4468 extern int nanosleep(const struct timespec *, struct timespec *); 4469 extern int clock_nanosleep(clockid_t, int, 4470 const struct timespec *, struct timespec *); 4471 4472 4473 4474 4475 4476 4477 extern void tzset(void); 4478 extern char *tzname[2]; 4479 4480 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 4481 4482 4483 extern long _sysconf(int); /* System Private interface to sysconf() */ 4484 4485 /* 3 is _SC_CLK_TCK */ 4486 4487 4488 4489 4490 4491 extern long timezone; 4492 extern int daylight; 4493 4494 4495 4496 4497 4498 4499 extern time_t timegm(struct tm *); 4500 extern int cftime(char *, char *, const time_t *); 4501 extern int ascftime(char *, const char *, const struct tm *); 4502 extern long altzone; 4503 4504 4505 4506 4507 extern struct tm *getdate(const char *); 4508 4509 4510 4511 4512 4513 extern int getdate_err; 4514 4515 4516 4517 /* 4518 * ctime_r() & asctime_r() prototypes are defined here. 4519 */ 4520 4521 /* 4522 * Previous releases of Solaris, starting at 2.3, provided definitions of 4523 * various functions as specified in POSIX.1c, Draft 6. For some of these 4524 * functions, the final POSIX 1003.1c standard had a different number of 4525 * arguments and return values. 4526 * 4527 * The following segment of this header provides support for the standard 4528 * interfaces while supporting applications written under earlier 4529 * releases. The application defines appropriate values of the feature 4530 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 4531 * whether it was written to expect the Draft 6 or standard versions of 4532 * these interfaces, before including this header. This header then 4533 * provides a mapping from the source version of the interface to an 4534 * appropriate binary interface. Such mappings permit an application 4535 * to be built from libraries and objects which have mixed expectations 4536 * of the definitions of these functions. 4537 * 4538 * For applications using the Draft 6 definitions, the binary symbol is the 4539 * same as the source symbol, and no explicit mapping is needed. For the 4540 * standard interface, the function func() is mapped to the binary symbol 4541 * _posix_func(). The preferred mechanism for the remapping is a compiler 4542 * #pragma. If the compiler does not provide such a #pragma, the header file 4543 * defines a static function func() which calls the _posix_func() version; 4544 * this has to be done instead of #define since POSIX specifies that an 4545 * application can #undef the symbol and still be bound to the correct 4546 * implementation. Unfortunately, the statics confuse lint so we fallback to 4547 * #define in that case. 4548 * 4549 * NOTE: Support for the Draft 6 definitions is provided for compatibility 4550 * only. New applications/libraries should use the standard definitions. 4551 */ 4552 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4553 extern char *asctime_r(const struct tm *, char *, int); 4554 extern char *ctime_r(const time_t *, char *, int); 4555 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4556 typedef struct _locale *locale_t; 4557 4558 4559 extern size_t strftime_l(char *, size_t, 4560 const char *, const struct tm *, locale_t); 4561 4562 4563 4564 4565 4566 /* 4567 * Note, the C11 standard requires that all the various base values that are 4568 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 4569 */ 4570 4571 4572 extern int timespec_get(struct timespec *, int); 4573 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4574 4575 4576 /* 4577 * The inclusion of <sys/select.h> is needed for the FD_CLR, 4578 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 4579 * select() prototype defined in the XOpen specifications 4580 * beginning with XSH4v2. Placement required after definition 4581 * for itimerval. 4582 */ 4583 4584 4585 4586 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 4587 /* 4588 * CDDL HEADER START 4589 * 4590 * The contents of this file are subject to the terms of the 4591 * Common Development and Distribution License (the "License"). 4592 * You may not use this file except in compliance with the License. 4593 * 4594 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4595 * or http://www.opensolaris.org/os/licensing. 4596 * See the License for the specific language governing permissions 4597 * and limitations under the License. 4598 * 4599 * When distributing Covered Code, include this CDDL HEADER in each 4600 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4601 * If applicable, add the following below this CDDL HEADER, with the 4602 * fields enclosed by brackets "[]" replaced with your own identifying 4603 * information: Portions Copyright [yyyy] [name of copyright owner] 4604 * 4605 * CDDL HEADER END 4606 */ 4607 4608 /* 4609 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4610 * 4611 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4612 * 4613 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4614 * Use is subject to license terms. 4615 */ 4616 4617 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4618 /* All Rights Reserved */ 4619 4620 /* 4621 * University Copyright- Copyright (c) 1982, 1986, 1988 4622 * The Regents of the University of California 4623 * All Rights Reserved 4624 * 4625 * University Acknowledgment- Portions of this document are derived from 4626 * software developed by the University of California, Berkeley, and its 4627 * contributors. 4628 */ 4629 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4630 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4631 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4632 /* 4633 * The sigset_t type is defined in <sys/signal.h> and duplicated 4634 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 4635 * now allows the visibility of signal.h in this header, however 4636 * an order of inclusion problem occurs as a result of inclusion 4637 * of <sys/select.h> in <signal.h> under certain conditions. 4638 * Rather than include <sys/signal.h> here, we've duplicated 4639 * the sigset_t type instead. This type is required for the XPG6 4640 * introduced pselect() function also declared in this header. 4641 */ 4642 4643 4644 typedef struct { /* signal set type */ 4645 unsigned int __sigbits[4]; 4646 } sigset_t; 4647 4648 4649 4650 4651 /* 4652 * Select uses bit masks of file descriptors in longs. 4653 * These macros manipulate such bit fields. 4654 * FD_SETSIZE may be defined by the user, but the default here 4655 * should be >= NOFILE (param.h). 4656 */ 4657 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4658 typedef long fd_mask; 4659 4660 typedef long fds_mask; 4661 4662 /* 4663 * The value of _NBBY needs to be consistant with the value 4664 * of NBBY in <sys/param.h>. 4665 */ 4666 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4667 typedef struct fd_set { 4668 4669 4670 4671 long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 4672 } fd_set; 4673 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4674 extern int select(int, fd_set *, fd_set *, 4675 fd_set *, struct timeval *); 4676 4677 4678 extern int pselect(int, fd_set *, fd_set *, 4679 fd_set *, const struct timespec *, 4680 const sigset_t *); 4681 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 4682 4683 4684 4685 /* 4686 * _VOID was defined to be either void or char but this is not 4687 * required because previous SunOS compilers have accepted the void 4688 * type. However, because many system header and source files use the 4689 * void keyword, the volatile keyword, and ANSI C function prototypes, 4690 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 4691 * should therefore not be used and remains for source compatibility 4692 * only. 4693 */ 4694 /* CSTYLED */ 4695 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4696 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 4697 /* 4698 * CDDL HEADER START 4699 * 4700 * The contents of this file are subject to the terms of the 4701 * Common Development and Distribution License (the "License"). 4702 * You may not use this file except in compliance with the License. 4703 * 4704 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4705 * or http://www.opensolaris.org/os/licensing. 4706 * See the License for the specific language governing permissions 4707 * and limitations under the License. 4708 * 4709 * When distributing Covered Code, include this CDDL HEADER in each 4710 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4711 * If applicable, add the following below this CDDL HEADER, with the 4712 * fields enclosed by brackets "[]" replaced with your own identifying 4713 * information: Portions Copyright [yyyy] [name of copyright owner] 4714 * 4715 * CDDL HEADER END 4716 */ 4717 4718 /* 4719 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 4720 * All Rights Reserved 4721 * 4722 */ 4723 4724 /* 4725 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4726 * Use is subject to license terms. 4727 */ 4728 4729 /* 4730 * WARNING: This is an implementation-specific header, 4731 * its contents are not guaranteed. Applications 4732 * should include <unistd.h> and not this header. 4733 */ 4734 4735 4736 4737 4738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4739 /* 4740 * CDDL HEADER START 4741 * 4742 * The contents of this file are subject to the terms of the 4743 * Common Development and Distribution License (the "License"). 4744 * You may not use this file except in compliance with the License. 4745 * 4746 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4747 * or http://www.opensolaris.org/os/licensing. 4748 * See the License for the specific language governing permissions 4749 * and limitations under the License. 4750 * 4751 * When distributing Covered Code, include this CDDL HEADER in each 4752 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4753 * If applicable, add the following below this CDDL HEADER, with the 4754 * fields enclosed by brackets "[]" replaced with your own identifying 4755 * information: Portions Copyright [yyyy] [name of copyright owner] 4756 * 4757 * CDDL HEADER END 4758 */ 4759 4760 /* 4761 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4762 * Copyright 2016 Joyent, Inc. 4763 * 4764 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4765 * Use is subject to license terms. 4766 */ 4767 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 4768 4769 4770 4771 4772 4773 /* command names for confstr */ 4774 4775 4776 4777 /* 4778 * command names for large file configuration information 4779 */ 4780 /* large file compilation environment configuration */ 4781 4782 4783 4784 4785 /* transitional large file interface configuration */ 4786 4787 4788 4789 4790 4791 /* UNIX 98 */ 4792 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4793 /* UNIX 03 */ 4794 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4795 /* command names for POSIX sysconf */ 4796 4797 /* POSIX.1 names */ 4798 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4799 /* SVR4 names */ 4800 4801 4802 4803 4804 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 4805 4806 4807 4808 4809 /* POSIX.4 names */ 4810 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4811 /* XPG4 names */ 4812 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4813 /* additional XSH4/XCU4 command names for sysconf */ 4814 4815 4816 4817 /* additional XPG4v2 (UNIX 95) command names */ 4818 4819 4820 4821 4822 4823 /* defined for XTI (XNS Issue 5) */ 4824 4825 4826 4827 4828 4829 4830 4831 /* 4832 * Hardware specific items 4833 * Note that not all items are supported on all architectures 4834 */ 4835 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4836 /* 4837 * POSIX.1c (pthreads) names. These values are defined above 4838 * the sub-500 range. See psarc case 1995/257. 4839 */ 4840 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4841 /* UNIX 98 */ 4842 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4843 /* UNIX 03 */ 4844 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4845 /* command names for POSIX pathconf */ 4846 4847 /* POSIX.1 names */ 4848 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4849 /* POSIX.4 names */ 4850 4851 4852 4853 /* UNIX 03 names */ 4854 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4855 /* UNIX 08 names */ 4856 4857 4858 /* 4859 * Large File Summit names 4860 * 4861 * This value matches the MIPS ABI choice, but leaves a large gap in the 4862 * value space. 4863 */ 4864 4865 4866 /* 4867 * Extended attributes 4868 */ 4869 4870 4871 4872 /* 4873 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 4874 */ 4875 4876 4877 /* 4878 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 4879 */ 4880 4881 4882 4883 /* 4884 * The value of 0 is returned when 4885 * ACL's are not supported 4886 */ 4887 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4888 /* 4889 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 4890 * should not rely on this value, it has been aligned with the current 4891 * standard to avoid confusion if used. 4892 */ 4893 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4894 /* UNIX 03 names */ 4895 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4896 4897 4898 4899 4900 4901 /* Symbolic constants for the "access" routine: */ 4902 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4903 /* Symbolic constants for the "lseek" routine: */ 4904 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4905 /* Path names: */ 4906 4907 4908 4909 4910 /* 4911 * compile-time symbolic constants, 4912 * Support does not mean the feature is enabled. 4913 * Use pathconf/sysconf to obtain actual configuration value. 4914 */ 4915 4916 /* Values unchanged in UNIX 03 */ 4917 4918 4919 4920 4921 4922 /* 4923 * POSIX.1b compile-time symbolic constants. 4924 */ 4925 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4926 /* 4927 * POSIX.1c compile-time symbolic constants. 4928 */ 4929 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4930 /* New in UNIX 03 */ 4931 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4932 /* 4933 * Support for the POSIX.1 mutex protocol attribute. For realtime applications 4934 * which need mutexes to support priority inheritance/ceiling. 4935 */ 4936 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4937 /* 4938 * Large File Summit-related announcement macros. The system supports both 4939 * the additional and transitional Large File Summit interfaces. (The final 4940 * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) 4941 */ 4942 4943 4944 4945 4946 4947 /* large file compilation environment setup */ 4948 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4949 /* In the LP64 compilation environment, the APIs are already large file */ 4950 4951 4952 4953 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4954 #pragma redefine_extname ftruncate64 ftruncate 4955 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4956 4957 4958 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4959 #pragma redefine_extname lseek64 lseek 4960 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4961 4962 4963 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4964 #pragma redefine_extname pread64 pread 4965 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4966 4967 4968 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4969 #pragma redefine_extname pwrite64 pwrite 4970 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4971 4972 4973 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4974 #pragma redefine_extname truncate64 truncate 4975 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4976 4977 4978 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4979 #pragma redefine_extname lockf64 lockf 4980 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4981 4982 4983 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4984 #pragma redefine_extname tell64 tell 4985 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4986 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4987 extern int access(const char *, int); 4988 4989 extern int acct(const char *); 4990 4991 extern unsigned alarm(unsigned); 4992 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 4993 4994 4995 extern int brk(void *); 4996 4997 extern int chdir(const char *); 4998 extern int chown(const char *, uid_t, gid_t); 4999 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5000 5001 5002 extern int chroot(const char *); 5003 5004 extern int close(int); 5005 5006 5007 5008 5009 5010 5011 extern char *ctermid(char *); 5012 5013 5014 extern char *ctermid_r(char *); 5015 5016 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5017 5018 extern char *cuserid(char *); 5019 5020 extern int dup(int); 5021 extern int dup2(int, int); 5022 extern int dup3(int, int, int); 5023 5024 5025 5026 5027 extern void endusershell(void); 5028 5029 extern int execl(const char *, const char *, ...); 5030 extern int execle(const char *, const char *, ...); 5031 extern int execlp(const char *, const char *, ...); 5032 extern int execv(const char *, char *const *); 5033 extern int execve(const char *, char *const *, char *const *); 5034 extern int execvp(const char *, char *const *); 5035 extern void _exit(int) 5036 __attribute__((__noreturn__)); 5037 /* 5038 * The following fattach prototype is duplicated in <stropts.h>. The 5039 * duplication is necessitated by XPG4.2 which requires the prototype 5040 * be defined in <stropts.h>. 5041 */ 5042 5043 extern int fattach(int, const char *); 5044 5045 5046 extern int fchdir(int); 5047 extern int fchown(int, uid_t, gid_t); 5048 5049 5050 extern int fchroot(int); 5051 5052 5053 5054 extern int fdatasync(int); 5055 5056 /* 5057 * The following fdetach prototype is duplicated in <stropts.h>. The 5058 * duplication is necessitated by XPG4.2 which requires the prototype 5059 * be defined in <stropts.h>. 5060 */ 5061 5062 extern int fdetach(const char *); 5063 5064 extern pid_t fork(void); 5065 5066 extern pid_t fork1(void); 5067 extern pid_t forkall(void); 5068 5069 extern long fpathconf(int, int); 5070 5071 5072 extern int fsync(int); 5073 5074 5075 5076 5077 extern int ftruncate(int, off_t); 5078 5079 extern char *getcwd(char *, size_t); 5080 5081 5082 extern int getdtablesize(void); 5083 5084 extern gid_t getegid(void); 5085 extern uid_t geteuid(void); 5086 extern gid_t getgid(void); 5087 extern int getgroups(int, gid_t *); 5088 5089 extern long gethostid(void); 5090 5091 5092 5093 5094 extern int gethostname(char *, int); 5095 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5096 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5097 5098 extern int getpagesize(void); 5099 5100 extern pid_t getpgid(pid_t); 5101 5102 extern pid_t getpid(void); 5103 extern pid_t getppid(void); 5104 extern pid_t getpgrp(void); 5105 5106 5107 char *gettxt(const char *, const char *); 5108 5109 5110 extern pid_t getsid(pid_t); 5111 5112 extern uid_t getuid(void); 5113 5114 extern char *getusershell(void); 5115 5116 /* 5117 * The following ioctl prototype is duplicated in <stropts.h>. The 5118 * duplication is necessitated by XPG4.2 which requires the prototype 5119 * be defined in <stropts.h>. 5120 */ 5121 5122 extern int ioctl(int, int, ...); 5123 extern int isaexec(const char *, char *const *, char *const *); 5124 extern int issetugid(void); 5125 5126 extern int isatty(int); 5127 5128 extern int lchown(const char *, uid_t, gid_t); 5129 5130 extern int link(const char *, const char *); 5131 5132 extern offset_t llseek(int, offset_t, int); 5133 5134 5135 5136 5137 extern int lockf(int, int, off_t); 5138 5139 extern off_t lseek(int, off_t, int); 5140 5141 5142 extern int nice(int); 5143 5144 5145 extern int mincore(caddr_t, size_t, char *); 5146 5147 extern long pathconf(const char *, int); 5148 extern int pause(void); 5149 extern int pipe(int *); 5150 extern int pipe2(int *, int); 5151 5152 5153 5154 extern ssize_t pread(int, void *, size_t, off_t); 5155 5156 5157 extern void profil(unsigned short *, size_t, unsigned long, unsigned int); 5158 5159 /* 5160 * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The 5161 * declarations are identical. A change to either one may also require 5162 * appropriate namespace updates in order to avoid redeclaration 5163 * warnings in the case where both prototypes are exposed via inclusion 5164 * of both <pthread.h> and <unistd.h>. 5165 */ 5166 5167 5168 5169 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); 5170 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5171 extern ssize_t pwrite(int, const void *, size_t, off_t); 5172 5173 5174 /* per RFC 3542; This is also defined in netdb.h */ 5175 extern int rcmd_af(char **, unsigned short, const char *, const char *, 5176 const char *, int *, int); 5177 5178 extern ssize_t read(int, void *, size_t); 5179 5180 5181 extern ssize_t readlink(const char *, char *, 5182 size_t); 5183 5184 5185 5186 5187 5188 5189 extern int rename(const char *, const char *); 5190 5191 5192 5193 5194 5195 5196 5197 extern int resolvepath(const char *, char *, size_t); 5198 /* per RFC 3542; This is also defined in netdb.h */ 5199 extern int rexec_af(char **, unsigned short, const char *, const char *, 5200 const char *, int *, int); 5201 5202 extern int rmdir(const char *); 5203 5204 /* per RFC 3542; This is also defined in netdb.h */ 5205 extern int rresvport_af(int *, int); 5206 5207 5208 5209 5210 extern void *sbrk(intptr_t); 5211 5212 5213 extern int setegid(gid_t); 5214 extern int seteuid(uid_t); 5215 5216 extern int setgid(gid_t); 5217 5218 extern int setgroups(int, const gid_t *); 5219 extern int sethostname(char *, int); 5220 5221 extern int setpgid(pid_t, pid_t); 5222 5223 extern pid_t setpgrp(void); 5224 extern int setregid(gid_t, gid_t); 5225 extern int setreuid(uid_t, uid_t); 5226 5227 extern pid_t setsid(void); 5228 extern int setuid(uid_t); 5229 5230 extern void setusershell(void); 5231 5232 extern unsigned sleep(unsigned); 5233 5234 extern int stime(const time_t *); 5235 5236 5237 5238 5239 5240 5241 extern int symlink(const char *, const char *); 5242 extern void sync(void); 5243 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5244 extern long sysconf(int); 5245 extern pid_t tcgetpgrp(int); 5246 extern int tcsetpgrp(int, pid_t); 5247 5248 5249 5250 extern off_t tell(int); 5251 5252 5253 5254 5255 extern int truncate(const char *, off_t); 5256 5257 extern char *ttyname(int); 5258 5259 extern useconds_t ualarm(useconds_t, useconds_t); 5260 5261 extern int unlink(const char *); 5262 5263 extern char *getwd(char *); 5264 extern int usleep(useconds_t); 5265 extern pid_t vfork(void) __attribute__((__returns_twice__)); 5266 #pragma unknown_control_flow(vfork) 5267 5268 5269 extern void vhangup(void); 5270 5271 extern ssize_t write(int, const void *, size_t); 5272 5273 extern void yield(void); 5274 5275 5276 5277 5278 /* || defined(_XPG7) */ 5279 extern int faccessat(int, const char *, int, int); 5280 extern int fchownat(int, const char *, uid_t, gid_t, int); 5281 extern int linkat(int, const char *, int, const char *, int); 5282 extern ssize_t readlinkat(int, const char *, 5283 char *, size_t); 5284 extern int renameat(int, const char *, int, const char *); 5285 extern int symlinkat(const char *, int, const char *); 5286 extern int unlinkat(int, const char *, int); 5287 5288 5289 extern int get_nprocs(void); 5290 extern int get_nprocs_conf(void); 5291 5292 5293 /* transitional large file interface versions */ 5294 5295 5296 extern int ftruncate64(int, off64_t); 5297 extern off64_t lseek64(int, off64_t, int); 5298 extern ssize_t pread64(int, void *, size_t, off64_t); 5299 extern ssize_t pwrite64(int, const void *, size_t, off64_t); 5300 extern off64_t tell64(int); 5301 extern int truncate64(const char *, off64_t); 5302 extern int lockf64(int, int, off64_t); 5303 5304 5305 /* 5306 * getlogin_r() & ttyname_r() prototypes are defined here. 5307 */ 5308 5309 /* 5310 * Previous releases of Solaris, starting at 2.3, provided definitions of 5311 * various functions as specified in POSIX.1c, Draft 6. For some of these 5312 * functions, the final POSIX 1003.1c standard had a different number of 5313 * arguments and return values. 5314 * 5315 * The following segment of this header provides support for the standard 5316 * interfaces while supporting applications written under earlier 5317 * releases. The application defines appropriate values of the feature 5318 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 5319 * whether it was written to expect the Draft 6 or standard versions of 5320 * these interfaces, before including this header. This header then 5321 * provides a mapping from the source version of the interface to an 5322 * appropriate binary interface. Such mappings permit an application 5323 * to be built from libraries and objects which have mixed expectations 5324 * of the definitions of these functions. 5325 * 5326 * For applications using the Draft 6 definitions, the binary symbol is the 5327 * same as the source symbol, and no explicit mapping is needed. For the 5328 * standard interface, the function func() is mapped to the binary symbol 5329 * _posix_func(). The preferred mechanism for the remapping is a compiler 5330 * #pragma. If the compiler does not provide such a #pragma, the header file 5331 * defines a static function func() which calls the _posix_func() version; 5332 * this has to be done instead of #define since POSIX specifies that an 5333 * application can #undef the symbol and still be bound to the correct 5334 * implementation. Unfortunately, the statics confuse lint so we fallback to 5335 * #define in that case. 5336 * 5337 * NOTE: Support for the Draft 6 definitions is provided for compatibility 5338 * only. New applications/libraries should use the standard definitions. 5339 */ 5340 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5341 5342 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5343 #pragma redefine_extname getlogin_r getloginx_r 5344 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5345 5346 5347 5348 5349 5350 5351 extern char *getlogin_r(char *, int); 5352 5353 extern char *ttyname_r(int, char *, int); 5354 5355 5356 5357 5358 5359 5360 extern int getentropy(void *, size_t); 5361 # 50 "../common/zones_args.c" 2 5362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 5363 /* 5364 * CDDL HEADER START 5365 * 5366 * The contents of this file are subject to the terms of the 5367 * Common Development and Distribution License (the "License"). 5368 * You may not use this file except in compliance with the License. 5369 * 5370 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5371 * or http://www.opensolaris.org/os/licensing. 5372 * See the License for the specific language governing permissions 5373 * and limitations under the License. 5374 * 5375 * When distributing Covered Code, include this CDDL HEADER in each 5376 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5377 * If applicable, add the following below this CDDL HEADER, with the 5378 * fields enclosed by brackets "[]" replaced with your own identifying 5379 * information: Portions Copyright [yyyy] [name of copyright owner] 5380 * 5381 * CDDL HEADER END 5382 */ 5383 5384 /* 5385 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5386 * 5387 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5388 * Use is subject to license terms. 5389 */ 5390 5391 /* Copyright (c) 1988 AT&T */ 5392 /* All Rights Reserved */ 5393 5394 5395 5396 5397 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5398 /* 5399 * CDDL HEADER START 5400 * 5401 * The contents of this file are subject to the terms of the 5402 * Common Development and Distribution License (the "License"). 5403 * You may not use this file except in compliance with the License. 5404 * 5405 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5406 * or http://www.opensolaris.org/os/licensing. 5407 * See the License for the specific language governing permissions 5408 * and limitations under the License. 5409 * 5410 * When distributing Covered Code, include this CDDL HEADER in each 5411 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5412 * If applicable, add the following below this CDDL HEADER, with the 5413 * fields enclosed by brackets "[]" replaced with your own identifying 5414 * information: Portions Copyright [yyyy] [name of copyright owner] 5415 * 5416 * CDDL HEADER END 5417 */ 5418 5419 /* 5420 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5421 * Copyright 2016 Joyent, Inc. 5422 * 5423 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5424 * Use is subject to license terms. 5425 */ 5426 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5427 5428 5429 5430 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5431 /* 5432 * CDDL HEADER START 5433 * 5434 * The contents of this file are subject to the terms of the 5435 * Common Development and Distribution License (the "License"). 5436 * You may not use this file except in compliance with the License. 5437 * 5438 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5439 * or http://www.opensolaris.org/os/licensing. 5440 * See the License for the specific language governing permissions 5441 * and limitations under the License. 5442 * 5443 * When distributing Covered Code, include this CDDL HEADER in each 5444 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5445 * If applicable, add the following below this CDDL HEADER, with the 5446 * fields enclosed by brackets "[]" replaced with your own identifying 5447 * information: Portions Copyright [yyyy] [name of copyright owner] 5448 * 5449 * CDDL HEADER END 5450 */ 5451 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5452 /* All Rights Reserved */ 5453 5454 5455 /* 5456 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5457 * Use is subject to license terms. 5458 * 5459 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5460 * Copyright 2016 Joyent, Inc. 5461 */ 5462 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5463 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1 5464 /* 5465 * CDDL HEADER START 5466 * 5467 * The contents of this file are subject to the terms of the 5468 * Common Development and Distribution License (the "License"). 5469 * You may not use this file except in compliance with the License. 5470 * 5471 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5472 * or http://www.opensolaris.org/os/licensing. 5473 * See the License for the specific language governing permissions 5474 * and limitations under the License. 5475 * 5476 * When distributing Covered Code, include this CDDL HEADER in each 5477 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5478 * If applicable, add the following below this CDDL HEADER, with the 5479 * fields enclosed by brackets "[]" replaced with your own identifying 5480 * information: Portions Copyright [yyyy] [name of copyright owner] 5481 * 5482 * CDDL HEADER END 5483 */ 5484 5485 /* 5486 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 5487 */ 5488 5489 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5490 /* All Rights Reserved */ 5491 5492 /* 5493 * University Copyright- Copyright (c) 1982, 1986, 1988 5494 * The Regents of the University of California 5495 * All Rights Reserved 5496 * 5497 * University Acknowledgment- Portions of this document are derived from 5498 * software developed by the University of California, Berkeley, and its 5499 * contributors. 5500 */ 5501 5502 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 5503 /* Copyright 2015, Joyent, Inc. */ 5504 5505 5506 5507 5508 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5509 /* 5510 * CDDL HEADER START 5511 * 5512 * The contents of this file are subject to the terms of the 5513 * Common Development and Distribution License (the "License"). 5514 * You may not use this file except in compliance with the License. 5515 * 5516 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5517 * or http://www.opensolaris.org/os/licensing. 5518 * See the License for the specific language governing permissions 5519 * and limitations under the License. 5520 * 5521 * When distributing Covered Code, include this CDDL HEADER in each 5522 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5523 * If applicable, add the following below this CDDL HEADER, with the 5524 * fields enclosed by brackets "[]" replaced with your own identifying 5525 * information: Portions Copyright [yyyy] [name of copyright owner] 5526 * 5527 * CDDL HEADER END 5528 */ 5529 5530 /* 5531 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5532 * Copyright 2016 Joyent, Inc. 5533 * 5534 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5535 * Use is subject to license terms. 5536 */ 5537 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 5538 5539 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5540 /* 5541 * CDDL HEADER START 5542 * 5543 * The contents of this file are subject to the terms of the 5544 * Common Development and Distribution License (the "License"). 5545 * You may not use this file except in compliance with the License. 5546 * 5547 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5548 * or http://www.opensolaris.org/os/licensing. 5549 * See the License for the specific language governing permissions 5550 * and limitations under the License. 5551 * 5552 * When distributing Covered Code, include this CDDL HEADER in each 5553 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5554 * If applicable, add the following below this CDDL HEADER, with the 5555 * fields enclosed by brackets "[]" replaced with your own identifying 5556 * information: Portions Copyright [yyyy] [name of copyright owner] 5557 * 5558 * CDDL HEADER END 5559 */ 5560 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5561 /* All Rights Reserved */ 5562 5563 5564 /* 5565 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5566 * Use is subject to license terms. 5567 * 5568 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5569 * Copyright 2016 Joyent, Inc. 5570 */ 5571 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 5572 5573 5574 5575 5576 5577 /* 5578 * Flag values accessible to open(2) and fcntl(2) 5579 * The first five can only be set (exclusively) by open(2). 5580 */ 5581 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5582 /* defines read/write file integrity */ 5583 5584 5585 5586 5587 5588 5589 /* 5590 * Flag values accessible only to open(2). 5591 */ 5592 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5593 /* 5594 * fcntl(2) requests 5595 * 5596 * N.B.: values are not necessarily assigned sequentially below. 5597 */ 5598 5599 5600 5601 5602 5603 5604 5605 /* 5606 * Applications that read /dev/mem must be built like the kernel. A 5607 * new symbol "_KMEMUSER" is defined for this purpose. 5608 */ 5609 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5610 /* EINVAL is fildes matches arg1 */ 5611 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5612 /* 5613 * Numbers 20-22 have been removed and should not be reused. 5614 */ 5615 5616 5617 5618 5619 5620 /* manager */ 5621 5622 /* 5623 * Commands that refer to flock structures. The argument types differ between 5624 * the large and small file environments; therefore, the #defined values must 5625 * as well. 5626 * The NBMAND forms are private and should not be used. 5627 * The FLOCK forms are also private and should not be used. 5628 */ 5629 5630 5631 /* "Native" application compilation environment */ 5632 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5633 /* 5634 * File segment locking set data type - information passed to system by user. 5635 */ 5636 5637 /* regular version, for both small and large file compilation environment */ 5638 typedef struct flock { 5639 short l_type; 5640 short l_whence; 5641 off_t l_start; 5642 off_t l_len; /* len == 0 means until end of file */ 5643 int l_sysid; 5644 pid_t l_pid; 5645 long l_pad[4]; /* reserve area */ 5646 } flock_t; 5647 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5648 /* transitional large file interface version */ 5649 5650 5651 5652 typedef struct flock64 { 5653 short l_type; 5654 short l_whence; 5655 off64_t l_start; 5656 off64_t l_len; /* len == 0 means until end of file */ 5657 int l_sysid; 5658 pid_t l_pid; 5659 long l_pad[4]; /* reserve area */ 5660 } flock64_t; 5661 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5662 /* 5663 * File segment locking types. 5664 */ 5665 5666 5667 5668 5669 5670 /* 5671 * POSIX constants 5672 */ 5673 5674 /* Mask for file access modes */ 5675 5676 5677 5678 /* 5679 * DIRECTIO 5680 */ 5681 5682 5683 5684 5685 /* 5686 * File share reservation type 5687 */ 5688 typedef struct fshare { 5689 short f_access; 5690 short f_deny; 5691 int f_id; 5692 } fshare_t; 5693 5694 /* 5695 * f_access values 5696 */ 5697 5698 5699 5700 5701 5702 5703 /* 5704 * f_deny values 5705 */ 5706 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5707 /* 5708 * Special flags for functions such as openat(), fstatat().... 5709 */ 5710 5711 5712 /* || defined(_XPG7) */ 5713 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 5714 /* advice for posix_fadvise */ 5715 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 5716 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5717 /* large file compilation environment setup */ 5718 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5719 5720 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5721 #pragma redefine_extname open64 open 5722 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5723 5724 5725 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5726 #pragma redefine_extname creat64 creat 5727 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5728 5729 5730 5731 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5732 #pragma redefine_extname posix_fadvise64 posix_fadvise 5733 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5734 5735 5736 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5737 #pragma redefine_extname posix_fallocate64 posix_fallocate 5738 # 109 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5739 5740 5741 5742 5743 5744 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5745 #pragma redefine_extname openat64 openat 5746 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5747 5748 5749 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5750 #pragma redefine_extname attropen64 attropen 5751 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5752 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 5753 extern int fcntl(int, int, ...); 5754 extern int open(const char *, int, ...); 5755 extern int creat(const char *, mode_t); 5756 5757 extern int posix_fadvise(int, off_t, off_t, int); 5758 extern int posix_fallocate(int, off_t, off_t); 5759 5760 5761 5762 extern int openat(int, const char *, int, ...); 5763 extern int attropen(const char *, const char *, int, ...); 5764 5765 5766 extern int directio(int, int); 5767 5768 5769 /* transitional large file interface versions */ 5770 5771 5772 extern int open64(const char *, int, ...); 5773 extern int creat64(const char *, mode_t); 5774 5775 extern int posix_fadvise64(int, off64_t, off64_t, int); 5776 extern int posix_fallocate64(int, off64_t, off64_t); 5777 5778 5779 5780 extern int openat64(int, const char *, int, ...); 5781 extern int attropen64(const char *, const char *, int, ...); 5782 # 51 "../common/zones_args.c" 2 5783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1 5784 /* 5785 * CDDL HEADER START 5786 * 5787 * The contents of this file are subject to the terms of the 5788 * Common Development and Distribution License, Version 1.0 only 5789 * (the "License"). You may not use this file except in compliance 5790 * with the License. 5791 * 5792 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5793 * or http://www.opensolaris.org/os/licensing. 5794 * See the License for the specific language governing permissions 5795 * and limitations under the License. 5796 * 5797 * When distributing Covered Code, include this CDDL HEADER in each 5798 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5799 * If applicable, add the following below this CDDL HEADER, with the 5800 * fields enclosed by brackets "[]" replaced with your own identifying 5801 * information: Portions Copyright [yyyy] [name of copyright owner] 5802 * 5803 * CDDL HEADER END 5804 */ 5805 /* Copyright (c) 1988 AT&T */ 5806 /* All Rights Reserved */ 5807 5808 5809 /* 5810 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5811 * 5812 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5813 * Use is subject to license terms. 5814 */ 5815 5816 5817 5818 5819 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1 5820 /* 5821 * CDDL HEADER START 5822 * 5823 * The contents of this file are subject to the terms of the 5824 * Common Development and Distribution License, Version 1.0 only 5825 * (the "License"). You may not use this file except in compliance 5826 * with the License. 5827 * 5828 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5829 * or http://www.opensolaris.org/os/licensing. 5830 * See the License for the specific language governing permissions 5831 * and limitations under the License. 5832 * 5833 * When distributing Covered Code, include this CDDL HEADER in each 5834 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5835 * If applicable, add the following below this CDDL HEADER, with the 5836 * fields enclosed by brackets "[]" replaced with your own identifying 5837 * information: Portions Copyright [yyyy] [name of copyright owner] 5838 * 5839 * CDDL HEADER END 5840 */ 5841 /* Copyright (c) 1988 AT&T */ 5842 /* All Rights Reserved */ 5843 5844 /* 5845 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5846 * 5847 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5848 * Use is subject to license terms. 5849 */ 5850 5851 /* 5852 * An application should not include this header directly. Instead it 5853 * should be included only through the inclusion of other Sun headers. 5854 * 5855 * The contents of this header is limited to identifiers specified in the 5856 * C Standard. Any new identifiers specified in future amendments to the 5857 * C Standard must be placed in this header. If these new identifiers 5858 * are required to also be in the C++ Standard "std" namespace, then for 5859 * anything other than macro definitions, corresponding "using" directives 5860 * must also be added to <ctype.h>. 5861 */ 5862 5863 5864 5865 5866 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5867 /* 5868 * CDDL HEADER START 5869 * 5870 * The contents of this file are subject to the terms of the 5871 * Common Development and Distribution License (the "License"). 5872 * You may not use this file except in compliance with the License. 5873 * 5874 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5875 * or http://www.opensolaris.org/os/licensing. 5876 * See the License for the specific language governing permissions 5877 * and limitations under the License. 5878 * 5879 * When distributing Covered Code, include this CDDL HEADER in each 5880 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5881 * If applicable, add the following below this CDDL HEADER, with the 5882 * fields enclosed by brackets "[]" replaced with your own identifying 5883 * information: Portions Copyright [yyyy] [name of copyright owner] 5884 * 5885 * CDDL HEADER END 5886 */ 5887 5888 /* 5889 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5890 * Copyright 2016 Joyent, Inc. 5891 * 5892 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5893 * Use is subject to license terms. 5894 */ 5895 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2 5896 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 5897 extern unsigned char __ctype[]; 5898 extern unsigned int *__ctype_mask; 5899 extern int *__trans_upper; 5900 extern int *__trans_lower; 5901 5902 5903 5904 5905 5906 /* 5907 * These used to be macros, which while more efficient, precludes operation 5908 * with thread specific locales. The old macros will still work, but new 5909 * code compiles to use functions. This is specifically permitted by the 5910 * various standards. Only _tolower and _toupper were required to be 5911 * delivered in macro form. 5912 */ 5913 extern int isalnum(int); 5914 extern int isalpha(int); 5915 extern int iscntrl(int); 5916 extern int isdigit(int); 5917 extern int isgraph(int); 5918 extern int islower(int); 5919 extern int isprint(int); 5920 extern int ispunct(int); 5921 extern int isspace(int); 5922 extern int isupper(int); 5923 extern int isxdigit(int); 5924 5925 extern int isblank(int); 5926 5927 5928 extern int tolower(int); 5929 extern int toupper(int); 5930 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2 5931 5932 /* 5933 * Allow global visibility for symbols defined in 5934 * C++ "std" namespace in <iso/ctype_iso.h>. 5935 */ 5936 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5937 extern int isascii(int); 5938 extern int toascii(int); 5939 extern int _tolower(int); 5940 extern int _toupper(int); 5941 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5942 extern int isalnum_l(int, locale_t); 5943 extern int isalpha_l(int, locale_t); 5944 extern int isblank_l(int, locale_t); 5945 extern int iscntrl_l(int, locale_t); 5946 extern int isdigit_l(int, locale_t); 5947 extern int isgraph_l(int, locale_t); 5948 extern int islower_l(int, locale_t); 5949 extern int isprint_l(int, locale_t); 5950 extern int ispunct_l(int, locale_t); 5951 extern int isspace_l(int, locale_t); 5952 extern int isupper_l(int, locale_t); 5953 extern int isxdigit_l(int, locale_t); 5954 extern int tolower_l(int, locale_t); 5955 extern int toupper_l(int, locale_t); 5956 # 52 "../common/zones_args.c" 2 5957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5958 /* 5959 * CDDL HEADER START 5960 * 5961 * The contents of this file are subject to the terms of the 5962 * Common Development and Distribution License (the "License"). 5963 * You may not use this file except in compliance with the License. 5964 * 5965 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5966 * or http://www.opensolaris.org/os/licensing. 5967 * See the License for the specific language governing permissions 5968 * and limitations under the License. 5969 * 5970 * When distributing Covered Code, include this CDDL HEADER in each 5971 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5972 * If applicable, add the following below this CDDL HEADER, with the 5973 * fields enclosed by brackets "[]" replaced with your own identifying 5974 * information: Portions Copyright [yyyy] [name of copyright owner] 5975 * 5976 * CDDL HEADER END 5977 */ 5978 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5979 /* All Rights Reserved */ 5980 5981 5982 /* 5983 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5984 * Use is subject to license terms. 5985 * 5986 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5987 * Copyright 2016 Joyent, Inc. 5988 */ 5989 # 53 "../common/zones_args.c" 2 5990 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 5991 /* 5992 * CDDL HEADER START 5993 * 5994 * The contents of this file are subject to the terms of the 5995 * Common Development and Distribution License (the "License"). 5996 * You may not use this file except in compliance with the License. 5997 * 5998 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5999 * or http://www.opensolaris.org/os/licensing. 6000 * See the License for the specific language governing permissions 6001 * and limitations under the License. 6002 * 6003 * When distributing Covered Code, include this CDDL HEADER in each 6004 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6005 * If applicable, add the following below this CDDL HEADER, with the 6006 * fields enclosed by brackets "[]" replaced with your own identifying 6007 * information: Portions Copyright [yyyy] [name of copyright owner] 6008 * 6009 * CDDL HEADER END 6010 */ 6011 6012 /* 6013 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 6014 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 6015 */ 6016 6017 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 6018 /* All Rights Reserved */ 6019 6020 /* 6021 * University Copyright- Copyright (c) 1982, 1986, 1988 6022 * The Regents of the University of California 6023 * All Rights Reserved 6024 * 6025 * University Acknowledgment- Portions of this document are derived from 6026 * software developed by the University of California, Berkeley, and its 6027 * contributors. 6028 */ 6029 6030 6031 6032 6033 6034 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6035 /* 6036 * CDDL HEADER START 6037 * 6038 * The contents of this file are subject to the terms of the 6039 * Common Development and Distribution License (the "License"). 6040 * You may not use this file except in compliance with the License. 6041 * 6042 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6043 * or http://www.opensolaris.org/os/licensing. 6044 * See the License for the specific language governing permissions 6045 * and limitations under the License. 6046 * 6047 * When distributing Covered Code, include this CDDL HEADER in each 6048 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6049 * If applicable, add the following below this CDDL HEADER, with the 6050 * fields enclosed by brackets "[]" replaced with your own identifying 6051 * information: Portions Copyright [yyyy] [name of copyright owner] 6052 * 6053 * CDDL HEADER END 6054 */ 6055 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6056 /* All Rights Reserved */ 6057 6058 6059 /* 6060 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6061 * Use is subject to license terms. 6062 * 6063 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6064 * Copyright 2016 Joyent, Inc. 6065 */ 6066 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6067 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6068 /* 6069 * CDDL HEADER START 6070 * 6071 * The contents of this file are subject to the terms of the 6072 * Common Development and Distribution License (the "License"). 6073 * You may not use this file except in compliance with the License. 6074 * 6075 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6076 * or http://www.opensolaris.org/os/licensing. 6077 * See the License for the specific language governing permissions 6078 * and limitations under the License. 6079 * 6080 * 6081 * When distributing Covered Code, include this CDDL HEADER in each 6082 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6083 * If applicable, add the following below this CDDL HEADER, with the 6084 * fields enclosed by brackets "[]" replaced with your own identifying 6085 * information: Portions Copyright [yyyy] [name of copyright owner] 6086 * 6087 * CDDL HEADER END 6088 */ 6089 6090 /* 6091 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6092 * Use is subject to license terms. 6093 * Copyright 2016 Joyent, Inc. 6094 */ 6095 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6096 6097 6098 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6099 /* 6100 * This file and its contents are supplied under the terms of the 6101 * Common Development and Distribution License ("CDDL"), version 1.0. 6102 * You may only use this file in accordance with the terms of version 6103 * 1.0 of the CDDL. 6104 * 6105 * A full copy of the text of the CDDL should have accompanied this 6106 * source. A copy of the CDDL is also available via the Internet at 6107 * http://www.illumos.org/license/CDDL. 6108 */ 6109 6110 /* 6111 * Copyright 2014-2016 PALO, Richard. 6112 */ 6113 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6114 6115 6116 6117 6118 6119 /* 6120 * Fundamental variables; don't change too often. 6121 */ 6122 6123 /* 6124 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 6125 * an early merge with AT&T source. It has also historically been defined 6126 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 6127 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 6128 * Subsequent versions of the IEEE Standard as well as the X/Open 6129 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 6130 * while still allowing for it's existence in other headers. With the 6131 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 6132 */ 6133 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6134 /* compatibility purposes only */ 6135 /* and will be removed in a */ 6136 /* later release */ 6137 6138 /* 6139 * These define the maximum and minimum allowable values of the 6140 * configurable parameter NGROUPS_MAX. 6141 */ 6142 6143 6144 6145 6146 /* 6147 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 6148 */ 6149 6150 6151 /* 6152 * Default process priority. Keep it in sync with limits.h. 6153 */ 6154 6155 6156 /* 6157 * Fundamental constants of the implementation--cannot be changed easily. 6158 */ 6159 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6160 /* REMOTE -- whether machine is primary, secondary, or regular */ 6161 6162 6163 6164 /* 6165 * MAXPATHLEN defines the longest permissible path length, 6166 * including the terminating null, after expanding symbolic links. 6167 * TYPICALMAXPATHLEN is used in a few places as an optimization 6168 * with a local buffer on the stack to avoid kmem_alloc(). 6169 * MAXSYMLINKS defines the maximum number of symbolic links 6170 * that may be expanded in a path name. It should be set high 6171 * enough to allow all legitimate uses, but halt infinite loops 6172 * reasonably quickly. 6173 * MAXNAMELEN is the length (including the terminating null) of 6174 * the longest permissible file (component) name. 6175 */ 6176 6177 6178 6179 6180 6181 /* 6182 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 6183 * including the terminating NUL. Note that this must not be larger 6184 * than related networking constants such as LIFNAMSIZ. 6185 */ 6186 6187 6188 6189 6190 6191 6192 /* 6193 * The following are defined to be the same as 6194 * defined in /usr/include/limits.h. They are 6195 * needed for pipe and FIFO compatibility. 6196 */ 6197 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6198 /* macros replacing interleaving functions */ 6199 6200 6201 6202 /* 6203 * File system parameters and macros. 6204 * 6205 * The file system is made out of blocks of at most MAXBSIZE units, 6206 * with smaller units (fragments) only in the last direct block. 6207 * MAXBSIZE primarily determines the size of buffers in the buffer 6208 * pool. It may be made larger without any effect on existing 6209 * file systems; however making it smaller make make some file 6210 * systems unmountable. 6211 * 6212 * Note that the blocked devices are assumed to have DEV_BSIZE 6213 * "sectors" and that fragments must be some multiple of this size. 6214 */ 6215 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6216 /* 64 bit versions of btodb and dbtob */ 6217 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6218 /* 6219 * Size of arg list passed in by user. 6220 */ 6221 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6222 /* 6223 * Scale factor for scaled integers used to count 6224 * %cpu time and load averages. 6225 */ 6226 6227 6228 6229 /* 6230 * Delay units are in microseconds. 6231 * 6232 * XXX These macros are not part of the DDI! 6233 */ 6234 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6235 /* 6236 * The following is to free utilities from machine dependencies within 6237 * an architecture. Must be included after definition of DEV_BSIZE. 6238 */ 6239 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 6240 /* 6241 * The following are assorted machine dependent values which can be 6242 * obtained in a machine independent manner through sysconf(2) or 6243 * sysinfo(2). In order to guarantee that these provide the expected 6244 * value at all times, the System Private interface (leading underscore) 6245 * is used. 6246 */ 6247 6248 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 6249 /* 6250 * CDDL HEADER START 6251 * 6252 * The contents of this file are subject to the terms of the 6253 * Common Development and Distribution License (the "License"). 6254 * You may not use this file except in compliance with the License. 6255 * 6256 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6257 * or http://www.opensolaris.org/os/licensing. 6258 * See the License for the specific language governing permissions 6259 * and limitations under the License. 6260 * 6261 * When distributing Covered Code, include this CDDL HEADER in each 6262 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6263 * If applicable, add the following below this CDDL HEADER, with the 6264 * fields enclosed by brackets "[]" replaced with your own identifying 6265 * information: Portions Copyright [yyyy] [name of copyright owner] 6266 * 6267 * CDDL HEADER END 6268 */ 6269 6270 /* 6271 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 6272 * All Rights Reserved 6273 * 6274 */ 6275 6276 /* 6277 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6278 * Use is subject to license terms. 6279 */ 6280 6281 /* 6282 * WARNING: This is an implementation-specific header, 6283 * its contents are not guaranteed. Applications 6284 * should include <unistd.h> and not this header. 6285 */ 6286 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 6287 6288 6289 6290 6291 6292 6293 extern long _sysconf(int); /* System Private interface to sysconf() */ 6294 # 54 "../common/zones_args.c" 2 6295 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 6296 /* 6297 * CDDL HEADER START 6298 * 6299 * The contents of this file are subject to the terms of the 6300 * Common Development and Distribution License (the "License"). 6301 * You may not use this file except in compliance with the License. 6302 * 6303 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6304 * or http://www.opensolaris.org/os/licensing. 6305 * See the License for the specific language governing permissions 6306 * and limitations under the License. 6307 * 6308 * When distributing Covered Code, include this CDDL HEADER in each 6309 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6310 * If applicable, add the following below this CDDL HEADER, with the 6311 * fields enclosed by brackets "[]" replaced with your own identifying 6312 * information: Portions Copyright [yyyy] [name of copyright owner] 6313 * 6314 * CDDL HEADER END 6315 */ 6316 6317 /* 6318 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6319 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6320 */ 6321 6322 /* Copyright (c) 1988 AT&T */ 6323 /* All Rights Reserved */ 6324 6325 6326 6327 6328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 6329 /* 6330 * CDDL HEADER START 6331 * 6332 * The contents of this file are subject to the terms of the 6333 * Common Development and Distribution License, Version 1.0 only 6334 * (the "License"). You may not use this file except in compliance 6335 * with the License. 6336 * 6337 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6338 * or http://www.opensolaris.org/os/licensing. 6339 * See the License for the specific language governing permissions 6340 * and limitations under the License. 6341 * 6342 * When distributing Covered Code, include this CDDL HEADER in each 6343 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6344 * If applicable, add the following below this CDDL HEADER, with the 6345 * fields enclosed by brackets "[]" replaced with your own identifying 6346 * information: Portions Copyright [yyyy] [name of copyright owner] 6347 * 6348 * CDDL HEADER END 6349 */ 6350 /* Copyright (c) 1988 AT&T */ 6351 /* All Rights Reserved */ 6352 6353 6354 /* 6355 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6356 * Copyright 2014 PALO, Richard. 6357 * 6358 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6359 * Use is subject to license terms. 6360 */ 6361 6362 /* 6363 * An application should not include this header directly. Instead it 6364 * should be included only through the inclusion of other Sun headers. 6365 * 6366 * The contents of this header is limited to identifiers specified in the 6367 * C Standard. Any new identifiers specified in future amendments to the 6368 * C Standard must be placed in this header. If these new identifiers 6369 * are required to also be in the C++ Standard "std" namespace, then for 6370 * anything other than macro definitions, corresponding "using" directives 6371 * must also be added to <string.h>. 6372 */ 6373 6374 6375 6376 6377 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6378 /* 6379 * CDDL HEADER START 6380 * 6381 * The contents of this file are subject to the terms of the 6382 * Common Development and Distribution License (the "License"). 6383 * You may not use this file except in compliance with the License. 6384 * 6385 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6386 * or http://www.opensolaris.org/os/licensing. 6387 * See the License for the specific language governing permissions 6388 * and limitations under the License. 6389 * 6390 * When distributing Covered Code, include this CDDL HEADER in each 6391 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6392 * If applicable, add the following below this CDDL HEADER, with the 6393 * fields enclosed by brackets "[]" replaced with your own identifying 6394 * information: Portions Copyright [yyyy] [name of copyright owner] 6395 * 6396 * CDDL HEADER END 6397 */ 6398 6399 /* 6400 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6401 * Copyright 2016 Joyent, Inc. 6402 * 6403 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6404 * Use is subject to license terms. 6405 */ 6406 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 6407 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6408 /* 6409 * This file and its contents are supplied under the terms of the 6410 * Common Development and Distribution License ("CDDL"), version 1.0. 6411 * You may only use this file in accordance with the terms of version 6412 * 1.0 of the CDDL. 6413 * 6414 * A full copy of the text of the CDDL should have accompanied this 6415 * source. A copy of the CDDL is also available via the Internet at 6416 * http://www.illumos.org/license/CDDL. 6417 */ 6418 6419 /* 6420 * Copyright 2014-2016 PALO, Richard. 6421 */ 6422 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 6423 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6424 extern int memcmp(const void *, const void *, size_t); 6425 extern void *memcpy(void *, const void *, size_t); 6426 extern void *memmove(void *, const void *, size_t); 6427 extern void *memset(void *, int, size_t); 6428 extern char *strcat(char *, const char *); 6429 extern int strcmp(const char *, const char *); 6430 extern char *strcpy(char *, const char *); 6431 extern int strcoll(const char *, const char *); 6432 extern size_t strcspn(const char *, const char *); 6433 extern char *strerror(int); 6434 extern size_t strlen(const char *); 6435 extern char *strncat(char *, const char *, size_t); 6436 extern int strncmp(const char *, const char *, size_t); 6437 extern char *strncpy(char *, const char *, size_t); 6438 extern size_t strspn(const char *, const char *); 6439 extern char *strtok(char *, const char *); 6440 extern size_t strxfrm(char *, const char *, size_t); 6441 6442 /* 6443 * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the 6444 * function signatures for the following functions be replaced by 6445 * two declarations, both of which have the same behavior. 6446 */ 6447 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6448 extern void *memchr(const void *, int, size_t); 6449 extern char *strchr(const char *, int); 6450 extern char *strpbrk(const char *, const char *); 6451 extern char *strrchr(const char *, int); 6452 extern char *strstr(const char *, const char *); 6453 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 6454 6455 /* 6456 * Allow global visibility for symbols defined in 6457 * C++ "std" namespace in <iso/string_iso.h>. 6458 */ 6459 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 6460 extern int strerror_r(int, char *, size_t); 6461 6462 6463 6464 6465 6466 extern char *strtok_r(char *, const char *, 6467 char **); 6468 6469 6470 6471 6472 extern void *memccpy(void *, const void *, 6473 int, size_t); 6474 6475 6476 6477 6478 extern char *stpcpy(char *, const char *); 6479 extern char *stpncpy(char *, const char *, size_t); 6480 extern char *strndup(const char *, size_t); 6481 extern size_t strnlen(const char *, size_t); 6482 extern char *strsignal(int); 6483 6484 6485 6486 6487 6488 6489 extern int strcoll_l(const char *, const char *, locale_t); 6490 extern size_t strxfrm_l(char *, const char *, 6491 size_t, locale_t); 6492 extern int strcasecmp_l(const char *, const char *, locale_t); 6493 extern int strncasecmp_l(const char *, const char *, size_t, locale_t); 6494 extern char *strerror_l(int, locale_t); 6495 6496 6497 6498 6499 6500 /* Note that some of these are also declared in strings.h for XPG4_2+ */ 6501 extern void explicit_bzero(void *, size_t); 6502 extern int uucopy(const void *, void *, size_t); 6503 extern int uucopystr(const void *, void *, size_t); 6504 extern int ffs(int); 6505 extern int ffsl(long); 6506 extern int ffsll(long long); 6507 extern int fls(int); 6508 extern int flsl(long); 6509 extern int flsll(long long); 6510 extern void *memmem(const void *, size_t, const void *, size_t); 6511 extern char *strcasestr(const char *, const char *); 6512 extern char *strnstr(const char *, const char *, size_t); 6513 extern size_t strlcpy(char *, const char *, size_t); 6514 extern size_t strlcat(char *, const char *, size_t); 6515 extern char *strsep(char **stringp, const char *delim); 6516 extern char *strchrnul(const char *, int); 6517 extern char *strcasestr_l(const char *, const char *, locale_t); 6518 extern int strcasecmp(const char *, const char *); 6519 extern int strncasecmp(const char *, const char *, size_t); 6520 6521 6522 6523 6524 6525 extern char *strdup(const char *); 6526 6527 6528 6529 6530 6531 6532 /* 6533 * gcc provides this inlining facility but Studio C does not. 6534 * We should use it exclusively once Studio C also provides it. 6535 */ 6536 extern void *__builtin_alloca(size_t); 6537 # 55 "../common/zones_args.c" 2 6538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1 6539 /* 6540 * CDDL HEADER START 6541 * 6542 * The contents of this file are subject to the terms of the 6543 * Common Development and Distribution License, Version 1.0 only 6544 * (the "License"). You may not use this file except in compliance 6545 * with the License. 6546 * 6547 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6548 * or http://www.opensolaris.org/os/licensing. 6549 * See the License for the specific language governing permissions 6550 * and limitations under the License. 6551 * 6552 * When distributing Covered Code, include this CDDL HEADER in each 6553 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6554 * If applicable, add the following below this CDDL HEADER, with the 6555 * fields enclosed by brackets "[]" replaced with your own identifying 6556 * information: Portions Copyright [yyyy] [name of copyright owner] 6557 * 6558 * CDDL HEADER END 6559 */ 6560 /* 6561 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6562 * 6563 * Copyright (c) 1995, 1996, by Sun Microsystems, Inc. 6564 * All rights reserved. 6565 */ 6566 6567 6568 6569 6570 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6571 /* 6572 * CDDL HEADER START 6573 * 6574 * The contents of this file are subject to the terms of the 6575 * Common Development and Distribution License (the "License"). 6576 * You may not use this file except in compliance with the License. 6577 * 6578 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6579 * or http://www.opensolaris.org/os/licensing. 6580 * See the License for the specific language governing permissions 6581 * and limitations under the License. 6582 * 6583 * When distributing Covered Code, include this CDDL HEADER in each 6584 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6585 * If applicable, add the following below this CDDL HEADER, with the 6586 * fields enclosed by brackets "[]" replaced with your own identifying 6587 * information: Portions Copyright [yyyy] [name of copyright owner] 6588 * 6589 * CDDL HEADER END 6590 */ 6591 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6592 /* All Rights Reserved */ 6593 6594 6595 /* 6596 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6597 * Use is subject to license terms. 6598 * 6599 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6600 * Copyright 2016 Joyent, Inc. 6601 */ 6602 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6604 /* 6605 * CDDL HEADER START 6606 * 6607 * The contents of this file are subject to the terms of the 6608 * Common Development and Distribution License (the "License"). 6609 * You may not use this file except in compliance with the License. 6610 * 6611 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6612 * or http://www.opensolaris.org/os/licensing. 6613 * See the License for the specific language governing permissions 6614 * and limitations under the License. 6615 * 6616 * When distributing Covered Code, include this CDDL HEADER in each 6617 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6618 * If applicable, add the following below this CDDL HEADER, with the 6619 * fields enclosed by brackets "[]" replaced with your own identifying 6620 * information: Portions Copyright [yyyy] [name of copyright owner] 6621 * 6622 * CDDL HEADER END 6623 */ 6624 6625 /* 6626 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6627 * Copyright 2016 Joyent, Inc. 6628 * 6629 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6630 * Use is subject to license terms. 6631 */ 6632 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6633 6634 6635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.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 /* 6658 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6659 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6660 */ 6661 6662 /* Copyright (c) 1988 AT&T */ 6663 /* All Rights Reserved */ 6664 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6665 6666 6667 6668 6669 6670 6671 extern int bcmp(const void *, const void *, size_t); 6672 extern void bcopy(const void *, void *, size_t); 6673 extern void bzero(void *, size_t); 6674 6675 extern char *index(const char *, int); 6676 extern char *rindex(const char *, int); 6677 6678 /* 6679 * X/Open System Interfaces and Headers, Issue 4, Version 2, defines 6680 * both <string.h> and <strings.h>. The namespace requirements 6681 * do not permit the visibility of anything other than what is 6682 * specifically defined for each of these headers. As a result, 6683 * inclusion of <string.h> would result in declarations not allowed 6684 * in <strings.h>, and making the following prototypes visible for 6685 * anything other than X/Open UNIX Extension would result in 6686 * conflicts with what is now in <string.h>. 6687 */ 6688 # 56 "../common/zones_args.c" 2 6689 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 6690 /* 6691 * CDDL HEADER START 6692 * 6693 * The contents of this file are subject to the terms of the 6694 * Common Development and Distribution License, Version 1.0 only 6695 * (the "License"). You may not use this file except in compliance 6696 * with the License. 6697 * 6698 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6699 * or http://www.opensolaris.org/os/licensing. 6700 * See the License for the specific language governing permissions 6701 * and limitations under the License. 6702 * 6703 * When distributing Covered Code, include this CDDL HEADER in each 6704 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6705 * If applicable, add the following below this CDDL HEADER, with the 6706 * fields enclosed by brackets "[]" replaced with your own identifying 6707 * information: Portions Copyright [yyyy] [name of copyright owner] 6708 * 6709 * CDDL HEADER END 6710 */ 6711 /* Copyright (c) 1988 AT&T */ 6712 /* All Rights Reserved */ 6713 6714 /* 6715 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6716 * 6717 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6718 * Use is subject to license terms. 6719 */ 6720 6721 6722 6723 6724 /* 6725 * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 6726 * variable argument definitions. For legacy support, it also defines 6727 * the pre-standard variable argument definitions. 6728 * 6729 * The varargs definitions within this header are defined in terms of 6730 * implementation definitions. These implementation definitions reside 6731 * in <sys/va_list.h>. This organization enables protected use of 6732 * the implementation by other standard headers without introducing 6733 * names into the users' namespace. 6734 */ 6735 6736 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 6737 /* 6738 * CDDL HEADER START 6739 * 6740 * The contents of this file are subject to the terms of the 6741 * Common Development and Distribution License, Version 1.0 only 6742 * (the "License"). You may not use this file except in compliance 6743 * with the License. 6744 * 6745 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6746 * or http://www.opensolaris.org/os/licensing. 6747 * See the License for the specific language governing permissions 6748 * and limitations under the License. 6749 * 6750 * When distributing Covered Code, include this CDDL HEADER in each 6751 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6752 * If applicable, add the following below this CDDL HEADER, with the 6753 * fields enclosed by brackets "[]" replaced with your own identifying 6754 * information: Portions Copyright [yyyy] [name of copyright owner] 6755 * 6756 * CDDL HEADER END 6757 */ 6758 /* Copyright (c) 1988 AT&T */ 6759 /* All Rights Reserved */ 6760 6761 6762 /* 6763 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6764 * Use is subject to license terms. 6765 */ 6766 6767 /* 6768 * An application should not include this header directly. Instead it 6769 * should be included only through the inclusion of other Sun headers. 6770 * 6771 * The contents of this header is limited to identifiers specified in the 6772 * C Standard. Any new identifiers specified in future amendments to the 6773 * C Standard must be placed in this header. If these new identifiers 6774 * are required to also be in the C++ Standard "std" namespace, then for 6775 * anything other than macro definitions, corresponding "using" directives 6776 * must also be added to <stdarg.h>. 6777 */ 6778 6779 6780 6781 6782 #pragma ident "%Z%%M% %I% %E% SMI" 6783 6784 /* 6785 * This header defines the ISO C 1989 and ISO C++ 1998 variable 6786 * argument definitions. 6787 * 6788 * The varargs definitions within this header are defined in terms of 6789 * implementation definitions. These implementation definitions reside 6790 * in <sys/va_impl.h>. This organization enables protected use of 6791 * the implementation by other standard headers without introducing 6792 * names into the users' namespace. 6793 */ 6794 6795 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1 6796 /* 6797 * CDDL HEADER START 6798 * 6799 * The contents of this file are subject to the terms of the 6800 * Common Development and Distribution License, Version 1.0 only 6801 * (the "License"). You may not use this file except in compliance 6802 * with the License. 6803 * 6804 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6805 * or http://www.opensolaris.org/os/licensing. 6806 * See the License for the specific language governing permissions 6807 * and limitations under the License. 6808 * 6809 * When distributing Covered Code, include this CDDL HEADER in each 6810 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6811 * If applicable, add the following below this CDDL HEADER, with the 6812 * fields enclosed by brackets "[]" replaced with your own identifying 6813 * information: Portions Copyright [yyyy] [name of copyright owner] 6814 * 6815 * CDDL HEADER END 6816 */ 6817 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6818 /* All Rights Reserved */ 6819 6820 6821 /* 6822 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6823 * 6824 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6825 * Use is subject to license terms. 6826 */ 6827 6828 6829 6830 6831 /* 6832 * An application should not include this header directly. Instead it 6833 * should be included only through the inclusion of other Sun headers, 6834 * specifically <stdarg.h> and <varargs.h>. 6835 * 6836 * This header serves two purposes. 6837 * 6838 * First, it provides a common set of definitions that implementations 6839 * of the various standards for variable argument lists may use. These 6840 * various standards are implemented in <varargs.h>, <stdarg.h>, 6841 * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>. 6842 * 6843 * Second, it provides varying implementations of the common definitions, 6844 * depending upon the compiler. 6845 */ 6846 6847 /* 6848 * The common definitions exported by this header or compilers using 6849 * this header are: 6850 * 6851 * the macro __va_start(list, name) starting the list iteration 6852 * the macro __va_arg(list, type) getting the current arg and iterating 6853 * the macro __va_copy(to, from) to bookmark the list iteration 6854 * the macro __va_end(list) to end the iteration 6855 * 6856 * In addition, the following are exported via inclusion of <sys/va_list.h>: 6857 * 6858 * the identifier __builtin_va_alist for the variable list pseudo parameter 6859 * the type __va_alist_type for the variable list pseudo parameter 6860 * the type __va_list defining the type of the variable list iterator 6861 */ 6862 6863 /* 6864 * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and 6865 * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor 6866 * macros (e.g. __sparc) to determine the protocol appropriate to the 6867 * current compilation. It is intended that the compilation system 6868 * define the feature, processor, and compiler macros, not the user of 6869 * the system. 6870 */ 6871 6872 /* 6873 * Many compilation systems depend upon the use of special functions 6874 * built into the the compilation system to handle variable argument 6875 * lists. These built-in symbols may include one or more of the 6876 * following: 6877 * 6878 * __builtin_va_alist 6879 * __builtin_va_start 6880 * __builtin_va_arg_incr 6881 * __builtin_stdarg_start 6882 * __builtin_va_end 6883 * __builtin_va_arg 6884 * __builtin_va_copy 6885 */ 6886 6887 /* 6888 * The following are defined in <sys/va_list.h>: 6889 * 6890 * __va_alist_type 6891 * __va_void() 6892 * __va_ptr_base 6893 * ISA definitions via inclusion of <sys/isa_defs.h> 6894 * 6895 * Inclusion of this header also makes visible the symbols in <sys/va_list.h>. 6896 * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h> 6897 * via inclusion of <iso/stdarg_iso.h>. 6898 */ 6899 6900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 6901 /* 6902 * CDDL HEADER START 6903 * 6904 * The contents of this file are subject to the terms of the 6905 * Common Development and Distribution License, Version 1.0 only 6906 * (the "License"). You may not use this file except in compliance 6907 * with the License. 6908 * 6909 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6910 * or http://www.opensolaris.org/os/licensing. 6911 * See the License for the specific language governing permissions 6912 * and limitations under the License. 6913 * 6914 * When distributing Covered Code, include this CDDL HEADER in each 6915 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6916 * If applicable, add the following below this CDDL HEADER, with the 6917 * fields enclosed by brackets "[]" replaced with your own identifying 6918 * information: Portions Copyright [yyyy] [name of copyright owner] 6919 * 6920 * CDDL HEADER END 6921 */ 6922 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6923 /* All Rights Reserved */ 6924 6925 6926 /* 6927 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6928 * 6929 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6930 * Use is subject to license terms. 6931 */ 6932 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 6933 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 6934 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 6935 typedef __va_list va_list; 6936 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 6937 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 6938 /* 6939 * CDDL HEADER START 6940 * 6941 * The contents of this file are subject to the terms of the 6942 * Common Development and Distribution License, Version 1.0 only 6943 * (the "License"). You may not use this file except in compliance 6944 * with the License. 6945 * 6946 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6947 * or http://www.opensolaris.org/os/licensing. 6948 * See the License for the specific language governing permissions 6949 * and limitations under the License. 6950 * 6951 * When distributing Covered Code, include this CDDL HEADER in each 6952 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6953 * If applicable, add the following below this CDDL HEADER, with the 6954 * fields enclosed by brackets "[]" replaced with your own identifying 6955 * information: Portions Copyright [yyyy] [name of copyright owner] 6956 * 6957 * CDDL HEADER END 6958 */ 6959 /* Copyright (c) 1988 AT&T */ 6960 /* All Rights Reserved */ 6961 6962 6963 /* 6964 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6965 * Use is subject to license terms. 6966 */ 6967 6968 6969 6970 6971 #pragma ident "%Z%%M% %I% %E% SMI" 6972 6973 /* 6974 * An application should not include this header directly. Instead it 6975 * should be included only through the inclusion of other Sun headers. 6976 * 6977 * This header defines the va_copy variable argument macro, which is 6978 * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ 6979 * 1998. Because this macro is a long-standing Solaris extension, it 6980 * is also permitted in other contexts. 6981 * 6982 * The varargs definitions within this header are defined in terms of 6983 * implementation definitions. These implementation definitions reside 6984 * in <sys/va_list.h>. This organization enables protected use of 6985 * the implementation by other standard headers without introducing 6986 * names into the users' namespace. 6987 */ 6988 6989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6990 /* 6991 * CDDL HEADER START 6992 * 6993 * The contents of this file are subject to the terms of the 6994 * Common Development and Distribution License (the "License"). 6995 * You may not use this file except in compliance with the License. 6996 * 6997 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6998 * or http://www.opensolaris.org/os/licensing. 6999 * See the License for the specific language governing permissions 7000 * and limitations under the License. 7001 * 7002 * When distributing Covered Code, include this CDDL HEADER in each 7003 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7004 * If applicable, add the following below this CDDL HEADER, with the 7005 * fields enclosed by brackets "[]" replaced with your own identifying 7006 * information: Portions Copyright [yyyy] [name of copyright owner] 7007 * 7008 * CDDL HEADER END 7009 */ 7010 7011 /* 7012 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7013 * Copyright 2016 Joyent, Inc. 7014 * 7015 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7016 * Use is subject to license terms. 7017 */ 7018 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 7019 7020 7021 7022 7023 7024 /* 7025 * va_copy was initially a Solaris extension to provide a portable 7026 * way to perform a variable argument list ``bookmarking'' function. 7027 * It is now specified in the ISO/IEC 9899:1999 standard. 7028 */ 7029 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 7030 7031 /* 7032 * Allow global visibility for symbols defined in 7033 * C++ "std" namespace in <iso/stdarg_iso.h>. 7034 */ 7035 # 57 "../common/zones_args.c" 2 7036 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 7037 /* 7038 * CDDL HEADER START 7039 * 7040 * The contents of this file are subject to the terms of the 7041 * Common Development and Distribution License (the "License"). 7042 * You may not use this file except in compliance with the License. 7043 * 7044 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7045 * or http://www.opensolaris.org/os/licensing. 7046 * See the License for the specific language governing permissions 7047 * and limitations under the License. 7048 * 7049 * When distributing Covered Code, include this CDDL HEADER in each 7050 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7051 * If applicable, add the following below this CDDL HEADER, with the 7052 * fields enclosed by brackets "[]" replaced with your own identifying 7053 * information: Portions Copyright [yyyy] [name of copyright owner] 7054 * 7055 * CDDL HEADER END 7056 */ 7057 7058 /* 7059 * Copyright (c) 2013 Gary Mills 7060 * 7061 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7062 * Use is subject to license terms. 7063 */ 7064 7065 /* Copyright (c) 1988 AT&T */ 7066 /* All Rights Reserved */ 7067 7068 7069 7070 7071 7072 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7073 /* 7074 * CDDL HEADER START 7075 * 7076 * The contents of this file are subject to the terms of the 7077 * Common Development and Distribution License (the "License"). 7078 * You may not use this file except in compliance with the License. 7079 * 7080 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7081 * or http://www.opensolaris.org/os/licensing. 7082 * See the License for the specific language governing permissions 7083 * and limitations under the License. 7084 * 7085 * When distributing Covered Code, include this CDDL HEADER in each 7086 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7087 * If applicable, add the following below this CDDL HEADER, with the 7088 * fields enclosed by brackets "[]" replaced with your own identifying 7089 * information: Portions Copyright [yyyy] [name of copyright owner] 7090 * 7091 * CDDL HEADER END 7092 */ 7093 7094 /* 7095 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7096 * Copyright 2016 Joyent, Inc. 7097 * 7098 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7099 * Use is subject to license terms. 7100 */ 7101 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 7103 /* 7104 * CDDL HEADER START 7105 * 7106 * The contents of this file are subject to the terms of the 7107 * Common Development and Distribution License (the "License"). 7108 * You may not use this file except in compliance with the License. 7109 * 7110 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7111 * or http://www.opensolaris.org/os/licensing. 7112 * See the License for the specific language governing permissions 7113 * and limitations under the License. 7114 * 7115 * 7116 * When distributing Covered Code, include this CDDL HEADER in each 7117 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7118 * If applicable, add the following below this CDDL HEADER, with the 7119 * fields enclosed by brackets "[]" replaced with your own identifying 7120 * information: Portions Copyright [yyyy] [name of copyright owner] 7121 * 7122 * CDDL HEADER END 7123 */ 7124 7125 /* 7126 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7127 * Use is subject to license terms. 7128 * Copyright 2016 Joyent, Inc. 7129 */ 7130 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7131 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 7132 /* 7133 * CDDL HEADER START 7134 * 7135 * The contents of this file are subject to the terms of the 7136 * Common Development and Distribution License, Version 1.0 only 7137 * (the "License"). You may not use this file except in compliance 7138 * with the License. 7139 * 7140 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7141 * or http://www.opensolaris.org/os/licensing. 7142 * See the License for the specific language governing permissions 7143 * and limitations under the License. 7144 * 7145 * When distributing Covered Code, include this CDDL HEADER in each 7146 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7147 * If applicable, add the following below this CDDL HEADER, with the 7148 * fields enclosed by brackets "[]" replaced with your own identifying 7149 * information: Portions Copyright [yyyy] [name of copyright owner] 7150 * 7151 * CDDL HEADER END 7152 */ 7153 /* 7154 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 7155 * Use is subject to license terms. 7156 */ 7157 7158 /* Copyright (c) 1988 AT&T */ 7159 /* All Rights Reserved */ 7160 7161 7162 /* 7163 * An application should not include this header directly. Instead it 7164 * should be included only through the inclusion of other Sun headers. 7165 * 7166 * The contents of this header is limited to identifiers specified in the 7167 * C Standard. Any new identifiers specified in future amendments to the 7168 * C Standard must be placed in this header. If these new identifiers 7169 * are required to also be in the C++ Standard "std" namespace, then for 7170 * anything other than macro definitions, corresponding "using" directives 7171 * must also be added to <limits.h>. 7172 */ 7173 7174 7175 7176 7177 #pragma ident "%Z%%M% %I% %E% SMI" 7178 7179 7180 7181 7182 7183 /* 7184 * Sizes of integral types 7185 */ 7186 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 7187 /* min value of a "long int" */ 7188 7189 /* max value of a "long int" */ 7190 7191 /* max value of "unsigned long int" */ 7192 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 7193 /* min value of a long long */ 7194 7195 /* max value of a long long */ 7196 7197 /* max value of "unsigned long long */ 7198 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7199 7200 /* 7201 * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C 7202 * committee's working draft for the revision of the current ISO C standard, 7203 * ISO/IEC 9899:1990 Programming language - C. These are not currently 7204 * required by any standard but constitute a useful, general purpose set 7205 * of type definitions and limits which is namespace clean with respect to 7206 * all standards. 7207 */ 7208 7209 7210 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 7211 /* 7212 * CDDL HEADER START 7213 * 7214 * The contents of this file are subject to the terms of the 7215 * Common Development and Distribution License, Version 1.0 only 7216 * (the "License"). You may not use this file except in compliance 7217 * with the License. 7218 * 7219 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7220 * or http://www.opensolaris.org/os/licensing. 7221 * See the License for the specific language governing permissions 7222 * and limitations under the License. 7223 * 7224 * When distributing Covered Code, include this CDDL HEADER in each 7225 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7226 * If applicable, add the following below this CDDL HEADER, with the 7227 * fields enclosed by brackets "[]" replaced with your own identifying 7228 * information: Portions Copyright [yyyy] [name of copyright owner] 7229 * 7230 * CDDL HEADER END 7231 */ 7232 /* 7233 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7234 * 7235 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7236 * Use is subject to license terms. 7237 */ 7238 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 7239 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7240 /* 7241 * ARG_MAX is calculated as follows: 7242 * NCARGS - space for other stuff on initial stack 7243 * like aux vectors, saved registers, etc.. 7244 */ 7245 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7246 /* 7247 * POSIX conformant definitions - An implementation may define 7248 * other symbols which reflect the actual implementation. Alternate 7249 * definitions may not be as restrictive as the POSIX definitions. 7250 */ 7251 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7252 /* POSIX.1c conformant */ 7253 7254 7255 7256 7257 7258 /* UNIX 03 conformant */ 7259 7260 7261 7262 7263 7264 /* 7265 * POSIX.2 and XPG4-XSH4 conformant definitions 7266 */ 7267 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7268 /* UNIX 03 conformant */ 7269 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7270 /* 7271 * For dual definitions for PASS_MAX and sysconf.c 7272 */ 7273 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7274 /* NLS printf() and scanf() */ 7275 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7276 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ 7277 7278 7279 7280 /* of a double */ 7281 7282 7283 /* of a "float" */ 7284 7285 7286 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ 7287 7288 7289 /* of a double */ 7290 7291 /* of a float */ 7292 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7293 /* 7294 * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the 7295 * related text states: 7296 * 7297 * A definition of one of the values from Table 2-5 shall be omitted from the 7298 * <limits.h> on specific implementations where the corresponding value is 7299 * equal to or greater than the stated minimum, but where the value can vary 7300 * depending on the file to which it is applied. The actual value supported for 7301 * a specific pathname shall be provided by the pathconf() (5.7.1) function. 7302 * 7303 * This is clear that any machine supporting multiple file system types 7304 * and/or a network can not include this define, regardless of protection 7305 * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. 7306 * 7307 * #define NAME_MAX 14 7308 */ 7309 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 7310 /* Increased for illumos */ 7311 # 58 "../common/zones_args.c" 2 7312 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1 7313 /* 7314 * CDDL HEADER START 7315 * 7316 * The contents of this file are subject to the terms of the 7317 * Common Development and Distribution License, Version 1.0 only 7318 * (the "License"). You may not use this file except in compliance 7319 * with the License. 7320 * 7321 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7322 * or http://www.opensolaris.org/os/licensing. 7323 * See the License for the specific language governing permissions 7324 * and limitations under the License. 7325 * 7326 * When distributing Covered Code, include this CDDL HEADER in each 7327 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7328 * If applicable, add the following below this CDDL HEADER, with the 7329 * fields enclosed by brackets "[]" replaced with your own identifying 7330 * information: Portions Copyright [yyyy] [name of copyright owner] 7331 * 7332 * CDDL HEADER END 7333 */ 7334 /* Copyright (c) 1988 AT&T */ 7335 /* All Rights Reserved */ 7336 7337 7338 /* 7339 * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. 7340 * Use is subject to license terms. 7341 */ 7342 7343 7344 7345 7346 7347 #pragma ident "%Z%%M% %I% %E% SMI" 7348 7349 /* 7350 * Error codes 7351 */ 7352 7353 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1 7354 /* 7355 * CDDL HEADER START 7356 * 7357 * The contents of this file are subject to the terms of the 7358 * Common Development and Distribution License, Version 1.0 only 7359 * (the "License"). You may not use this file except in compliance 7360 * with the License. 7361 * 7362 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7363 * or http://www.opensolaris.org/os/licensing. 7364 * See the License for the specific language governing permissions 7365 * and limitations under the License. 7366 * 7367 * When distributing Covered Code, include this CDDL HEADER in each 7368 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7369 * If applicable, add the following below this CDDL HEADER, with the 7370 * fields enclosed by brackets "[]" replaced with your own identifying 7371 * information: Portions Copyright [yyyy] [name of copyright owner] 7372 * 7373 * CDDL HEADER END 7374 */ 7375 /* 7376 * Copyright 2000 Sun Microsystems, Inc. All rights reserved. 7377 * Use is subject to license terms. 7378 */ 7379 7380 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7381 /* All Rights Reserved */ 7382 7383 /* 7384 * University Copyright- Copyright (c) 1982, 1986, 1988 7385 * The Regents of the University of California 7386 * All Rights Reserved 7387 * 7388 * University Acknowledgment- Portions of this document are derived from 7389 * software developed by the University of California, Berkeley, and its 7390 * contributors. 7391 */ 7392 7393 7394 7395 7396 #pragma ident "%Z%%M% %I% %E% SMI" 7397 7398 7399 7400 7401 7402 /* 7403 * Error codes 7404 */ 7405 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7406 /* Filesystem Quotas */ 7407 7408 7409 /* Convergent Error Returns */ 7410 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7411 /* Interprocess Robust Locks */ 7412 7413 7414 7415 /* stream problems */ 7416 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7417 /* Interprocess Robust Locks */ 7418 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7419 /* shared library problems */ 7420 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7421 /* BSD Networking Software */ 7422 /* argument errors */ 7423 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7424 /* protocol family */ 7425 7426 7427 /* operational errors */ 7428 7429 7430 7431 /* of reset */ 7432 7433 7434 7435 7436 7437 /* XENIX has 135 - 142 */ 7438 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 7439 /* SUN Network File System */ 7440 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2 7441 7442 7443 7444 7445 7446 7447 /* 7448 * The symbols _sys_errlist and _sys_nerr are not visible in the 7449 * LP64 libc. Use strerror(3C) instead. 7450 */ 7451 7452 7453 7454 extern int *___errno(); 7455 # 59 "../common/zones_args.c" 2 7456 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 1 7457 /* 7458 * CDDL HEADER START 7459 * 7460 * The contents of this file are subject to the terms of the 7461 * Common Development and Distribution License, Version 1.0 only 7462 * (the "License"). You may not use this file except in compliance 7463 * with the License. 7464 * 7465 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7466 * or http://www.opensolaris.org/os/licensing. 7467 * See the License for the specific language governing permissions 7468 * and limitations under the License. 7469 * 7470 * When distributing Covered Code, include this CDDL HEADER in each 7471 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7472 * If applicable, add the following below this CDDL HEADER, with the 7473 * fields enclosed by brackets "[]" replaced with your own identifying 7474 * information: Portions Copyright [yyyy] [name of copyright owner] 7475 * 7476 * CDDL HEADER END 7477 */ 7478 /* Copyright (c) 1988 AT&T */ 7479 /* All Rights Reserved */ 7480 7481 /* 7482 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7483 * 7484 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 7485 * Use is subject to license terms. 7486 */ 7487 7488 7489 7490 7491 /* 7492 * Streams user options definitions. 7493 */ 7494 7495 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7496 /* 7497 * CDDL HEADER START 7498 * 7499 * The contents of this file are subject to the terms of the 7500 * Common Development and Distribution License (the "License"). 7501 * You may not use this file except in compliance with the License. 7502 * 7503 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7504 * or http://www.opensolaris.org/os/licensing. 7505 * See the License for the specific language governing permissions 7506 * and limitations under the License. 7507 * 7508 * When distributing Covered Code, include this CDDL HEADER in each 7509 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7510 * If applicable, add the following below this CDDL HEADER, with the 7511 * fields enclosed by brackets "[]" replaced with your own identifying 7512 * information: Portions Copyright [yyyy] [name of copyright owner] 7513 * 7514 * CDDL HEADER END 7515 */ 7516 7517 /* 7518 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7519 * Copyright 2016 Joyent, Inc. 7520 * 7521 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7522 * Use is subject to license terms. 7523 */ 7524 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 7525 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 1 7526 /* 7527 * CDDL HEADER START 7528 * 7529 * The contents of this file are subject to the terms of the 7530 * Common Development and Distribution License (the "License"). 7531 * You may not use this file except in compliance with the License. 7532 * 7533 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7534 * or http://www.opensolaris.org/os/licensing. 7535 * See the License for the specific language governing permissions 7536 * and limitations under the License. 7537 * 7538 * When distributing Covered Code, include this CDDL HEADER in each 7539 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7540 * If applicable, add the following below this CDDL HEADER, with the 7541 * fields enclosed by brackets "[]" replaced with your own identifying 7542 * information: Portions Copyright [yyyy] [name of copyright owner] 7543 * 7544 * CDDL HEADER END 7545 */ 7546 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7547 /* All Rights Reserved */ 7548 7549 7550 /* 7551 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7552 * Use is subject to license terms. 7553 */ 7554 7555 7556 7557 7558 #pragma ident "%Z%%M% %I% %E% SMI" 7559 7560 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7561 /* 7562 * CDDL HEADER START 7563 * 7564 * The contents of this file are subject to the terms of the 7565 * Common Development and Distribution License (the "License"). 7566 * You may not use this file except in compliance with the License. 7567 * 7568 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7569 * or http://www.opensolaris.org/os/licensing. 7570 * See the License for the specific language governing permissions 7571 * and limitations under the License. 7572 * 7573 * When distributing Covered Code, include this CDDL HEADER in each 7574 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7575 * If applicable, add the following below this CDDL HEADER, with the 7576 * fields enclosed by brackets "[]" replaced with your own identifying 7577 * information: Portions Copyright [yyyy] [name of copyright owner] 7578 * 7579 * CDDL HEADER END 7580 */ 7581 7582 /* 7583 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7584 * Copyright 2016 Joyent, Inc. 7585 * 7586 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7587 * Use is subject to license terms. 7588 */ 7589 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 7590 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7591 /* 7592 * CDDL HEADER START 7593 * 7594 * The contents of this file are subject to the terms of the 7595 * Common Development and Distribution License (the "License"). 7596 * You may not use this file except in compliance with the License. 7597 * 7598 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7599 * or http://www.opensolaris.org/os/licensing. 7600 * See the License for the specific language governing permissions 7601 * and limitations under the License. 7602 * 7603 * When distributing Covered Code, include this CDDL HEADER in each 7604 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7605 * If applicable, add the following below this CDDL HEADER, with the 7606 * fields enclosed by brackets "[]" replaced with your own identifying 7607 * information: Portions Copyright [yyyy] [name of copyright owner] 7608 * 7609 * CDDL HEADER END 7610 */ 7611 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7612 /* All Rights Reserved */ 7613 7614 7615 /* 7616 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7617 * Use is subject to license terms. 7618 * 7619 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7620 * Copyright 2016 Joyent, Inc. 7621 */ 7622 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 7623 /* 7624 * For FMNAMESZ define. 7625 */ 7626 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 1 7627 /* 7628 * CDDL HEADER START 7629 * 7630 * The contents of this file are subject to the terms of the 7631 * Common Development and Distribution License (the "License"). 7632 * You may not use this file except in compliance with the License. 7633 * 7634 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7635 * or http://www.opensolaris.org/os/licensing. 7636 * See the License for the specific language governing permissions 7637 * and limitations under the License. 7638 * 7639 * When distributing Covered Code, include this CDDL HEADER in each 7640 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7641 * If applicable, add the following below this CDDL HEADER, with the 7642 * fields enclosed by brackets "[]" replaced with your own identifying 7643 * information: Portions Copyright [yyyy] [name of copyright owner] 7644 * 7645 * CDDL HEADER END 7646 */ 7647 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7648 /* All Rights Reserved */ 7649 7650 /* 7651 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7652 * Use is subject to license terms. 7653 */ 7654 7655 7656 7657 7658 7659 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7660 /* 7661 * CDDL HEADER START 7662 * 7663 * The contents of this file are subject to the terms of the 7664 * Common Development and Distribution License (the "License"). 7665 * You may not use this file except in compliance with the License. 7666 * 7667 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7668 * or http://www.opensolaris.org/os/licensing. 7669 * See the License for the specific language governing permissions 7670 * and limitations under the License. 7671 * 7672 * When distributing Covered Code, include this CDDL HEADER in each 7673 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7674 * If applicable, add the following below this CDDL HEADER, with the 7675 * fields enclosed by brackets "[]" replaced with your own identifying 7676 * information: Portions Copyright [yyyy] [name of copyright owner] 7677 * 7678 * CDDL HEADER END 7679 */ 7680 7681 /* 7682 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7683 * Copyright 2016 Joyent, Inc. 7684 * 7685 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7686 * Use is subject to license terms. 7687 */ 7688 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 7689 7690 7691 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 7692 /* 7693 * CDDL HEADER START 7694 * 7695 * The contents of this file are subject to the terms of the 7696 * Common Development and Distribution License, Version 1.0 only 7697 * (the "License"). You may not use this file except in compliance 7698 * with the License. 7699 * 7700 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7701 * or http://www.opensolaris.org/os/licensing. 7702 * See the License for the specific language governing permissions 7703 * and limitations under the License. 7704 * 7705 * When distributing Covered Code, include this CDDL HEADER in each 7706 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7707 * If applicable, add the following below this CDDL HEADER, with the 7708 * fields enclosed by brackets "[]" replaced with your own identifying 7709 * information: Portions Copyright [yyyy] [name of copyright owner] 7710 * 7711 * CDDL HEADER END 7712 */ 7713 /* 7714 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 7715 * All rights reserved. 7716 */ 7717 7718 /* 7719 * t_lock.h: Prototypes for disp_locks, plus include files 7720 * that describe the interfaces to kernel synch. 7721 * objects. 7722 */ 7723 7724 7725 7726 7727 #pragma ident "%Z%%M% %I% %E% SMI" 7728 7729 7730 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 7731 /* 7732 * CDDL HEADER START 7733 * 7734 * The contents of this file are subject to the terms of the 7735 * Common Development and Distribution License (the "License"). 7736 * You may not use this file except in compliance with the License. 7737 * 7738 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7739 * or http://www.opensolaris.org/os/licensing. 7740 * See the License for the specific language governing permissions 7741 * and limitations under the License. 7742 * 7743 * When distributing Covered Code, include this CDDL HEADER in each 7744 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7745 * If applicable, add the following below this CDDL HEADER, with the 7746 * fields enclosed by brackets "[]" replaced with your own identifying 7747 * information: Portions Copyright [yyyy] [name of copyright owner] 7748 * 7749 * CDDL HEADER END 7750 */ 7751 /* 7752 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 7753 * Use is subject to license terms. 7754 * Copyright 2016 Joyent, Inc. 7755 */ 7756 7757 7758 7759 7760 #pragma ident "%Z%%M% %I% %E% SMI" 7761 7762 7763 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7764 /* 7765 * CDDL HEADER START 7766 * 7767 * The contents of this file are subject to the terms of the 7768 * Common Development and Distribution License (the "License"). 7769 * You may not use this file except in compliance with the License. 7770 * 7771 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7772 * or http://www.opensolaris.org/os/licensing. 7773 * See the License for the specific language governing permissions 7774 * and limitations under the License. 7775 * 7776 * When distributing Covered Code, include this CDDL HEADER in each 7777 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7778 * If applicable, add the following below this CDDL HEADER, with the 7779 * fields enclosed by brackets "[]" replaced with your own identifying 7780 * information: Portions Copyright [yyyy] [name of copyright owner] 7781 * 7782 * CDDL HEADER END 7783 */ 7784 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7785 /* All Rights Reserved */ 7786 7787 7788 /* 7789 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7790 * Use is subject to license terms. 7791 * 7792 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7793 * Copyright 2016 Joyent, Inc. 7794 */ 7795 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 7796 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 7797 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7798 /* All Rights Reserved */ 7799 7800 7801 /* 7802 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 7803 * All rights reserved. The Berkeley software License Agreement 7804 * specifies the terms and conditions for redistribution. 7805 */ 7806 7807 /* 7808 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7809 * 7810 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7811 * Use is subject to license terms. 7812 * 7813 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7814 */ 7815 7816 /* 7817 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 7818 */ 7819 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 7820 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 7821 typedef lock_t disp_lock_t; /* dispatcher lock type */ 7822 7823 /* 7824 * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or 7825 * an adaptive mutex, depending on what interrupt levels use it. 7826 */ 7827 7828 7829 /* 7830 * Macro to control loops which spin on a lock and then check state 7831 * periodically. Its passed an integer, and returns a boolean value 7832 * that if true indicates its a good time to get the scheduler lock and 7833 * check the state of the current owner of the lock. 7834 */ 7835 7836 7837 /* 7838 * Externs for CLOCK_LOCK and clock resolution 7839 */ 7840 extern volatile uint32_t hres_lock; 7841 extern hrtime_t hrtime_base; 7842 extern int clock_res; 7843 7844 7845 7846 /* 7847 * The definitions of the symbolic interrupt levels: 7848 * 7849 * CLOCK_LEVEL => The level at which one must be to block the clock. 7850 * 7851 * LOCK_LEVEL => The highest level at which one may block (and thus the 7852 * highest level at which one may acquire adaptive locks) 7853 * Also the highest level at which one may be preempted. 7854 * 7855 * DISP_LEVEL => The level at which one must be to perform dispatcher 7856 * operations. 7857 * 7858 * The constraints on the platform: 7859 * 7860 * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL 7861 * - LOCK_LEVEL must be less than DISP_LEVEL 7862 * - DISP_LEVEL should be as close to LOCK_LEVEL as possible 7863 * 7864 * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; 7865 * changing this relationship is probably possible but not advised. 7866 * 7867 */ 7868 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 7869 /* 7870 * The following mask is for the cpu_intr_actv bits corresponding to 7871 * high-level PILs. It should equal: 7872 * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) 7873 */ 7874 7875 7876 /* 7877 * The semaphore code depends on being able to represent a lock plus 7878 * owner in a single 32-bit word. (Mutexes used to have a similar 7879 * dependency, but no longer.) Thus the owner must contain at most 7880 * 24 significant bits. At present only threads and semaphores 7881 * must be aware of this vile constraint. Different ISAs may handle this 7882 * differently depending on their capabilities (e.g. compare-and-swap) 7883 * and limitations (e.g. constraints on alignment and/or KERNELBASE). 7884 */ 7885 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 7887 /* 7888 * CDDL HEADER START 7889 * 7890 * The contents of this file are subject to the terms of the 7891 * Common Development and Distribution License (the "License"). 7892 * You may not use this file except in compliance with the License. 7893 * 7894 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7895 * or http://www.opensolaris.org/os/licensing. 7896 * See the License for the specific language governing permissions 7897 * and limitations under the License. 7898 * 7899 * When distributing Covered Code, include this CDDL HEADER in each 7900 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7901 * If applicable, add the following below this CDDL HEADER, with the 7902 * fields enclosed by brackets "[]" replaced with your own identifying 7903 * information: Portions Copyright [yyyy] [name of copyright owner] 7904 * 7905 * CDDL HEADER END 7906 */ 7907 7908 /* 7909 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 7910 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 7911 */ 7912 7913 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7914 /* All Rights Reserved */ 7915 7916 /* 7917 * University Copyright- Copyright (c) 1982, 1986, 1988 7918 * The Regents of the University of California 7919 * All Rights Reserved 7920 * 7921 * University Acknowledgment- Portions of this document are derived from 7922 * software developed by the University of California, Berkeley, and its 7923 * contributors. 7924 */ 7925 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7926 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 7927 /* 7928 * CDDL HEADER START 7929 * 7930 * The contents of this file are subject to the terms of the 7931 * Common Development and Distribution License (the "License"). 7932 * You may not use this file except in compliance with the License. 7933 * 7934 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7935 * or http://www.opensolaris.org/os/licensing. 7936 * See the License for the specific language governing permissions 7937 * and limitations under the License. 7938 * 7939 * When distributing Covered Code, include this CDDL HEADER in each 7940 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7941 * If applicable, add the following below this CDDL HEADER, with the 7942 * fields enclosed by brackets "[]" replaced with your own identifying 7943 * information: Portions Copyright [yyyy] [name of copyright owner] 7944 * 7945 * CDDL HEADER END 7946 */ 7947 /* 7948 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 7949 */ 7950 7951 7952 7953 7954 7955 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7956 /* 7957 * CDDL HEADER START 7958 * 7959 * The contents of this file are subject to the terms of the 7960 * Common Development and Distribution License (the "License"). 7961 * You may not use this file except in compliance with the License. 7962 * 7963 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7964 * or http://www.opensolaris.org/os/licensing. 7965 * See the License for the specific language governing permissions 7966 * and limitations under the License. 7967 * 7968 * When distributing Covered Code, include this CDDL HEADER in each 7969 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7970 * If applicable, add the following below this CDDL HEADER, with the 7971 * fields enclosed by brackets "[]" replaced with your own identifying 7972 * information: Portions Copyright [yyyy] [name of copyright owner] 7973 * 7974 * CDDL HEADER END 7975 */ 7976 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7977 /* All Rights Reserved */ 7978 7979 7980 /* 7981 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7982 * Use is subject to license terms. 7983 * 7984 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7985 * Copyright 2016 Joyent, Inc. 7986 */ 7987 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 7988 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 7989 /* 7990 * Public interface to mutual exclusion locks. See mutex(9F) for details. 7991 * 7992 * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used 7993 * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking 7994 * and must be used in interrupt handlers above LOCK_LEVEL. The iblock 7995 * cookie argument to mutex_init() encodes the interrupt level to block. 7996 * The iblock cookie must be NULL for adaptive locks. 7997 * 7998 * MUTEX_DEFAULT is the type usually specified (except in drivers) to 7999 * mutex_init(). It is identical to MUTEX_ADAPTIVE. 8000 * 8001 * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to 8002 * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. 8003 * 8004 * Mutex statistics can be gathered on the fly, without rebooting or 8005 * recompiling the kernel, via the lockstat driver (lockstat(7D)). 8006 */ 8007 typedef enum { 8008 MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ 8009 MUTEX_SPIN = 1, /* block interrupts and spin */ 8010 MUTEX_DRIVER = 4, /* driver (DDI) mutex */ 8011 MUTEX_DEFAULT = 6 /* kernel default mutex */ 8012 } kmutex_type_t; 8013 8014 typedef struct mutex { 8015 8016 void *_opaque[1]; 8017 8018 8019 8020 } kmutex_t; 8021 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8022 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 8023 /* 8024 * CDDL HEADER START 8025 * 8026 * The contents of this file are subject to the terms of the 8027 * Common Development and Distribution License (the "License"). 8028 * You may not use this file except in compliance with the License. 8029 * 8030 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8031 * or http://www.opensolaris.org/os/licensing. 8032 * See the License for the specific language governing permissions 8033 * and limitations under the License. 8034 * 8035 * When distributing Covered Code, include this CDDL HEADER in each 8036 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8037 * If applicable, add the following below this CDDL HEADER, with the 8038 * fields enclosed by brackets "[]" replaced with your own identifying 8039 * information: Portions Copyright [yyyy] [name of copyright owner] 8040 * 8041 * CDDL HEADER END 8042 */ 8043 /* 8044 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8045 * Use is subject to license terms. 8046 */ 8047 8048 /* 8049 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 8050 */ 8051 8052 8053 8054 8055 /* 8056 * Public interface to readers/writer locks. See rwlock(9F) for details. 8057 */ 8058 8059 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8060 /* 8061 * CDDL HEADER START 8062 * 8063 * The contents of this file are subject to the terms of the 8064 * Common Development and Distribution License (the "License"). 8065 * You may not use this file except in compliance with the License. 8066 * 8067 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8068 * or http://www.opensolaris.org/os/licensing. 8069 * See the License for the specific language governing permissions 8070 * and limitations under the License. 8071 * 8072 * When distributing Covered Code, include this CDDL HEADER in each 8073 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8074 * If applicable, add the following below this CDDL HEADER, with the 8075 * fields enclosed by brackets "[]" replaced with your own identifying 8076 * information: Portions Copyright [yyyy] [name of copyright owner] 8077 * 8078 * CDDL HEADER END 8079 */ 8080 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8081 /* All Rights Reserved */ 8082 8083 8084 /* 8085 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8086 * Use is subject to license terms. 8087 * 8088 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8089 * Copyright 2016 Joyent, Inc. 8090 */ 8091 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 8092 8093 8094 8095 8096 8097 8098 8099 typedef enum { 8100 RW_DRIVER = 2, /* driver (DDI) rwlock */ 8101 RW_DEFAULT = 4 /* kernel default rwlock */ 8102 } krw_type_t; 8103 8104 typedef enum { 8105 RW_WRITER, 8106 RW_READER, 8107 RW_READER_STARVEWRITER 8108 } krw_t; 8109 8110 typedef struct _krwlock { 8111 void *_opaque[1]; 8112 } krwlock_t; 8113 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8114 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 8115 /* 8116 * CDDL HEADER START 8117 * 8118 * The contents of this file are subject to the terms of the 8119 * Common Development and Distribution License, Version 1.0 only 8120 * (the "License"). You may not use this file except in compliance 8121 * with the License. 8122 * 8123 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8124 * or http://www.opensolaris.org/os/licensing. 8125 * See the License for the specific language governing permissions 8126 * and limitations under the License. 8127 * 8128 * When distributing Covered Code, include this CDDL HEADER in each 8129 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8130 * If applicable, add the following below this CDDL HEADER, with the 8131 * fields enclosed by brackets "[]" replaced with your own identifying 8132 * information: Portions Copyright [yyyy] [name of copyright owner] 8133 * 8134 * CDDL HEADER END 8135 */ 8136 /* 8137 * Copyright (c) 1993-1998 by Sun Microsystems, Inc. 8138 * All rights reserved. 8139 */ 8140 8141 8142 8143 8144 #pragma ident "%Z%%M% %I% %E% SMI" 8145 8146 /* 8147 * Public interface to semaphores. See semaphore(9F) for details. 8148 */ 8149 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 8150 typedef enum { 8151 SEMA_DEFAULT, 8152 SEMA_DRIVER 8153 } ksema_type_t; 8154 8155 typedef struct _ksema { 8156 void * _opaque[2]; /* 2 words on 4 byte alignment */ 8157 } ksema_t; 8158 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8159 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1 8160 /* 8161 * CDDL HEADER START 8162 * 8163 * The contents of this file are subject to the terms of the 8164 * Common Development and Distribution License (the "License"). 8165 * You may not use this file except in compliance with the License. 8166 * 8167 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8168 * or http://www.opensolaris.org/os/licensing. 8169 * See the License for the specific language governing permissions 8170 * and limitations under the License. 8171 * 8172 * When distributing Covered Code, include this CDDL HEADER in each 8173 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8174 * If applicable, add the following below this CDDL HEADER, with the 8175 * fields enclosed by brackets "[]" replaced with your own identifying 8176 * information: Portions Copyright [yyyy] [name of copyright owner] 8177 * 8178 * CDDL HEADER END 8179 */ 8180 /* 8181 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8182 * Use is subject to license terms. 8183 */ 8184 8185 /* 8186 * Copyright (c) 2012 by Delphix. All rights reserved. 8187 */ 8188 8189 /* 8190 * condvar.h: 8191 * 8192 * definitions for thread synchronization primitives: condition variables 8193 * This is the public part of the interface to condition variables. The 8194 * private (implementation-specific) part is in <arch>/sys/condvar_impl.h. 8195 */ 8196 8197 8198 8199 8200 8201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8202 /* 8203 * CDDL HEADER START 8204 * 8205 * The contents of this file are subject to the terms of the 8206 * Common Development and Distribution License (the "License"). 8207 * You may not use this file except in compliance with the License. 8208 * 8209 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8210 * or http://www.opensolaris.org/os/licensing. 8211 * See the License for the specific language governing permissions 8212 * and limitations under the License. 8213 * 8214 * When distributing Covered Code, include this CDDL HEADER in each 8215 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8216 * If applicable, add the following below this CDDL HEADER, with the 8217 * fields enclosed by brackets "[]" replaced with your own identifying 8218 * information: Portions Copyright [yyyy] [name of copyright owner] 8219 * 8220 * CDDL HEADER END 8221 */ 8222 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8223 /* All Rights Reserved */ 8224 8225 8226 /* 8227 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8228 * Use is subject to license terms. 8229 * 8230 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8231 * Copyright 2016 Joyent, Inc. 8232 */ 8233 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 8234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 8235 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8236 /* All Rights Reserved */ 8237 8238 8239 /* 8240 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 8241 * All rights reserved. The Berkeley software License Agreement 8242 * specifies the terms and conditions for redistribution. 8243 */ 8244 8245 /* 8246 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8247 * 8248 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8249 * Use is subject to license terms. 8250 * 8251 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8252 */ 8253 8254 /* 8255 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 8256 */ 8257 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 8258 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 8259 /* 8260 * Condtion variables. 8261 */ 8262 8263 typedef struct _kcondvar { 8264 ushort_t _opaque; 8265 } kcondvar_t; 8266 8267 typedef enum { 8268 CV_DEFAULT, 8269 CV_DRIVER 8270 } kcv_type_t; 8271 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 8272 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 8273 /* 8274 * Mutual exclusion locks described in common/sys/mutex.h. 8275 * 8276 * Semaphores described in common/sys/semaphore.h. 8277 * 8278 * Readers/Writer locks described in common/sys/rwlock.h. 8279 * 8280 * Condition variables described in common/sys/condvar.h 8281 */ 8282 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 8283 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 8284 /* 8285 * Device flags. 8286 * 8287 * Bit 0 to bit 15 are reserved for kernel. 8288 * Bit 16 to bit 31 are reserved for different machines. 8289 */ 8290 8291 8292 8293 8294 8295 /* 8296 * MT-safety level (in DDI portion of flags). 8297 * 8298 * All drivers must be MT-safe, and must advertise this by specifying D_MP. 8299 * 8300 * The remainder of the flags apply only to STREAMS modules and drivers. 8301 * 8302 * A STREAMS driver or module can optionally select inner and outer perimeters. 8303 * The four mutually exclusive options that define the presence and scope 8304 * of the inner perimeter are: 8305 * D_MTPERMOD - per module single threaded. 8306 * D_MTQPAIR - per queue-pair single threaded. 8307 * D_MTPERQ - per queue instance single threaded. 8308 * (none of the above) - no inner perimeter restricting concurrency 8309 * 8310 * The presence of the outer perimeter is declared with: 8311 * D_MTOUTPERIM - a per-module outer perimeter. Can be combined with 8312 * D_MTPERQ, D_MTQPAIR, and D_MP. 8313 * 8314 * The concurrency when entering the different STREAMS entry points can be 8315 * modified with: 8316 * D_MTPUTSHARED - modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 8317 * specifying that the put procedures should not be 8318 * single-threaded at the inner perimeter. 8319 * _D_MTOCSHARED - EXPERIMENTAL - will be removed in a future release. 8320 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 8321 * specifying that the open and close procedures should not be 8322 * single-threaded at the inner perimeter. 8323 * _D_MTCBSHARED - EXPERIMENTAL - will be removed in a future release. 8324 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 8325 * specifying that the callback i.e qtimeout() procedures should 8326 * not be single-threaded at the inner perimeter. 8327 * _D_MTSVCSHARED - EXPERIMENTAL - will be removed in a future release. 8328 * Modifier for D_MTPERMOD only. Specifies that the service 8329 * procedure should not be single-threaded at the inner perimeter. 8330 * However only a single instance of the service thread can run on 8331 * any given queue. 8332 * D_MTOCEXCL - modifier for D_MTOUTPERIM specifying that the open and 8333 * close procedures should be single-threaded at the outer 8334 * perimeter. 8335 */ 8336 8337 8338 8339 /* 0x100 - see below */ 8340 /* 0x200 - see below */ 8341 /* 0x400 - see below */ 8342 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 8343 /* The inner perimeter scope bits */ 8344 8345 8346 /* Inner perimeter modification bits */ 8347 8348 8349 8350 /* Outer perimeter modification bits */ 8351 8352 8353 /* All the MT flags */ 8354 # 212 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 8355 /* extended qinit structure */ 8356 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 8357 8358 8359 8360 8361 8362 /* 8363 * Write options 8364 */ 8365 8366 8367 /* putmsg if sd_werror is set */ 8368 8369 /* 8370 * Read options 8371 */ 8372 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8373 /* 8374 * These next three read options are added for the sake of 8375 * user-level transparency. RPROTDAT will cause the stream head 8376 * to treat the contents of M_PROTO and M_PCPROTO message blocks 8377 * as data. RPROTDIS will prevent the stream head from failing 8378 * a read with EBADMSG if an M_PROTO or M_PCPROTO message is on 8379 * the front of the stream head read queue. Rather, the protocol 8380 * blocks will be silently discarded and the data associated with 8381 * the message (in linked M_DATA blocks), if any, will be delivered 8382 * to the user. RPROTNORM sets the default behavior, where read 8383 * will fail with EBADMSG if an M_PROTO or M_PCPROTO are at the 8384 * stream head. 8385 */ 8386 8387 8388 /* read data portion */ 8389 8390 8391 8392 8393 8394 /* 8395 * The next read option is used so that a TPI aware module can tell the 8396 * stream head to not flush M_PCPROTO messages when processing a read side 8397 * flush. This will avoid problems where a flush removes a T_OK_ACK. 8398 */ 8399 8400 8401 8402 8403 8404 8405 /* 8406 * Error options 8407 */ 8408 8409 /* 8410 * Error options to adjust the stream head error behavior with respect 8411 * to M_ERROR message for read and write side errors respectively. 8412 * The normal case is that the read/write side error is 8413 * persistent and these options allow the application or streams module/driver 8414 * to specify that errors are nonpersistent. In this case the error is cleared 8415 * after having been returned to read(), getmsg(), ioctl(), write(), putmsg(), 8416 * etc. 8417 */ 8418 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8419 /* 8420 * Flush options 8421 */ 8422 8423 8424 8425 8426 8427 /* in next byte */ 8428 /* 8429 * Copy options for M_SETOPS/SO_COPYOPT 8430 */ 8431 8432 8433 /* pages instead of bcopy */ 8434 8435 8436 8437 8438 /* 8439 * Events for which the SIGPOLL signal is to be sent. 8440 */ 8441 # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8442 /* SIGURG instead of SIGPOLL */ 8443 8444 /* 8445 * Flags for getmsg() and putmsg() syscall arguments. 8446 * "RS" stands for recv/send. The system calls were originally called 8447 * recv() and send(), but were renamed to avoid confusion with the BSD 8448 * calls of the same name. A value of zero will cause getmsg() to return 8449 * the first message on the stream head read queue and putmsg() to send 8450 * a normal priority message. 8451 * 8452 * Flags for strmakemsg() arguments (should define strmakemsg() flags). 8453 * Used to determine the message type of the control part of a message, 8454 * if RS_HIPRI, M_PCPROTO, else M_PROTO. 8455 */ 8456 8457 8458 8459 8460 /* 8461 * Flags for getpmsg() and putpmsg() syscall arguments. 8462 */ 8463 8464 /* 8465 * These are settable by the user and will be set on return 8466 * to indicate the priority of message received. 8467 */ 8468 8469 8470 8471 8472 /* 8473 * This is a private flag passed by libc to kernel to 8474 * identify that it is a XPG4_2 application. No 8475 * applications need to know about this flag. 8476 */ 8477 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8478 /* 8479 * Flags returned as value of getmsg() and getpmsg() syscall. 8480 */ 8481 8482 8483 8484 /* 8485 * Define to indicate that all multiplexors beneath a stream should 8486 * be unlinked. 8487 */ 8488 8489 8490 /* 8491 * Flag definitions for the I_ATMARK ioctl. 8492 */ 8493 8494 8495 8496 /* 8497 * Stream Ioctl defines 8498 */ 8499 8500 /* (STR|000) in use */ 8501 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8502 /* (STR|016) in use */ 8503 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8504 /* 8505 * IOCTLs (STR|050) - (STR|055) are available for use. 8506 */ 8507 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8508 /* 8509 * User level ioctl format for ioctls that go downstream (I_STR) 8510 */ 8511 struct strioctl { 8512 int ic_cmd; /* command */ 8513 int ic_timout; /* timeout value */ 8514 int ic_len; /* length of data */ 8515 char *ic_dp; /* pointer to data */ 8516 }; 8517 # 308 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8518 /* 8519 * Value for timeouts (ioctl, select) that denotes infinity 8520 */ 8521 8522 8523 8524 8525 8526 8527 /* 8528 * For _I_CMD: similar to strioctl, but with included buffer (to avoid copyin/ 8529 * copyout from another address space). NOTE: the size of this structure must 8530 * be less than libproc.h`MAXARGL for pr_ioctl() to handle it. 8531 */ 8532 8533 typedef struct strcmd { 8534 int sc_cmd; /* ioctl command */ 8535 int sc_timeout; /* timeout value (in seconds) */ 8536 int sc_len; /* length of data */ 8537 int sc_pad; 8538 char sc_buf[2048]; /* data buffer */ 8539 } strcmd_t; 8540 8541 8542 /* 8543 * Stream buffer structure for putmsg and getmsg system calls 8544 */ 8545 struct strbuf { 8546 int maxlen; /* no. of bytes in buffer */ 8547 int len; /* no. of bytes returned */ 8548 caddr_t buf; /* pointer to data */ 8549 }; 8550 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8551 /* 8552 * Stream I_PEEK ioctl format 8553 */ 8554 struct strpeek { 8555 struct strbuf ctlbuf; 8556 struct strbuf databuf; 8557 t_uscalar_t flags; 8558 }; 8559 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8560 /* 8561 * Stream I_FDINSERT ioctl format 8562 */ 8563 struct strfdinsert { 8564 struct strbuf ctlbuf; 8565 struct strbuf databuf; 8566 t_uscalar_t flags; 8567 int fildes; 8568 int offset; 8569 }; 8570 # 392 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8571 /* 8572 * Receive file descriptor structure 8573 */ 8574 # 426 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8575 struct strrecvfd { 8576 int fd; 8577 uid_t uid; 8578 gid_t gid; 8579 8580 8581 8582 char fill[8]; 8583 8584 }; 8585 8586 8587 /* 8588 * For I_LIST ioctl. 8589 */ 8590 struct str_mlist { 8591 char l_name[8 +1]; 8592 }; 8593 8594 struct str_list { 8595 int sl_nmods; 8596 struct str_mlist *sl_modlist; 8597 }; 8598 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8599 /* 8600 * Private, for _I_INSERT/_I_REMOVE ioctl. 8601 */ 8602 struct strmodconf { 8603 int pos; /* Position to be inserted/removed. */ 8604 caddr_t mod_name; /* Name of module. */ 8605 }; 8606 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8607 /* 8608 * For I_FLUSHBAND ioctl. Describes the priority 8609 * band for which the operation applies. 8610 */ 8611 struct bandinfo { 8612 unsigned char bi_pri; 8613 int bi_flag; 8614 }; 8615 8616 8617 /* 8618 * The argument for I_ESETSIG and I_EGETSIG ioctls. 8619 */ 8620 8621 struct strsigset { 8622 pid_t ss_pid; /* pgrp if negative */ 8623 int ss_events; /* S_ events */ 8624 }; 8625 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 8626 8627 8628 8629 8630 8631 extern int isastream(int); 8632 8633 extern int getmsg(int, struct strbuf *, 8634 struct strbuf *, int *); 8635 extern int putmsg(int, const struct strbuf *, const struct strbuf *, int); 8636 8637 extern int getpmsg(int, struct strbuf *, 8638 struct strbuf *, int *, 8639 int *); 8640 extern int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int); 8641 8642 /* 8643 * These three routines are duplicated in unistd.h; duplication necessitated 8644 * by XPG4.2 compliance/namespace issues. 8645 */ 8646 extern int ioctl(int, int, ...); 8647 extern int fattach(int, const char *); 8648 extern int fdetach(const char *); 8649 # 60 "../common/zones_args.c" 2 8650 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 8651 /* 8652 * CDDL HEADER START 8653 * 8654 * The contents of this file are subject to the terms of the 8655 * Common Development and Distribution License (the "License"). 8656 * You may not use this file except in compliance with the License. 8657 * 8658 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8659 * or http://www.opensolaris.org/os/licensing. 8660 * See the License for the specific language governing permissions 8661 * and limitations under the License. 8662 * 8663 * When distributing Covered Code, include this CDDL HEADER in each 8664 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8665 * If applicable, add the following below this CDDL HEADER, with the 8666 * fields enclosed by brackets "[]" replaced with your own identifying 8667 * information: Portions Copyright [yyyy] [name of copyright owner] 8668 * 8669 * CDDL HEADER END 8670 */ 8671 /* 8672 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8673 * 8674 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8675 * Use is subject to license terms. 8676 */ 8677 8678 8679 8680 8681 8682 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 8683 /* 8684 * CDDL HEADER START 8685 * 8686 * The contents of this file are subject to the terms of the 8687 * Common Development and Distribution License (the "License"). 8688 * You may not use this file except in compliance with the License. 8689 * 8690 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8691 * or http://www.opensolaris.org/os/licensing. 8692 * See the License for the specific language governing permissions 8693 * and limitations under the License. 8694 * 8695 * 8696 * When distributing Covered Code, include this CDDL HEADER in each 8697 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8698 * If applicable, add the following below this CDDL HEADER, with the 8699 * fields enclosed by brackets "[]" replaced with your own identifying 8700 * information: Portions Copyright [yyyy] [name of copyright owner] 8701 * 8702 * CDDL HEADER END 8703 */ 8704 8705 /* 8706 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8707 * Use is subject to license terms. 8708 * Copyright 2016 Joyent, Inc. 8709 */ 8710 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 8711 8712 8713 8714 8715 8716 /* 8717 * wchar_t is a built-in type in standard C++ and as such is not 8718 * defined here when using standard C++. However, the GNU compiler 8719 * fixincludes utility nonetheless creates its own version of this 8720 * header for use by gcc and g++. In that version it adds a redundant 8721 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 8722 * header we need to include the following magic comment: 8723 * 8724 * we must use the C++ compiler's type 8725 * 8726 * The above comment should not be removed or changed until GNU 8727 * gcc/fixinc/inclhack.def is updated to bypass this header. 8728 */ 8729 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 8730 extern char *dcgettext(const char *, const char *, const int); 8731 extern char *dgettext(const char *, const char *); 8732 extern char *gettext(const char *); 8733 extern char *textdomain(const char *); 8734 extern char *bindtextdomain(const char *, const char *); 8735 8736 /* 8737 * LI18NUX 2000 Globalization Specification Version 1.0 8738 * with Amendment 2 8739 */ 8740 extern char *dcngettext(const char *, const char *, 8741 const char *, unsigned long int, int); 8742 extern char *dngettext(const char *, const char *, 8743 const char *, unsigned long int); 8744 extern char *ngettext(const char *, const char *, unsigned long int); 8745 extern char *bind_textdomain_codeset(const char *, const char *); 8746 8747 /* Word handling functions --- requires dynamic linking */ 8748 /* Warning: these are experimental and subject to change. */ 8749 extern int wdinit(void); 8750 extern int wdchkind(wchar_t); 8751 extern int wdbindf(wchar_t, wchar_t, int); 8752 extern wchar_t *wddelim(wchar_t, wchar_t, int); 8753 extern wchar_t mcfiller(void); 8754 extern int mcwrap(void); 8755 # 61 "../common/zones_args.c" 2 8756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1 8757 /* 8758 * CDDL HEADER START 8759 * 8760 * The contents of this file are subject to the terms of the 8761 * Common Development and Distribution License, Version 1.0 only 8762 * (the "License"). You may not use this file except in compliance 8763 * with the License. 8764 * 8765 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8766 * or http://www.opensolaris.org/os/licensing. 8767 * See the License for the specific language governing permissions 8768 * and limitations under the License. 8769 * 8770 * When distributing Covered Code, include this CDDL HEADER in each 8771 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8772 * If applicable, add the following below this CDDL HEADER, with the 8773 * fields enclosed by brackets "[]" replaced with your own identifying 8774 * information: Portions Copyright [yyyy] [name of copyright owner] 8775 * 8776 * CDDL HEADER END 8777 */ 8778 /* 8779 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8780 * Use is subject to license terms. 8781 */ 8782 8783 /* 8784 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8785 * 8786 * Portions of this file developed by Garrett D'Amore are licensed 8787 * under the terms of the Common Development and Distribution License (CDDL) 8788 * version 1.0 only. The use of subsequent versions of the License are 8789 * is specifically prohibited unless those terms are not in conflict with 8790 * version 1.0 of the License. You can find this license on-line at 8791 * http://www.illumos.org/license/CDDL 8792 */ 8793 8794 8795 8796 8797 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1 8798 /* 8799 * CDDL HEADER START 8800 * 8801 * The contents of this file are subject to the terms of the 8802 * Common Development and Distribution License, Version 1.0 only 8803 * (the "License"). You may not use this file except in compliance 8804 * with the License. 8805 * 8806 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8807 * or http://www.opensolaris.org/os/licensing. 8808 * See the License for the specific language governing permissions 8809 * and limitations under the License. 8810 * 8811 * When distributing Covered Code, include this CDDL HEADER in each 8812 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8813 * If applicable, add the following below this CDDL HEADER, with the 8814 * fields enclosed by brackets "[]" replaced with your own identifying 8815 * information: Portions Copyright [yyyy] [name of copyright owner] 8816 * 8817 * CDDL HEADER END 8818 */ 8819 /* 8820 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8821 * Copyright 2014 PALO, Richard. 8822 * 8823 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8824 * Use is subject to license terms. 8825 */ 8826 8827 /* Copyright (c) 1988 AT&T */ 8828 /* All Rights Reserved */ 8829 8830 8831 /* 8832 * An application should not include this header directly. Instead it 8833 * should be included only through the inclusion of other Sun headers. 8834 * 8835 * The contents of this header is limited to identifiers specified in the 8836 * C Standard. Any new identifiers specified in future amendments to the 8837 * C Standard must be placed in this header. If these new identifiers 8838 * are required to also be in the C++ Standard "std" namespace, then for 8839 * anything other than macro definitions, corresponding "using" directives 8840 * must also be added to <locale.h>. 8841 */ 8842 8843 8844 8845 8846 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8847 /* 8848 * CDDL HEADER START 8849 * 8850 * The contents of this file are subject to the terms of the 8851 * Common Development and Distribution License (the "License"). 8852 * You may not use this file except in compliance with the License. 8853 * 8854 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8855 * or http://www.opensolaris.org/os/licensing. 8856 * See the License for the specific language governing permissions 8857 * and limitations under the License. 8858 * 8859 * When distributing Covered Code, include this CDDL HEADER in each 8860 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8861 * If applicable, add the following below this CDDL HEADER, with the 8862 * fields enclosed by brackets "[]" replaced with your own identifying 8863 * information: Portions Copyright [yyyy] [name of copyright owner] 8864 * 8865 * CDDL HEADER END 8866 */ 8867 8868 /* 8869 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8870 * Copyright 2016 Joyent, Inc. 8871 * 8872 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8873 * Use is subject to license terms. 8874 */ 8875 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 8876 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 8877 /* 8878 * This file and its contents are supplied under the terms of the 8879 * Common Development and Distribution License ("CDDL"), version 1.0. 8880 * You may only use this file in accordance with the terms of version 8881 * 1.0 of the CDDL. 8882 * 8883 * A full copy of the text of the CDDL should have accompanied this 8884 * source. A copy of the CDDL is also available via the Internet at 8885 * http://www.illumos.org/license/CDDL. 8886 */ 8887 8888 /* 8889 * Copyright 2014-2016 PALO, Richard. 8890 */ 8891 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 8892 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8893 struct lconv { 8894 char *decimal_point; 8895 char *thousands_sep; 8896 char *grouping; 8897 char *int_curr_symbol; 8898 char *currency_symbol; 8899 char *mon_decimal_point; 8900 char *mon_thousands_sep; 8901 char *mon_grouping; 8902 char *positive_sign; 8903 char *negative_sign; 8904 char int_frac_digits; 8905 char frac_digits; 8906 char p_cs_precedes; 8907 char p_sep_by_space; 8908 char n_cs_precedes; 8909 char n_sep_by_space; 8910 char p_sign_posn; 8911 char n_sign_posn; 8912 8913 /* 8914 * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999 8915 * standard. Namespace and binary compatibility dictate that visibility 8916 * of these new members be limited. Visibility is limited to a strictly 8917 * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined. 8918 */ 8919 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8920 }; 8921 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8922 extern char *setlocale(int, const char *); 8923 extern struct lconv *localeconv(void); 8924 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 8925 8926 8927 8928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 8929 /* 8930 * CDDL HEADER START 8931 * 8932 * The contents of this file are subject to the terms of the 8933 * Common Development and Distribution License (the "License"). 8934 * You may not use this file except in compliance with the License. 8935 * 8936 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8937 * or http://www.opensolaris.org/os/licensing. 8938 * See the License for the specific language governing permissions 8939 * and limitations under the License. 8940 * 8941 * When distributing Covered Code, include this CDDL HEADER in each 8942 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8943 * If applicable, add the following below this CDDL HEADER, with the 8944 * fields enclosed by brackets "[]" replaced with your own identifying 8945 * information: Portions Copyright [yyyy] [name of copyright owner] 8946 * 8947 * CDDL HEADER END 8948 */ 8949 /* 8950 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8951 * 8952 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8953 * Use is subject to license terms. 8954 */ 8955 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 8956 8957 8958 /* 8959 * Allow global visibility for symbols defined in 8960 * C++ "std" namespace in <iso/locale_iso.h>. 8961 */ 8962 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 8963 /* 8964 * These were added in POSIX 2008 as part of the newlocale() specification. 8965 */ 8966 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 8967 extern locale_t duplocale(locale_t); 8968 extern void freelocale(locale_t); 8969 extern locale_t newlocale(int, const char *, locale_t); 8970 extern locale_t uselocale(locale_t); 8971 8972 8973 extern locale_t __global_locale(void); 8974 # 62 "../common/zones_args.c" 2 8975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1 8976 /* 8977 * CDDL HEADER START 8978 * 8979 * The contents of this file are subject to the terms of the 8980 * Common Development and Distribution License, Version 1.0 only 8981 * (the "License"). You may not use this file except in compliance 8982 * with the License. 8983 * 8984 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8985 * or http://www.opensolaris.org/os/licensing. 8986 * See the License for the specific language governing permissions 8987 * and limitations under the License. 8988 * 8989 * When distributing Covered Code, include this CDDL HEADER in each 8990 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8991 * If applicable, add the following below this CDDL HEADER, with the 8992 * fields enclosed by brackets "[]" replaced with your own identifying 8993 * information: Portions Copyright [yyyy] [name of copyright owner] 8994 * 8995 * CDDL HEADER END 8996 */ 8997 /* Copyright (c) 1988 AT&T */ 8998 /* All Rights Reserved */ 8999 9000 /* 9001 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9002 * Copyright 2016 Joyent, Inc. 9003 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 9004 * 9005 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9006 * Use is subject to license terms. 9007 */ 9008 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 9009 extern void __assert(const char *, const char *, int); 9010 9011 9012 /* 9013 * In C11 the static_assert macro is always defined, unlike the assert macro. 9014 */ 9015 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 9016 /* 9017 * Note that the ANSI C Standard requires all headers to be idempotent except 9018 * <assert.h> which is explicitly required not to be idempotent (section 4.1.2). 9019 * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do 9020 * not span this entire file. 9021 */ 9022 # 63 "../common/zones_args.c" 2 9023 9024 /* 9025 * local includes 9026 */ 9027 9028 # 1 "../common/instzones_lib.h" 1 9029 /* 9030 * CDDL HEADER START 9031 * 9032 * The contents of this file are subject to the terms of the 9033 * Common Development and Distribution License (the "License"). 9034 * You may not use this file except in compliance with the License. 9035 * 9036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9037 * or http://www.opensolaris.org/os/licensing. 9038 * See the License for the specific language governing permissions 9039 * and limitations under the License. 9040 * 9041 * When distributing Covered Code, include this CDDL HEADER in each 9042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9043 * If applicable, add the following below this CDDL HEADER, with the 9044 * fields enclosed by brackets "[]" replaced with your own identifying 9045 * information: Portions Copyright [yyyy] [name of copyright owner] 9046 * 9047 * CDDL HEADER END 9048 */ 9049 /* 9050 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 9051 */ 9052 9053 9054 9055 9056 9057 9058 9059 /* 9060 * Module: instzones_lib.h 9061 * Group: libinstzones 9062 * Description: This module contains the libinstzones internal data structures, 9063 * constants, and function prototypes. This include should not be 9064 * needed by any external code (consumers of this library). 9065 */ 9066 9067 /* 9068 * required includes 9069 */ 9070 9071 /* System includes */ 9072 9073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 9074 /* 9075 * CDDL HEADER START 9076 * 9077 * The contents of this file are subject to the terms of the 9078 * Common Development and Distribution License (the "License"). 9079 * You may not use this file except in compliance with the License. 9080 * 9081 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9082 * or http://www.opensolaris.org/os/licensing. 9083 * See the License for the specific language governing permissions 9084 * and limitations under the License. 9085 * 9086 * When distributing Covered Code, include this CDDL HEADER in each 9087 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9088 * If applicable, add the following below this CDDL HEADER, with the 9089 * fields enclosed by brackets "[]" replaced with your own identifying 9090 * information: Portions Copyright [yyyy] [name of copyright owner] 9091 * 9092 * CDDL HEADER END 9093 */ 9094 /* 9095 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9096 * Use is subject to license terms. 9097 */ 9098 9099 9100 9101 9102 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9103 /* 9104 * CDDL HEADER START 9105 * 9106 * The contents of this file are subject to the terms of the 9107 * Common Development and Distribution License (the "License"). 9108 * You may not use this file except in compliance with the License. 9109 * 9110 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9111 * or http://www.opensolaris.org/os/licensing. 9112 * See the License for the specific language governing permissions 9113 * and limitations under the License. 9114 * 9115 * When distributing Covered Code, include this CDDL HEADER in each 9116 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9117 * If applicable, add the following below this CDDL HEADER, with the 9118 * fields enclosed by brackets "[]" replaced with your own identifying 9119 * information: Portions Copyright [yyyy] [name of copyright owner] 9120 * 9121 * CDDL HEADER END 9122 */ 9123 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9124 /* All Rights Reserved */ 9125 9126 9127 /* 9128 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9129 * Use is subject to license terms. 9130 * 9131 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9132 * Copyright 2016 Joyent, Inc. 9133 */ 9134 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 9135 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 9136 /* 9137 * CDDL HEADER START 9138 * 9139 * The contents of this file are subject to the terms of the 9140 * Common Development and Distribution License (the "License"). 9141 * You may not use this file except in compliance with the License. 9142 * 9143 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9144 * or http://www.opensolaris.org/os/licensing. 9145 * See the License for the specific language governing permissions 9146 * and limitations under the License. 9147 * 9148 * When distributing Covered Code, include this CDDL HEADER in each 9149 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9150 * If applicable, add the following below this CDDL HEADER, with the 9151 * fields enclosed by brackets "[]" replaced with your own identifying 9152 * information: Portions Copyright [yyyy] [name of copyright owner] 9153 * 9154 * CDDL HEADER END 9155 */ 9156 /* 9157 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 9158 * Copyright 2013, Joyent, Inc. All rights reserved. 9159 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 9160 * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>. 9161 */ 9162 9163 9164 9165 9166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9167 /* 9168 * CDDL HEADER START 9169 * 9170 * The contents of this file are subject to the terms of the 9171 * Common Development and Distribution License (the "License"). 9172 * You may not use this file except in compliance with the License. 9173 * 9174 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9175 * or http://www.opensolaris.org/os/licensing. 9176 * See the License for the specific language governing permissions 9177 * and limitations under the License. 9178 * 9179 * When distributing Covered Code, include this CDDL HEADER in each 9180 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9181 * If applicable, add the following below this CDDL HEADER, with the 9182 * fields enclosed by brackets "[]" replaced with your own identifying 9183 * information: Portions Copyright [yyyy] [name of copyright owner] 9184 * 9185 * CDDL HEADER END 9186 */ 9187 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9188 /* All Rights Reserved */ 9189 9190 9191 /* 9192 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9193 * Use is subject to license terms. 9194 * 9195 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9196 * Copyright 2016 Joyent, Inc. 9197 */ 9198 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 9200 /* 9201 * CDDL HEADER START 9202 * 9203 * The contents of this file are subject to the terms of the 9204 * Common Development and Distribution License (the "License"). 9205 * You may not use this file except in compliance with the License. 9206 * 9207 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9208 * or http://www.opensolaris.org/os/licensing. 9209 * See the License for the specific language governing permissions 9210 * and limitations under the License. 9211 * 9212 * When distributing Covered Code, include this CDDL HEADER in each 9213 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9214 * If applicable, add the following below this CDDL HEADER, with the 9215 * fields enclosed by brackets "[]" replaced with your own identifying 9216 * information: Portions Copyright [yyyy] [name of copyright owner] 9217 * 9218 * CDDL HEADER END 9219 */ 9220 /* 9221 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 9222 */ 9223 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9224 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 9225 /* 9226 * CDDL HEADER START 9227 * 9228 * The contents of this file are subject to the terms of the 9229 * Common Development and Distribution License (the "License"). 9230 * You may not use this file except in compliance with the License. 9231 * 9232 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9233 * or http://www.opensolaris.org/os/licensing. 9234 * See the License for the specific language governing permissions 9235 * and limitations under the License. 9236 * 9237 * When distributing Covered Code, include this CDDL HEADER in each 9238 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9239 * If applicable, add the following below this CDDL HEADER, with the 9240 * fields enclosed by brackets "[]" replaced with your own identifying 9241 * information: Portions Copyright [yyyy] [name of copyright owner] 9242 * 9243 * CDDL HEADER END 9244 */ 9245 9246 /* 9247 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 9248 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 9249 */ 9250 9251 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 9252 /* All Rights Reserved */ 9253 9254 /* 9255 * University Copyright- Copyright (c) 1982, 1986, 1988 9256 * The Regents of the University of California 9257 * All Rights Reserved 9258 * 9259 * University Acknowledgment- Portions of this document are derived from 9260 * software developed by the University of California, Berkeley, and its 9261 * contributors. 9262 */ 9263 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 9265 /* 9266 * CDDL HEADER START 9267 * 9268 * The contents of this file are subject to the terms of the 9269 * Common Development and Distribution License (the "License"). 9270 * You may not use this file except in compliance with the License. 9271 * 9272 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9273 * or http://www.opensolaris.org/os/licensing. 9274 * See the License for the specific language governing permissions 9275 * and limitations under the License. 9276 * 9277 * When distributing Covered Code, include this CDDL HEADER in each 9278 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9279 * If applicable, add the following below this CDDL HEADER, with the 9280 * fields enclosed by brackets "[]" replaced with your own identifying 9281 * information: Portions Copyright [yyyy] [name of copyright owner] 9282 * 9283 * CDDL HEADER END 9284 */ 9285 /* 9286 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 9287 */ 9288 9289 9290 9291 9292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 9293 /* 9294 * CDDL HEADER START 9295 * 9296 * The contents of this file are subject to the terms of the 9297 * Common Development and Distribution License (the "License"). 9298 * You may not use this file except in compliance with the License. 9299 * 9300 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9301 * or http://www.opensolaris.org/os/licensing. 9302 * See the License for the specific language governing permissions 9303 * and limitations under the License. 9304 * 9305 * When distributing Covered Code, include this CDDL HEADER in each 9306 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9307 * If applicable, add the following below this CDDL HEADER, with the 9308 * fields enclosed by brackets "[]" replaced with your own identifying 9309 * information: Portions Copyright [yyyy] [name of copyright owner] 9310 * 9311 * CDDL HEADER END 9312 */ 9313 9314 /* 9315 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 9316 * Copyright (c) 2012 by Delphix. All rights reserved. 9317 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9318 */ 9319 9320 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9321 /* All Rights Reserved */ 9322 9323 9324 9325 9326 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9327 /* 9328 * CDDL HEADER START 9329 * 9330 * The contents of this file are subject to the terms of the 9331 * Common Development and Distribution License (the "License"). 9332 * You may not use this file except in compliance with the License. 9333 * 9334 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9335 * or http://www.opensolaris.org/os/licensing. 9336 * See the License for the specific language governing permissions 9337 * and limitations under the License. 9338 * 9339 * When distributing Covered Code, include this CDDL HEADER in each 9340 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9341 * If applicable, add the following below this CDDL HEADER, with the 9342 * fields enclosed by brackets "[]" replaced with your own identifying 9343 * information: Portions Copyright [yyyy] [name of copyright owner] 9344 * 9345 * CDDL HEADER END 9346 */ 9347 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9348 /* All Rights Reserved */ 9349 9350 9351 /* 9352 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9353 * Use is subject to license terms. 9354 * 9355 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9356 * Copyright 2016 Joyent, Inc. 9357 */ 9358 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 9359 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1 9360 /* 9361 * CDDL HEADER START 9362 * 9363 * The contents of this file are subject to the terms of the 9364 * Common Development and Distribution License (the "License"). 9365 * You may not use this file except in compliance with the License. 9366 * 9367 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9368 * or http://www.opensolaris.org/os/licensing. 9369 * See the License for the specific language governing permissions 9370 * and limitations under the License. 9371 * 9372 * When distributing Covered Code, include this CDDL HEADER in each 9373 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9374 * If applicable, add the following below this CDDL HEADER, with the 9375 * fields enclosed by brackets "[]" replaced with your own identifying 9376 * information: Portions Copyright [yyyy] [name of copyright owner] 9377 * 9378 * CDDL HEADER END 9379 */ 9380 /* 9381 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 9382 * Copyright (c) 2012 by Delphix. All rights reserved. 9383 */ 9384 9385 9386 9387 9388 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9389 /* 9390 * CDDL HEADER START 9391 * 9392 * The contents of this file are subject to the terms of the 9393 * Common Development and Distribution License (the "License"). 9394 * You may not use this file except in compliance with the License. 9395 * 9396 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9397 * or http://www.opensolaris.org/os/licensing. 9398 * See the License for the specific language governing permissions 9399 * and limitations under the License. 9400 * 9401 * When distributing Covered Code, include this CDDL HEADER in each 9402 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9403 * If applicable, add the following below this CDDL HEADER, with the 9404 * fields enclosed by brackets "[]" replaced with your own identifying 9405 * information: Portions Copyright [yyyy] [name of copyright owner] 9406 * 9407 * CDDL HEADER END 9408 */ 9409 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9410 /* All Rights Reserved */ 9411 9412 9413 /* 9414 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9415 * Use is subject to license terms. 9416 * 9417 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9418 * Copyright 2016 Joyent, Inc. 9419 */ 9420 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 9421 9422 9423 9424 9425 9426 9427 /* 9428 * Per-allocation flags 9429 */ 9430 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 9431 /* 9432 * The following flags are restricted for use only within the kernel. 9433 * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. 9434 * VM_NORELOC is used by the kernel when static VA->PA mappings are required. 9435 */ 9436 9437 9438 /* 9439 * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags 9440 * and forgo reaping if the allocation or attempted import, fails. This 9441 * flag is a segkmem-specific flag, and should not be used by anyone else. 9442 */ 9443 9444 9445 /* 9446 * VM_ENDALLOC requests that large addresses be preferred in allocations. 9447 * Has no effect if VM_NEXTFIT is active. 9448 */ 9449 9450 9451 9452 9453 /* 9454 * Arena creation flags 9455 */ 9456 9457 9458 9459 9460 /* 9461 * internal use only; the import function uses the vmem_ximport_t interface 9462 * and may increase the request size if it so desires. 9463 * VMC_XALIGN, for use with vmem_xcreate, specifies that 9464 * the address returned by the import function will be 9465 * aligned according to the alignment argument. 9466 */ 9467 9468 9469 9470 9471 /* 9472 * Public segment types 9473 */ 9474 9475 9476 9477 /* 9478 * Implementation-private segment types 9479 */ 9480 9481 9482 9483 9484 /* 9485 * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may 9486 * call back into the arena being walked, so vmem_walk() must drop the 9487 * arena lock before each callback. The caveat is that since the arena 9488 * isn't locked, its state can change. Therefore it is up to the callback 9489 * routine to handle cases where the segment isn't of the expected type. 9490 * For example, we use this to walk heap_arena when generating a crash dump; 9491 * see segkmem_dump() for sample usage. 9492 */ 9493 9494 9495 typedef struct vmem vmem_t; 9496 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); 9497 typedef void (vmem_free_t)(vmem_t *, void *, size_t); 9498 9499 /* 9500 * Alternate import style; the requested size is passed in a pointer, 9501 * which can be increased by the import function if desired. 9502 */ 9503 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); 9504 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 9505 extern vmem_t *vmem_create(const char *, void *, size_t, size_t, 9506 vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); 9507 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, 9508 vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); 9509 extern void vmem_destroy(vmem_t *); 9510 extern void *vmem_alloc(vmem_t *, size_t, int); 9511 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, 9512 void *, void *, int); 9513 extern void vmem_free(vmem_t *, void *, size_t); 9514 extern void vmem_xfree(vmem_t *, void *, size_t); 9515 extern void *vmem_add(vmem_t *, void *, size_t, int); 9516 extern int vmem_contains(vmem_t *, void *, size_t); 9517 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); 9518 extern size_t vmem_size(vmem_t *, int); 9519 extern void vmem_qcache_reap(vmem_t *vmp); 9520 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 9521 9522 9523 9524 9525 9526 /* 9527 * Kernel memory allocator: DDI interfaces. 9528 * See kmem_alloc(9F) for details. 9529 */ 9530 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 9531 /* 9532 * Kernel memory allocator: private interfaces. 9533 * These interfaces are still evolving. 9534 * Do not use them in unbundled drivers. 9535 */ 9536 9537 /* 9538 * Flags for kmem_cache_create() 9539 */ 9540 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 9541 struct kmem_cache; /* cache structure is opaque to kmem clients */ 9542 9543 typedef struct kmem_cache kmem_cache_t; 9544 9545 /* Client response to kmem move callback */ 9546 typedef enum kmem_cbrc { 9547 KMEM_CBRC_YES, 9548 KMEM_CBRC_NO, 9549 KMEM_CBRC_LATER, 9550 KMEM_CBRC_DONT_NEED, 9551 KMEM_CBRC_DONT_KNOW 9552 } kmem_cbrc_t; 9553 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 9554 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 9555 /* 9556 * CDDL HEADER START 9557 * 9558 * The contents of this file are subject to the terms of the 9559 * Common Development and Distribution License (the "License"). 9560 * You may not use this file except in compliance with the License. 9561 * 9562 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9563 * or http://www.opensolaris.org/os/licensing. 9564 * See the License for the specific language governing permissions 9565 * and limitations under the License. 9566 * 9567 * When distributing Covered Code, include this CDDL HEADER in each 9568 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9569 * If applicable, add the following below this CDDL HEADER, with the 9570 * fields enclosed by brackets "[]" replaced with your own identifying 9571 * information: Portions Copyright [yyyy] [name of copyright owner] 9572 * 9573 * CDDL HEADER END 9574 */ 9575 /* 9576 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 9577 * 9578 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9579 * Use is subject to license terms. 9580 */ 9581 9582 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9583 /* All Rights Reserved */ 9584 9585 /* 9586 * University Copyright- Copyright (c) 1982, 1986, 1988 9587 * The Regents of the University of California 9588 * All Rights Reserved 9589 * 9590 * University Acknowledgment- Portions of this document are derived from 9591 * software developed by the University of California, Berkeley, and its 9592 * contributors. 9593 */ 9594 9595 9596 9597 9598 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9599 /* 9600 * CDDL HEADER START 9601 * 9602 * The contents of this file are subject to the terms of the 9603 * Common Development and Distribution License (the "License"). 9604 * You may not use this file except in compliance with the License. 9605 * 9606 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9607 * or http://www.opensolaris.org/os/licensing. 9608 * See the License for the specific language governing permissions 9609 * and limitations under the License. 9610 * 9611 * When distributing Covered Code, include this CDDL HEADER in each 9612 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9613 * If applicable, add the following below this CDDL HEADER, with the 9614 * fields enclosed by brackets "[]" replaced with your own identifying 9615 * information: Portions Copyright [yyyy] [name of copyright owner] 9616 * 9617 * CDDL HEADER END 9618 */ 9619 9620 /* 9621 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9622 * Copyright 2016 Joyent, Inc. 9623 * 9624 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9625 * Use is subject to license terms. 9626 */ 9627 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9628 9629 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9630 /* 9631 * CDDL HEADER START 9632 * 9633 * The contents of this file are subject to the terms of the 9634 * Common Development and Distribution License (the "License"). 9635 * You may not use this file except in compliance with the License. 9636 * 9637 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9638 * or http://www.opensolaris.org/os/licensing. 9639 * See the License for the specific language governing permissions 9640 * and limitations under the License. 9641 * 9642 * When distributing Covered Code, include this CDDL HEADER in each 9643 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9644 * If applicable, add the following below this CDDL HEADER, with the 9645 * fields enclosed by brackets "[]" replaced with your own identifying 9646 * information: Portions Copyright [yyyy] [name of copyright owner] 9647 * 9648 * CDDL HEADER END 9649 */ 9650 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9651 /* All Rights Reserved */ 9652 9653 9654 /* 9655 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9656 * Use is subject to license terms. 9657 * 9658 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9659 * Copyright 2016 Joyent, Inc. 9660 */ 9661 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9662 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 9663 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9664 /* All Rights Reserved */ 9665 9666 9667 /* 9668 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 9669 * All rights reserved. The Berkeley software License Agreement 9670 * specifies the terms and conditions for redistribution. 9671 */ 9672 9673 /* 9674 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9675 * 9676 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9677 * Use is subject to license terms. 9678 * 9679 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9680 */ 9681 9682 /* 9683 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 9684 */ 9685 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9686 9687 9688 9689 9690 9691 /* 9692 * Process priority specifications 9693 */ 9694 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9695 /* 9696 * Resource limits 9697 */ 9698 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9699 typedef unsigned long rlim_t; 9700 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9701 struct rlimit { 9702 rlim_t rlim_cur; /* current limit */ 9703 rlim_t rlim_max; /* maximum value for rlim_cur */ 9704 }; 9705 9706 /* transitional large file interface versions */ 9707 9708 9709 typedef u_longlong_t rlim64_t; 9710 9711 9712 9713 9714 9715 struct rlimit64 { 9716 rlim64_t rlim_cur; /* current limit */ 9717 rlim64_t rlim_max; /* maximum value for rlim_cur */ 9718 }; 9719 9720 9721 9722 /* 9723 * Although the saved rlimits were initially introduced by the large file API, 9724 * they are now available for all resource limits on the 64-bit kernel and for 9725 * cpu time and file size limits on the 32-bit kernel. 9726 */ 9727 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9728 struct rusage { 9729 struct timeval ru_utime; /* user time used */ 9730 struct timeval ru_stime; /* system time used */ 9731 long ru_maxrss; /* <unimp> */ 9732 long ru_ixrss; /* <unimp> */ 9733 long ru_idrss; /* <unimp> */ 9734 long ru_isrss; /* <unimp> */ 9735 long ru_minflt; /* any page faults not requiring I/O */ 9736 long ru_majflt; /* any page faults requiring I/O */ 9737 long ru_nswap; /* swaps */ 9738 long ru_inblock; /* block input operations */ 9739 long ru_oublock; /* block output operations */ 9740 long ru_msgsnd; /* streams messsages sent */ 9741 long ru_msgrcv; /* streams messages received */ 9742 long ru_nsignals; /* signals received */ 9743 long ru_nvcsw; /* voluntary context switches */ 9744 long ru_nivcsw; /* involuntary " */ 9745 }; 9746 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9747 /* 9748 * In the LP64 compilation environment, map large file interfaces 9749 * back to native versions where possible. 9750 */ 9751 9752 9753 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9754 #pragma redefine_extname setrlimit64 setrlimit 9755 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9756 9757 9758 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9759 #pragma redefine_extname getrlimit64 getrlimit 9760 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9761 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9762 extern int setrlimit(int, const struct rlimit *); 9763 extern int getrlimit(int, struct rlimit *); 9764 9765 /* transitional large file interfaces */ 9766 9767 9768 extern int setrlimit64(int, const struct rlimit64 *); 9769 extern int getrlimit64(int, struct rlimit64 *); 9770 9771 9772 extern int getpriority(int, id_t); 9773 extern int setpriority(int, id_t, int); 9774 extern int getrusage(int, struct rusage *); 9775 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 9776 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9777 /* 9778 * CDDL HEADER START 9779 * 9780 * The contents of this file are subject to the terms of the 9781 * Common Development and Distribution License (the "License"). 9782 * You may not use this file except in compliance with the License. 9783 * 9784 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9785 * or http://www.opensolaris.org/os/licensing. 9786 * See the License for the specific language governing permissions 9787 * and limitations under the License. 9788 * 9789 * When distributing Covered Code, include this CDDL HEADER in each 9790 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9791 * If applicable, add the following below this CDDL HEADER, with the 9792 * fields enclosed by brackets "[]" replaced with your own identifying 9793 * information: Portions Copyright [yyyy] [name of copyright owner] 9794 * 9795 * CDDL HEADER END 9796 */ 9797 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9798 /* All Rights Reserved */ 9799 9800 9801 /* 9802 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9803 * Use is subject to license terms. 9804 * 9805 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9806 * Copyright 2016 Joyent, Inc. 9807 */ 9808 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 9809 9810 9811 9812 9813 9814 /* 9815 * Available local actions and flags. 9816 */ 9817 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9818 /* 9819 * Available global actions and flags. 9820 */ 9821 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9822 /* 9823 * getrctl(2) flag values 9824 */ 9825 9826 9827 9828 9829 /* 9830 * setrctl(2) flag values 9831 */ 9832 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9833 /* 9834 * rctl_priv_t: rctl privilege defined values 9835 * A large amount of space has been deliberately left between these privileges 9836 * to permit future enrichment of the control privilege value. 9837 */ 9838 9839 9840 9841 9842 typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ 9843 typedef int rctl_priv_t; 9844 9845 typedef struct rctlblk rctlblk_t; 9846 9847 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); 9848 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); 9849 9850 typedef enum { 9851 RCENTITY_PROCESS, 9852 RCENTITY_TASK, 9853 RCENTITY_PROJECT, 9854 RCENTITY_ZONE 9855 } rctl_entity_t; 9856 9857 9858 9859 9860 typedef struct rctl_set rctl_set_t; 9861 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9862 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 9863 /* 9864 * CDDL HEADER START 9865 * 9866 * The contents of this file are subject to the terms of the 9867 * Common Development and Distribution License (the "License"). 9868 * You may not use this file except in compliance with the License. 9869 * 9870 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9871 * or http://www.opensolaris.org/os/licensing. 9872 * See the License for the specific language governing permissions 9873 * and limitations under the License. 9874 * 9875 * When distributing Covered Code, include this CDDL HEADER in each 9876 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9877 * If applicable, add the following below this CDDL HEADER, with the 9878 * fields enclosed by brackets "[]" replaced with your own identifying 9879 * information: Portions Copyright [yyyy] [name of copyright owner] 9880 * 9881 * CDDL HEADER END 9882 */ 9883 /* 9884 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9885 * Use is subject to license terms. 9886 */ 9887 9888 9889 9890 9891 #pragma ident "%Z%%M% %I% %E% SMI" 9892 9893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 9894 /* 9895 * CDDL HEADER START 9896 * 9897 * The contents of this file are subject to the terms of the 9898 * Common Development and Distribution License (the "License"). 9899 * You may not use this file except in compliance with the License. 9900 * 9901 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9902 * or http://www.opensolaris.org/os/licensing. 9903 * See the License for the specific language governing permissions 9904 * and limitations under the License. 9905 * 9906 * When distributing Covered Code, include this CDDL HEADER in each 9907 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9908 * If applicable, add the following below this CDDL HEADER, with the 9909 * fields enclosed by brackets "[]" replaced with your own identifying 9910 * information: Portions Copyright [yyyy] [name of copyright owner] 9911 * 9912 * CDDL HEADER END 9913 */ 9914 /* 9915 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 9916 */ 9917 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 9918 9919 9920 9921 9922 9923 typedef struct ipc_rqty { /* datum protected by: */ 9924 rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ 9925 rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ 9926 rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ 9927 } ipc_rqty_t; 9928 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9929 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 9930 /* 9931 * CDDL HEADER START 9932 * 9933 * The contents of this file are subject to the terms of the 9934 * Common Development and Distribution License (the "License"). 9935 * You may not use this file except in compliance with the License. 9936 * 9937 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9938 * or http://www.opensolaris.org/os/licensing. 9939 * See the License for the specific language governing permissions 9940 * and limitations under the License. 9941 * 9942 * When distributing Covered Code, include this CDDL HEADER in each 9943 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9944 * If applicable, add the following below this CDDL HEADER, with the 9945 * fields enclosed by brackets "[]" replaced with your own identifying 9946 * information: Portions Copyright [yyyy] [name of copyright owner] 9947 * 9948 * CDDL HEADER END 9949 */ 9950 /* 9951 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9952 * 9953 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9954 * Use is subject to license terms. 9955 */ 9956 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 9957 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9958 /* 9959 * CDDL HEADER START 9960 * 9961 * The contents of this file are subject to the terms of the 9962 * Common Development and Distribution License (the "License"). 9963 * You may not use this file except in compliance with the License. 9964 * 9965 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9966 * or http://www.opensolaris.org/os/licensing. 9967 * See the License for the specific language governing permissions 9968 * and limitations under the License. 9969 * 9970 * When distributing Covered Code, include this CDDL HEADER in each 9971 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9972 * If applicable, add the following below this CDDL HEADER, with the 9973 * fields enclosed by brackets "[]" replaced with your own identifying 9974 * information: Portions Copyright [yyyy] [name of copyright owner] 9975 * 9976 * CDDL HEADER END 9977 */ 9978 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9979 /* All Rights Reserved */ 9980 9981 9982 /* 9983 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9984 * Use is subject to license terms. 9985 * 9986 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9987 * Copyright 2016 Joyent, Inc. 9988 */ 9989 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 9990 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 9991 /* 9992 * CDDL HEADER START 9993 * 9994 * The contents of this file are subject to the terms of the 9995 * Common Development and Distribution License (the "License"). 9996 * You may not use this file except in compliance with the License. 9997 * 9998 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9999 * or http://www.opensolaris.org/os/licensing. 10000 * See the License for the specific language governing permissions 10001 * and limitations under the License. 10002 * 10003 * When distributing Covered Code, include this CDDL HEADER in each 10004 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10005 * If applicable, add the following below this CDDL HEADER, with the 10006 * fields enclosed by brackets "[]" replaced with your own identifying 10007 * information: Portions Copyright [yyyy] [name of copyright owner] 10008 * 10009 * CDDL HEADER END 10010 */ 10011 /* 10012 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 10013 * All Rights Reserved 10014 * 10015 */ 10016 10017 /* 10018 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10019 * 10020 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 10021 * Use is subject to license terms. 10022 */ 10023 10024 10025 10026 10027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10028 /* 10029 * CDDL HEADER START 10030 * 10031 * The contents of this file are subject to the terms of the 10032 * Common Development and Distribution License (the "License"). 10033 * You may not use this file except in compliance with the License. 10034 * 10035 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10036 * or http://www.opensolaris.org/os/licensing. 10037 * See the License for the specific language governing permissions 10038 * and limitations under the License. 10039 * 10040 * When distributing Covered Code, include this CDDL HEADER in each 10041 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10042 * If applicable, add the following below this CDDL HEADER, with the 10043 * fields enclosed by brackets "[]" replaced with your own identifying 10044 * information: Portions Copyright [yyyy] [name of copyright owner] 10045 * 10046 * CDDL HEADER END 10047 */ 10048 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10049 /* All Rights Reserved */ 10050 10051 10052 /* 10053 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10054 * Use is subject to license terms. 10055 * 10056 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10057 * Copyright 2016 Joyent, Inc. 10058 */ 10059 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 10060 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 10061 /* 10062 * CDDL HEADER START 10063 * 10064 * The contents of this file are subject to the terms of the 10065 * Common Development and Distribution License, Version 1.0 only 10066 * (the "License"). You may not use this file except in compliance 10067 * with the License. 10068 * 10069 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10070 * or http://www.opensolaris.org/os/licensing. 10071 * See the License for the specific language governing permissions 10072 * and limitations under the License. 10073 * 10074 * When distributing Covered Code, include this CDDL HEADER in each 10075 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10076 * If applicable, add the following below this CDDL HEADER, with the 10077 * fields enclosed by brackets "[]" replaced with your own identifying 10078 * information: Portions Copyright [yyyy] [name of copyright owner] 10079 * 10080 * CDDL HEADER END 10081 */ 10082 /* 10083 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10084 * Use is subject to license terms. 10085 */ 10086 10087 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10088 /* All Rights Reserved */ 10089 10090 10091 10092 10093 10094 #pragma ident "%Z%%M% %I% %E% SMI" 10095 10096 10097 10098 10099 10100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10101 /* 10102 * CDDL HEADER START 10103 * 10104 * The contents of this file are subject to the terms of the 10105 * Common Development and Distribution License (the "License"). 10106 * You may not use this file except in compliance with the License. 10107 * 10108 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10109 * or http://www.opensolaris.org/os/licensing. 10110 * See the License for the specific language governing permissions 10111 * and limitations under the License. 10112 * 10113 * When distributing Covered Code, include this CDDL HEADER in each 10114 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10115 * If applicable, add the following below this CDDL HEADER, with the 10116 * fields enclosed by brackets "[]" replaced with your own identifying 10117 * information: Portions Copyright [yyyy] [name of copyright owner] 10118 * 10119 * CDDL HEADER END 10120 */ 10121 10122 /* 10123 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10124 * Copyright 2016 Joyent, Inc. 10125 * 10126 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10127 * Use is subject to license terms. 10128 */ 10129 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10131 /* 10132 * CDDL HEADER START 10133 * 10134 * The contents of this file are subject to the terms of the 10135 * Common Development and Distribution License (the "License"). 10136 * You may not use this file except in compliance with the License. 10137 * 10138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10139 * or http://www.opensolaris.org/os/licensing. 10140 * See the License for the specific language governing permissions 10141 * and limitations under the License. 10142 * 10143 * When distributing Covered Code, include this CDDL HEADER in each 10144 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10145 * If applicable, add the following below this CDDL HEADER, with the 10146 * fields enclosed by brackets "[]" replaced with your own identifying 10147 * information: Portions Copyright [yyyy] [name of copyright owner] 10148 * 10149 * CDDL HEADER END 10150 */ 10151 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10152 /* All Rights Reserved */ 10153 10154 10155 /* 10156 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10157 * Use is subject to license terms. 10158 * 10159 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10160 * Copyright 2016 Joyent, Inc. 10161 */ 10162 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 10164 /* 10165 * CDDL HEADER START 10166 * 10167 * The contents of this file are subject to the terms of the 10168 * Common Development and Distribution License (the "License"). 10169 * You may not use this file except in compliance with the License. 10170 * 10171 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10172 * or http://www.opensolaris.org/os/licensing. 10173 * See the License for the specific language governing permissions 10174 * and limitations under the License. 10175 * 10176 * When distributing Covered Code, include this CDDL HEADER in each 10177 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10178 * If applicable, add the following below this CDDL HEADER, with the 10179 * fields enclosed by brackets "[]" replaced with your own identifying 10180 * information: Portions Copyright [yyyy] [name of copyright owner] 10181 * 10182 * CDDL HEADER END 10183 */ 10184 10185 /* 10186 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 10187 * Use is subject to license terms. 10188 */ 10189 10190 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10191 /* All Rights Reserved */ 10192 10193 /* 10194 * University Copyright- Copyright (c) 1982, 1986, 1988 10195 * The Regents of the University of California 10196 * All Rights Reserved 10197 * 10198 * University Acknowledgment- Portions of this document are derived from 10199 * software developed by the University of California, Berkeley, and its 10200 * contributors. 10201 */ 10202 10203 10204 10205 10206 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10207 /* 10208 * CDDL HEADER START 10209 * 10210 * The contents of this file are subject to the terms of the 10211 * Common Development and Distribution License (the "License"). 10212 * You may not use this file except in compliance with the License. 10213 * 10214 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10215 * or http://www.opensolaris.org/os/licensing. 10216 * See the License for the specific language governing permissions 10217 * and limitations under the License. 10218 * 10219 * When distributing Covered Code, include this CDDL HEADER in each 10220 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10221 * If applicable, add the following below this CDDL HEADER, with the 10222 * fields enclosed by brackets "[]" replaced with your own identifying 10223 * information: Portions Copyright [yyyy] [name of copyright owner] 10224 * 10225 * CDDL HEADER END 10226 */ 10227 10228 /* 10229 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10230 * Copyright 2016 Joyent, Inc. 10231 * 10232 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10233 * Use is subject to license terms. 10234 */ 10235 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 10236 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 10237 /* 10238 * CDDL HEADER START 10239 * 10240 * The contents of this file are subject to the terms of the 10241 * Common Development and Distribution License (the "License"). 10242 * You may not use this file except in compliance with the License. 10243 * 10244 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10245 * or http://www.opensolaris.org/os/licensing. 10246 * See the License for the specific language governing permissions 10247 * and limitations under the License. 10248 * 10249 * When distributing Covered Code, include this CDDL HEADER in each 10250 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10251 * If applicable, add the following below this CDDL HEADER, with the 10252 * fields enclosed by brackets "[]" replaced with your own identifying 10253 * information: Portions Copyright [yyyy] [name of copyright owner] 10254 * 10255 * CDDL HEADER END 10256 */ 10257 10258 /* 10259 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 10260 * Use is subject to license terms. 10261 */ 10262 10263 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10264 /* All Rights Reserved */ 10265 10266 /* 10267 * An application should not include this header directly. Instead it 10268 * should be included only through the inclusion of other Sun headers. 10269 * 10270 * The contents of this header is limited to identifiers specified in the 10271 * C Standard. Any new identifiers specified in future amendments to the 10272 * C Standard must be placed in this header. If these new identifiers 10273 * are required to also be in the C++ Standard "std" namespace, then for 10274 * anything other than macro definitions, corresponding "using" directives 10275 * must also be added to <sys/signal.h.h>. 10276 */ 10277 10278 10279 10280 10281 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 10282 /* 10283 * CDDL HEADER START 10284 * 10285 * The contents of this file are subject to the terms of the 10286 * Common Development and Distribution License (the "License"). 10287 * You may not use this file except in compliance with the License. 10288 * 10289 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10290 * or http://www.opensolaris.org/os/licensing. 10291 * See the License for the specific language governing permissions 10292 * and limitations under the License. 10293 * 10294 * When distributing Covered Code, include this CDDL HEADER in each 10295 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10296 * If applicable, add the following below this CDDL HEADER, with the 10297 * fields enclosed by brackets "[]" replaced with your own identifying 10298 * information: Portions Copyright [yyyy] [name of copyright owner] 10299 * 10300 * CDDL HEADER END 10301 */ 10302 10303 /* 10304 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 10305 * All Rights Reserved 10306 * 10307 */ 10308 10309 /* 10310 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10311 * Use is subject to license terms. 10312 */ 10313 10314 /* 10315 * WARNING: This is an implementation-specific header, 10316 * its contents are not guaranteed. Applications 10317 * should include <unistd.h> and not this header. 10318 */ 10319 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 10320 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 10321 /* insert new signals here, and move _SIGRTM* appropriately */ 10322 10323 10324 extern long _sysconf(int); /* System Private interface to sysconf() */ 10325 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 10326 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10327 /* 10328 * We need <sys/siginfo.h> for the declaration of siginfo_t. 10329 */ 10330 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 10331 /* 10332 * CDDL HEADER START 10333 * 10334 * The contents of this file are subject to the terms of the 10335 * Common Development and Distribution License, Version 1.0 only 10336 * (the "License"). You may not use this file except in compliance 10337 * with the License. 10338 * 10339 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10340 * or http://www.opensolaris.org/os/licensing. 10341 * See the License for the specific language governing permissions 10342 * and limitations under the License. 10343 * 10344 * When distributing Covered Code, include this CDDL HEADER in each 10345 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10346 * If applicable, add the following below this CDDL HEADER, with the 10347 * fields enclosed by brackets "[]" replaced with your own identifying 10348 * information: Portions Copyright [yyyy] [name of copyright owner] 10349 * 10350 * CDDL HEADER END 10351 */ 10352 /* 10353 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10354 * Use is subject to license terms. 10355 */ 10356 10357 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10358 /* All Rights Reserved */ 10359 10360 10361 10362 10363 #pragma ident "%Z%%M% %I% %E% SMI" 10364 10365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10366 /* 10367 * CDDL HEADER START 10368 * 10369 * The contents of this file are subject to the terms of the 10370 * Common Development and Distribution License (the "License"). 10371 * You may not use this file except in compliance with the License. 10372 * 10373 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10374 * or http://www.opensolaris.org/os/licensing. 10375 * See the License for the specific language governing permissions 10376 * and limitations under the License. 10377 * 10378 * When distributing Covered Code, include this CDDL HEADER in each 10379 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10380 * If applicable, add the following below this CDDL HEADER, with the 10381 * fields enclosed by brackets "[]" replaced with your own identifying 10382 * information: Portions Copyright [yyyy] [name of copyright owner] 10383 * 10384 * CDDL HEADER END 10385 */ 10386 10387 /* 10388 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10389 * Copyright 2016 Joyent, Inc. 10390 * 10391 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10392 * Use is subject to license terms. 10393 */ 10394 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10395 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10396 /* 10397 * CDDL HEADER START 10398 * 10399 * The contents of this file are subject to the terms of the 10400 * Common Development and Distribution License (the "License"). 10401 * You may not use this file except in compliance with the License. 10402 * 10403 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10404 * or http://www.opensolaris.org/os/licensing. 10405 * See the License for the specific language governing permissions 10406 * and limitations under the License. 10407 * 10408 * When distributing Covered Code, include this CDDL HEADER in each 10409 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10410 * If applicable, add the following below this CDDL HEADER, with the 10411 * fields enclosed by brackets "[]" replaced with your own identifying 10412 * information: Portions Copyright [yyyy] [name of copyright owner] 10413 * 10414 * CDDL HEADER END 10415 */ 10416 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10417 /* All Rights Reserved */ 10418 10419 10420 /* 10421 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10422 * Use is subject to license terms. 10423 * 10424 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10425 * Copyright 2016 Joyent, Inc. 10426 */ 10427 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10428 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10429 /* 10430 * The union sigval is also defined in <time.h> as per X/Open and 10431 * POSIX requirements. 10432 */ 10433 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10434 /* 10435 * The sigevent structure is also defined in <time.h> as per X/Open and 10436 * POSIX requirements. 10437 */ 10438 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10439 /* values of sigev_notify */ 10440 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10441 /* 10442 * negative signal codes are reserved for future use for user generated 10443 * signals 10444 */ 10445 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10446 /* 10447 * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and 10448 * SIGBUS) from <sys/machsig.h> 10449 */ 10450 10451 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 10452 /* 10453 * CDDL HEADER START 10454 * 10455 * The contents of this file are subject to the terms of the 10456 * Common Development and Distribution License, Version 1.0 only 10457 * (the "License"). You may not use this file except in compliance 10458 * with the License. 10459 * 10460 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10461 * or http://www.opensolaris.org/os/licensing. 10462 * See the License for the specific language governing permissions 10463 * and limitations under the License. 10464 * 10465 * When distributing Covered Code, include this CDDL HEADER in each 10466 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10467 * If applicable, add the following below this CDDL HEADER, with the 10468 * fields enclosed by brackets "[]" replaced with your own identifying 10469 * information: Portions Copyright [yyyy] [name of copyright owner] 10470 * 10471 * CDDL HEADER END 10472 */ 10473 /* 10474 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 10475 * Use is subject to license terms. 10476 */ 10477 10478 /* Copyright (c) 1988 AT&T */ 10479 /* All Rights Reserved */ 10480 10481 10482 10483 10484 10485 #pragma ident "%Z%%M% %I% %E% SMI" 10486 10487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10488 /* 10489 * CDDL HEADER START 10490 * 10491 * The contents of this file are subject to the terms of the 10492 * Common Development and Distribution License (the "License"). 10493 * You may not use this file except in compliance with the License. 10494 * 10495 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10496 * or http://www.opensolaris.org/os/licensing. 10497 * See the License for the specific language governing permissions 10498 * and limitations under the License. 10499 * 10500 * When distributing Covered Code, include this CDDL HEADER in each 10501 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10502 * If applicable, add the following below this CDDL HEADER, with the 10503 * fields enclosed by brackets "[]" replaced with your own identifying 10504 * information: Portions Copyright [yyyy] [name of copyright owner] 10505 * 10506 * CDDL HEADER END 10507 */ 10508 10509 /* 10510 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10511 * Copyright 2016 Joyent, Inc. 10512 * 10513 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10514 * Use is subject to license terms. 10515 */ 10516 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 10517 10518 10519 10520 10521 10522 /* 10523 * machsig.h is the machine dependent portion of siginfo.h (and is 10524 * included by siginfo.h). A version of machsig.h should exist for 10525 * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS 10526 * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and 10527 * SIGPOLL are architecture independent and may be found in siginfo.h. 10528 */ 10529 10530 10531 10532 10533 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 10534 /* 10535 * CDDL HEADER START 10536 * 10537 * The contents of this file are subject to the terms of the 10538 * Common Development and Distribution License (the "License"). 10539 * You may not use this file except in compliance with the License. 10540 * 10541 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10542 * or http://www.opensolaris.org/os/licensing. 10543 * See the License for the specific language governing permissions 10544 * and limitations under the License. 10545 * 10546 * When distributing Covered Code, include this CDDL HEADER in each 10547 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10548 * If applicable, add the following below this CDDL HEADER, with the 10549 * fields enclosed by brackets "[]" replaced with your own identifying 10550 * information: Portions Copyright [yyyy] [name of copyright owner] 10551 * 10552 * CDDL HEADER END 10553 */ 10554 /* 10555 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 10556 * Use is subject to license terms. 10557 */ 10558 10559 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10560 /* All Rights Reserved */ 10561 10562 /* 10563 * University Copyright- Copyright (c) 1982, 1986, 1988 10564 * The Regents of the University of California 10565 * All Rights Reserved 10566 * 10567 * University Acknowledgment- Portions of this document are derived from 10568 * software developed by the University of California, Berkeley, and its 10569 * contributors. 10570 */ 10571 10572 10573 10574 10575 #pragma ident "%Z%%M% %I% %E% SMI" 10576 10577 10578 10579 10580 10581 /* 10582 * This file describes the data type returned by vm routines 10583 * which handle faults. 10584 * 10585 * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value 10586 * returned by the underlying object mapped at the fault address. 10587 */ 10588 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 10589 typedef int faultcode_t; /* type returned by vm fault routines */ 10590 10591 extern int fc_decode(faultcode_t); 10592 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 10593 10594 10595 /* 10596 * SIGILL signal codes 10597 */ 10598 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 10599 /* 10600 * SIGEMT signal codes 10601 */ 10602 10603 10604 10605 10606 10607 10608 /* 10609 * SIGFPE signal codes 10610 */ 10611 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 10612 /* 10613 * SIGSEGV signal codes 10614 */ 10615 10616 10617 10618 10619 10620 10621 10622 /* 10623 * SIGBUS signal codes 10624 */ 10625 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10626 10627 /* 10628 * SIGTRAP signal codes 10629 */ 10630 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10631 /* 10632 * SIGCLD signal codes 10633 */ 10634 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10635 /* 10636 * SIGPOLL signal codes 10637 */ 10638 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10639 /* 10640 * SIGPROF signal codes 10641 */ 10642 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10643 /* 10644 * Inclusion of <sys/time_impl.h> is needed for the declaration of 10645 * timestruc_t. However, since inclusion of <sys/time_impl.h> results 10646 * in X/Open and POSIX namespace pollution, the definition for 10647 * timestruct_t has been duplicated in a standards namespace safe header 10648 * <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure 10649 * name, tag, and member names, as well as the type itself, all have 10650 * leading underscores to protect namespace. 10651 */ 10652 10653 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 10654 /* 10655 * CDDL HEADER START 10656 * 10657 * The contents of this file are subject to the terms of the 10658 * Common Development and Distribution License, Version 1.0 only 10659 * (the "License"). You may not use this file except in compliance 10660 * with the License. 10661 * 10662 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10663 * or http://www.opensolaris.org/os/licensing. 10664 * See the License for the specific language governing permissions 10665 * and limitations under the License. 10666 * 10667 * When distributing Covered Code, include this CDDL HEADER in each 10668 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10669 * If applicable, add the following below this CDDL HEADER, with the 10670 * fields enclosed by brackets "[]" replaced with your own identifying 10671 * information: Portions Copyright [yyyy] [name of copyright owner] 10672 * 10673 * CDDL HEADER END 10674 */ 10675 /* 10676 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 10677 * Use is subject to license terms. 10678 */ 10679 10680 /* 10681 * Implementation-private. This header should not be included 10682 * directly by an application. The application should instead 10683 * include <time.h> which includes this header conditionally 10684 * depending on which feature test macros are defined. By default, 10685 * this header is included by <time.h>. X/Open and POSIX 10686 * standards requirements result in this header being included 10687 * by <time.h> only under a restricted set of conditions. 10688 */ 10689 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10690 10691 10692 10693 10694 /* 10695 * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc. 10696 * Placement here is due to a dependency in <sys/select.h> which is included 10697 * by <sys/types.h> for the sigevent structure. Hence this inclusion must 10698 * follow that definition. 10699 */ 10700 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10701 /* 10702 * CDDL HEADER START 10703 * 10704 * The contents of this file are subject to the terms of the 10705 * Common Development and Distribution License (the "License"). 10706 * You may not use this file except in compliance with the License. 10707 * 10708 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10709 * or http://www.opensolaris.org/os/licensing. 10710 * See the License for the specific language governing permissions 10711 * and limitations under the License. 10712 * 10713 * When distributing Covered Code, include this CDDL HEADER in each 10714 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10715 * If applicable, add the following below this CDDL HEADER, with the 10716 * fields enclosed by brackets "[]" replaced with your own identifying 10717 * information: Portions Copyright [yyyy] [name of copyright owner] 10718 * 10719 * CDDL HEADER END 10720 */ 10721 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10722 /* All Rights Reserved */ 10723 10724 10725 /* 10726 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10727 * Use is subject to license terms. 10728 * 10729 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10730 * Copyright 2016 Joyent, Inc. 10731 */ 10732 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10733 10734 10735 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ 10736 10737 10738 10739 int si_signo; /* signal from signal.h */ 10740 int si_code; /* code from above */ 10741 int si_errno; /* error from errno.h */ 10742 10743 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 10744 10745 union { 10746 10747 int __pad[((256 / sizeof (int)) - 4)]; /* for future growth */ 10748 10749 struct { /* kill(), SIGCLD, siqqueue() */ 10750 pid_t __pid; /* process ID */ 10751 union { 10752 struct { 10753 uid_t __uid; 10754 10755 10756 union sigval __value; 10757 10758 10759 10760 } __kill; 10761 struct { 10762 clock_t __utime; 10763 int __status; 10764 clock_t __stime; 10765 } __cld; 10766 } __pdata; 10767 ctid_t __ctid; /* contract ID */ 10768 zoneid_t __zoneid; /* zone ID */ 10769 } __proc; 10770 10771 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 10772 void *__addr; /* faulting address */ 10773 int __trapno; /* illegal trap number */ 10774 caddr_t __pc; /* instruction address */ 10775 } __fault; 10776 10777 struct { /* SIGPOLL, SIGXFSZ */ 10778 /* fd not currently available for SIGPOLL */ 10779 int __fd; /* file descriptor */ 10780 long __band; 10781 } __file; 10782 10783 struct { /* SIGPROF */ 10784 caddr_t __faddr; /* last fault address */ 10785 10786 timestruc_t __tstamp; /* real time stamp */ 10787 10788 10789 10790 short __syscall; /* current syscall */ 10791 char __nsysarg; /* number of arguments */ 10792 char __fault; /* last fault type */ 10793 long __sysarg[8]; /* syscall arguments */ 10794 int __mstate[10]; /* see <sys/msacct.h> */ 10795 } __prof; 10796 10797 struct { /* SI_RCTL */ 10798 int32_t __entity; /* type of entity exceeding */ 10799 } __rctl; 10800 } __data; 10801 10802 } siginfo_t; 10803 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10804 /* 10805 * XXX -- internal version is identical to siginfo_t but without the padding. 10806 * This must be maintained in sync with it. 10807 */ 10808 10809 10810 10811 typedef struct k_siginfo { 10812 int si_signo; /* signal from signal.h */ 10813 int si_code; /* code from above */ 10814 int si_errno; /* error from errno.h */ 10815 10816 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 10817 10818 union { 10819 struct { /* kill(), SIGCLD, siqqueue() */ 10820 pid_t __pid; /* process ID */ 10821 union { 10822 struct { 10823 uid_t __uid; 10824 union sigval __value; 10825 } __kill; 10826 struct { 10827 clock_t __utime; 10828 int __status; 10829 clock_t __stime; 10830 } __cld; 10831 } __pdata; 10832 ctid_t __ctid; /* contract ID */ 10833 zoneid_t __zoneid; /* zone ID */ 10834 } __proc; 10835 10836 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 10837 void *__addr; /* faulting address */ 10838 int __trapno; /* illegal trap number */ 10839 caddr_t __pc; /* instruction address */ 10840 } __fault; 10841 10842 struct { /* SIGPOLL, SIGXFSZ */ 10843 /* fd not currently available for SIGPOLL */ 10844 int __fd; /* file descriptor */ 10845 long __band; 10846 } __file; 10847 10848 struct { /* SIGPROF */ 10849 caddr_t __faddr; /* last fault address */ 10850 10851 10852 timestruc_t __tstamp; /* real time stamp */ 10853 10854 10855 10856 short __syscall; /* current syscall */ 10857 char __nsysarg; /* number of arguments */ 10858 char __fault; /* last fault type */ 10859 /* these are omitted to keep k_siginfo_t small */ 10860 /* long __sysarg[8]; */ 10861 /* int __mstate[10]; */ 10862 } __prof; 10863 10864 struct { /* SI_RCTL */ 10865 int32_t __entity; /* type of entity exceeding */ 10866 } __rctl; 10867 10868 } __data; 10869 10870 } k_siginfo_t; 10871 10872 typedef struct sigqueue { 10873 struct sigqueue *sq_next; 10874 k_siginfo_t sq_info; 10875 void (*sq_func)(struct sigqueue *); /* destructor function */ 10876 void *sq_backptr; /* pointer to the data structure */ 10877 /* associated by sq_func() */ 10878 int sq_external; /* comes from outside the contract */ 10879 } sigqueue_t; 10880 10881 /* indication whether to queue the signal or not */ 10882 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 10883 10884 10885 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */ 10886 10887 10888 10889 10890 10891 10892 10893 typedef struct { 10894 unsigned int __sigbits[3]; 10895 } k_sigset_t; 10896 10897 /* 10898 * The signal handler routine can have either one or three arguments. 10899 * Existing C code has used either form so not specifing the arguments 10900 * neatly finesses the problem. C++ doesn't accept this. To C++ 10901 * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would 10902 * specify this as "(*sa_handler)(void)"). One or the other form must be 10903 * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow 10904 * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" 10905 * can be used for the three argument form. 10906 */ 10907 10908 /* 10909 * Note: storage overlap by sa_handler and sa_sigaction 10910 */ 10911 struct sigaction { 10912 int sa_flags; 10913 union { 10914 10915 10916 10917 void (*_handler)(); 10918 10919 10920 10921 10922 void (*_sigaction)(int, siginfo_t *, void *); 10923 10924 } _funcptr; 10925 sigset_t sa_mask; 10926 10927 10928 10929 }; 10930 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10931 /* this is only valid for SIGCLD */ 10932 10933 10934 10935 10936 10937 10938 10939 /* non-conformant ANSI compilation */ 10940 10941 /* definitions for the sa_flags field */ 10942 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10943 /* this is only valid for SIGCLD */ 10944 10945 10946 10947 /* 10948 * use of these symbols by applications is injurious 10949 * to binary compatibility 10950 */ 10951 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10952 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */ 10953 10954 10955 10956 typedef struct sigaltstack { 10957 10958 10959 10960 void *ss_sp; 10961 size_t ss_size; 10962 int ss_flags; 10963 } stack_t; 10964 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10965 /* signotify id used only by libc for mq_notify()/aio_notify() */ 10966 typedef struct signotify_id { /* signotify id struct */ 10967 pid_t sn_pid; /* pid of proc to be notified */ 10968 int sn_index; /* index in preallocated pool */ 10969 int sn_pad; /* reserved */ 10970 } signotify_id_t; 10971 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10972 /* Command codes for sig_notify call */ 10973 10974 10975 10976 10977 10978 10979 10980 /* Added as per XPG4v2 */ 10981 10982 10983 10984 struct sigstack { 10985 void *ss_sp; 10986 int ss_onstack; 10987 }; 10988 10989 10990 /* 10991 * For definition of ucontext_t; must follow struct definition 10992 * for sigset_t 10993 */ 10994 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10995 10996 /* 10997 * This file defines the data needed to specify a set of 10998 * processes. These types are used by the sigsend, sigsendset, 10999 * priocntl, priocntlset, waitid, evexit, and evexitset system 11000 * calls. 11001 */ 11002 11003 11004 11005 11006 11007 /* 11008 * The following defines the values for an identifier type. It 11009 * specifies the interpretation of an id value. An idtype and 11010 * id together define a simple set of processes. 11011 */ 11012 typedef enum 11013 11014 idtype /* pollutes XPG4.2 namespace */ 11015 11016 { 11017 P_PID, /* A process identifier. */ 11018 P_PPID, /* A parent process identifier. */ 11019 P_PGID, /* A process group (job control group) */ 11020 /* identifier. */ 11021 P_SID, /* A session identifier. */ 11022 P_CID, /* A scheduling class identifier. */ 11023 P_UID, /* A user identifier. */ 11024 P_GID, /* A group identifier. */ 11025 P_ALL, /* All processes. */ 11026 P_LWPID, /* An LWP identifier. */ 11027 P_TASKID, /* A task identifier. */ 11028 P_PROJID, /* A project identifier. */ 11029 P_POOLID, /* A pool identifier. */ 11030 P_ZONEID, /* A zone identifier. */ 11031 P_CTID, /* A (process) contract identifier. */ 11032 P_CPUID, /* CPU identifier. */ 11033 P_PSETID /* Processor set identifier */ 11034 } idtype_t; 11035 11036 11037 /* 11038 * The following defines the operations which can be performed to 11039 * combine two simple sets of processes to form another set of 11040 * processes. 11041 */ 11042 11043 typedef enum idop { 11044 POP_DIFF, /* Set difference. The processes which */ 11045 /* are in the left operand set and not */ 11046 /* in the right operand set. */ 11047 POP_AND, /* Set disjunction. The processes */ 11048 /* which are in both the left and right */ 11049 /* operand sets. */ 11050 POP_OR, /* Set conjunction. The processes */ 11051 /* which are in either the left or the */ 11052 /* right operand sets (or both). */ 11053 POP_XOR /* Set exclusive or. The processes */ 11054 /* which are in either the left or */ 11055 /* right operand sets but not in both. */ 11056 } idop_t; 11057 11058 11059 /* 11060 * The following structure is used to define a set of processes. 11061 * The set is defined in terms of two simple sets of processes 11062 * and an operator which operates on these two operand sets. 11063 */ 11064 typedef struct procset { 11065 idop_t p_op; /* The operator connection the */ 11066 /* following two operands each */ 11067 /* of which is a simple set of */ 11068 /* processes. */ 11069 11070 idtype_t p_lidtype; 11071 /* The type of the left operand */ 11072 /* simple set. */ 11073 id_t p_lid; /* The id of the left operand. */ 11074 11075 idtype_t p_ridtype; 11076 /* The type of the right */ 11077 /* operand simple set. */ 11078 id_t p_rid; /* The id of the right operand. */ 11079 } procset_t; 11080 11081 /* 11082 * The following macro can be used to initialize a procset_t 11083 * structure. 11084 */ 11085 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 11086 11087 11088 11089 11090 11091 /* 11092 * Definitions for p_online, processor_info & lgrp system calls. 11093 */ 11094 11095 /* 11096 * Type for an lgrpid 11097 */ 11098 typedef uint16_t lgrpid_t; 11099 11100 /* 11101 * Type for processor name (CPU number). 11102 */ 11103 typedef int processorid_t; 11104 typedef int chipid_t; 11105 11106 /* 11107 * Flags and return values for p_online(2), and pi_state for processor_info(2). 11108 * These flags are *not* for in-kernel examination of CPU states. 11109 * See <sys/cpuvar.h> for appropriate informational functions. 11110 */ 11111 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 11112 /* 11113 * String names for processor states defined above. 11114 */ 11115 11116 11117 11118 11119 11120 11121 11122 /* 11123 * Structure filled in by processor_info(2). This structure 11124 * SHOULD NOT BE MODIFIED. Changes to the structure would 11125 * negate ABI compatibility. 11126 * 11127 * The string fields are guaranteed to contain a NULL. 11128 * 11129 * The pi_fputypes field contains a (possibly empty) comma-separated 11130 * list of floating point identifier strings. 11131 */ 11132 11133 11134 11135 typedef struct { 11136 int pi_state; /* processor state, see above */ 11137 char pi_processor_type[16]; /* ASCII CPU type */ 11138 char pi_fputypes[32]; /* ASCII FPU types */ 11139 int pi_clock; /* CPU clock freq in MHz */ 11140 } processor_info_t; 11141 11142 /* 11143 * Binding values for processor_bind(2) 11144 */ 11145 11146 11147 11148 11149 11150 11151 /* 11152 * User-level system call interface prototypes 11153 */ 11154 11155 11156 extern int p_online(processorid_t processorid, int flag); 11157 extern int processor_info(processorid_t processorid, 11158 processor_info_t *infop); 11159 extern int processor_bind(idtype_t idtype, id_t id, 11160 processorid_t processorid, processorid_t *obind); 11161 extern processorid_t getcpuid(void); 11162 extern lgrpid_t gethomelgroup(void); 11163 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 11164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 11165 /* 11166 * CDDL HEADER START 11167 * 11168 * The contents of this file are subject to the terms of the 11169 * Common Development and Distribution License, Version 1.0 only 11170 * (the "License"). You may not use this file except in compliance 11171 * with the License. 11172 * 11173 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11174 * or http://www.opensolaris.org/os/licensing. 11175 * See the License for the specific language governing permissions 11176 * and limitations under the License. 11177 * 11178 * When distributing Covered Code, include this CDDL HEADER in each 11179 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11180 * If applicable, add the following below this CDDL HEADER, with the 11181 * fields enclosed by brackets "[]" replaced with your own identifying 11182 * information: Portions Copyright [yyyy] [name of copyright owner] 11183 * 11184 * CDDL HEADER END 11185 */ 11186 /* 11187 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 11188 * Use is subject to license terms. 11189 */ 11190 11191 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11192 /* All Rights Reserved */ 11193 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 11194 11195 typedef int psetid_t; 11196 11197 /* special processor set id's */ 11198 11199 11200 11201 11202 11203 11204 11205 /* types of processor sets */ 11206 11207 11208 11209 11210 11211 extern int pset_create(psetid_t *); 11212 extern int pset_destroy(psetid_t); 11213 extern int pset_assign(psetid_t, processorid_t, psetid_t *); 11214 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); 11215 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); 11216 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); 11217 extern int pset_getloadavg(psetid_t, double [], int); 11218 extern int pset_list(psetid_t *, uint_t *); 11219 extern int pset_setattr(psetid_t, uint_t); 11220 extern int pset_getattr(psetid_t, uint_t *); 11221 11222 11223 11224 11225 11226 /* system call subcodes */ 11227 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 11228 /* attribute bits */ 11229 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11230 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 11231 /* 11232 * CDDL HEADER START 11233 * 11234 * The contents of this file are subject to the terms of the 11235 * Common Development and Distribution License (the "License"). 11236 * You may not use this file except in compliance with the License. 11237 * 11238 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11239 * or http://www.opensolaris.org/os/licensing. 11240 * See the License for the specific language governing permissions 11241 * and limitations under the License. 11242 * 11243 * When distributing Covered Code, include this CDDL HEADER in each 11244 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11245 * If applicable, add the following below this CDDL HEADER, with the 11246 * fields enclosed by brackets "[]" replaced with your own identifying 11247 * information: Portions Copyright [yyyy] [name of copyright owner] 11248 * 11249 * CDDL HEADER END 11250 */ 11251 /* 11252 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11253 * Use is subject to license terms. 11254 */ 11255 11256 11257 11258 11259 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11260 /* 11261 * CDDL HEADER START 11262 * 11263 * The contents of this file are subject to the terms of the 11264 * Common Development and Distribution License (the "License"). 11265 * You may not use this file except in compliance with the License. 11266 * 11267 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11268 * or http://www.opensolaris.org/os/licensing. 11269 * See the License for the specific language governing permissions 11270 * and limitations under the License. 11271 * 11272 * When distributing Covered Code, include this CDDL HEADER in each 11273 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11274 * If applicable, add the following below this CDDL HEADER, with the 11275 * fields enclosed by brackets "[]" replaced with your own identifying 11276 * information: Portions Copyright [yyyy] [name of copyright owner] 11277 * 11278 * CDDL HEADER END 11279 */ 11280 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11281 /* All Rights Reserved */ 11282 11283 11284 /* 11285 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11286 * Use is subject to license terms. 11287 * 11288 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11289 * Copyright 2016 Joyent, Inc. 11290 */ 11291 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 11292 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 11293 /* 11294 * types of label comparison 11295 */ 11296 11297 11298 11299 /* Manifest human readable label names */ 11300 11301 11302 11303 /* Binary Label Structure Definitions */ 11304 11305 typedef struct _mac_label_impl m_label_t; 11306 11307 typedef m_label_t blevel_t, /* compatibility */ 11308 bslabel_t, /* Sensitivity Label */ 11309 bclear_t; /* Clearance */ 11310 11311 typedef struct _tsol_binary_level_lrange { /* Level Range */ 11312 m_label_t *lower_bound; 11313 m_label_t *upper_bound; 11314 } m_range_t; 11315 11316 typedef m_range_t blrange_t; 11317 11318 typedef struct tsol_mlp_s { 11319 uchar_t mlp_ipp; 11320 uint16_t mlp_port; 11321 uint16_t mlp_port_upper; 11322 } tsol_mlp_t; 11323 11324 /* Procedure Interface Definitions available to user and kernel */ 11325 11326 extern int bltype(const void *, uint8_t); 11327 extern int blequal(const m_label_t *, const m_label_t *); 11328 extern int bldominates(const m_label_t *, const m_label_t *); 11329 extern int blstrictdom(const m_label_t *, const m_label_t *); 11330 extern int blinrange(const m_label_t *, const m_range_t *); 11331 extern void blmaximum(m_label_t *, const m_label_t *); 11332 extern void blminimum(m_label_t *, const m_label_t *); 11333 extern void bsllow(m_label_t *); 11334 extern void bslhigh(m_label_t *); 11335 extern void bclearlow(m_label_t *); 11336 extern void bclearhigh(m_label_t *); 11337 extern void bslundef(m_label_t *); 11338 extern void bclearundef(m_label_t *); 11339 extern void setbltype(void *, uint8_t); 11340 extern boolean_t bisinvalid(const void *); 11341 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11342 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 11343 /* 11344 * CDDL HEADER START 11345 * 11346 * The contents of this file are subject to the terms of the 11347 * Common Development and Distribution License (the "License"). 11348 * You may not use this file except in compliance with the License. 11349 * 11350 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11351 * or http://www.opensolaris.org/os/licensing. 11352 * See the License for the specific language governing permissions 11353 * and limitations under the License. 11354 * 11355 * When distributing Covered Code, include this CDDL HEADER in each 11356 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11357 * If applicable, add the following below this CDDL HEADER, with the 11358 * fields enclosed by brackets "[]" replaced with your own identifying 11359 * information: Portions Copyright [yyyy] [name of copyright owner] 11360 * 11361 * CDDL HEADER END 11362 */ 11363 /* 11364 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11365 * Use is subject to license terms. 11366 */ 11367 11368 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 11369 /* All Rights Reserved */ 11370 11371 /* 11372 * Portions of this source code were derived from Berkeley 4.3 BSD 11373 * under license from the Regents of the University of California. 11374 */ 11375 11376 11377 11378 11379 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11380 /* 11381 * CDDL HEADER START 11382 * 11383 * The contents of this file are subject to the terms of the 11384 * Common Development and Distribution License (the "License"). 11385 * You may not use this file except in compliance with the License. 11386 * 11387 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11388 * or http://www.opensolaris.org/os/licensing. 11389 * See the License for the specific language governing permissions 11390 * and limitations under the License. 11391 * 11392 * When distributing Covered Code, include this CDDL HEADER in each 11393 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11394 * If applicable, add the following below this CDDL HEADER, with the 11395 * fields enclosed by brackets "[]" replaced with your own identifying 11396 * information: Portions Copyright [yyyy] [name of copyright owner] 11397 * 11398 * CDDL HEADER END 11399 */ 11400 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11401 /* All Rights Reserved */ 11402 11403 11404 /* 11405 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11406 * Use is subject to license terms. 11407 * 11408 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11409 * Copyright 2016 Joyent, Inc. 11410 */ 11411 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 11412 11413 11414 11415 11416 11417 /* 11418 * The credential is an opaque kernel private data structure defined in 11419 * <sys/cred_impl.h>. 11420 */ 11421 11422 typedef struct cred cred_t; 11423 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 11425 /* 11426 * CDDL HEADER START 11427 * 11428 * The contents of this file are subject to the terms of the 11429 * Common Development and Distribution License (the "License"). 11430 * You may not use this file except in compliance with the License. 11431 * 11432 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11433 * or http://www.opensolaris.org/os/licensing. 11434 * See the License for the specific language governing permissions 11435 * and limitations under the License. 11436 * 11437 * When distributing Covered Code, include this CDDL HEADER in each 11438 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11439 * If applicable, add the following below this CDDL HEADER, with the 11440 * fields enclosed by brackets "[]" replaced with your own identifying 11441 * information: Portions Copyright [yyyy] [name of copyright owner] 11442 * 11443 * CDDL HEADER END 11444 */ 11445 11446 /* 11447 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11448 * Use is subject to license terms. 11449 */ 11450 11451 11452 11453 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 11454 /* 11455 * CDDL HEADER START 11456 * 11457 * The contents of this file are subject to the terms of the 11458 * Common Development and Distribution License (the "License"). 11459 * You may not use this file except in compliance with the License. 11460 * 11461 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11462 * or http://www.opensolaris.org/os/licensing. 11463 * See the License for the specific language governing permissions 11464 * and limitations under the License. 11465 * 11466 * When distributing Covered Code, include this CDDL HEADER in each 11467 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11468 * If applicable, add the following below this CDDL HEADER, with the 11469 * fields enclosed by brackets "[]" replaced with your own identifying 11470 * information: Portions Copyright [yyyy] [name of copyright owner] 11471 * 11472 * CDDL HEADER END 11473 */ 11474 /* 11475 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11476 * Use is subject to license terms. 11477 * 11478 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 11479 */ 11480 11481 11482 11483 11484 /* 11485 * Definition of general kernel statistics structures and /dev/kstat ioctls 11486 */ 11487 11488 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11489 /* 11490 * CDDL HEADER START 11491 * 11492 * The contents of this file are subject to the terms of the 11493 * Common Development and Distribution License (the "License"). 11494 * You may not use this file except in compliance with the License. 11495 * 11496 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11497 * or http://www.opensolaris.org/os/licensing. 11498 * See the License for the specific language governing permissions 11499 * and limitations under the License. 11500 * 11501 * When distributing Covered Code, include this CDDL HEADER in each 11502 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11503 * If applicable, add the following below this CDDL HEADER, with the 11504 * fields enclosed by brackets "[]" replaced with your own identifying 11505 * information: Portions Copyright [yyyy] [name of copyright owner] 11506 * 11507 * CDDL HEADER END 11508 */ 11509 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11510 /* All Rights Reserved */ 11511 11512 11513 /* 11514 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11515 * Use is subject to license terms. 11516 * 11517 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11518 * Copyright 2016 Joyent, Inc. 11519 */ 11520 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 11521 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 11522 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11523 /* All Rights Reserved */ 11524 11525 11526 /* 11527 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 11528 * All rights reserved. The Berkeley software License Agreement 11529 * specifies the terms and conditions for redistribution. 11530 */ 11531 11532 /* 11533 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11534 * 11535 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11536 * Use is subject to license terms. 11537 * 11538 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11539 */ 11540 11541 /* 11542 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 11543 */ 11544 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 11545 11546 11547 11548 11549 11550 typedef int kid_t; /* unique kstat id */ 11551 11552 /* 11553 * Kernel statistics driver (/dev/kstat) ioctls 11554 */ 11555 11556 11557 11558 11559 11560 11561 11562 /* 11563 * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): 11564 * 11565 * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); 11566 * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); 11567 * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); 11568 */ 11569 11570 11571 11572 /* 11573 * The generic kstat header 11574 */ 11575 11576 typedef struct kstat { 11577 /* 11578 * Fields relevant to both kernel and user 11579 */ 11580 hrtime_t ks_crtime; /* creation time (from gethrtime()) */ 11581 struct kstat *ks_next; /* kstat chain linkage */ 11582 kid_t ks_kid; /* unique kstat ID */ 11583 char ks_module[31]; /* provider module name */ 11584 uchar_t ks_resv; /* reserved, currently just padding */ 11585 int ks_instance; /* provider module's instance */ 11586 char ks_name[31]; /* kstat name */ 11587 uchar_t ks_type; /* kstat data type */ 11588 char ks_class[31]; /* kstat class */ 11589 uchar_t ks_flags; /* kstat flags */ 11590 void *ks_data; /* kstat type-specific data */ 11591 uint_t ks_ndata; /* # of type-specific data records */ 11592 size_t ks_data_size; /* total size of kstat data section */ 11593 hrtime_t ks_snaptime; /* time of last data shapshot */ 11594 /* 11595 * Fields relevant to kernel only 11596 */ 11597 int (*ks_update)(struct kstat *, int); /* dynamic update */ 11598 void *ks_private; /* arbitrary provider-private data */ 11599 int (*ks_snapshot)(struct kstat *, void *, int); 11600 void *ks_lock; /* protects this kstat's data */ 11601 } kstat_t; 11602 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11603 /* 11604 * kstat structure and locking strategy 11605 * 11606 * Each kstat consists of a header section (a kstat_t) and a data section. 11607 * The system maintains a set of kstats, protected by kstat_chain_lock. 11608 * kstat_chain_lock protects all additions to/deletions from this set, 11609 * as well as all changes to kstat headers. kstat data sections are 11610 * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, 11611 * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their 11612 * operations on that kstat. It is up to the kstat provider to decide whether 11613 * guaranteeing consistent data to kstat clients is sufficiently important 11614 * to justify the locking cost. Note, however, that most statistic updates 11615 * already occur under one of the provider's mutexes, so if the provider sets 11616 * ks_lock to point to that mutex, then kstat data locking is free. 11617 * 11618 * NOTE: variable-size kstats MUST employ kstat data locking, to prevent 11619 * data-size races with kstat clients. 11620 * 11621 * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) 11622 * in the kstat header so that users don't have to be exposed to all of the 11623 * kernel's lock-related data structures. 11624 */ 11625 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11626 /* 11627 * kstat time 11628 * 11629 * All times associated with kstats (e.g. creation time, snapshot time, 11630 * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, 11631 * as returned by gethrtime(). The accuracy of these timestamps is machine 11632 * dependent, but the precision (units) is the same across all platforms. 11633 */ 11634 11635 /* 11636 * kstat identity (KID) 11637 * 11638 * Each kstat is assigned a unique KID (kstat ID) when it is added to the 11639 * global kstat chain. The KID is used as a cookie by /dev/kstat to 11640 * request information about the corresponding kstat. There is also 11641 * an identity associated with the entire kstat chain, kstat_chain_id, 11642 * which is bumped each time a kstat is added or deleted. /dev/kstat uses 11643 * the chain ID to detect changes in the kstat chain (e.g., a new disk 11644 * coming online) between ioctl()s. 11645 */ 11646 11647 /* 11648 * kstat module, kstat instance 11649 * 11650 * ks_module and ks_instance contain the name and instance of the module 11651 * that created the kstat. In cases where there can only be one instance, 11652 * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its 11653 * module name. 11654 */ 11655 11656 /* 11657 * kstat name 11658 * 11659 * ks_name gives a meaningful name to a kstat. The full kstat namespace 11660 * is module.instance.name, so the name only need be unique within a 11661 * module. kstat_create() will fail if you try to create a kstat with 11662 * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are 11663 * allowed in kstat names, but strongly discouraged, since they hinder 11664 * awk-style processing at user level. 11665 */ 11666 11667 /* 11668 * kstat type 11669 * 11670 * The kstat mechanism provides several flavors of kstat data, defined 11671 * below. The "raw" kstat type is just treated as an array of bytes; you 11672 * can use this to export any kind of data you want. 11673 * 11674 * Some kstat types allow multiple data structures per kstat, e.g. 11675 * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each 11676 * kstat data type. 11677 * 11678 * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To 11679 * get this information, read out the standard system kstat "kstat_types". 11680 */ 11681 11682 11683 /* ks_ndata >= 1 */ 11684 11685 /* ks_ndata >= 1 */ 11686 11687 /* ks_ndata == 1 */ 11688 11689 /* ks_ndata == 1 */ 11690 11691 /* ks_ndata >= 1 */ 11692 11693 11694 11695 /* 11696 * kstat class 11697 * 11698 * Each kstat can be characterized as belonging to some broad class 11699 * of statistics, e.g. disk, tape, net, vm, streams, etc. This field 11700 * can be used as a filter to extract related kstats. The following 11701 * values are currently in use: disk, tape, net, controller, vm, kvm, 11702 * hat, streams, kstat, and misc. (The kstat class encompasses things 11703 * like kstat_types.) 11704 */ 11705 11706 /* 11707 * kstat flags 11708 * 11709 * Any of the following flags may be passed to kstat_create(). They are 11710 * all zero by default. 11711 * 11712 * KSTAT_FLAG_VIRTUAL: 11713 * 11714 * Tells kstat_create() not to allocate memory for the 11715 * kstat data section; instead, you will set the ks_data 11716 * field to point to the data you wish to export. This 11717 * provides a convenient way to export existing data 11718 * structures. 11719 * 11720 * KSTAT_FLAG_VAR_SIZE: 11721 * 11722 * The size of the kstat you are creating will vary over time. 11723 * For example, you may want to use the kstat mechanism to 11724 * export a linked list. NOTE: The kstat framework does not 11725 * manage the data section, so all variable-size kstats must be 11726 * virtual kstats. Moreover, variable-size kstats MUST employ 11727 * kstat data locking to prevent data-size races with kstat 11728 * clients. See the section on "kstat snapshot" for details. 11729 * 11730 * KSTAT_FLAG_WRITABLE: 11731 * 11732 * Makes the kstat's data section writable by root. 11733 * The ks_snapshot routine (see below) does not need to check for 11734 * this; permission checking is handled in the kstat driver. 11735 * 11736 * KSTAT_FLAG_PERSISTENT: 11737 * 11738 * Indicates that this kstat is to be persistent over time. 11739 * For persistent kstats, kstat_delete() simply marks the 11740 * kstat as dormant; a subsequent kstat_create() reactivates 11741 * the kstat. This feature is provided so that statistics 11742 * are not lost across driver close/open (e.g., raw disk I/O 11743 * on a disk with no mounted partitions.) 11744 * NOTE: Persistent kstats cannot be virtual, since ks_data 11745 * points to garbage as soon as the driver goes away. 11746 * 11747 * The following flags are maintained by the kstat framework: 11748 * 11749 * KSTAT_FLAG_DORMANT: 11750 * 11751 * For persistent kstats, indicates that the kstat is in the 11752 * dormant state (e.g., the corresponding device is closed). 11753 * 11754 * KSTAT_FLAG_INVALID: 11755 * 11756 * This flag is set when a kstat is in a transitional state, 11757 * e.g. between kstat_create() and kstat_install(). 11758 * kstat clients must not attempt to access the kstat's data 11759 * if this flag is set. 11760 * 11761 * KSTAT_FLAG_LONGSTRINGS: 11762 * 11763 * Indicates that this kstat contains long strings (which 11764 * are stored outside of the kstat data section). When copied 11765 * out to user space the string data will be held in the data 11766 * section provided by the user. 11767 */ 11768 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11769 /* 11770 * Dynamic update support 11771 * 11772 * The kstat mechanism allows for an optional ks_update function to update 11773 * kstat data. This is useful for drivers where the underlying device 11774 * keeps cheap hardware stats, but extraction is expensive. Instead of 11775 * constantly keeping the kstat data section up to date, you can supply a 11776 * ks_update function which updates the kstat's data section on demand. 11777 * To take advantage of this feature, simply set the ks_update field before 11778 * calling kstat_install(). 11779 * 11780 * The ks_update function, if supplied, must have the following structure: 11781 * 11782 * int 11783 * foo_kstat_update(kstat_t *ksp, int rw) 11784 * { 11785 * if (rw == KSTAT_WRITE) { 11786 * ... update the native stats from ksp->ks_data; 11787 * return EACCES if you don't support this 11788 * } else { 11789 * ... update ksp->ks_data from the native stats 11790 * } 11791 * } 11792 * 11793 * The ks_update return codes are: 0 for success, EACCES if you don't allow 11794 * KSTAT_WRITE, and EIO for any other type of error. 11795 * 11796 * In general, the ks_update function may need to refer to provider-private 11797 * data; for example, it may need a pointer to the provider's raw statistics. 11798 * The ks_private field is available for this purpose. Its use is entirely 11799 * at the provider's discretion. 11800 * 11801 * All variable-size kstats MUST supply a ks_update routine, which computes 11802 * and sets ks_data_size (and ks_ndata if that is meaningful), since these 11803 * are needed to perform kstat snapshots (see below). 11804 * 11805 * No kstat locking should be done inside the ks_update routine. The caller 11806 * will already be holding the kstat's ks_lock (to ensure consistent data). 11807 */ 11808 11809 11810 11811 11812 /* 11813 * Kstat snapshot 11814 * 11815 * In order to get a consistent view of a kstat's data, clients must obey 11816 * the kstat's locking strategy. However, these clients may need to perform 11817 * operations on the data which could cause a fault (e.g. copyout()), or 11818 * operations which are simply expensive. Doing so could cause deadlock 11819 * (e.g. if you're holding a disk's kstat lock which is ultimately required 11820 * to resolve a copyout() fault), performance degradation (since the providers' 11821 * activity is serialized at the kstat lock), device timing problems, etc. 11822 * 11823 * To avoid these problems, kstat data is provided via snapshots. Taking 11824 * a snapshot is a simple process: allocate a wired-down kernel buffer, 11825 * acquire the kstat's data lock, copy the data into the buffer ("take the 11826 * snapshot"), and release the lock. This ensures that the kstat's data lock 11827 * will be held as briefly as possible, and that no faults will occur while 11828 * the lock is held. 11829 * 11830 * Normally, the snapshot is taken by default_kstat_snapshot(), which 11831 * timestamps the data (sets ks_snaptime), copies it, and does a little 11832 * massaging to deal with incomplete transactions on i/o kstats. However, 11833 * this routine only works for kstats with contiguous data (the typical case). 11834 * If you create a kstat whose data is, say, a linked list, you must provide 11835 * your own ks_snapshot routine. The routine you supply must have the 11836 * following prototype (replace "foo" with something appropriate): 11837 * 11838 * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); 11839 * 11840 * The minimal snapshot routine -- one which copies contiguous data that 11841 * doesn't need any massaging -- would be this: 11842 * 11843 * ksp->ks_snaptime = gethrtime(); 11844 * if (rw == KSTAT_WRITE) 11845 * bcopy(buf, ksp->ks_data, ksp->ks_data_size); 11846 * else 11847 * bcopy(ksp->ks_data, buf, ksp->ks_data_size); 11848 * return (0); 11849 * 11850 * A more illuminating example is taking a snapshot of a linked list: 11851 * 11852 * ksp->ks_snaptime = gethrtime(); 11853 * if (rw == KSTAT_WRITE) 11854 * return (EACCES); ... See below ... 11855 * for (foo = first_foo; foo; foo = foo->next) { 11856 * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); 11857 * buf = ((struct foo *) buf) + 1; 11858 * } 11859 * return (0); 11860 * 11861 * In the example above, we have decided that we don't want to allow 11862 * KSTAT_WRITE access, so we return EACCES if this is attempted. 11863 * 11864 * The key points are: 11865 * 11866 * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. 11867 * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, 11868 * and from the buffer to the kstat on KSTAT_WRITE. 11869 * (3) ks_snapshot return values are: 0 for success, EACCES if you 11870 * don't allow KSTAT_WRITE, and EIO for any other type of error. 11871 * 11872 * Named kstats (see section on "Named statistics" below) containing long 11873 * strings (KSTAT_DATA_STRING) need special handling. The kstat driver 11874 * assumes that all strings are copied into the buffer after the array of 11875 * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point 11876 * into the copy within the buffer. The default snapshot routine does this, 11877 * but overriding routines should contain at least the following: 11878 * 11879 * if (rw == KSTAT_READ) { 11880 * kstat_named_t *knp = buf; 11881 * char *end = knp + ksp->ks_ndata; 11882 * uint_t i; 11883 * 11884 * ... Do the regular copy ... 11885 * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); 11886 * 11887 * for (i = 0; i < ksp->ks_ndata; i++, knp++) { 11888 * if (knp[i].data_type == KSTAT_DATA_STRING && 11889 * KSTAT_NAMED_STR_PTR(knp) != NULL) { 11890 * bcopy(KSTAT_NAMED_STR_PTR(knp), end, 11891 * KSTAT_NAMED_STR_BUFLEN(knp)); 11892 * KSTAT_NAMED_STR_PTR(knp) = end; 11893 * end += KSTAT_NAMED_STR_BUFLEN(knp); 11894 * } 11895 * } 11896 */ 11897 11898 /* 11899 * Named statistics. 11900 * 11901 * List of arbitrary name=value statistics. 11902 */ 11903 11904 typedef struct kstat_named { 11905 char name[31]; /* name of counter */ 11906 uchar_t data_type; /* data type */ 11907 union { 11908 char c[16]; /* enough for 128-bit ints */ 11909 int32_t i32; 11910 uint32_t ui32; 11911 struct { 11912 union { 11913 char *ptr; /* NULL-term string */ 11914 11915 11916 11917 char __pad[8]; /* 64-bit padding */ 11918 } addr; 11919 uint32_t len; /* # bytes for strlen + '\0' */ 11920 } str; 11921 /* 11922 * The int64_t and uint64_t types are not valid for a maximally conformant 11923 * 32-bit compilation environment (cc -Xc) using compilers prior to the 11924 * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). 11925 * In these cases, the visibility of i64 and ui64 is only permitted for 11926 * 64-bit compilation environments or 32-bit non-maximally conformant 11927 * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the 11928 * C99 ANSI C compilation environment, the long long type is supported. 11929 * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). 11930 */ 11931 11932 int64_t i64; 11933 uint64_t ui64; 11934 11935 long l; 11936 ulong_t ul; 11937 11938 /* These structure members are obsolete */ 11939 11940 longlong_t ll; 11941 u_longlong_t ull; 11942 float f; 11943 double d; 11944 } value; /* value of counter */ 11945 } kstat_named_t; 11946 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11947 /* 11948 * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) 11949 * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof 11950 * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the 11951 * amount of space required to store the strings (ie, the sum of 11952 * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the 11953 * space required to store the kstat_named_t's. 11954 * 11955 * The default update routine will update ks_data_size automatically for 11956 * variable-length kstats containing long strings (using the default update 11957 * routine only makes sense if the string is the only thing that is changing 11958 * in size, and ks_ndata is constant). Fixed-length kstats containing long 11959 * strings must explicitly change ks_data_size (after creation but before 11960 * initialization) to reflect the correct amount of space required for the 11961 * long strings and the kstat_named_t's. 11962 */ 11963 11964 11965 /* These types are obsolete */ 11966 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11967 /* 11968 * Retrieve the pointer of the string contained in the given named kstat. 11969 */ 11970 11971 11972 /* 11973 * Retrieve the length of the buffer required to store the string in the given 11974 * named kstat. 11975 */ 11976 11977 11978 /* 11979 * Interrupt statistics. 11980 * 11981 * An interrupt is a hard interrupt (sourced from the hardware device 11982 * itself), a soft interrupt (induced by the system via the use of 11983 * some system interrupt source), a watchdog interrupt (induced by 11984 * a periodic timer call), spurious (an interrupt entry point was 11985 * entered but there was no interrupt condition to service), 11986 * or multiple service (an interrupt condition was detected and 11987 * serviced just prior to returning from any of the other types). 11988 * 11989 * Measurement of the spurious class of interrupts is useful for 11990 * autovectored devices in order to pinpoint any interrupt latency 11991 * problems in a particular system configuration. 11992 * 11993 * Devices that have more than one interrupt of the same 11994 * type should use multiple structures. 11995 */ 11996 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11997 typedef struct kstat_intr { 11998 uint_t intrs[5]; /* interrupt counters */ 11999 } kstat_intr_t; 12000 12001 12002 12003 /* 12004 * I/O statistics. 12005 */ 12006 12007 typedef struct kstat_io { 12008 12009 /* 12010 * Basic counters. 12011 * 12012 * The counters should be updated at the end of service 12013 * (e.g., just prior to calling biodone()). 12014 */ 12015 12016 u_longlong_t nread; /* number of bytes read */ 12017 u_longlong_t nwritten; /* number of bytes written */ 12018 uint_t reads; /* number of read operations */ 12019 uint_t writes; /* number of write operations */ 12020 12021 /* 12022 * Accumulated time and queue length statistics. 12023 * 12024 * Accumulated time statistics are kept as a running sum 12025 * of "active" time. Queue length statistics are kept as a 12026 * running sum of the product of queue length and elapsed time 12027 * at that length -- i.e., a Riemann sum for queue length 12028 * integrated against time. (You can also think of the active time 12029 * as a Riemann sum, for the boolean function (queue_length > 0) 12030 * integrated against time, or you can think of it as the 12031 * Lebesgue measure of the set on which queue_length > 0.) 12032 * 12033 * ^ 12034 * | _________ 12035 * 8 | i4 | 12036 * | | | 12037 * Queue 6 | | 12038 * Length | _________ | | 12039 * 4 | i2 |_______| | 12040 * | | i3 | 12041 * 2_______| | 12042 * | i1 | 12043 * |_______________________________| 12044 * Time-> t1 t2 t3 t4 12045 * 12046 * At each change of state (entry or exit from the queue), 12047 * we add the elapsed time (since the previous state change) 12048 * to the active time if the queue length was non-zero during 12049 * that interval; and we add the product of the elapsed time 12050 * times the queue length to the running length*time sum. 12051 * 12052 * This method is generalizable to measuring residency 12053 * in any defined system: instead of queue lengths, think 12054 * of "outstanding RPC calls to server X". 12055 * 12056 * A large number of I/O subsystems have at least two basic 12057 * "lists" of transactions they manage: one for transactions 12058 * that have been accepted for processing but for which processing 12059 * has yet to begin, and one for transactions which are actively 12060 * being processed (but not done). For this reason, two cumulative 12061 * time statistics are defined here: wait (pre-service) time, 12062 * and run (service) time. 12063 * 12064 * All times are 64-bit nanoseconds (hrtime_t), as returned by 12065 * gethrtime(). 12066 * 12067 * The units of cumulative busy time are accumulated nanoseconds. 12068 * The units of cumulative length*time products are elapsed time 12069 * times queue length. 12070 * 12071 * Updates to the fields below are performed implicitly by calls to 12072 * these five functions: 12073 * 12074 * kstat_waitq_enter() 12075 * kstat_waitq_exit() 12076 * kstat_runq_enter() 12077 * kstat_runq_exit() 12078 * 12079 * kstat_waitq_to_runq() (see below) 12080 * kstat_runq_back_to_waitq() (see below) 12081 * 12082 * Since kstat_waitq_exit() is typically followed immediately 12083 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() 12084 * function which performs both operations. This is a performance 12085 * win since only one timestamp is required. 12086 * 12087 * In some instances, it may be necessary to move a request from 12088 * the run queue back to the wait queue, e.g. for write throttling. 12089 * For these situations, call kstat_runq_back_to_waitq(). 12090 * 12091 * These fields should never be updated by any other means. 12092 */ 12093 12094 hrtime_t wtime; /* cumulative wait (pre-service) time */ 12095 hrtime_t wlentime; /* cumulative wait length*time product */ 12096 hrtime_t wlastupdate; /* last time wait queue changed */ 12097 hrtime_t rtime; /* cumulative run (service) time */ 12098 hrtime_t rlentime; /* cumulative run length*time product */ 12099 hrtime_t rlastupdate; /* last time run queue changed */ 12100 12101 uint_t wcnt; /* count of elements in wait state */ 12102 uint_t rcnt; /* count of elements in run state */ 12103 12104 } kstat_io_t; 12105 12106 12107 12108 /* 12109 * Event timer statistics - cumulative elapsed time and number of events. 12110 * 12111 * Updates to these fields are performed implicitly by calls to 12112 * kstat_timer_start() and kstat_timer_stop(). 12113 */ 12114 12115 typedef struct kstat_timer { 12116 char name[31]; /* event name */ 12117 uchar_t resv; /* reserved */ 12118 u_longlong_t num_events; /* number of events */ 12119 hrtime_t elapsed_time; /* cumulative elapsed time */ 12120 hrtime_t min_time; /* shortest event duration */ 12121 hrtime_t max_time; /* longest event duration */ 12122 hrtime_t start_time; /* previous event start time */ 12123 hrtime_t stop_time; /* previous event stop time */ 12124 } kstat_timer_t; 12125 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 12126 12127 12128 12129 12130 12131 /* 12132 * This allows various pieces in and around IP to have a separate instance 12133 * for each instance of IP. This is used to support zones that have an 12134 * exclusive stack. 12135 * Pieces of software far removed from IP (e.g., kernel software 12136 * sitting on top of TCP or UDP) probably should not use the netstack 12137 * support; if such software wants to support separate zones it 12138 * can do that using the zones framework (zone_key_create() etc) 12139 * whether there is a shared IP stack or and exclusive IP stack underneath. 12140 */ 12141 12142 /* 12143 * Each netstack has an identifier. We reuse the zoneid allocation for 12144 * this but have a separate typedef. Thus the shared stack (used by 12145 * the global zone and other shared stack zones) have a zero ID, and 12146 * the exclusive stacks have a netstackid that is the same as their zoneid. 12147 */ 12148 typedef id_t netstackid_t; 12149 12150 12151 12152 /* 12153 * One for each module which uses netstack support. 12154 * Used in netstack_register(). 12155 * 12156 * The order of these is important for some modules both for 12157 * the creation (which done in ascending order) and destruction (which is 12158 * done in in decending order). 12159 */ 12160 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 12161 /* 12162 * State maintained for each module which tracks the state of 12163 * the create, shutdown and destroy callbacks. 12164 * 12165 * Keeps track of pending actions to avoid holding locks when 12166 * calling into the create/shutdown/destroy functions in the module. 12167 */ 12168 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 12169 /* User-level compile like IP Filter needs a netstack_t. Dummy */ 12170 typedef uint_t nm_state_t; 12171 12172 12173 /* 12174 * One for every netstack in the system. 12175 * We use a union so that the compilar and lint can provide type checking - 12176 * in principle we could have 12177 * #define netstack_arp netstack_modules[NS_ARP] 12178 * etc, but that would imply void * types hence no type checking by the 12179 * compiler. 12180 * 12181 * All the fields in netstack_t except netstack_next are protected by 12182 * netstack_lock. netstack_next is protected by netstack_g_lock. 12183 */ 12184 struct netstack { 12185 union { 12186 void *nu_modules[(18 +1)]; 12187 struct { 12188 struct dls_stack *nu_dls; 12189 struct iptun_stack *nu_iptun; 12190 struct str_stack *nu_str; 12191 struct hook_stack *nu_hook; 12192 struct neti_stack *nu_neti; 12193 struct arp_stack *nu_arp; 12194 struct ip_stack *nu_ip; 12195 struct icmp_stack *nu_icmp; 12196 struct udp_stack *nu_udp; 12197 struct tcp_stack *nu_tcp; 12198 struct sctp_stack *nu_sctp; 12199 struct rts_stack *nu_rts; 12200 struct ipsec_stack *nu_ipsec; 12201 struct keysock_stack *nu_keysock; 12202 struct spd_stack *nu_spdsock; 12203 struct ipsecah_stack *nu_ipsecah; 12204 struct ipsecesp_stack *nu_ipsecesp; 12205 struct ipnet_stack *nu_ipnet; 12206 struct ilb_stack *nu_ilb; 12207 } nu_s; 12208 } netstack_u; 12209 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 12210 nm_state_t netstack_m_state[(18 +1)]; /* module state */ 12211 12212 kmutex_t netstack_lock; 12213 struct netstack *netstack_next; 12214 netstackid_t netstack_stackid; 12215 int netstack_numzones; /* Number of zones using this */ 12216 int netstack_refcnt; /* Number of hold-rele */ 12217 int netstack_flags; /* See below */ 12218 12219 12220 12221 12222 12223 }; 12224 typedef struct netstack netstack_t; 12225 12226 /* netstack_flags values */ 12227 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 12228 /* 12229 * One for each of the NS_* values. 12230 */ 12231 struct netstack_registry { 12232 int nr_flags; /* 0 if nothing registered */ 12233 void *(*nr_create)(netstackid_t, netstack_t *); 12234 void (*nr_shutdown)(netstackid_t, void *); 12235 void (*nr_destroy)(netstackid_t, void *); 12236 }; 12237 12238 /* nr_flags values */ 12239 12240 12241 12242 /* 12243 * To support kstat_create_netstack() using kstat_add_zone we need 12244 * to track both 12245 * - all zoneids that use the global/shared stack 12246 * - all kstats that have been added for the shared stack 12247 */ 12248 12249 extern void netstack_init(void); 12250 extern void netstack_hold(netstack_t *); 12251 extern void netstack_rele(netstack_t *); 12252 extern netstack_t *netstack_find_by_cred(const cred_t *); 12253 extern netstack_t *netstack_find_by_stackid(netstackid_t); 12254 extern netstack_t *netstack_find_by_zoneid(zoneid_t); 12255 12256 extern zoneid_t netstackid_to_zoneid(netstackid_t); 12257 extern zoneid_t netstack_get_zoneid(netstack_t *); 12258 extern netstackid_t zoneid_to_netstackid(zoneid_t); 12259 12260 extern netstack_t *netstack_get_current(void); 12261 12262 /* 12263 * Register interest in changes to the set of netstacks. 12264 * The createfn and destroyfn are required, but the shutdownfn can be 12265 * NULL. 12266 * Note that due to the current zsd implementation, when the create 12267 * function is called the zone isn't fully present, thus functions 12268 * like zone_find_by_* will fail, hence the create function can not 12269 * use many zones kernel functions including zcmn_err(). 12270 */ 12271 extern void netstack_register(int, 12272 void *(*)(netstackid_t, netstack_t *), 12273 void (*)(netstackid_t, void *), 12274 void (*)(netstackid_t, void *)); 12275 extern void netstack_unregister(int); 12276 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, 12277 uint_t, uchar_t, netstackid_t); 12278 extern void kstat_delete_netstack(kstat_t *, netstackid_t); 12279 12280 /* 12281 * Simple support for walking all the netstacks. 12282 * The caller of netstack_next() needs to call netstack_rele() when 12283 * done with a netstack. 12284 */ 12285 typedef int netstack_handle_t; 12286 12287 extern void netstack_next_init(netstack_handle_t *); 12288 extern void netstack_next_fini(netstack_handle_t *); 12289 extern netstack_t *netstack_next(netstack_handle_t *); 12290 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12291 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 12292 /* 12293 * CDDL HEADER START 12294 * 12295 * The contents of this file are subject to the terms of the 12296 * Common Development and Distribution License (the "License"). 12297 * You may not use this file except in compliance with the License. 12298 * 12299 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12300 * or http://www.opensolaris.org/os/licensing. 12301 * See the License for the specific language governing permissions 12302 * and limitations under the License. 12303 * 12304 * When distributing Covered Code, include this CDDL HEADER in each 12305 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12306 * If applicable, add the following below this CDDL HEADER, with the 12307 * fields enclosed by brackets "[]" replaced with your own identifying 12308 * information: Portions Copyright [yyyy] [name of copyright owner] 12309 * 12310 * CDDL HEADER END 12311 */ 12312 /* 12313 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12314 * 12315 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12316 * Use is subject to license terms. 12317 */ 12318 12319 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12320 /* All Rights Reserved */ 12321 12322 12323 12324 12325 12326 12327 12328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12329 /* 12330 * CDDL HEADER START 12331 * 12332 * The contents of this file are subject to the terms of the 12333 * Common Development and Distribution License (the "License"). 12334 * You may not use this file except in compliance with the License. 12335 * 12336 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12337 * or http://www.opensolaris.org/os/licensing. 12338 * See the License for the specific language governing permissions 12339 * and limitations under the License. 12340 * 12341 * When distributing Covered Code, include this CDDL HEADER in each 12342 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12343 * If applicable, add the following below this CDDL HEADER, with the 12344 * fields enclosed by brackets "[]" replaced with your own identifying 12345 * information: Portions Copyright [yyyy] [name of copyright owner] 12346 * 12347 * CDDL HEADER END 12348 */ 12349 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12350 /* All Rights Reserved */ 12351 12352 12353 /* 12354 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12355 * Use is subject to license terms. 12356 * 12357 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12358 * Copyright 2016 Joyent, Inc. 12359 */ 12360 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 12361 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 12362 /* 12363 * CDDL HEADER START 12364 * 12365 * The contents of this file are subject to the terms of the 12366 * Common Development and Distribution License (the "License"). 12367 * You may not use this file except in compliance with the License. 12368 * 12369 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12370 * or http://www.opensolaris.org/os/licensing. 12371 * See the License for the specific language governing permissions 12372 * and limitations under the License. 12373 * 12374 * When distributing Covered Code, include this CDDL HEADER in each 12375 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12376 * If applicable, add the following below this CDDL HEADER, with the 12377 * fields enclosed by brackets "[]" replaced with your own identifying 12378 * information: Portions Copyright [yyyy] [name of copyright owner] 12379 * 12380 * CDDL HEADER END 12381 */ 12382 /* 12383 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12384 * Use is subject to license terms. 12385 */ 12386 12387 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12388 /* All Rights Reserved */ 12389 12390 /* 12391 * Portions of this source code were derived from Berkeley 4.3 BSD 12392 * under license from the Regents of the University of California. 12393 */ 12394 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 12395 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 12396 /* 17-21 reserved for obsolete interface */ 12397 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 12398 /* 12399 * Functions reserved for A_FREEZE (may not be available on all platforms) 12400 * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete 12401 * The first two are succeeded by AD_SUSPEND_TO_DISK and 12402 * AD_CHECK_SUSPEND_TO_DISK respectively. 12403 * AD_FORCE should not be used by any new application 12404 * 12405 * We maintain compatibility with the earlier interfaces: 12406 * AD_COMPRESS and AD_CHECK, by preserving those values 12407 * in the corresponding new interfaces 12408 */ 12409 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 12410 /* 12411 * NOTE: the following defines comprise an Unstable interface. Their semantics 12412 * may change or they may be removed completely in a later release 12413 */ 12414 12415 12416 12417 12418 12419 12420 12421 /* 12422 * Functions of A_CONFIG. Unstable interface. 12423 */ 12424 12425 12426 /* 12427 * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, 12428 * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most 12429 * 256 characters. 12430 */ 12431 12432 12433 12434 /* 12435 * FMRI for boot-config service. 12436 */ 12437 12438 12439 12440 /* 12441 * Property group that contains all Fast Reboot configuration properties. 12442 */ 12443 12444 12445 /* 12446 * Property group that contains all Fast Reboot blacklisting information. 12447 */ 12448 12449 12450 /* 12451 * Non-persistent property group which contains all the properties that 12452 * will override settings in the BOOT_CONFIG_PG_PARAMS property group. 12453 */ 12454 12455 12456 12457 12458 /* 12459 * Flag representations of fastboot configuration. 12460 */ 12461 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 12462 extern int uadmin(int, int, uintptr_t); 12463 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 12465 /* 12466 * CDDL HEADER START 12467 * 12468 * The contents of this file are subject to the terms of the 12469 * Common Development and Distribution License, Version 1.0 only 12470 * (the "License"). You may not use this file except in compliance 12471 * with the License. 12472 * 12473 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12474 * or http://www.opensolaris.org/os/licensing. 12475 * See the License for the specific language governing permissions 12476 * and limitations under the License. 12477 * 12478 * When distributing Covered Code, include this CDDL HEADER in each 12479 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12480 * If applicable, add the following below this CDDL HEADER, with the 12481 * fields enclosed by brackets "[]" replaced with your own identifying 12482 * information: Portions Copyright [yyyy] [name of copyright owner] 12483 * 12484 * CDDL HEADER END 12485 */ 12486 /* 12487 * Copyright (c) 1991, Sun Microsystems, Inc. 12488 */ 12489 12490 /* 12491 * DKI/DDI MT synchronization primitives. 12492 */ 12493 12494 12495 12496 12497 #pragma ident "%Z%%M% %I% %E% SMI" 12498 12499 /* 12500 * The presence of this file is specified by the DKI/DDI. 12501 */ 12502 12503 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 12504 /* 12505 * CDDL HEADER START 12506 * 12507 * The contents of this file are subject to the terms of the 12508 * Common Development and Distribution License, Version 1.0 only 12509 * (the "License"). You may not use this file except in compliance 12510 * with the License. 12511 * 12512 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12513 * or http://www.opensolaris.org/os/licensing. 12514 * See the License for the specific language governing permissions 12515 * and limitations under the License. 12516 * 12517 * When distributing Covered Code, include this CDDL HEADER in each 12518 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12519 * If applicable, add the following below this CDDL HEADER, with the 12520 * fields enclosed by brackets "[]" replaced with your own identifying 12521 * information: Portions Copyright [yyyy] [name of copyright owner] 12522 * 12523 * CDDL HEADER END 12524 */ 12525 /* 12526 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 12527 * All rights reserved. 12528 */ 12529 12530 /* 12531 * t_lock.h: Prototypes for disp_locks, plus include files 12532 * that describe the interfaces to kernel synch. 12533 * objects. 12534 */ 12535 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 12536 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12537 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 12538 /* 12539 * CDDL HEADER START 12540 * 12541 * The contents of this file are subject to the terms of the 12542 * Common Development and Distribution License (the "License"). 12543 * You may not use this file except in compliance with the License. 12544 * 12545 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12546 * or http://www.opensolaris.org/os/licensing. 12547 * See the License for the specific language governing permissions 12548 * and limitations under the License. 12549 * 12550 * When distributing Covered Code, include this CDDL HEADER in each 12551 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12552 * If applicable, add the following below this CDDL HEADER, with the 12553 * fields enclosed by brackets "[]" replaced with your own identifying 12554 * information: Portions Copyright [yyyy] [name of copyright owner] 12555 * 12556 * CDDL HEADER END 12557 */ 12558 /* 12559 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12560 * Use is subject to license terms. 12561 */ 12562 12563 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12564 /* All Rights Reserved */ 12565 12566 /* 12567 * Portions of this source code were derived from Berkeley 4.3 BSD 12568 * under license from the Regents of the University of California. 12569 */ 12570 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 12571 typedef uint16_t sa_family_t; 12572 12573 12574 /* 12575 * Structure used by kernel to store most 12576 * addresses. 12577 */ 12578 struct sockaddr { 12579 sa_family_t sa_family; /* address family */ 12580 char sa_data[14]; /* up to 14 bytes of direct address */ 12581 }; 12582 12583 12584 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 12585 /* 12586 * CDDL HEADER START 12587 * 12588 * The contents of this file are subject to the terms of the 12589 * Common Development and Distribution License (the "License"). 12590 * You may not use this file except in compliance with the License. 12591 * 12592 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12593 * or http://www.opensolaris.org/os/licensing. 12594 * See the License for the specific language governing permissions 12595 * and limitations under the License. 12596 * 12597 * When distributing Covered Code, include this CDDL HEADER in each 12598 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12599 * If applicable, add the following below this CDDL HEADER, with the 12600 * fields enclosed by brackets "[]" replaced with your own identifying 12601 * information: Portions Copyright [yyyy] [name of copyright owner] 12602 * 12603 * CDDL HEADER END 12604 */ 12605 /* 12606 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 12607 */ 12608 12609 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12610 /* All Rights Reserved */ 12611 12612 /* 12613 * University Copyright- Copyright (c) 1982, 1986, 1988 12614 * The Regents of the University of California 12615 * All Rights Reserved 12616 * 12617 * University Acknowledgment- Portions of this document are derived from 12618 * software developed by the University of California, Berkeley, and its 12619 * contributors. 12620 */ 12621 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 12622 /* 12623 * Definitions for UNIX IPC domain. 12624 */ 12625 struct sockaddr_un { 12626 sa_family_t sun_family; /* AF_UNIX */ 12627 char sun_path[108]; /* path name (gag) */ 12628 }; 12629 12630 12631 12632 /* 12633 * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to 12634 * change. 12635 * 12636 * Also, include a strlen() prototype, and we have to protect it w.r.t. 12637 * UNIX{98,03}. And because there's strlen, we need size_t as well. 12638 */ 12639 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 12640 extern size_t strlen(const char *); 12641 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 12642 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 12643 /* 12644 * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. 12645 * Use is subject to license terms. 12646 */ 12647 /* 12648 * Copyright (c) 1990, 1993 12649 * The Regents of the University of California. All rights reserved. 12650 * 12651 * Redistribution and use in source and binary forms, with or without 12652 * modification, are permitted provided that the following conditions 12653 * are met: 12654 * 1. Redistributions of source code must retain the above copyright 12655 * notice, this list of conditions and the following disclaimer. 12656 * 2. Redistributions in binary form must reproduce the above copyright 12657 * notice, this list of conditions and the following disclaimer in the 12658 * documentation and/or other materials provided with the distribution. 12659 * 3. All advertising materials mentioning features or use of this software 12660 * must display the following acknowledgement: 12661 * This product includes software developed by the University of 12662 * California, Berkeley and its contributors. 12663 * 4. Neither the name of the University nor the names of its contributors 12664 * may be used to endorse or promote products derived from this software 12665 * without specific prior written permission. 12666 * 12667 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 12668 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 12669 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 12670 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 12671 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 12672 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 12673 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 12674 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 12675 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 12676 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 12677 * SUCH DAMAGE. 12678 */ 12679 12680 12681 12682 12683 #pragma ident "%Z%%M% %I% %E% SMI" 12684 /* from UCB 8.1 (Berkeley) 6/10/93 */ 12685 12686 12687 12688 12689 12690 /* 12691 * A Link-Level Sockaddr may specify the interface in one of two 12692 * ways: either by means of a system-provided index number (computed 12693 * anew and possibly differently on every reboot), or by a human-readable 12694 * string such as "il0" (for managerial convenience). 12695 * 12696 * Census taking actions, such as something akin to SIOCGCONF would return 12697 * both the index and the human name. 12698 * 12699 * High volume transactions (such as giving a link-level ``from'' address 12700 * in a recvfrom or recvmsg call) may be likely only to provide the indexed 12701 * form, (which requires fewer copy operations and less space). 12702 * 12703 * The form and interpretation of the link-level address is purely a matter 12704 * of convention between the device driver and its consumers; however, it is 12705 * expected that all drivers for an interface of a given if_type will agree. 12706 */ 12707 12708 /* 12709 * Structure of a Link-Level sockaddr: 12710 */ 12711 struct sockaddr_dl { 12712 ushort_t sdl_family; /* AF_LINK */ 12713 ushort_t sdl_index; /* if != 0, system given index for interface */ 12714 uchar_t sdl_type; /* interface type */ 12715 uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ 12716 uchar_t sdl_alen; /* link level address length */ 12717 uchar_t sdl_slen; /* link layer selector length */ 12718 char sdl_data[244]; /* contains both if name and ll address */ 12719 }; 12720 12721 12722 12723 12724 extern char *_link_ntoa(const unsigned char *, char *, int, int); 12725 extern unsigned char *_link_aton(const char *, int *); 12726 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 12727 12728 12729 12730 /* 12731 * sockaddr_storage: 12732 * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr 12733 * structures. Has sufficient size and alignment for those sockaddrs. 12734 */ 12735 12736 /* 12737 * Desired maximum size, alignment size and related types. 12738 */ 12739 12740 12741 /* 12742 * To represent desired sockaddr max alignment for platform, a 12743 * type is chosen which may depend on implementation platform architecture. 12744 * Type chosen based on alignment size restrictions from <sys/isa_defs.h>. 12745 * We desire to force up to (but no more than) 64-bit (8 byte) alignment, 12746 * on platforms where it is possible to do so. (e.g not possible on ia32). 12747 * For all currently supported platforms by our implementation 12748 * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64) 12749 * type "double" is suitable for that intent. 12750 * 12751 * Note: Type "double" is chosen over the more obvious integer type int64_t. 12752 * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. 12753 */ 12754 typedef double sockaddr_maxalign_t; 12755 12756 12757 12758 /* 12759 * Definitions used for sockaddr_storage structure paddings design. 12760 */ 12761 12762 12763 12764 12765 struct sockaddr_storage { 12766 sa_family_t ss_family; /* Address family */ 12767 /* Following fields are implementation specific */ 12768 char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; 12769 sockaddr_maxalign_t _ss_align; 12770 char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; 12771 }; 12772 12773 12774 /* 12775 * To be compatible with the Linux interfaces used, this structure is 12776 * placed in socket_impl.h so that an include for <sys/socket.h> will 12777 * pickup this structure. This structure is for use with PF_PACKET 12778 * sockets. 12779 */ 12780 struct sockaddr_ll { 12781 uint16_t sll_family; 12782 uint16_t sll_protocol; 12783 int32_t sll_ifindex; 12784 uint16_t sll_hatype; 12785 uint8_t sll_pkttype; 12786 uint8_t sll_halen; 12787 uint8_t sll_addr[8]; 12788 }; 12789 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12790 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 12791 /* 12792 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12793 * Use is subject to license terms. 12794 * 12795 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 12796 */ 12797 /* 12798 * Copyright (c) 1982, 1986 Regents of the University of California. 12799 * All rights reserved. 12800 * 12801 * Redistribution and use in source and binary forms are permitted 12802 * provided that this notice is preserved and that due credit is given 12803 * to the University of California at Berkeley. The name of the University 12804 * may not be used to endorse or promote products derived from this 12805 * software without specific prior written permission. This software 12806 * is provided ``as is'' without express or implied warranty. 12807 */ 12808 12809 /* 12810 * Constants and structures defined by the internet system, 12811 * according to following documents 12812 * 12813 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 12814 * http://www.iana.org/assignments/protocol-numbers 12815 * http://www.iana.org/assignments/port-numbers 12816 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 12817 * 12818 */ 12819 12820 12821 12822 12823 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12824 /* 12825 * CDDL HEADER START 12826 * 12827 * The contents of this file are subject to the terms of the 12828 * Common Development and Distribution License (the "License"). 12829 * You may not use this file except in compliance with the License. 12830 * 12831 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12832 * or http://www.opensolaris.org/os/licensing. 12833 * See the License for the specific language governing permissions 12834 * and limitations under the License. 12835 * 12836 * When distributing Covered Code, include this CDDL HEADER in each 12837 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12838 * If applicable, add the following below this CDDL HEADER, with the 12839 * fields enclosed by brackets "[]" replaced with your own identifying 12840 * information: Portions Copyright [yyyy] [name of copyright owner] 12841 * 12842 * CDDL HEADER END 12843 */ 12844 12845 /* 12846 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12847 * Copyright 2016 Joyent, Inc. 12848 * 12849 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12850 * Use is subject to license terms. 12851 */ 12852 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12853 12854 12855 12856 12857 12858 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12859 /* 12860 * CDDL HEADER START 12861 * 12862 * The contents of this file are subject to the terms of the 12863 * Common Development and Distribution License (the "License"). 12864 * You may not use this file except in compliance with the License. 12865 * 12866 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12867 * or http://www.opensolaris.org/os/licensing. 12868 * See the License for the specific language governing permissions 12869 * and limitations under the License. 12870 * 12871 * When distributing Covered Code, include this CDDL HEADER in each 12872 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12873 * If applicable, add the following below this CDDL HEADER, with the 12874 * fields enclosed by brackets "[]" replaced with your own identifying 12875 * information: Portions Copyright [yyyy] [name of copyright owner] 12876 * 12877 * CDDL HEADER END 12878 */ 12879 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12880 /* All Rights Reserved */ 12881 12882 12883 /* 12884 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12885 * Use is subject to license terms. 12886 * 12887 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12888 * Copyright 2016 Joyent, Inc. 12889 */ 12890 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12891 12892 12893 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 12894 /* 12895 * CDDL HEADER START 12896 * 12897 * The contents of this file are subject to the terms of the 12898 * Common Development and Distribution License (the "License"). 12899 * You may not use this file except in compliance with the License. 12900 * 12901 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12902 * or http://www.opensolaris.org/os/licensing. 12903 * See the License for the specific language governing permissions 12904 * and limitations under the License. 12905 * 12906 * When distributing Covered Code, include this CDDL HEADER in each 12907 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12908 * If applicable, add the following below this CDDL HEADER, with the 12909 * fields enclosed by brackets "[]" replaced with your own identifying 12910 * information: Portions Copyright [yyyy] [name of copyright owner] 12911 * 12912 * CDDL HEADER END 12913 */ 12914 /* 12915 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12916 * Use is subject to license terms. 12917 */ 12918 12919 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12920 /* All Rights Reserved */ 12921 12922 /* 12923 * Portions of this source code were derived from Berkeley 4.3 BSD 12924 * under license from the Regents of the University of California. 12925 */ 12926 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12927 12928 12929 12930 12931 12932 /* 12933 * The socklen definitions are reproduced here from sys/socket.h so as to 12934 * not introduce that namespace into existing users of netinet/in.h. 12935 */ 12936 12937 12938 12939 typedef uint32_t socklen_t; 12940 12941 12942 12943 12944 12945 typedef void *Psocklen_t; 12946 12947 12948 12949 12950 12951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 12952 /* 12953 * CDDL HEADER START 12954 * 12955 * The contents of this file are subject to the terms of the 12956 * Common Development and Distribution License (the "License"). 12957 * You may not use this file except in compliance with the License. 12958 * 12959 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12960 * or http://www.opensolaris.org/os/licensing. 12961 * See the License for the specific language governing permissions 12962 * and limitations under the License. 12963 * 12964 * When distributing Covered Code, include this CDDL HEADER in each 12965 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12966 * If applicable, add the following below this CDDL HEADER, with the 12967 * fields enclosed by brackets "[]" replaced with your own identifying 12968 * information: Portions Copyright [yyyy] [name of copyright owner] 12969 * 12970 * CDDL HEADER END 12971 */ 12972 /* 12973 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12974 * Use is subject to license terms. 12975 */ 12976 12977 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12978 /* All Rights Reserved */ 12979 12980 12981 12982 12983 12984 /* 12985 * For source compatibility 12986 */ 12987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 12988 /* 12989 * CDDL HEADER START 12990 * 12991 * The contents of this file are subject to the terms of the 12992 * Common Development and Distribution License (the "License"). 12993 * You may not use this file except in compliance with the License. 12994 * 12995 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12996 * or http://www.opensolaris.org/os/licensing. 12997 * See the License for the specific language governing permissions 12998 * and limitations under the License. 12999 * 13000 * 13001 * When distributing Covered Code, include this CDDL HEADER in each 13002 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13003 * If applicable, add the following below this CDDL HEADER, with the 13004 * fields enclosed by brackets "[]" replaced with your own identifying 13005 * information: Portions Copyright [yyyy] [name of copyright owner] 13006 * 13007 * CDDL HEADER END 13008 */ 13009 13010 /* 13011 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13012 * Use is subject to license terms. 13013 * Copyright 2016 Joyent, Inc. 13014 */ 13015 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13016 13017 13018 13019 13020 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 13021 /* 13022 * CDDL HEADER START 13023 * 13024 * The contents of this file are subject to the terms of the 13025 * Common Development and Distribution License, Version 1.0 only 13026 * (the "License"). You may not use this file except in compliance 13027 * with the License. 13028 * 13029 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13030 * or http://www.opensolaris.org/os/licensing. 13031 * See the License for the specific language governing permissions 13032 * and limitations under the License. 13033 * 13034 * When distributing Covered Code, include this CDDL HEADER in each 13035 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13036 * If applicable, add the following below this CDDL HEADER, with the 13037 * fields enclosed by brackets "[]" replaced with your own identifying 13038 * information: Portions Copyright [yyyy] [name of copyright owner] 13039 * 13040 * CDDL HEADER END 13041 */ 13042 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13043 /* All Rights Reserved */ 13044 13045 13046 /* 13047 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13048 * 13049 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. 13050 * All rights reserved. 13051 */ 13052 13053 /* 13054 * Copyright 2015, Joyent, Inc. 13055 */ 13056 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 13057 /* 13058 * Structure of file descriptor/event pairs supplied in 13059 * the poll arrays. 13060 */ 13061 typedef struct pollfd { 13062 int fd; /* file desc to poll */ 13063 short events; /* events of interest on fd */ 13064 short revents; /* events that occurred on fd */ 13065 } pollfd_t; 13066 13067 typedef unsigned long nfds_t; 13068 13069 /* 13070 * Testable select events 13071 */ 13072 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 13073 /* 13074 * Non-testable poll events (may not be specified in events field, 13075 * but may be returned in revents field). 13076 */ 13077 13078 13079 13080 13081 /* 13082 * These events will never be specified in revents, but may be specified in 13083 * events to control /dev/poll behavior. 13084 */ 13085 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 13086 int poll(struct pollfd *, nfds_t, int); 13087 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 13089 /* 13090 * CDDL HEADER START 13091 * 13092 * The contents of this file are subject to the terms of the 13093 * Common Development and Distribution License, Version 1.0 only 13094 * (the "License"). You may not use this file except in compliance 13095 * with the License. 13096 * 13097 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13098 * or http://www.opensolaris.org/os/licensing. 13099 * See the License for the specific language governing permissions 13100 * and limitations under the License. 13101 * 13102 * When distributing Covered Code, include this CDDL HEADER in each 13103 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13104 * If applicable, add the following below this CDDL HEADER, with the 13105 * fields enclosed by brackets "[]" replaced with your own identifying 13106 * information: Portions Copyright [yyyy] [name of copyright owner] 13107 * 13108 * CDDL HEADER END 13109 */ 13110 /* 13111 * Copyright (c) 1997-1998 by Sun Microsystems, Inc. 13112 * All rights reserved. 13113 */ 13114 13115 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13116 /* All Rights Reserved */ 13117 13118 13119 13120 13121 13122 #pragma ident "%Z%%M% %I% %E% SMI" 13123 13124 13125 13126 13127 13128 /* 13129 * This file contains all machine-dependent declarations 13130 * in STREAMS. 13131 */ 13132 13133 /* 13134 * Copy data from one data buffer to another. 13135 * The addresses must be word aligned - if not, use bcopy! 13136 */ 13137 13138 13139 /* 13140 * save the address of the calling function on the 3b2 to 13141 * enable tracking of who is allocating message blocks 13142 */ 13143 13144 13145 /* 13146 * macro to check pointer alignment 13147 * (true if alignment is sufficient for worst case) 13148 */ 13149 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13150 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 13151 /* 13152 * CDDL HEADER START 13153 * 13154 * The contents of this file are subject to the terms of the 13155 * Common Development and Distribution License (the "License"). 13156 * You may not use this file except in compliance with the License. 13157 * 13158 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13159 * or http://www.opensolaris.org/os/licensing. 13160 * See the License for the specific language governing permissions 13161 * and limitations under the License. 13162 * 13163 * When distributing Covered Code, include this CDDL HEADER in each 13164 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13165 * If applicable, add the following below this CDDL HEADER, with the 13166 * fields enclosed by brackets "[]" replaced with your own identifying 13167 * information: Portions Copyright [yyyy] [name of copyright owner] 13168 * 13169 * CDDL HEADER END 13170 */ 13171 /* 13172 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13173 * Use is subject to license terms. 13174 */ 13175 13176 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 13177 /* All Rights Reserved */ 13178 13179 /* 13180 * Portions of this source code were derived from Berkeley 4.3 BSD 13181 * under license from the Regents of the University of California. 13182 */ 13183 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13184 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 13185 /* 13186 * CDDL HEADER START 13187 * 13188 * The contents of this file are subject to the terms of the 13189 * Common Development and Distribution License, Version 1.0 only 13190 * (the "License"). You may not use this file except in compliance 13191 * with the License. 13192 * 13193 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13194 * or http://www.opensolaris.org/os/licensing. 13195 * See the License for the specific language governing permissions 13196 * and limitations under the License. 13197 * 13198 * When distributing Covered Code, include this CDDL HEADER in each 13199 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13200 * If applicable, add the following below this CDDL HEADER, with the 13201 * fields enclosed by brackets "[]" replaced with your own identifying 13202 * information: Portions Copyright [yyyy] [name of copyright owner] 13203 * 13204 * CDDL HEADER END 13205 */ 13206 /* 13207 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 13208 * All rights reserved. 13209 */ 13210 13211 /* 13212 * t_lock.h: Prototypes for disp_locks, plus include files 13213 * that describe the interfaces to kernel synch. 13214 * objects. 13215 */ 13216 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 13218 /* 13219 * CDDL HEADER START 13220 * 13221 * The contents of this file are subject to the terms of the 13222 * Common Development and Distribution License, Version 1.0 only 13223 * (the "License"). You may not use this file except in compliance 13224 * with the License. 13225 * 13226 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13227 * or http://www.opensolaris.org/os/licensing. 13228 * See the License for the specific language governing permissions 13229 * and limitations under the License. 13230 * 13231 * When distributing Covered Code, include this CDDL HEADER in each 13232 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13233 * If applicable, add the following below this CDDL HEADER, with the 13234 * fields enclosed by brackets "[]" replaced with your own identifying 13235 * information: Portions Copyright [yyyy] [name of copyright owner] 13236 * 13237 * CDDL HEADER END 13238 */ 13239 /* 13240 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 13241 * Use is subject to license terms. 13242 */ 13243 13244 13245 13246 13247 #pragma ident "%Z%%M% %I% %E% SMI" 13248 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 13249 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13250 /* 13251 * CDDL HEADER START 13252 * 13253 * The contents of this file are subject to the terms of the 13254 * Common Development and Distribution License (the "License"). 13255 * You may not use this file except in compliance with the License. 13256 * 13257 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13258 * or http://www.opensolaris.org/os/licensing. 13259 * See the License for the specific language governing permissions 13260 * and limitations under the License. 13261 * 13262 * 13263 * When distributing Covered Code, include this CDDL HEADER in each 13264 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13265 * If applicable, add the following below this CDDL HEADER, with the 13266 * fields enclosed by brackets "[]" replaced with your own identifying 13267 * information: Portions Copyright [yyyy] [name of copyright owner] 13268 * 13269 * CDDL HEADER END 13270 */ 13271 13272 /* 13273 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13274 * Use is subject to license terms. 13275 * Copyright 2016 Joyent, Inc. 13276 */ 13277 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 13278 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 13279 /* 13280 * XXX Ick. This type needs to be visible outside the above guard because 13281 * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. 13282 * If we can make proc internals less visible, (which we obviously should) 13283 * then this can be invisible too. 13284 */ 13285 typedef unsigned int model_t; 13286 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 13287 13288 13289 13290 13291 13292 /* 13293 * Data queue. 13294 * 13295 * NOTE: The *only* public fields are documented in queue(9S). 13296 * Everything else is implementation-private. 13297 * 13298 * The locking rules for the queue_t structure are extremely subtle and vary 13299 * widely depending on the field in question. As such, each field is 13300 * annotated according to the following legend: 13301 * 13302 * Q9S: The field is documented in queue(9S) and may be accessed without 13303 * locks by a STREAMS module when inside an entry point (e.g., put(9E)). 13304 * However, no fields can be directly modified unless q_lock is held 13305 * (which is not possible in a DDI compliant STREAMS module), with the 13306 * following exceptions: 13307 * 13308 * - q_ptr: can be modified as per the rules of the STREAMS module. 13309 * The STREAMS framework ignores q_ptr and thus imposes *no* 13310 * locking rules on it. 13311 * - q_qinfo: can be modified before qprocson(). 13312 * 13313 * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the 13314 * rules of the STREAMS module. The STREAMS framework never 13315 * modifies these fields, and is tolerant of temporarily 13316 * stale field values. 13317 * 13318 * In general, the STREAMS framework employs one of the following 13319 * techniques to ensure STREAMS modules can safely access Q9S fields: 13320 * 13321 * - The field is only modified by the framework when the stream is 13322 * locked with strlock() (q_next). 13323 * 13324 * - The field is modified by the framework, but the modifies are 13325 * atomic, and temporarily stale values are harmless (q_count, 13326 * q_first, q_last). 13327 * 13328 * - The field is modified by the framework, but the field's visible 13329 * values are either constant or directly under the control 13330 * of the STREAMS module itself (q_flag). 13331 * 13332 * QLK: The field must be accessed or modified under q_lock, except when 13333 * the stream has been locked with strlock(). If multiple q_locks must 13334 * be acquired, q_locks at higher addresses must be taken first. 13335 * 13336 * STR: The field can be accessed without a lock, but must be modified under 13337 * strlock(). 13338 * 13339 * SQLK: The field must be accessed or modified under SQLOCK(). 13340 * 13341 * NOLK: The field can be accessed without a lock, but can only be modified 13342 * when the queue_t is not known to any other threads. 13343 * 13344 * SVLK: The field must be accessed or modified under the service_queue lock. 13345 * Note that service_lock must be taken after any needed q_locks, 13346 * and that no other lock should be taken while service_lock is held. 13347 * 13348 * In addition, it is always acceptable to modify a field that is not yet 13349 * known to any other threads -- and other special case exceptions exist in 13350 * the code. Also, q_lock is used with q_wait to implement a stream head 13351 * monitor for reads and writes. 13352 */ 13353 typedef struct queue { 13354 struct qinit *q_qinfo; /* Q9S: Q processing procedure */ 13355 struct msgb *q_first; /* Q9S: first message in Q */ 13356 struct msgb *q_last; /* Q9S: last message in Q */ 13357 struct queue *q_next; /* Q9S: next Q in stream */ 13358 struct queue *q_link; /* SVLK: next Q for scheduling */ 13359 void *q_ptr; /* Q9S: module-specific data */ 13360 size_t q_count; /* Q9S: number of bytes on Q */ 13361 uint_t q_flag; /* Q9S: Q state */ 13362 ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ 13363 ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ 13364 size_t q_hiwat; /* Q9S: Q high water mark */ 13365 size_t q_lowat; /* Q9S: Q low water mark */ 13366 struct qband *q_bandp; /* QLK: band flow information */ 13367 kmutex_t q_lock; /* NOLK: structure lock */ 13368 struct stdata *q_stream; /* NOLK: stream backpointer */ 13369 struct syncq *q_syncq; /* NOLK: associated syncq */ 13370 unsigned char q_nband; /* QLK: number of bands */ 13371 kcondvar_t q_wait; /* NOLK: read/write sleep CV */ 13372 struct queue *q_nfsrv; /* STR: next Q with svc routine */ 13373 ushort_t q_draining; /* QLK: Q is draining */ 13374 short q_struiot; /* QLK: sync streams Q UIO mode */ 13375 clock_t q_qtstamp; /* QLK: when Q was enabled */ 13376 size_t q_mblkcnt; /* QLK: mblk count */ 13377 uint_t q_syncqmsgs; /* QLK: syncq message count */ 13378 size_t q_rwcnt; /* QLK: # threads in rwnext() */ 13379 pri_t q_spri; /* QLK: Q scheduling priority */ 13380 13381 /* 13382 * Syncq scheduling 13383 */ 13384 struct msgb *q_sqhead; /* QLK: first syncq message */ 13385 struct msgb *q_sqtail; /* QLK: last syncq message */ 13386 struct queue *q_sqnext; /* SQLK: next Q on syncq list */ 13387 struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ 13388 uint_t q_sqflags; /* SQLK: syncq flags */ 13389 clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ 13390 13391 /* 13392 * NOLK: Reference to the queue's module's implementation 13393 * structure. This will be NULL for queues associated with drivers. 13394 */ 13395 struct fmodsw_impl *q_fp; 13396 } queue_t; 13397 13398 /* 13399 * Queue flags; unused flags not documented in queue(9S) can be recycled. 13400 */ 13401 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13402 /* UNUSED 0x00000200 was QHLIST */ 13403 /* UNUSED 0x00000400 was QUNSAFE */ 13404 13405 13406 13407 13408 13409 13410 /* all MT type flags */ 13411 13412 13413 13414 13415 13416 13417 /* UNUSED 0x00400000 was QHOT */ 13418 /* UNUSED 0x00800000 was QNEXTHOT */ 13419 /* UNUSED 0x01000000 was _QNEXTLESS */ 13420 13421 13422 13423 13424 /* direct interface to/from sockfs */ 13425 13426 /* queue sqflags (protected by SQLOCK). */ 13427 13428 13429 /* This is also noted by the */ 13430 /* q_draining field, but this one is */ 13431 /* protected by SQLOCK */ 13432 13433 /* 13434 * Structure that describes the separate information 13435 * for each priority band in the queue. 13436 */ 13437 typedef struct qband { 13438 struct qband *qb_next; /* next band's info */ 13439 size_t qb_count; /* number of bytes in band */ 13440 struct msgb *qb_first; /* beginning of band's data */ 13441 struct msgb *qb_last; /* end of band's data */ 13442 size_t qb_hiwat; /* high water mark for band */ 13443 size_t qb_lowat; /* low water mark for band */ 13444 uint_t qb_flag; /* see below */ 13445 size_t qb_mblkcnt; /* mblk counter for runaway msgs */ 13446 } qband_t; 13447 13448 /* 13449 * qband flags 13450 */ 13451 13452 13453 13454 13455 /* 13456 * Maximum number of bands. 13457 */ 13458 13459 13460 /* 13461 * Fields that can be manipulated through strqset() and strqget(). 13462 */ 13463 typedef enum qfields { 13464 QHIWAT = 0, /* q_hiwat or qb_hiwat */ 13465 QLOWAT = 1, /* q_lowat or qb_lowat */ 13466 QMAXPSZ = 2, /* q_maxpsz */ 13467 QMINPSZ = 3, /* q_minpsz */ 13468 QCOUNT = 4, /* q_count or qb_count */ 13469 QFIRST = 5, /* q_first or qb_first */ 13470 QLAST = 6, /* q_last or qb_last */ 13471 QFLAG = 7, /* q_flag or qb_flag */ 13472 QSTRUIOT = 8, /* q_struiot */ 13473 QBAD = 9 13474 } qfields_t; 13475 13476 /* 13477 * Module information structure 13478 */ 13479 struct module_info { 13480 ushort_t mi_idnum; /* module id number */ 13481 char *mi_idname; /* module name */ 13482 ssize_t mi_minpsz; /* min packet size accepted */ 13483 ssize_t mi_maxpsz; /* max packet size accepted */ 13484 size_t mi_hiwat; /* hi-water mark */ 13485 size_t mi_lowat; /* lo-water mark */ 13486 }; 13487 13488 /* 13489 * queue information structure (with Synchronous STREAMS extensions) 13490 */ 13491 struct qinit { 13492 int (*qi_putp)(); /* put procedure */ 13493 int (*qi_srvp)(); /* service procedure */ 13494 int (*qi_qopen)(); /* called on startup */ 13495 int (*qi_qclose)(); /* called on finish */ 13496 int (*qi_qadmin)(); /* for future use */ 13497 struct module_info *qi_minfo; /* module information structure */ 13498 struct module_stat *qi_mstat; /* module statistics structure */ 13499 int (*qi_rwp)(); /* r/w procedure */ 13500 int (*qi_infop)(); /* information procedure */ 13501 int qi_struiot; /* stream uio type for struio() */ 13502 }; 13503 13504 /* 13505 * Values for qi_struiot and q_struiot: 13506 */ 13507 13508 13509 13510 13511 /* 13512 * Streamtab (used in cdevsw and fmodsw to point to module or driver) 13513 */ 13514 struct streamtab { 13515 struct qinit *st_rdinit; 13516 struct qinit *st_wrinit; 13517 struct qinit *st_muxrinit; 13518 struct qinit *st_muxwinit; 13519 }; 13520 13521 /* 13522 * Structure sent to mux drivers to indicate a link. 13523 */ 13524 struct linkblk { 13525 queue_t *l_qtop; /* lowest level write queue of upper stream */ 13526 /* (set to NULL for persistent links) */ 13527 queue_t *l_qbot; /* highest level write queue of lower stream */ 13528 int l_index; /* index for lower stream. */ 13529 }; 13530 13531 /* 13532 * Esballoc data buffer freeing routine 13533 */ 13534 typedef struct free_rtn { 13535 void (*free_func)(); 13536 caddr_t free_arg; 13537 } frtn_t; 13538 13539 /* 13540 * Data block descriptor 13541 * 13542 * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, 13543 * as described in datab(9S). Everything else is implementation-private. 13544 */ 13545 13546 13547 13548 typedef struct datab { 13549 frtn_t *db_frtnp; 13550 unsigned char *db_base; 13551 unsigned char *db_lim; 13552 unsigned char db_ref; 13553 unsigned char db_type; 13554 unsigned char db_flags; 13555 unsigned char db_struioflag; 13556 pid_t db_cpid; /* cached pid, needs verification */ 13557 void *db_cache; /* kmem cache descriptor */ 13558 struct msgb *db_mblk; 13559 void (*db_free)(struct msgb *, struct datab *); 13560 void (*db_lastfree)(struct msgb *, struct datab *); 13561 intptr_t db_cksumstart; 13562 intptr_t db_cksumend; 13563 intptr_t db_cksumstuff; 13564 union { 13565 double enforce_alignment; 13566 unsigned char data[8]; 13567 struct { 13568 union { 13569 uint32_t u32; 13570 uint16_t u16; 13571 } cksum_val; /* used to store calculated cksum */ 13572 uint16_t flags; 13573 uint16_t pad; 13574 } cksum; 13575 /* 13576 * Union used for future extensions (pointer to data ?). 13577 */ 13578 } db_struioun; 13579 struct fthdr *db_fthdr; 13580 cred_t *db_credp; /* credential */ 13581 } dblk_t; 13582 13583 13584 13585 13586 /* 13587 * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>). 13588 */ 13589 13590 13591 13592 /* 13593 * Used by GLDv2 to store the TCI information. 13594 */ 13595 13596 13597 /* 13598 * Message block descriptor 13599 */ 13600 typedef struct msgb { 13601 struct msgb *b_next; 13602 struct msgb *b_prev; 13603 struct msgb *b_cont; 13604 unsigned char *b_rptr; 13605 unsigned char *b_wptr; 13606 struct datab *b_datap; 13607 unsigned char b_band; 13608 unsigned char b_tag; 13609 unsigned short b_flag; 13610 queue_t *b_queue; /* for sync queues */ 13611 } mblk_t; 13612 13613 /* 13614 * bcache descriptor 13615 */ 13616 typedef struct bcache { 13617 kmutex_t mutex; 13618 struct kmem_cache *buffer_cache; 13619 struct kmem_cache *dblk_cache; 13620 int alloc; 13621 int destroy; 13622 size_t size; 13623 uint_t align; 13624 } bcache_t; 13625 13626 /* 13627 * db_flags values (all implementation private!) 13628 */ 13629 13630 13631 13632 13633 /* 13634 * db_struioflag values: 13635 */ 13636 13637 13638 13639 13640 13641 13642 /* 13643 * Message flags. These are interpreted by the stream head. 13644 */ 13645 13646 13647 /* write side of stream */ 13648 13649 /* UNUSED 0x08 was MSGNOGET (can be recycled) */ 13650 13651 13652 13653 13654 /* 13655 * Streams message types. 13656 */ 13657 13658 /* 13659 * Data and protocol messages (regular and priority) 13660 */ 13661 13662 13663 13664 13665 /* 13666 * Control messages (regular and priority) 13667 */ 13668 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13669 /* 13670 * Control messages (high priority; go to head of queue) 13671 */ 13672 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13673 /* 13674 * Queue message class definitions. 13675 */ 13676 13677 13678 13679 /* 13680 * IOCTL structure - this structure is the format of the M_IOCTL message type. 13681 */ 13682 13683 struct iocblk { 13684 int ioc_cmd; /* ioctl command type */ 13685 cred_t *ioc_cr; /* full credentials */ 13686 uint_t ioc_id; /* ioctl id */ 13687 uint_t ioc_flag; /* see below */ 13688 size_t ioc_count; /* count of bytes in data field */ 13689 int ioc_rval; /* return value */ 13690 int ioc_error; /* error code */ 13691 }; 13692 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13693 typedef struct iocblk *IOCP; 13694 13695 /* {ioc,cp}_flags values */ 13696 13697 13698 13699 13700 13701 13702 13703 /* 13704 * Is the ioctl data formatted for our native model? 13705 */ 13706 13707 13708 13709 /* 13710 * structure for the M_COPYIN and M_COPYOUT message types. 13711 */ 13712 13713 struct copyreq { 13714 int cq_cmd; /* ioctl command (from ioc_cmd) */ 13715 cred_t *cq_cr; /* full credentials (from ioc_cmd) */ 13716 uint_t cq_id; /* ioctl id (from ioc_id) */ 13717 uint_t cq_flag; /* must be zero */ 13718 mblk_t *cq_private; /* private state information */ 13719 caddr_t cq_addr; /* address to copy data to/from */ 13720 size_t cq_size; /* number of bytes to copy */ 13721 }; 13722 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13723 /* 13724 * structure for the M_IOCDATA message type. 13725 */ 13726 13727 struct copyresp { 13728 int cp_cmd; /* ioctl command (from ioc_cmd) */ 13729 cred_t *cp_cr; /* full credentials (from ioc_cmd) */ 13730 uint_t cp_id; /* ioctl id (from ioc_id) */ 13731 uint_t cp_flag; /* datamodel IOC_ flags; see above */ 13732 mblk_t *cp_private; /* private state information */ 13733 caddr_t cp_rval; /* status of request: 0 -> success */ 13734 /* non-zero -> failure */ 13735 }; 13736 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13737 /* 13738 * Since these structures are all intended to travel in the same message 13739 * at different stages of a STREAMS ioctl, this union is used to determine 13740 * the message size in strdoioctl(). 13741 */ 13742 union ioctypes { 13743 struct iocblk iocblk; 13744 struct copyreq copyreq; 13745 struct copyresp copyresp; 13746 }; 13747 13748 /* 13749 * Options structure for M_SETOPTS message. This is sent upstream 13750 * by a module or driver to set stream head options. 13751 */ 13752 struct stroptions { 13753 uint_t so_flags; /* options to set */ 13754 short so_readopt; /* read option */ 13755 ushort_t so_wroff; /* write offset */ 13756 ssize_t so_minpsz; /* minimum read packet size */ 13757 ssize_t so_maxpsz; /* maximum read packet size */ 13758 size_t so_hiwat; /* read queue high water mark */ 13759 size_t so_lowat; /* read queue low water mark */ 13760 unsigned char so_band; /* band for water marks */ 13761 ushort_t so_erropt; /* error option */ 13762 ssize_t so_maxblk; /* maximum message block size */ 13763 ushort_t so_copyopt; /* copy options (see stropts.h) */ 13764 ushort_t so_tail; /* space available at the end */ 13765 }; 13766 13767 /* flags for stream options set message */ 13768 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13769 /* 13770 * Miscellaneous parameters and flags. 13771 */ 13772 13773 /* 13774 * Values for stream flag in open to indicate module open, clone open, 13775 * and the return value for failure. 13776 */ 13777 13778 13779 13780 13781 /* 13782 * Priority definitions for block allocation. 13783 */ 13784 13785 13786 13787 13788 /* 13789 * Value for packet size that denotes infinity 13790 */ 13791 13792 13793 /* 13794 * Flags for flushq() 13795 */ 13796 13797 13798 13799 /* 13800 * Flag for transparent ioctls 13801 */ 13802 13803 13804 /* 13805 * Stream head default high/low water marks 13806 */ 13807 13808 13809 13810 /* 13811 * qwriter perimeter types 13812 */ 13813 13814 13815 13816 /* 13817 * Definitions of Streams macros and function interfaces. 13818 */ 13819 13820 /* 13821 * canenable - check if queue can be enabled by putq(). 13822 */ 13823 13824 13825 /* 13826 * Test if data block type is one of the data messages (i.e. not a control 13827 * message). 13828 */ 13829 13830 13831 13832 13833 13834 13835 13836 /* 13837 * Extract queue class of message block. 13838 */ 13839 13840 13841 /* 13842 * Align address on next lower word boundary. 13843 */ 13844 13845 13846 /* 13847 * Find the max size of data block. 13848 */ 13849 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 13850 13851 /* 13852 * Symbols such as htonl() are required to be exposed through this file, 13853 * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h> 13854 */ 13855 13856 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 13857 /* 13858 * CDDL HEADER START 13859 * 13860 * The contents of this file are subject to the terms of the 13861 * Common Development and Distribution License (the "License"). 13862 * You may not use this file except in compliance with the License. 13863 * 13864 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13865 * or http://www.opensolaris.org/os/licensing. 13866 * See the License for the specific language governing permissions 13867 * and limitations under the License. 13868 * 13869 * When distributing Covered Code, include this CDDL HEADER in each 13870 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13871 * If applicable, add the following below this CDDL HEADER, with the 13872 * fields enclosed by brackets "[]" replaced with your own identifying 13873 * information: Portions Copyright [yyyy] [name of copyright owner] 13874 * 13875 * CDDL HEADER END 13876 */ 13877 13878 /* 13879 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13880 * Use is subject to license terms. 13881 */ 13882 13883 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 13884 /* All Rights Reserved */ 13885 13886 /* 13887 * University Copyright- Copyright (c) 1982, 1986, 1988 13888 * The Regents of the University of California 13889 * All Rights Reserved 13890 * 13891 * University Acknowledgment- Portions of this document are derived from 13892 * software developed by the University of California, Berkeley, and its 13893 * contributors. 13894 */ 13895 13896 13897 13898 13899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13900 /* 13901 * CDDL HEADER START 13902 * 13903 * The contents of this file are subject to the terms of the 13904 * Common Development and Distribution License (the "License"). 13905 * You may not use this file except in compliance with the License. 13906 * 13907 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13908 * or http://www.opensolaris.org/os/licensing. 13909 * See the License for the specific language governing permissions 13910 * and limitations under the License. 13911 * 13912 * 13913 * When distributing Covered Code, include this CDDL HEADER in each 13914 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13915 * If applicable, add the following below this CDDL HEADER, with the 13916 * fields enclosed by brackets "[]" replaced with your own identifying 13917 * information: Portions Copyright [yyyy] [name of copyright owner] 13918 * 13919 * CDDL HEADER END 13920 */ 13921 13922 /* 13923 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13924 * Use is subject to license terms. 13925 * Copyright 2016 Joyent, Inc. 13926 */ 13927 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 13928 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 13929 /* 13930 * CDDL HEADER START 13931 * 13932 * The contents of this file are subject to the terms of the 13933 * Common Development and Distribution License, Version 1.0 only 13934 * (the "License"). You may not use this file except in compliance 13935 * with the License. 13936 * 13937 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13938 * or http://www.opensolaris.org/os/licensing. 13939 * See the License for the specific language governing permissions 13940 * and limitations under the License. 13941 * 13942 * When distributing Covered Code, include this CDDL HEADER in each 13943 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13944 * If applicable, add the following below this CDDL HEADER, with the 13945 * fields enclosed by brackets "[]" replaced with your own identifying 13946 * information: Portions Copyright [yyyy] [name of copyright owner] 13947 * 13948 * CDDL HEADER END 13949 */ 13950 /* 13951 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13952 * 13953 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13954 * Use is subject to license terms. 13955 */ 13956 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 13957 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13958 /* 13959 * macros for conversion between host and (internet) network byte order 13960 */ 13961 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13962 typedef uint16_t in_port_t; 13963 13964 13965 13966 13967 typedef uint32_t in_addr_t; 13968 13969 13970 13971 extern uint32_t htonl(uint32_t); 13972 extern uint16_t htons(uint16_t); 13973 extern uint32_t ntohl(uint32_t); 13974 extern uint16_t ntohs(uint16_t); 13975 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13976 extern uint64_t htonll(uint64_t); 13977 extern uint64_t ntohll(uint64_t); 13978 13979 13980 13981 13982 13983 13984 /* 13985 * Macros to reverse byte order 13986 */ 13987 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13988 /* 13989 * Macros to convert from a specific byte order to/from native byte order 13990 */ 13991 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13992 /* 13993 * Macros to read unaligned values from a specific byte order to 13994 * native byte order 13995 */ 13996 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13997 /* 13998 * Macros to write unaligned values from native byte order to a specific byte 13999 * order. 14000 */ 14001 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 14002 14003 14004 14005 14006 14007 14008 14009 /* 14010 * Note: IPv4 address data structures usage conventions. 14011 * The "in_addr_t" type below (required by Unix standards) 14012 * is NOT a typedef of "struct in_addr" and violates the usual 14013 * conventions where "struct <name>" and <name>_t are corresponding 14014 * typedefs. 14015 * To minimize confusion, kernel data structures/usage prefers use 14016 * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" 14017 * The user level APIs continue to follow the historic popular 14018 * practice of using "struct in_addr". 14019 */ 14020 14021 14022 14023 14024 14025 14026 14027 typedef uint32_t ipaddr_t; 14028 14029 14030 14031 14032 struct in6_addr { 14033 union { 14034 /* 14035 * Note: Static initalizers of "union" type assume 14036 * the constant on the RHS is the type of the first member 14037 * of union. 14038 * To make static initializers (and efficient usage) work, 14039 * the order of members exposed to user and kernel view of 14040 * this data structure is different. 14041 * User environment sees specified uint8_t type as first 14042 * member whereas kernel sees most efficient type as 14043 * first member. 14044 */ 14045 14046 14047 14048 14049 uint8_t _S6_u8[16]; /* IPv6 address */ 14050 uint32_t _S6_u32[4]; /* IPv6 address */ 14051 14052 uint32_t __S6_align; /* Align on 32 bit boundary */ 14053 } _S6_un; 14054 }; 14055 14056 14057 14058 14059 14060 14061 14062 typedef struct in6_addr in6_addr_t; 14063 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14064 /* 14065 * Protocols 14066 * 14067 * Some of these constant names are copied for the DTrace IP provider in 14068 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 14069 * in sync. 14070 */ 14071 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14072 /* Transmission Protocol */ 14073 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14074 /* 14075 * Port/socket numbers: network standard functions 14076 * 14077 * Entries should exist here for each port number compiled into an ON 14078 * component, such as snoop. 14079 */ 14080 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14081 /* 14082 * Port/socket numbers: host specific functions 14083 */ 14084 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14085 /* 14086 * Internet Key Exchange (IKE) ports 14087 */ 14088 14089 14090 14091 /* 14092 * UNIX TCP sockets 14093 */ 14094 14095 14096 14097 14098 14099 14100 /* 14101 * UNIX UDP sockets 14102 */ 14103 14104 14105 14106 14107 14108 14109 14110 /* 14111 * DHCPv6 UDP ports 14112 */ 14113 14114 14115 14116 14117 14118 /* 14119 * Ports < IPPORT_RESERVED are reserved for 14120 * privileged processes (e.g. root). 14121 * Ports > IPPORT_USERRESERVED are reserved 14122 * for servers, not necessarily privileged. 14123 */ 14124 14125 14126 14127 /* 14128 * Link numbers 14129 */ 14130 14131 14132 14133 14134 /* 14135 * IPv4 Internet address 14136 * This definition contains obsolete fields for compatibility 14137 * with SunOS 3.x and 4.2bsd. The presence of subnets renders 14138 * divisions into fixed fields misleading at best. New code 14139 * should use only the s_addr field. 14140 */ 14141 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14142 struct in_addr { 14143 union { 14144 struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; 14145 struct { uint16_t s_w1, s_w2; } S_un_w; 14146 14147 uint32_t S_addr; 14148 14149 14150 14151 } S_un; 14152 14153 14154 14155 14156 14157 14158 }; 14159 14160 /* 14161 * Definitions of bits in internet address integers. 14162 * On subnets, the decomposition of addresses to host and net parts 14163 * is done according to subnet mask, not the masks here. 14164 * 14165 * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, 14166 * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto 14167 * obsolete". IN_MULTICAST macro should be used to test if a address 14168 * is a multicast address. 14169 */ 14170 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14171 /* 14172 * We have removed CLASS E checks from the kernel 14173 * But we preserve these defines for userland in order 14174 * to avoid compile breakage of some 3rd party piece of software 14175 */ 14176 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14177 /* Scoped IPv4 prefixes (in host byte-order) */ 14178 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14179 /* RFC 3927 IPv4 link local address (i in host byte-order) */ 14180 14181 14182 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ 14183 14184 14185 14186 14187 14188 14189 /* 14190 * Define a macro to stuff the loopback address into an Internet address 14191 */ 14192 14193 14194 14195 14196 14197 14198 /* 14199 * IPv4 Socket address. 14200 */ 14201 struct sockaddr_in { 14202 sa_family_t sin_family; 14203 in_port_t sin_port; 14204 struct in_addr sin_addr; 14205 14206 char sin_zero[8]; 14207 14208 14209 14210 }; 14211 14212 14213 /* 14214 * IPv6 socket address. 14215 */ 14216 struct sockaddr_in6 { 14217 sa_family_t sin6_family; 14218 in_port_t sin6_port; 14219 uint32_t sin6_flowinfo; 14220 struct in6_addr sin6_addr; 14221 uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ 14222 uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ 14223 }; 14224 14225 /* 14226 * Macros for accessing the traffic class and flow label fields from 14227 * sin6_flowinfo. 14228 * These are designed to be applied to a 32-bit value. 14229 */ 14230 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14231 /* masks */ 14232 14233 14234 14235 14236 14237 /* 14238 * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for 14239 * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) 14240 * only. They need to be different for User/Kernel versions because union 14241 * component data structure is defined differently (it is identical at 14242 * binary representation level). 14243 * 14244 * const struct in6_addr IN6ADDR_ANY_INIT; 14245 * const struct in6_addr IN6ADDR_LOOPBACK_INIT; 14246 */ 14247 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14248 /* 14249 * RFC 2553 specifies the following macros. Their type is defined 14250 * as "int" in the RFC but they only have boolean significance 14251 * (zero or non-zero). For the purposes of our comment notation, 14252 * we assume a hypothetical type "bool" defined as follows to 14253 * write the prototypes assumed for macros in our comments better. 14254 * 14255 * typedef int bool; 14256 */ 14257 14258 /* 14259 * IN6 macros used to test for special IPv6 addresses 14260 * (Mostly from spec) 14261 * 14262 * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); 14263 * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); 14264 * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); 14265 * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); 14266 * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); 14267 * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); 14268 * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 14269 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); 14270 * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 14271 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); 14272 * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); 14273 * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); 14274 * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); 14275 * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 14276 * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 14277 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, 14278 * const struct in6_addr *); -- Not from RFC2553 14279 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 14280 */ 14281 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14282 /* 14283 * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY 14284 * Note: This macro is currently NOT defined in RFC2553 specification 14285 * and not a standard macro that portable applications should use. 14286 */ 14287 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14288 /* Exclude loopback and unspecified address */ 14289 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14290 /* 14291 * Note: 14292 * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 14293 * specification and not a standard macro that portable applications 14294 * should use. 14295 */ 14296 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14297 /* 14298 * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or 14299 * RFC, and shouldn't be used by portable applications. It is used to see 14300 * if an address is a solicited-node multicast address, which is prefixed 14301 * with ff02:0:0:0:0:1:ff00::/104. 14302 */ 14303 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14304 /* 14305 * Macros to a) test for 6to4 IPv6 address, and b) to test if two 14306 * 6to4 addresses have the same /48 prefix, and, hence, are from the 14307 * same 6to4 site. 14308 */ 14309 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14310 /* 14311 * IN6_IS_ADDR_LINKSCOPE 14312 * Identifies an address as being either link-local, link-local multicast or 14313 * node-local multicast. All types of addresses are considered to be unique 14314 * within the scope of a given link. 14315 */ 14316 14317 14318 14319 14320 /* 14321 * Useful utility macros for operations with IPv6 addresses 14322 * Note: These macros are NOT defined in the RFC2553 or any other 14323 * standard specification and are not standard macros that portable 14324 * applications should use. 14325 */ 14326 14327 /* 14328 * IN6_V4MAPPED_TO_INADDR 14329 * IN6_V4MAPPED_TO_IPADDR 14330 * Assign a IPv4-Mapped IPv6 address to an IPv4 address. 14331 * Note: These macros are NOT defined in RFC2553 or any other standard 14332 * specification and are not macros that portable applications should 14333 * use. 14334 * 14335 * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); 14336 * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); 14337 * 14338 */ 14339 14340 14341 14342 14343 14344 /* 14345 * IN6_INADDR_TO_V4MAPPED 14346 * IN6_IPADDR_TO_V4MAPPED 14347 * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped 14348 * address. 14349 * Note: These macros are NOT defined in RFC2553 or any other standard 14350 * specification and are not macros that portable applications should 14351 * use. 14352 * 14353 * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); 14354 * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); 14355 * 14356 */ 14357 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14358 /* 14359 * IN6_6TO4_TO_V4ADDR 14360 * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 14361 * address. 14362 * Note: This macro is NOT defined in RFC2553 or any other standard 14363 * specification and is not a macro that portable applications should 14364 * use. 14365 * Note: we don't use the IPADDR form of the macro because we need 14366 * to do a bytewise copy; the V4ADDR in the 6to4 address is not 14367 * 32-bit aligned. 14368 * 14369 * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); 14370 * 14371 */ 14372 14373 14374 14375 14376 14377 14378 /* 14379 * IN6_V4ADDR_TO_6TO4 14380 * Given an IPv4 address and an IPv6 address for output, a 6to4 address 14381 * will be created from the IPv4 Address. 14382 * Note: This method for creating 6to4 addresses is not standardized 14383 * outside of Solaris. The newly created 6to4 address will be of the form 14384 * 2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and 14385 * HOSTID will equal 1. 14386 * 14387 * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) 14388 * 14389 */ 14390 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14391 /* 14392 * IN6_ARE_ADDR_EQUAL (defined in RFC2292) 14393 * Compares if IPv6 addresses are equal. 14394 * Note: Compares in order of high likelyhood of a miss so we minimize 14395 * compares. (Current heuristic order, compare in reverse order of 14396 * uint32_t units) 14397 * 14398 * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, 14399 * const struct in6_addr *); 14400 */ 14401 14402 14403 14404 14405 14406 14407 /* 14408 * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) 14409 * Compares if prefixed parts of IPv6 addresses are equal. 14410 * 14411 * uint32_t IN6_MASK_FROM_PREFIX(int, int); 14412 * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, 14413 * const struct in6_addr *, 14414 * int); 14415 */ 14416 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14417 /* 14418 * Options for use with [gs]etsockopt at the IP level. 14419 * 14420 * Note: Some of the IP_ namespace has conflict with and 14421 * and is exposed through <xti.h>. (It also requires exposing 14422 * options not implemented). The options with potential 14423 * for conflicts use #ifndef guards. 14424 */ 14425 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14426 /* 14427 * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in 14428 * is used to differentiate b/w the two. 14429 */ 14430 14431 14432 14433 14434 14435 /* 14436 * Different preferences that can be requested from IPSEC protocols. 14437 */ 14438 14439 14440 14441 14442 /* 14443 * This can be used with the setsockopt() call to set per socket security 14444 * options. When the application uses per-socket API, we will reflect 14445 * the request on both outbound and inbound packets. 14446 */ 14447 14448 typedef struct ipsec_req { 14449 uint_t ipsr_ah_req; /* AH request */ 14450 uint_t ipsr_esp_req; /* ESP request */ 14451 uint_t ipsr_self_encap_req; /* Self-Encap request */ 14452 uint8_t ipsr_auth_alg; /* Auth algs for AH */ 14453 uint8_t ipsr_esp_alg; /* Encr algs for ESP */ 14454 uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ 14455 } ipsec_req_t; 14456 14457 /* 14458 * MCAST_* options are protocol-independent. The actual definitions 14459 * are with the v6 options below; this comment is here to note the 14460 * namespace usage. 14461 * 14462 * #define MCAST_JOIN_GROUP 0x29 14463 * #define MCAST_LEAVE_GROUP 0x2a 14464 * #define MCAST_BLOCK_SOURCE 0x2b 14465 * #define MCAST_UNBLOCK_SOURCE 0x2c 14466 * #define MCAST_JOIN_SOURCE_GROUP 0x2d 14467 * #define MCAST_LEAVE_SOURCE_GROUP 0x2e 14468 */ 14469 14470 14471 /* 14472 * SunOS private (potentially not portable) IP_ option names 14473 */ 14474 14475 14476 14477 /* can be reused 0x44 */ 14478 14479 14480 /* 14481 * Option values and names (when !_XPG5) shared with <xti_inet.h> 14482 */ 14483 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14484 /* 14485 * The following option values are reserved by <xti_inet.h> 14486 * 14487 * T_IP_OPTIONS 0x107 - IP per-packet options 14488 * T_IP_TOS 0x108 - IP per packet type of service 14489 */ 14490 14491 /* 14492 * Default value constants for multicast attributes controlled by 14493 * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. 14494 */ 14495 14496 14497 14498 14499 /* 14500 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 14501 */ 14502 struct ip_mreq { 14503 struct in_addr imr_multiaddr; /* IP multicast address of group */ 14504 struct in_addr imr_interface; /* local IP address of interface */ 14505 }; 14506 14507 /* 14508 * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, 14509 * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. 14510 */ 14511 struct ip_mreq_source { 14512 struct in_addr imr_multiaddr; /* IP address of group */ 14513 struct in_addr imr_sourceaddr; /* IP address of source */ 14514 struct in_addr imr_interface; /* IP address of interface */ 14515 }; 14516 14517 /* 14518 * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on 14519 * IPv6 addresses. 14520 */ 14521 struct ipv6_mreq { 14522 struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ 14523 unsigned int ipv6mr_interface; /* interface index */ 14524 }; 14525 14526 /* 14527 * Use #pragma pack() construct to force 32-bit alignment on amd64. 14528 * This is needed to keep the structure size and offsets consistent 14529 * between a 32-bit app and the 64-bit amd64 kernel in structures 14530 * where 64-bit alignment would create gaps (in this case, structures 14531 * which have a uint32_t followed by a struct sockaddr_storage). 14532 */ 14533 14534 14535 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14536 #pragma pack(4) 14537 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14538 14539 14540 14541 /* 14542 * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. 14543 */ 14544 struct group_req { 14545 uint32_t gr_interface; /* interface index */ 14546 struct sockaddr_storage gr_group; /* group address */ 14547 }; 14548 14549 /* 14550 * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, 14551 * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. 14552 */ 14553 struct group_source_req { 14554 uint32_t gsr_interface; /* interface index */ 14555 struct sockaddr_storage gsr_group; /* group address */ 14556 struct sockaddr_storage gsr_source; /* source address */ 14557 }; 14558 14559 /* 14560 * Argument for SIOC[GS]MSFILTER ioctls 14561 */ 14562 struct group_filter { 14563 uint32_t gf_interface; /* interface index */ 14564 struct sockaddr_storage gf_group; /* multicast address */ 14565 uint32_t gf_fmode; /* filter mode */ 14566 uint32_t gf_numsrc; /* number of sources */ 14567 struct sockaddr_storage gf_slist[1]; /* source address */ 14568 }; 14569 14570 14571 14572 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14573 #pragma pack() 14574 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14575 14576 14577 14578 14579 14580 14581 14582 /* 14583 * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) 14584 */ 14585 struct ip_msfilter { 14586 struct in_addr imsf_multiaddr; /* IP multicast address of group */ 14587 struct in_addr imsf_interface; /* local IP address of interface */ 14588 uint32_t imsf_fmode; /* filter mode */ 14589 uint32_t imsf_numsrc; /* number of sources in src_list */ 14590 struct in_addr imsf_slist[1]; /* start of source list */ 14591 }; 14592 14593 14594 14595 14596 14597 /* 14598 * Multicast source filter manipulation functions in libsocket; 14599 * defined in RFC 3678. 14600 */ 14601 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, 14602 uint_t, struct sockaddr_storage *); 14603 14604 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, 14605 uint_t *, struct sockaddr_storage *); 14606 14607 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, 14608 uint32_t, struct in_addr *); 14609 14610 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, 14611 uint32_t *, struct in_addr *); 14612 14613 /* 14614 * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() 14615 */ 14616 14617 14618 14619 /* 14620 * Argument struct for IP_PKTINFO option 14621 */ 14622 typedef struct in_pktinfo { 14623 unsigned int ipi_ifindex; /* send/recv interface index */ 14624 struct in_addr ipi_spec_dst; /* matched source address */ 14625 struct in_addr ipi_addr; /* src/dst address in IP hdr */ 14626 } in_pktinfo_t; 14627 14628 /* 14629 * Argument struct for IPV6_PKTINFO option 14630 */ 14631 struct in6_pktinfo { 14632 struct in6_addr ipi6_addr; /* src/dst IPv6 address */ 14633 unsigned int ipi6_ifindex; /* send/recv interface index */ 14634 }; 14635 14636 /* 14637 * Argument struct for IPV6_MTUINFO option 14638 */ 14639 struct ip6_mtuinfo { 14640 struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ 14641 uint32_t ip6m_mtu; /* path MTU in host byte order */ 14642 }; 14643 14644 /* 14645 * IPv6 routing header types 14646 */ 14647 14648 14649 extern socklen_t inet6_rth_space(int type, int segments); 14650 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); 14651 extern int inet6_rth_add(void *bp, const struct in6_addr *addr); 14652 extern int inet6_rth_reverse(const void *in, void *out); 14653 extern int inet6_rth_segments(const void *bp); 14654 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); 14655 14656 extern int inet6_opt_init(void *extbuf, socklen_t extlen); 14657 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, 14658 uint8_t type, socklen_t len, uint_t align, void **databufp); 14659 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); 14660 extern int inet6_opt_set_val(void *databuf, int offset, void *val, 14661 socklen_t vallen); 14662 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, 14663 uint8_t *typep, socklen_t *lenp, void **databufp); 14664 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, 14665 uint8_t type, socklen_t *lenp, void **databufp); 14666 extern int inet6_opt_get_val(void *databuf, int offset, void *val, 14667 socklen_t vallen); 14668 14669 14670 /* 14671 * Argument structure for IP_ADD_PROXY_ADDR. 14672 * Note that this is an unstable, experimental interface. It may change 14673 * later. Don't use it unless you know what it is. 14674 */ 14675 typedef struct { 14676 struct in_addr in_prefix_addr; 14677 unsigned int in_prefix_len; 14678 } in_prefix_t; 14679 14680 14681 14682 /* 14683 * IPv6 options 14684 */ 14685 14686 /* packets. */ 14687 /* argument type: uint_t */ 14688 14689 /* multicast packets. */ 14690 /* argument type: struct in6_addr */ 14691 14692 /* multicast packets. */ 14693 /* argument type: uint_t */ 14694 14695 /* multicast packets on same socket. */ 14696 /* argument type: uint_t */ 14697 14698 /* argument type: struct ipv6_mreq */ 14699 14700 /* argument type: struct ipv6_mreq */ 14701 14702 /* 14703 * Other XPG6 constants. 14704 */ 14705 14706 /* decimal notation. */ 14707 14708 /* standard colon-hex notation. */ 14709 14710 14711 14712 14713 14714 /* 14715 * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept 14716 * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP 14717 * and IPV6_LEAVE_GROUP respectively. 14718 */ 14719 14720 /* argument type: struct ipv6_mreq */ 14721 14722 /* argument type: struct ipv6_mreq */ 14723 14724 14725 /* arg type: "struct in6_pktingo" - */ 14726 14727 14728 14729 14730 /* the routing header */ 14731 14732 14733 /* the routing header */ 14734 14735 14736 14737 14738 /* 14739 * This options exists for backwards compatability and should no longer be 14740 * used. Use IPV6_RECVDSTOPTS instead. 14741 */ 14742 14743 14744 14745 14746 /* 14747 * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables 14748 * the receipt of both headers. 14749 */ 14750 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14751 /* 14752 * enable/disable receipt of both both IPV6_DSTOPTS headers. 14753 */ 14754 14755 14756 /* 14757 * protocol-independent multicast membership options. 14758 */ 14759 14760 14761 14762 14763 14764 14765 14766 /* 32Bit field for IPV6_SRC_PREFERENCES */ 14767 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14768 /* 14769 * SunOS private (potentially not portable) IPV6_ option names 14770 */ 14771 14772 14773 /* unspecified (all zeros) */ 14774 14775 /* 14776 * Miscellaneous IPv6 constants. 14777 */ 14778 14779 14780 14781 14782 /* 14783 * Extern declarations for pre-defined global const variables 14784 */ 14785 14786 14787 14788 extern const struct in6_addr in6addr_any; 14789 extern const struct in6_addr in6addr_loopback; 14790 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14791 14792 14793 14794 14795 14796 /* 14797 * NOTE 14798 * 14799 * The contents of this file are private to the implementation of 14800 * Solaris and are subject to change at any time without notice. 14801 * Applications and drivers using these interfaces may fail to 14802 * run on future releases. 14803 */ 14804 14805 /* Available both in kernel and for user space */ 14806 14807 /* zone id restrictions and special ids */ 14808 14809 14810 14811 14812 14813 14814 /* 14815 * Special zoneid_t token to refer to all zones. 14816 */ 14817 14818 14819 /* system call subcodes */ 14820 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14821 /* zone attributes */ 14822 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14823 /* Start of the brand-specific attribute namespace */ 14824 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14825 /* 14826 * Exit values that may be returned by scripts or programs invoked by various 14827 * zone commands. 14828 * 14829 * These are defined as: 14830 * 14831 * ZONE_SUBPROC_OK 14832 * =============== 14833 * The subprocess completed successfully. 14834 * 14835 * ZONE_SUBPROC_USAGE 14836 * ================== 14837 * The subprocess failed with a usage message, or a usage message should 14838 * be output in its behalf. 14839 * 14840 * ZONE_SUBPROC_NOTCOMPLETE 14841 * ======================== 14842 * The subprocess did not complete, but the actions performed by the 14843 * subprocess require no recovery actions by the user. 14844 * 14845 * For example, if the subprocess were called by "zoneadm install," the 14846 * installation of the zone did not succeed but the user need not perform 14847 * a "zoneadm uninstall" before attempting another install. 14848 * 14849 * ZONE_SUBPROC_FATAL 14850 * ================== 14851 * The subprocess failed in a fatal manner, usually one that will require 14852 * some type of recovery action by the user. 14853 * 14854 * For example, if the subprocess were called by "zoneadm install," the 14855 * installation of the zone did not succeed and the user will need to 14856 * perform a "zoneadm uninstall" before another install attempt is 14857 * possible. 14858 * 14859 * The non-success exit values are large to avoid accidental collision 14860 * with values used internally by some commands (e.g. "Z_ERR" and 14861 * "Z_USAGE" as used by zoneadm.) 14862 */ 14863 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14864 typedef struct { 14865 const char *zone_name; 14866 const char *zone_root; 14867 const struct priv_set *zone_privs; 14868 size_t zone_privssz; 14869 const char *rctlbuf; 14870 size_t rctlbufsz; 14871 int *extended_error; 14872 const char *zfsbuf; 14873 size_t zfsbufsz; 14874 int match; /* match level */ 14875 uint32_t doi; /* DOI for label */ 14876 const bslabel_t *label; /* label associated with zone */ 14877 int flags; 14878 } zone_def; 14879 14880 /* extended error information */ 14881 14882 14883 14884 14885 14886 /* 14887 * zone_status values 14888 * 14889 * You must modify zone_status_names in mdb(1M)'s genunix module 14890 * (genunix/zone.c) when you modify this enum. 14891 */ 14892 typedef enum { 14893 ZONE_IS_UNINITIALIZED = 0, 14894 ZONE_IS_INITIALIZED, 14895 ZONE_IS_READY, 14896 ZONE_IS_BOOTING, 14897 ZONE_IS_RUNNING, 14898 ZONE_IS_SHUTTING_DOWN, 14899 ZONE_IS_EMPTY, 14900 ZONE_IS_DOWN, 14901 ZONE_IS_DYING, 14902 ZONE_IS_DEAD 14903 } zone_status_t; 14904 14905 14906 14907 /* 14908 * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also 14909 * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. 14910 */ 14911 typedef enum zone_cmd { 14912 Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, 14913 Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN 14914 } zone_cmd_t; 14915 14916 /* 14917 * The structure of a request to zoneadmd. 14918 */ 14919 typedef struct zone_cmd_arg { 14920 uint64_t uniqid; /* unique "generation number" */ 14921 zone_cmd_t cmd; /* requested action */ 14922 uint32_t _pad; /* need consistent 32/64 bit alignmt */ 14923 char locale[1024]; /* locale in which to render messages */ 14924 char bootbuf[256]; /* arguments passed to zone_boot() */ 14925 } zone_cmd_arg_t; 14926 14927 /* 14928 * Structure of zoneadmd's response to a request. A NULL return value means 14929 * the caller should attempt to restart zoneadmd and retry. 14930 */ 14931 typedef struct zone_cmd_rval { 14932 int rval; /* return value of request */ 14933 char errbuf[1]; /* variable-sized buffer containing error messages */ 14934 } zone_cmd_rval_t; 14935 14936 /* 14937 * The zone support infrastructure uses the zone name as a component 14938 * of unix domain (AF_UNIX) sockets, which are limited to 108 characters 14939 * in length, so ZONENAME_MAX is limited by that. 14940 */ 14941 14942 14943 14944 14945 /* 14946 * Extended Regular expression (see regex(5)) which matches all valid zone 14947 * names. 14948 */ 14949 14950 14951 /* 14952 * Where the zones support infrastructure places temporary files. 14953 */ 14954 14955 14956 /* 14957 * The path to the door used by clients to communicate with zoneadmd. 14958 */ 14959 14960 14961 14962 /* zone_flags */ 14963 /* 14964 * Threads that read or write the following flag must hold zone_lock. 14965 */ 14966 14967 14968 /* 14969 * The following threads are set when the zone is created and never changed. 14970 * Threads that test for these flags don't have to hold zone_lock. 14971 */ 14972 14973 14974 14975 14976 14977 /* zone_create flags */ 14978 14979 14980 /* zone network properties */ 14981 14982 14983 14984 14985 14986 14987 typedef struct zone_net_data { 14988 int zn_type; 14989 int zn_len; 14990 datalink_id_t zn_linkid; 14991 uint8_t zn_val[1]; 14992 } zone_net_data_t; 14993 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 14994 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 14995 /* 14996 * CDDL HEADER START 14997 * 14998 * The contents of this file are subject to the terms of the 14999 * Common Development and Distribution License (the "License"). 15000 * You may not use this file except in compliance with the License. 15001 * 15002 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15003 * or http://www.opensolaris.org/os/licensing. 15004 * See the License for the specific language governing permissions 15005 * and limitations under the License. 15006 * 15007 * When distributing Covered Code, include this CDDL HEADER in each 15008 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15009 * If applicable, add the following below this CDDL HEADER, with the 15010 * fields enclosed by brackets "[]" replaced with your own identifying 15011 * information: Portions Copyright [yyyy] [name of copyright owner] 15012 * 15013 * CDDL HEADER END 15014 */ 15015 /* 15016 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15017 * 15018 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 15019 */ 15020 15021 15022 15023 15024 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15025 /* 15026 * CDDL HEADER START 15027 * 15028 * The contents of this file are subject to the terms of the 15029 * Common Development and Distribution License (the "License"). 15030 * You may not use this file except in compliance with the License. 15031 * 15032 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15033 * or http://www.opensolaris.org/os/licensing. 15034 * See the License for the specific language governing permissions 15035 * and limitations under the License. 15036 * 15037 * When distributing Covered Code, include this CDDL HEADER in each 15038 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15039 * If applicable, add the following below this CDDL HEADER, with the 15040 * fields enclosed by brackets "[]" replaced with your own identifying 15041 * information: Portions Copyright [yyyy] [name of copyright owner] 15042 * 15043 * CDDL HEADER END 15044 */ 15045 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15046 /* All Rights Reserved */ 15047 15048 15049 /* 15050 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15051 * Use is subject to license terms. 15052 * 15053 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15054 * Copyright 2016 Joyent, Inc. 15055 */ 15056 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 15057 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 15058 /* 15059 * CDDL HEADER START 15060 * 15061 * The contents of this file are subject to the terms of the 15062 * Common Development and Distribution License (the "License"). 15063 * You may not use this file except in compliance with the License. 15064 * 15065 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15066 * or http://www.opensolaris.org/os/licensing. 15067 * See the License for the specific language governing permissions 15068 * and limitations under the License. 15069 * 15070 * When distributing Covered Code, include this CDDL HEADER in each 15071 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15072 * If applicable, add the following below this CDDL HEADER, with the 15073 * fields enclosed by brackets "[]" replaced with your own identifying 15074 * information: Portions Copyright [yyyy] [name of copyright owner] 15075 * 15076 * CDDL HEADER END 15077 */ 15078 /* 15079 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15080 * Use is subject to license terms. 15081 */ 15082 15083 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 15084 /* All Rights Reserved */ 15085 15086 /* 15087 * Portions of this source code were derived from Berkeley 4.3 BSD 15088 * under license from the Regents of the University of California. 15089 */ 15090 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 15091 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 15092 /* 15093 * CDDL HEADER START 15094 * 15095 * The contents of this file are subject to the terms of the 15096 * Common Development and Distribution License (the "License"). 15097 * You may not use this file except in compliance with the License. 15098 * 15099 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15100 * or http://www.opensolaris.org/os/licensing. 15101 * See the License for the specific language governing permissions 15102 * and limitations under the License. 15103 * 15104 * When distributing Covered Code, include this CDDL HEADER in each 15105 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15106 * If applicable, add the following below this CDDL HEADER, with the 15107 * fields enclosed by brackets "[]" replaced with your own identifying 15108 * information: Portions Copyright [yyyy] [name of copyright owner] 15109 * 15110 * CDDL HEADER END 15111 */ 15112 /* 15113 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 15114 * Copyright 2015, Joyent, Inc. All rights reserved. 15115 * 15116 * Privilege constant definitions. Privileges and privilege sets 15117 * are only known by name and should be mapped at runtime. 15118 * 15119 * THIS FILE WAS GENERATED; DO NOT EDIT 15120 */ 15121 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 15122 /* 15123 * Privilege names 15124 */ 15125 /* 15126 * Allows a process to request critical events without limitation. 15127 * Allows a process to request reliable delivery of all events on 15128 * any event queue. 15129 */ 15130 15131 15132 /* 15133 * Allows a process to set the service FMRI value of a process 15134 * contract template. 15135 */ 15136 15137 15138 /* 15139 * Allows a process to observe contract events generated by 15140 * contracts created and owned by users other than the process's 15141 * effective user ID. 15142 * Allows a process to open contract event endpoints belonging to 15143 * contracts created and owned by users other than the process's 15144 * effective user ID. 15145 */ 15146 15147 15148 /* 15149 * Allow a process to access per-CPU hardware performance counters. 15150 */ 15151 15152 15153 /* 15154 * Allows DTrace kernel-level tracing. 15155 */ 15156 15157 15158 /* 15159 * Allows DTrace process-level tracing. 15160 * Allows process-level tracing probes to be placed and enabled in 15161 * processes to which the user has permissions. 15162 */ 15163 15164 15165 /* 15166 * Allows DTrace user-level tracing. 15167 * Allows use of the syscall and profile DTrace providers to 15168 * examine processes to which the user has permissions. 15169 */ 15170 15171 15172 /* 15173 * Allows a process to change a file's owner user ID. 15174 * Allows a process to change a file's group ID to one other than 15175 * the process' effective group ID or one of the process' 15176 * supplemental group IDs. 15177 */ 15178 15179 15180 /* 15181 * Allows a process to give away its files; a process with this 15182 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 15183 * in effect. 15184 */ 15185 15186 15187 /* 15188 * Allows a process to execute an executable file whose permission 15189 * bits or ACL do not allow the process execute permission. 15190 */ 15191 15192 15193 /* 15194 * Allows a process to read a file or directory whose permission 15195 * bits or ACL do not allow the process read permission. 15196 */ 15197 15198 15199 /* 15200 * Allows a process to search a directory whose permission bits or 15201 * ACL do not allow the process search permission. 15202 */ 15203 15204 15205 /* 15206 * Allows a process to write a file or directory whose permission 15207 * bits or ACL do not allow the process write permission. 15208 * In order to write files owned by uid 0 in the absence of an 15209 * effective uid of 0 ALL privileges are required. 15210 */ 15211 15212 15213 /* 15214 * Allows a process to set the sensitivity label of a file or 15215 * directory to a sensitivity label that does not dominate the 15216 * existing sensitivity label. 15217 * This privilege is interpreted only if the system is configured 15218 * with Trusted Extensions. 15219 */ 15220 15221 15222 /* 15223 * Allows a process to set immutable, nounlink or appendonly 15224 * file attributes. 15225 */ 15226 15227 15228 /* 15229 * Allows a process to create hardlinks to files owned by a uid 15230 * different from the process' effective uid. 15231 */ 15232 15233 15234 /* 15235 * Allows a process which is not the owner of a file or directory 15236 * to perform the following operations that are normally permitted 15237 * only for the file owner: modify that file's access and 15238 * modification times; remove or rename a file or directory whose 15239 * parent directory has the ``save text image after execution'' 15240 * (sticky) bit set; mount a ``namefs'' upon a file; modify 15241 * permission bits or ACL except for the set-uid and set-gid 15242 * bits. 15243 */ 15244 15245 15246 /* 15247 * Allows a process to read objects in the filesystem. 15248 */ 15249 15250 15251 /* 15252 * Allows a process to change the ownership of a file or write to 15253 * a file without the set-user-ID and set-group-ID bits being 15254 * cleared. 15255 * Allows a process to set the set-group-ID bit on a file or 15256 * directory whose group is not the process' effective group or 15257 * one of the process' supplemental groups. 15258 * Allows a process to set the set-user-ID bit on a file with 15259 * different ownership in the presence of PRIV_FILE_OWNER. 15260 * Additional restrictions apply when creating or modifying a 15261 * set-uid 0 file. 15262 */ 15263 15264 15265 /* 15266 * Allows a process to set the sensitivity label of a file or 15267 * directory to a sensitivity label that dominates the existing 15268 * sensitivity label. 15269 * This privilege is interpreted only if the system is configured 15270 * with Trusted Extensions. 15271 */ 15272 15273 15274 /* 15275 * Allows a process to modify objects in the filesystem. 15276 */ 15277 15278 15279 /* 15280 * Allows a process to make privileged ioctls to graphics devices. 15281 * Typically only xserver process needs to have this privilege. 15282 * A process with this privilege is also allowed to perform 15283 * privileged graphics device mappings. 15284 */ 15285 15286 15287 /* 15288 * Allows a process to perform privileged mappings through a 15289 * graphics device. 15290 */ 15291 15292 15293 /* 15294 * Allows a process to read a System V IPC 15295 * Message Queue, Semaphore Set, or Shared Memory Segment whose 15296 * permission bits do not allow the process read permission. 15297 * Allows a process to read remote shared memory whose 15298 * permission bits do not allow the process read permission. 15299 */ 15300 15301 15302 /* 15303 * Allows a process to write a System V IPC 15304 * Message Queue, Semaphore Set, or Shared Memory Segment whose 15305 * permission bits do not allow the process write permission. 15306 * Allows a process to read remote shared memory whose 15307 * permission bits do not allow the process write permission. 15308 * Additional restrictions apply if the owner of the object has uid 0 15309 * and the effective uid of the current process is not 0. 15310 */ 15311 15312 15313 /* 15314 * Allows a process which is not the owner of a System 15315 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 15316 * remove, change ownership of, or change permission bits of the 15317 * Message Queue, Semaphore Set, or Shared Memory Segment. 15318 * Additional restrictions apply if the owner of the object has uid 0 15319 * and the effective uid of the current process is not 0. 15320 */ 15321 15322 15323 /* 15324 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 15325 */ 15326 15327 15328 /* 15329 * Allow a process to bind to a port that is configured as a 15330 * multi-level port(MLP) for the process's zone. This privilege 15331 * applies to both shared address and zone-specific address MLPs. 15332 * See tnzonecfg(4) from the Trusted Extensions manual pages for 15333 * information on configuring MLP ports. 15334 * This privilege is interpreted only if the system is configured 15335 * with Trusted Extensions. 15336 */ 15337 15338 15339 /* 15340 * Allows a process to send and receive ICMP packets. 15341 */ 15342 15343 15344 /* 15345 * Allows a process to set NET_MAC_AWARE process flag by using 15346 * setpflags(2). This privilege also allows a process to set 15347 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 15348 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 15349 * option both allow a local process to communicate with an 15350 * unlabeled peer if the local process' label dominates the 15351 * peer's default label, or if the local process runs in the 15352 * global zone. 15353 * This privilege is interpreted only if the system is configured 15354 * with Trusted Extensions. 15355 */ 15356 15357 15358 /* 15359 * Allows a process to set SO_MAC_IMPLICIT option by using 15360 * setsockopt(3SOCKET). This allows a privileged process to 15361 * transmit implicitly-labeled packets to a peer. 15362 * This privilege is interpreted only if the system is configured 15363 * with Trusted Extensions. 15364 */ 15365 15366 15367 /* 15368 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 15369 * while not requiring them to need PRIV_NET_RAWACCESS. 15370 */ 15371 15372 15373 /* 15374 * Allows a process to bind to a privileged port 15375 * number. The privilege port numbers are 1-1023 (the traditional 15376 * UNIX privileged ports) as well as those ports marked as 15377 * "udp/tcp_extra_priv_ports" with the exception of the ports 15378 * reserved for use by NFS. 15379 */ 15380 15381 15382 /* 15383 * Allows a process to have direct access to the network layer. 15384 */ 15385 15386 15387 /* 15388 * Allows a process to generate audit records. 15389 * Allows a process to get its own audit pre-selection information. 15390 */ 15391 15392 15393 /* 15394 * Allows a process to change its root directory. 15395 */ 15396 15397 15398 /* 15399 * Allows a process to use high resolution timers. 15400 */ 15401 15402 15403 /* 15404 * Allows a process to call execve(). 15405 */ 15406 15407 15408 /* 15409 * Allows a process to call fork1()/forkall()/vfork() 15410 */ 15411 15412 15413 /* 15414 * Allows a process to examine the status of processes other 15415 * than those it can send signals to. Processes which cannot 15416 * be examined cannot be seen in /proc and appear not to exist. 15417 */ 15418 15419 15420 /* 15421 * Allows a process to lock pages in physical memory. 15422 */ 15423 15424 15425 /* 15426 * Allows a process to access physical memory information. 15427 */ 15428 15429 15430 /* 15431 * Allows a process to send signals to other processes, inspect 15432 * and modify process state to other processes regardless of 15433 * ownership. When modifying another process, additional 15434 * restrictions apply: the effective privilege set of the 15435 * attaching process must be a superset of the target process' 15436 * effective, permitted and inheritable sets; the limit set must 15437 * be a superset of the target's limit set; if the target process 15438 * has any uid set to 0 all privilege must be asserted unless the 15439 * effective uid is 0. 15440 * Allows a process to bind arbitrary processes to CPUs. 15441 */ 15442 15443 15444 /* 15445 * Allows a process to elevate its priority above its current level. 15446 */ 15447 15448 15449 /* 15450 * Allows all that PRIV_PROC_PRIOUP allows. 15451 * Allows a process to change its scheduling class to any scheduling class, 15452 * including the RT class. 15453 */ 15454 15455 15456 /* 15457 * Allows a process to send signals or trace processes outside its 15458 * session. 15459 */ 15460 15461 15462 /* 15463 * Allows a process to set its uids at will. 15464 * Assuming uid 0 requires all privileges to be asserted. 15465 */ 15466 15467 15468 /* 15469 * Allows a process to assign a new task ID to the calling process. 15470 */ 15471 15472 15473 /* 15474 * Allows a process to trace or send signals to processes in 15475 * other zones. 15476 */ 15477 15478 15479 /* 15480 * Allows a process to enable and disable and manage accounting through 15481 * acct(2), getacct(2), putacct(2) and wracct(2). 15482 */ 15483 15484 15485 /* 15486 * Allows a process to perform system administration tasks such 15487 * as setting node and domain name and specifying nscd and coreadm 15488 * settings. 15489 */ 15490 15491 15492 /* 15493 * Allows a process to start the (kernel) audit daemon. 15494 * Allows a process to view and set audit state (audit user ID, 15495 * audit terminal ID, audit sessions ID, audit pre-selection mask). 15496 * Allows a process to turn off and on auditing. 15497 * Allows a process to configure the audit parameters (cache and 15498 * queue sizes, event to class mappings, policy options). 15499 */ 15500 15501 15502 /* 15503 * Allows a process to perform various system configuration tasks. 15504 * Allows a process to add and remove swap devices; when adding a swap 15505 * device, a process must also have sufficient privileges to read from 15506 * and write to the swap device. 15507 */ 15508 15509 15510 /* 15511 * Allows a process to successfully call a kernel module that 15512 * calls the kernel drv_priv(9F) function to check for allowed 15513 * access. 15514 * Allows a process to open the real console device directly. 15515 * Allows a process to open devices that have been exclusively opened. 15516 */ 15517 15518 15519 /* 15520 * Allows a process to increase the size of a System V IPC Message 15521 * Queue buffer. 15522 */ 15523 15524 15525 /* 15526 * Allows a process to unlink and link directories. 15527 */ 15528 15529 15530 /* 15531 * Allows filesystem specific administrative procedures, such as 15532 * filesystem configuration ioctls, quota calls and creation/deletion 15533 * of snapshots. 15534 * Allows a process to mount and unmount filesystems which would 15535 * otherwise be restricted (i.e., most filesystems except 15536 * namefs). 15537 * A process performing a mount operation needs to have 15538 * appropriate access to the device being mounted (read-write for 15539 * "rw" mounts, read for "ro" mounts). 15540 * A process performing any of the aforementioned 15541 * filesystem operations needs to have read/write/owner 15542 * access to the mount point. 15543 * Only regular files and directories can serve as mount points 15544 * for processes which do not have all zone privileges asserted. 15545 * Unless a process has all zone privileges, the mount(2) 15546 * system call will force the "nosuid" and "restrict" options, the 15547 * latter only for autofs mountpoints. 15548 * Regardless of privileges, a process running in a non-global zone may 15549 * only control mounts performed from within said zone. 15550 * Outside the global zone, the "nodevices" option is always forced. 15551 */ 15552 15553 15554 /* 15555 * Allows a process to configure IP tunnel links. 15556 */ 15557 15558 15559 /* 15560 * Allows a process to configure all classes of datalinks, including 15561 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 15562 */ 15563 15564 15565 /* 15566 * Allows a process to configure a system's IP interfaces and routes. 15567 * Allows a process to configure network parameters using ndd. 15568 * Allows a process access to otherwise restricted information using ndd. 15569 * Allows a process to configure IPsec. 15570 * Allows a process to pop anchored STREAMs modules with matching zoneid. 15571 */ 15572 15573 15574 /* 15575 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 15576 * PRIV_SYS_PPP_CONFIG allow. 15577 * Allows a process to push the rpcmod STREAMs module. 15578 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 15579 * than the top of the module stack. 15580 */ 15581 15582 15583 /* 15584 * Allows a process to perform Sun private NFS specific system calls. 15585 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 15586 * and port 4045 (lockd). 15587 */ 15588 15589 15590 /* 15591 * Allows a process to create and destroy PPP (sppp) interfaces. 15592 * Allows a process to configure PPP tunnels (sppptun). 15593 */ 15594 15595 15596 /* 15597 * Allows a process to bind processes to processor sets. 15598 */ 15599 15600 15601 /* 15602 * Allows all that PRIV_SYS_RES_BIND allows. 15603 * Allows a process to create and delete processor sets, assign 15604 * CPUs to processor sets and override the PSET_NOESCAPE property. 15605 * Allows a process to change the operational status of CPUs in 15606 * the system using p_online(2). 15607 * Allows a process to configure resource pools and to bind 15608 * processes to pools 15609 */ 15610 15611 15612 /* 15613 * Allows a process to modify the resource limits specified 15614 * by setrlimit(2) and setrctl(2) without restriction. 15615 * Allows a process to exceed the per-user maximum number of 15616 * processes. 15617 * Allows a process to extend or create files on a filesystem that 15618 * has less than minfree space in reserve. 15619 */ 15620 15621 15622 /* 15623 * Allows a process to access the Sun private SMB kernel module. 15624 * Allows a process to bind to ports reserved by NetBIOS and SMB: 15625 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 15626 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 15627 */ 15628 15629 15630 /* 15631 * Allows a process to successfully call a third party loadable module 15632 * that calls the kernel suser() function to check for allowed access. 15633 * This privilege exists only for third party loadable module 15634 * compatibility and is not used by Solaris proper. 15635 */ 15636 15637 15638 /* 15639 * Allows a process to manipulate system time using any of the 15640 * appropriate system calls: stime, adjtime, ntp_adjtime and 15641 * the IA specific RTC calls. 15642 */ 15643 15644 15645 /* 15646 * Allows a process to translate labels that are not dominated 15647 * by the process' sensitivity label to and from an external 15648 * string form. 15649 * This privilege is interpreted only if the system is configured 15650 * with Trusted Extensions. 15651 */ 15652 15653 15654 /* 15655 * Allows a process to manage virtualized environments such as 15656 * xVM(5). 15657 */ 15658 15659 15660 /* 15661 * Allows a process to override colormap restrictions. 15662 * Allows a process to install or remove colormaps. 15663 * Allows a process to retrieve colormap cell entries allocated 15664 * by other processes. 15665 * This privilege is interpreted only if the system is configured 15666 * with Trusted Extensions. 15667 */ 15668 15669 15670 /* 15671 * Allows a process to configure or destroy resources that are 15672 * permanently retained by the X server. 15673 * Allows a process to use SetScreenSaver to set the screen 15674 * saver timeout value. 15675 * Allows a process to use ChangeHosts to modify the display 15676 * access control list. 15677 * Allows a process to use GrabServer. 15678 * Allows a process to use the SetCloseDownMode request which 15679 * may retain window, pixmap, colormap, property, cursor, font, 15680 * or graphic context resources. 15681 * This privilege is interpreted only if the system is configured 15682 * with Trusted Extensions. 15683 */ 15684 15685 15686 /* 15687 * Allows a process to read from a window resource that it does 15688 * not own (has a different user ID). 15689 * This privilege is interpreted only if the system is configured 15690 * with Trusted Extensions. 15691 */ 15692 15693 15694 /* 15695 * Allows a process to write to or create a window resource that 15696 * it does not own (has a different user ID). A newly created 15697 * window property is created with the window's user ID. 15698 * This privilege is interpreted only if the system is configured 15699 * with Trusted Extensions. 15700 */ 15701 15702 15703 /* 15704 * Allows a process to perform operations on window input devices. 15705 * Allows a process to get and set keyboard and pointer controls. 15706 * Allows a process to modify pointer button and key mappings. 15707 * This privilege is interpreted only if the system is configured 15708 * with Trusted Extensions. 15709 */ 15710 15711 15712 /* 15713 * Allows a process to use the direct graphics access (DGA) X protocol 15714 * extensions. Direct process access to the frame buffer is still 15715 * required. Thus the process must have MAC and DAC privileges that 15716 * allow access to the frame buffer, or the frame buffer must be 15717 * allocated to the process. 15718 * This privilege is interpreted only if the system is configured 15719 * with Trusted Extensions. 15720 */ 15721 15722 15723 /* 15724 * Allows a process to set the sensitivity label of a window resource 15725 * to a sensitivity label that does not dominate the existing 15726 * sensitivity label. 15727 * This privilege is interpreted only if the system is configured 15728 * with Trusted Extensions. 15729 */ 15730 15731 15732 /* 15733 * Allows a process to set a font path. 15734 * This privilege is interpreted only if the system is configured 15735 * with Trusted Extensions. 15736 */ 15737 15738 15739 /* 15740 * Allows a process to read from a window resource whose sensitivity 15741 * label is not equal to the process sensitivity label. 15742 * This privilege is interpreted only if the system is configured 15743 * with Trusted Extensions. 15744 */ 15745 15746 15747 /* 15748 * Allows a process to create a window resource whose sensitivity 15749 * label is not equal to the process sensitivity label. 15750 * A newly created window property is created with the window's 15751 * sensitivity label. 15752 * This privilege is interpreted only if the system is configured 15753 * with Trusted Extensions. 15754 */ 15755 15756 15757 /* 15758 * Allows a process to request inter-window data moves without the 15759 * intervention of the selection confirmer. 15760 * This privilege is interpreted only if the system is configured 15761 * with Trusted Extensions. 15762 */ 15763 15764 15765 /* 15766 * Allows a process to set the sensitivity label of a window 15767 * resource to a sensitivity label that dominates the existing 15768 * sensitivity label. 15769 * This privilege is interpreted only if the system is configured 15770 * with Trusted Extensions. 15771 */ 15772 15773 15774 /* 15775 * Allows a process access to the xVM(5) control devices for 15776 * managing guest domains and the hypervisor. This privilege is 15777 * used only if booted into xVM on x86 platforms. 15778 */ 15779 15780 15781 15782 /* 15783 * Privilege set names 15784 */ 15785 /* 15786 * Set of privileges currently in effect. 15787 */ 15788 15789 15790 /* 15791 * Set of privileges that comes into effect on exec. 15792 */ 15793 15794 15795 /* 15796 * Set of privileges that can be put into the effective set without 15797 * restriction. 15798 */ 15799 15800 15801 /* 15802 * Set of privileges that determines the absolute upper bound of 15803 * privileges this process and its off-spring can obtain. 15804 */ 15805 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 15806 15807 15808 15809 15810 15811 typedef uint32_t priv_chunk_t; 15812 typedef struct priv_set priv_set_t; 15813 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15814 /* 15815 * Userland type definitions. 15816 */ 15817 15818 typedef const char *priv_ptype_t; 15819 typedef const char *priv_t; 15820 15821 15822 15823 /* 15824 * priv_op_t indicates a privilege operation type 15825 */ 15826 typedef enum priv_op { 15827 PRIV_ON, 15828 PRIV_OFF, 15829 PRIV_SET 15830 } priv_op_t; 15831 15832 /* 15833 * Privilege system call subcodes. 15834 */ 15835 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15836 /* 15837 * Maximum length of a user defined privilege name. 15838 */ 15839 15840 15841 /* 15842 * Privilege interface functions for those parts of the kernel that 15843 * know nothing of the privilege internals. 15844 * 15845 * A privilege implementation can have a varying number of sets; sets 15846 * consist of a number of priv_chunk_t's and the size is expressed as such. 15847 * The privileges can be represented as 15848 * 15849 * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] 15850 * ... priv_infosize of extra information ... 15851 * 15852 * Extra data contained in the privilege information consists of chunks 15853 * of data with specified size and type all headed by a priv_info_t header 15854 * which defines both the type of information as well as the size of the 15855 * information. ((char*)&info)+info->priv_info_size should be rounded up 15856 * to point to the next piece of information. 15857 */ 15858 15859 typedef struct priv_impl_info { 15860 uint32_t priv_headersize; /* sizeof (priv_impl_info) */ 15861 uint32_t priv_flags; /* additional flags */ 15862 uint32_t priv_nsets; /* number of priv sets */ 15863 uint32_t priv_setsize; /* size in priv_chunk_t */ 15864 uint32_t priv_max; /* highest actual valid priv */ 15865 uint32_t priv_infosize; /* Per proc. additional info */ 15866 uint32_t priv_globalinfosize; /* Per system info */ 15867 } priv_impl_info_t; 15868 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15869 /* 15870 * Per credential flags. 15871 */ 15872 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15873 /* user-settable flags: */ 15874 15875 15876 15877 /* 15878 * Header of the privilege info data structure; multiple structures can 15879 * follow the privilege sets and priv_impl_info structures. 15880 */ 15881 typedef struct priv_info { 15882 uint32_t priv_info_type; 15883 uint32_t priv_info_size; 15884 } priv_info_t; 15885 15886 typedef struct priv_info_uint { 15887 priv_info_t info; 15888 uint_t val; 15889 } priv_info_uint_t; 15890 15891 /* 15892 * Global privilege set information item; the actual size of the array is 15893 * {priv_setsize}. 15894 */ 15895 typedef struct priv_info_set { 15896 priv_info_t info; 15897 priv_chunk_t set[1]; 15898 } priv_info_set_t; 15899 15900 /* 15901 * names[1] is a place holder which can contain multiple NUL terminated, 15902 * non-empty strings. 15903 */ 15904 15905 typedef struct priv_info_names { 15906 priv_info_t info; 15907 int cnt; /* number of strings */ 15908 char names[1]; /* "string1\0string2\0 ..stringN\0" */ 15909 } priv_info_names_t; 15910 15911 /* 15912 * Privilege information types. 15913 */ 15914 15915 15916 15917 15918 15919 /* 15920 * Special "privileges" used to indicate special conditions in privilege 15921 * debugging/tracing code. 15922 */ 15923 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 15924 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1 15925 /* 15926 * CDDL HEADER START 15927 * 15928 * The contents of this file are subject to the terms of the 15929 * Common Development and Distribution License (the "License"). 15930 * You may not use this file except in compliance with the License. 15931 * 15932 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15933 * or http://www.opensolaris.org/os/licensing. 15934 * See the License for the specific language governing permissions 15935 * and limitations under the License. 15936 * 15937 * When distributing Covered Code, include this CDDL HEADER in each 15938 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15939 * If applicable, add the following below this CDDL HEADER, with the 15940 * fields enclosed by brackets "[]" replaced with your own identifying 15941 * information: Portions Copyright [yyyy] [name of copyright owner] 15942 * 15943 * CDDL HEADER END 15944 */ 15945 /* 15946 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15947 * Use is subject to license terms. 15948 */ 15949 15950 15951 15952 15953 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 15954 /* 15955 * CDDL HEADER START 15956 * 15957 * The contents of this file are subject to the terms of the 15958 * Common Development and Distribution License (the "License"). 15959 * You may not use this file except in compliance with the License. 15960 * 15961 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15962 * or http://www.opensolaris.org/os/licensing. 15963 * See the License for the specific language governing permissions 15964 * and limitations under the License. 15965 * 15966 * When distributing Covered Code, include this CDDL HEADER in each 15967 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15968 * If applicable, add the following below this CDDL HEADER, with the 15969 * fields enclosed by brackets "[]" replaced with your own identifying 15970 * information: Portions Copyright [yyyy] [name of copyright owner] 15971 * 15972 * CDDL HEADER END 15973 */ 15974 /* 15975 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 15976 * Use is subject to license terms. 15977 * Copyright 2015 Nexenta Systems, Inc. 15978 */ 15979 15980 15981 15982 15983 #pragma ident "%Z%%M% %I% %E% SMI" 15984 15985 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 15986 /* 15987 * CDDL HEADER START 15988 * 15989 * The contents of this file are subject to the terms of the 15990 * Common Development and Distribution License, Version 1.0 only 15991 * (the "License"). You may not use this file except in compliance 15992 * with the License. 15993 * 15994 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15995 * or http://www.opensolaris.org/os/licensing. 15996 * See the License for the specific language governing permissions 15997 * and limitations under the License. 15998 * 15999 * When distributing Covered Code, include this CDDL HEADER in each 16000 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16001 * If applicable, add the following below this CDDL HEADER, with the 16002 * fields enclosed by brackets "[]" replaced with your own identifying 16003 * information: Portions Copyright [yyyy] [name of copyright owner] 16004 * 16005 * CDDL HEADER END 16006 */ 16007 /* 16008 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16009 * 16010 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16011 * Use is subject to license terms. 16012 */ 16013 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2 16014 16015 16016 16017 16018 16019 /* 16020 * Interoperability types for programs. Used for: 16021 * 16022 * Crossing between 32-bit and 64-bit domains. 16023 * 16024 * On disk data formats such as filesystem meta data 16025 * and disk label. 16026 * 16027 * Note: Applications should never include this 16028 * header file. 16029 */ 16030 typedef uint32_t caddr32_t; 16031 typedef int32_t daddr32_t; 16032 typedef int32_t off32_t; 16033 typedef uint32_t ino32_t; 16034 typedef int32_t blkcnt32_t; 16035 typedef uint32_t fsblkcnt32_t; 16036 typedef uint32_t fsfilcnt32_t; 16037 typedef int32_t id32_t; 16038 typedef uint32_t major32_t; 16039 typedef uint32_t minor32_t; 16040 typedef int32_t key32_t; 16041 typedef uint32_t mode32_t; 16042 typedef uint32_t uid32_t; 16043 typedef uint32_t gid32_t; 16044 typedef uint32_t nlink32_t; 16045 typedef uint32_t dev32_t; 16046 typedef int32_t pid32_t; 16047 typedef uint32_t size32_t; 16048 typedef int32_t ssize32_t; 16049 typedef int32_t time32_t; 16050 typedef int32_t clock32_t; 16051 typedef uint32_t uintptr32_t; 16052 typedef int32_t intptr32_t; 16053 16054 struct timeval32 { 16055 time32_t tv_sec; /* seconds */ 16056 int32_t tv_usec; /* and microseconds */ 16057 }; 16058 16059 typedef struct timespec32 { 16060 time32_t tv_sec; /* seconds */ 16061 int32_t tv_nsec; /* and nanoseconds */ 16062 } timespec32_t; 16063 16064 typedef struct timespec32 timestruc32_t; 16065 16066 typedef struct itimerspec32 { 16067 struct timespec32 it_interval; 16068 struct timespec32 it_value; 16069 } itimerspec32_t; 16070 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 16071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 16072 /* 16073 * CDDL HEADER START 16074 * 16075 * The contents of this file are subject to the terms of the 16076 * Common Development and Distribution License (the "License"). 16077 * You may not use this file except in compliance with the License. 16078 * 16079 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16080 * or http://www.opensolaris.org/os/licensing. 16081 * See the License for the specific language governing permissions 16082 * and limitations under the License. 16083 * 16084 * When distributing Covered Code, include this CDDL HEADER in each 16085 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16086 * If applicable, add the following below this CDDL HEADER, with the 16087 * fields enclosed by brackets "[]" replaced with your own identifying 16088 * information: Portions Copyright [yyyy] [name of copyright owner] 16089 * 16090 * CDDL HEADER END 16091 */ 16092 /* 16093 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16094 * Use is subject to license terms. 16095 */ 16096 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 16097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 16098 /* 16099 * CDDL HEADER START 16100 * 16101 * The contents of this file are subject to the terms of the 16102 * Common Development and Distribution License (the "License"). 16103 * You may not use this file except in compliance with the License. 16104 * 16105 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16106 * or http://www.opensolaris.org/os/licensing. 16107 * See the License for the specific language governing permissions 16108 * and limitations under the License. 16109 * 16110 * When distributing Covered Code, include this CDDL HEADER in each 16111 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16112 * If applicable, add the following below this CDDL HEADER, with the 16113 * fields enclosed by brackets "[]" replaced with your own identifying 16114 * information: Portions Copyright [yyyy] [name of copyright owner] 16115 * 16116 * CDDL HEADER END 16117 */ 16118 /* 16119 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16120 * 16121 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 16122 * Use is subject to license terms. 16123 */ 16124 16125 16126 16127 16128 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 16129 /* 16130 * CDDL HEADER START 16131 * 16132 * The contents of this file are subject to the terms of the 16133 * Common Development and Distribution License (the "License"). 16134 * You may not use this file except in compliance with the License. 16135 * 16136 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16137 * or http://www.opensolaris.org/os/licensing. 16138 * See the License for the specific language governing permissions 16139 * and limitations under the License. 16140 * 16141 * When distributing Covered Code, include this CDDL HEADER in each 16142 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16143 * If applicable, add the following below this CDDL HEADER, with the 16144 * fields enclosed by brackets "[]" replaced with your own identifying 16145 * information: Portions Copyright [yyyy] [name of copyright owner] 16146 * 16147 * CDDL HEADER END 16148 */ 16149 /* 16150 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16151 * 16152 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16153 */ 16154 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2 16155 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 16156 /* 16157 * library functions prototype. 16158 */ 16159 16160 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *); 16161 extern int getppriv(priv_ptype_t, priv_set_t *); 16162 extern int setpflags(uint_t, uint_t); 16163 extern uint_t getpflags(uint_t); 16164 extern const priv_impl_info_t *getprivimplinfo(void); 16165 16166 extern int priv_set(priv_op_t, priv_ptype_t, ...); 16167 extern boolean_t priv_ineffect(const char *); 16168 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **); 16169 extern char *priv_set_to_str(const priv_set_t *, char, int); 16170 16171 extern int priv_getbyname(const char *); 16172 extern const char *priv_getbynum(int); 16173 extern int priv_getsetbyname(const char *); 16174 extern const char *priv_getsetbynum(int); 16175 extern char *priv_gettext(const char *); 16176 16177 extern priv_set_t *priv_allocset(void); 16178 extern void priv_freeset(priv_set_t *); 16179 16180 extern void priv_emptyset(priv_set_t *); 16181 extern void priv_basicset(priv_set_t *); 16182 extern void priv_fillset(priv_set_t *); 16183 extern boolean_t priv_isemptyset(const priv_set_t *); 16184 extern boolean_t priv_isfullset(const priv_set_t *); 16185 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *); 16186 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *); 16187 extern void priv_intersect(const priv_set_t *, priv_set_t *); 16188 extern void priv_union(const priv_set_t *, priv_set_t *); 16189 extern void priv_inverse(priv_set_t *); 16190 extern int priv_addset(priv_set_t *, const char *); 16191 extern void priv_copyset(const priv_set_t *, priv_set_t *); 16192 extern int priv_delset(priv_set_t *, const char *); 16193 extern boolean_t priv_ismember(const priv_set_t *, const char *); 16194 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 16195 16196 16197 16198 16199 16200 /* Procedural Interface Structure Definitions */ 16201 16202 struct label_info { /* structure returned by label_info */ 16203 short ilabel_len; /* max Information Label length */ 16204 short slabel_len; /* max Sensitivity Label length */ 16205 short clabel_len; /* max CMW Label length */ 16206 short clear_len; /* max Clearance Label length */ 16207 short vers_len; /* version string length */ 16208 short header_len; /* max len of banner page header */ 16209 short protect_as_len; /* max len of banner page protect as */ 16210 short caveats_len; /* max len of banner page caveats */ 16211 short channels_len; /* max len of banner page channels */ 16212 }; 16213 16214 typedef struct label_set_identifier { /* valid label set identifier */ 16215 int type; /* type of the set */ 16216 char *name; /* name of the set if needed */ 16217 } set_id; 16218 16219 struct name_fields { /* names for label builder fields */ 16220 char *class_name; /* Classifications field name */ 16221 char *comps_name; /* Compartments field name */ 16222 char *marks_name; /* Markings field name */ 16223 }; 16224 16225 /* Label Set Identifier Types */ 16226 16227 /* 16228 * The accreditation ranges as specified in the label encodings file. 16229 * The name parameter is ignored. 16230 * 16231 * System Accreditation Range is all valid labels plus Admin High and Low. 16232 * 16233 * User Accreditation Range is valid user labels as defined in the 16234 * ACCREDITATION RANGE: section of the label encodings file. 16235 */ 16236 16237 16238 16239 16240 16241 /* System Call Interface Definitions */ 16242 16243 extern int getlabel(const char *, m_label_t *); 16244 extern int fgetlabel(int, m_label_t *); 16245 16246 extern int getplabel(m_label_t *); 16247 extern int setflabel(const char *, m_label_t *); 16248 extern char *getpathbylabel(const char *, char *, size_t, 16249 const m_label_t *sl); 16250 extern m_label_t *getzonelabelbyid(zoneid_t); 16251 extern m_label_t *getzonelabelbyname(const char *); 16252 extern zoneid_t getzoneidbylabel(const m_label_t *); 16253 extern char *getzonenamebylabel(const m_label_t *); 16254 extern char *getzonerootbyid(zoneid_t); 16255 extern char *getzonerootbyname(const char *); 16256 extern char *getzonerootbylabel(const m_label_t *); 16257 extern m_label_t *getlabelbypath(const char *); 16258 16259 16260 /* Flag word values */ 16261 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 16262 /* implies NEW_LABEL */ 16263 16264 16265 16266 16267 /* Procedure Interface Definitions available to user */ 16268 16269 /* APIs shared with the kernel are in <sys/tsol/label.h */ 16270 16271 extern m_label_t *blabel_alloc(void); 16272 extern void blabel_free(m_label_t *); 16273 extern size32_t blabel_size(void); 16274 extern char *bsltoh(const m_label_t *); 16275 extern char *bcleartoh(const m_label_t *); 16276 16277 extern char *bsltoh_r(const m_label_t *, char *); 16278 extern char *bcleartoh_r(const m_label_t *, char *); 16279 extern char *h_alloc(uint8_t); 16280 extern void h_free(char *); 16281 16282 extern int htobsl(const char *, m_label_t *); 16283 extern int htobclear(const char *, m_label_t *); 16284 16285 extern m_range_t *getuserrange(const char *); 16286 extern m_range_t *getdevicerange(const char *); 16287 16288 extern int set_effective_priv(priv_op_t, int, ...); 16289 extern int set_inheritable_priv(priv_op_t, int, ...); 16290 extern int set_permitted_priv(priv_op_t, int, ...); 16291 extern int is_system_labeled(void); 16292 16293 /* Procedures needed for multi-level printing */ 16294 16295 extern int tsol_check_admin_auth(uid_t uid); 16296 16297 /* APIs implemented via labeld */ 16298 16299 extern int blinset(const m_label_t *, const set_id *); 16300 extern int labelinfo(struct label_info *); 16301 extern ssize_t labelvers(char **, size_t); 16302 extern char *bltocolor(const m_label_t *); 16303 extern char *bltocolor_r(const m_label_t *, size_t, char *); 16304 16305 extern ssize_t bsltos(const m_label_t *, char **, size_t, int); 16306 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int); 16307 16308 16309 extern char *sbsltos(const m_label_t *, size_t); 16310 extern char *sbcleartos(const m_label_t *, size_t); 16311 16312 16313 extern int stobsl(const char *, m_label_t *, int, int *); 16314 extern int stobclear(const char *, m_label_t *, int, int *); 16315 extern int bslvalid(const m_label_t *); 16316 extern int bclearvalid(const m_label_t *); 16317 16318 /* DIA label conversion and parsing */ 16319 16320 /* Conversion types */ 16321 16322 typedef enum _m_label_str { 16323 M_LABEL = 1, /* process or user clearance */ 16324 M_INTERNAL = 2, /* internal form for use in public databases */ 16325 M_COLOR = 3, /* process label color */ 16326 PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */ 16327 PRINTER_LABEL = 5, /* DIA banner page label */ 16328 PRINTER_CAVEATS = 6, /* DIA banner page caveats */ 16329 PRINTER_CHANNELS = 7 /* DIA banner page handling channels */ 16330 } m_label_str_t; 16331 16332 /* Flags for conversion, not all flags apply to all types */ 16333 16334 16335 16336 16337 extern int label_to_str(const m_label_t *, char **, const m_label_str_t, 16338 uint_t); 16339 extern int l_to_str_internal(const m_label_t *, char **); 16340 16341 /* Parsing types */ 16342 typedef enum _m_label_type { 16343 MAC_LABEL = 1, /* process or object label */ 16344 USER_CLEAR = 2 /* user's clearance (LUB) */ 16345 } m_label_type_t; 16346 16347 /* Flags for parsing */ 16348 16349 16350 16351 16352 16353 16354 /* EINVAL sub codes */ 16355 16356 16357 16358 /* bad requested label type, bad previous label type */ 16359 16360 16361 extern int str_to_label(const char *, m_label_t **, const m_label_type_t, 16362 uint_t, int *); 16363 extern int hexstr_to_label(const char *, m_label_t *); 16364 16365 extern m_label_t *m_label_alloc(const m_label_type_t); 16366 16367 extern int m_label_dup(m_label_t **, const m_label_t *); 16368 16369 extern void m_label_free(m_label_t *); 16370 16371 /* Contract Private interfaces with the label builder GUIs */ 16372 16373 extern int bslcvtfull(const m_label_t *, const m_range_t *, int, 16374 char **, char **[], char **[], char *[], int *, int *); 16375 extern int bslcvt(const m_label_t *, int, char **, char *[]); 16376 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int, 16377 char **, char **[], char **[], char *[], int *, int *); 16378 extern int bclearcvt(const m_label_t *, int, char **, char *[]); 16379 16380 extern int labelfields(struct name_fields *); 16381 extern int userdefs(m_label_t *, m_label_t *); 16382 extern int zonecopy(m_label_t *, char *, char *, char *, int); 16383 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 16384 16385 16386 16387 16388 16389 /* 16390 * Functions for mapping between id and name for active zones. 16391 */ 16392 extern zoneid_t getzoneid(void); 16393 extern zoneid_t getzoneidbyname(const char *); 16394 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t); 16395 16396 /* 16397 * NOTE 16398 * 16399 * The remaining contents of this file are private to the implementation 16400 * of Solaris and are subject to change at any time without notice, 16401 * Applications using these interfaces may fail to run on future releases. 16402 */ 16403 16404 extern int zonept(int, zoneid_t); 16405 extern int zone_get_id(const char *, zoneid_t *); 16406 16407 /* System call API */ 16408 extern zoneid_t zone_create(const char *, const char *, 16409 const struct priv_set *, const char *, size_t, const char *, size_t, int *, 16410 int, int, const bslabel_t *, int); 16411 extern int zone_boot(zoneid_t); 16412 extern int zone_destroy(zoneid_t); 16413 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t); 16414 extern int zone_setattr(zoneid_t, int, void *, size_t); 16415 extern int zone_enter(zoneid_t); 16416 extern int zone_list(zoneid_t *, uint_t *); 16417 extern int zone_shutdown(zoneid_t); 16418 extern int zone_version(int *); 16419 extern int zone_add_datalink(zoneid_t, datalink_id_t); 16420 extern int zone_remove_datalink(zoneid_t, datalink_id_t); 16421 extern int zone_check_datalink(zoneid_t *, datalink_id_t); 16422 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *); 16423 # 46 "../common/instzones_lib.h" 2 16424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 16425 /* 16426 * CDDL HEADER START 16427 * 16428 * The contents of this file are subject to the terms of the 16429 * Common Development and Distribution License (the "License"). 16430 * You may not use this file except in compliance with the License. 16431 * 16432 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16433 * or http://www.opensolaris.org/os/licensing. 16434 * See the License for the specific language governing permissions 16435 * and limitations under the License. 16436 * 16437 * When distributing Covered Code, include this CDDL HEADER in each 16438 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16439 * If applicable, add the following below this CDDL HEADER, with the 16440 * fields enclosed by brackets "[]" replaced with your own identifying 16441 * information: Portions Copyright [yyyy] [name of copyright owner] 16442 * 16443 * CDDL HEADER END 16444 */ 16445 16446 /* 16447 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16448 */ 16449 16450 16451 16452 16453 /* 16454 * Zone configuration header file. 16455 */ 16456 16457 16458 16459 16460 16461 /* sys/socket.h is required by net/if.h, which has a constant needed here */ 16462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 16463 /* 16464 * CDDL HEADER START 16465 * 16466 * The contents of this file are subject to the terms of the 16467 * Common Development and Distribution License (the "License"). 16468 * You may not use this file except in compliance with the License. 16469 * 16470 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16471 * or http://www.opensolaris.org/os/licensing. 16472 * See the License for the specific language governing permissions 16473 * and limitations under the License. 16474 * 16475 * When distributing Covered Code, include this CDDL HEADER in each 16476 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16477 * If applicable, add the following below this CDDL HEADER, with the 16478 * fields enclosed by brackets "[]" replaced with your own identifying 16479 * information: Portions Copyright [yyyy] [name of copyright owner] 16480 * 16481 * CDDL HEADER END 16482 */ 16483 16484 /* 16485 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 16486 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 16487 */ 16488 16489 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16490 /* All Rights Reserved */ 16491 16492 /* 16493 * University Copyright- Copyright (c) 1982, 1986, 1988 16494 * The Regents of the University of California 16495 * All Rights Reserved 16496 * 16497 * University Acknowledgment- Portions of this document are derived from 16498 * software developed by the University of California, Berkeley, and its 16499 * contributors. 16500 */ 16501 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16502 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.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 /* 16525 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16526 */ 16527 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16528 /* All Rights Reserved */ 16529 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 16530 /* 16531 * Opcodes for the sysfs() system call. 16532 */ 16533 16534 16535 16536 16537 16538 int sysfs(int, ...); 16539 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16540 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1 16541 /* 16542 * CDDL HEADER START 16543 * 16544 * The contents of this file are subject to the terms of the 16545 * Common Development and Distribution License, Version 1.0 only 16546 * (the "License"). You may not use this file except in compliance 16547 * with the License. 16548 * 16549 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16550 * or http://www.opensolaris.org/os/licensing. 16551 * See the License for the specific language governing permissions 16552 * and limitations under the License. 16553 * 16554 * When distributing Covered Code, include this CDDL HEADER in each 16555 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16556 * If applicable, add the following below this CDDL HEADER, with the 16557 * fields enclosed by brackets "[]" replaced with your own identifying 16558 * information: Portions Copyright [yyyy] [name of copyright owner] 16559 * 16560 * CDDL HEADER END 16561 */ 16562 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16563 /* All Rights Reserved */ 16564 16565 16566 /* 16567 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16568 * 16569 * Copyright (c) 1996, 1999 by Sun Microsystems, Inc. 16570 * All rights reserved. 16571 */ 16572 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 16573 /* 16574 * Flag bits passed to mount(2). 16575 */ 16576 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 16577 /* 16578 * Additional flag bits that domount() is prepared to interpret, but that 16579 * can't be passed through mount(2). 16580 */ 16581 16582 16583 16584 /* 16585 * Mask to sift out flag bits allowable from mount(2). 16586 */ 16587 16588 16589 16590 16591 /* 16592 * Mask to sift out flag bits allowable from umount2(2). 16593 */ 16594 16595 16596 16597 /* 16598 * Maximum option string length accepted or returned by mount(2). 16599 */ 16600 16601 16602 16603 int mount(const char *, const char *, int, ...); 16604 int umount(const char *); 16605 int umount2(const char *, int); 16606 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16607 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 16608 /* 16609 * CDDL HEADER START 16610 * 16611 * The contents of this file are subject to the terms of the 16612 * Common Development and Distribution License (the "License"). 16613 * You may not use this file except in compliance with the License. 16614 * 16615 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16616 * or http://www.opensolaris.org/os/licensing. 16617 * See the License for the specific language governing permissions 16618 * and limitations under the License. 16619 * 16620 * When distributing Covered Code, include this CDDL HEADER in each 16621 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16622 * If applicable, add the following below this CDDL HEADER, with the 16623 * fields enclosed by brackets "[]" replaced with your own identifying 16624 * information: Portions Copyright [yyyy] [name of copyright owner] 16625 * 16626 * CDDL HEADER END 16627 */ 16628 /* 16629 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16630 * 16631 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 16632 * Use is subject to license terms. 16633 */ 16634 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 16636 /* 16637 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16638 * Use is subject to license terms. 16639 * 16640 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 16641 */ 16642 /* 16643 * Copyright (c) 1982, 1986 Regents of the University of California. 16644 * All rights reserved. 16645 * 16646 * Redistribution and use in source and binary forms are permitted 16647 * provided that this notice is preserved and that due credit is given 16648 * to the University of California at Berkeley. The name of the University 16649 * may not be used to endorse or promote products derived from this 16650 * software without specific prior written permission. This software 16651 * is provided ``as is'' without express or implied warranty. 16652 */ 16653 16654 /* 16655 * Constants and structures defined by the internet system, 16656 * according to following documents 16657 * 16658 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 16659 * http://www.iana.org/assignments/protocol-numbers 16660 * http://www.iana.org/assignments/port-numbers 16661 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 16662 * 16663 */ 16664 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16665 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 16666 /* 16667 * CDDL HEADER START 16668 * 16669 * The contents of this file are subject to the terms of the 16670 * Common Development and Distribution License (the "License"). 16671 * You may not use this file except in compliance with the License. 16672 * 16673 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16674 * or http://www.opensolaris.org/os/licensing. 16675 * See the License for the specific language governing permissions 16676 * and limitations under the License. 16677 * 16678 * When distributing Covered Code, include this CDDL HEADER in each 16679 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16680 * If applicable, add the following below this CDDL HEADER, with the 16681 * fields enclosed by brackets "[]" replaced with your own identifying 16682 * information: Portions Copyright [yyyy] [name of copyright owner] 16683 * 16684 * CDDL HEADER END 16685 */ 16686 /* 16687 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16688 * 16689 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 16690 */ 16691 16692 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16693 /* All Rights Reserved */ 16694 16695 /* 16696 * University Copyright- Copyright (c) 1982, 1986, 1988 16697 * The Regents of the University of California 16698 * All Rights Reserved 16699 * 16700 * University Acknowledgment- Portions of this document are derived from 16701 * software developed by the University of California, Berkeley, and its 16702 * contributors. 16703 */ 16704 16705 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 16706 16707 16708 16709 16710 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16711 /* 16712 * CDDL HEADER START 16713 * 16714 * The contents of this file are subject to the terms of the 16715 * Common Development and Distribution License (the "License"). 16716 * You may not use this file except in compliance with the License. 16717 * 16718 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16719 * or http://www.opensolaris.org/os/licensing. 16720 * See the License for the specific language governing permissions 16721 * and limitations under the License. 16722 * 16723 * When distributing Covered Code, include this CDDL HEADER in each 16724 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16725 * If applicable, add the following below this CDDL HEADER, with the 16726 * fields enclosed by brackets "[]" replaced with your own identifying 16727 * information: Portions Copyright [yyyy] [name of copyright owner] 16728 * 16729 * CDDL HEADER END 16730 */ 16731 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16732 /* All Rights Reserved */ 16733 16734 16735 /* 16736 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16737 * Use is subject to license terms. 16738 * 16739 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16740 * Copyright 2016 Joyent, Inc. 16741 */ 16742 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16743 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 16744 /* 16745 * CDDL HEADER START 16746 * 16747 * The contents of this file are subject to the terms of the 16748 * Common Development and Distribution License (the "License"). 16749 * You may not use this file except in compliance with the License. 16750 * 16751 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16752 * or http://www.opensolaris.org/os/licensing. 16753 * See the License for the specific language governing permissions 16754 * and limitations under the License. 16755 * 16756 * When distributing Covered Code, include this CDDL HEADER in each 16757 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16758 * If applicable, add the following below this CDDL HEADER, with the 16759 * fields enclosed by brackets "[]" replaced with your own identifying 16760 * information: Portions Copyright [yyyy] [name of copyright owner] 16761 * 16762 * CDDL HEADER END 16763 */ 16764 /* 16765 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16766 * 16767 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 16768 * Use is subject to license terms. 16769 * 16770 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16771 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 16772 */ 16773 16774 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16775 /* All Rights Reserved */ 16776 16777 /* 16778 * University Copyright- Copyright (c) 1982, 1986, 1988 16779 * The Regents of the University of California 16780 * All Rights Reserved 16781 * 16782 * University Acknowledgment- Portions of this document are derived from 16783 * software developed by the University of California, Berkeley, and its 16784 * contributors. 16785 */ 16786 16787 16788 16789 16790 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 16791 /* 16792 * CDDL HEADER START 16793 * 16794 * The contents of this file are subject to the terms of the 16795 * Common Development and Distribution License (the "License"). 16796 * You may not use this file except in compliance with the License. 16797 * 16798 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16799 * or http://www.opensolaris.org/os/licensing. 16800 * See the License for the specific language governing permissions 16801 * and limitations under the License. 16802 * 16803 * When distributing Covered Code, include this CDDL HEADER in each 16804 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16805 * If applicable, add the following below this CDDL HEADER, with the 16806 * fields enclosed by brackets "[]" replaced with your own identifying 16807 * information: Portions Copyright [yyyy] [name of copyright owner] 16808 * 16809 * CDDL HEADER END 16810 */ 16811 16812 /* 16813 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 16814 * Copyright 2016 Joyent, Inc. 16815 * 16816 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16817 * Use is subject to license terms. 16818 */ 16819 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 16820 16821 16822 16823 16824 16825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16826 /* 16827 * CDDL HEADER START 16828 * 16829 * The contents of this file are subject to the terms of the 16830 * Common Development and Distribution License (the "License"). 16831 * You may not use this file except in compliance with the License. 16832 * 16833 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16834 * or http://www.opensolaris.org/os/licensing. 16835 * See the License for the specific language governing permissions 16836 * and limitations under the License. 16837 * 16838 * When distributing Covered Code, include this CDDL HEADER in each 16839 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16840 * If applicable, add the following below this CDDL HEADER, with the 16841 * fields enclosed by brackets "[]" replaced with your own identifying 16842 * information: Portions Copyright [yyyy] [name of copyright owner] 16843 * 16844 * CDDL HEADER END 16845 */ 16846 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16847 /* All Rights Reserved */ 16848 16849 16850 /* 16851 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16852 * Use is subject to license terms. 16853 * 16854 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16855 * Copyright 2016 Joyent, Inc. 16856 */ 16857 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 16858 16859 /* 16860 * I/O parameter information. A uio structure describes the I/O which 16861 * is to be performed by an operation. Typically the data movement will 16862 * be performed by a routine such as uiomove(), which updates the uio 16863 * structure to reflect what was done. 16864 */ 16865 16866 16867 16868 16869 16870 16871 16872 typedef struct iovec { 16873 caddr_t iov_base; 16874 16875 size_t iov_len; 16876 16877 16878 16879 } iovec_t; 16880 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16881 /* 16882 * Segment flag values. 16883 */ 16884 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; 16885 16886 typedef struct uio { 16887 iovec_t *uio_iov; /* pointer to array of iovecs */ 16888 int uio_iovcnt; /* number of iovecs */ 16889 lloff_t _uio_offset; /* file offset */ 16890 uio_seg_t uio_segflg; /* address space (kernel or user) */ 16891 uint16_t uio_fmode; /* file mode flags */ 16892 uint16_t uio_extflg; /* extended flags */ 16893 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 16894 ssize_t uio_resid; /* residual count */ 16895 } uio_t; 16896 16897 /* 16898 * Extended uio_t uioa_t used for asynchronous uio. 16899 * 16900 * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" 16901 * as there isn't a formal definition of IOV_MAX for the kernel. 16902 */ 16903 16904 16905 typedef struct uioa_page_s { /* locked uio_iov state */ 16906 int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ 16907 void **uioa_ppp; /* page_t or pfn_t arrary */ 16908 caddr_t uioa_base; /* address base */ 16909 size_t uioa_len; /* span length */ 16910 } uioa_page_t; 16911 16912 typedef struct uioa_s { 16913 iovec_t *uio_iov; /* pointer to array of iovecs */ 16914 int uio_iovcnt; /* number of iovecs */ 16915 lloff_t _uio_offset; /* file offset */ 16916 uio_seg_t uio_segflg; /* address space (kernel or user) */ 16917 uint16_t uio_fmode; /* file mode flags */ 16918 uint16_t uio_extflg; /* extended flags */ 16919 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 16920 ssize_t uio_resid; /* residual count */ 16921 /* 16922 * uioa extended members. 16923 */ 16924 uint32_t uioa_state; /* state of asynch i/o */ 16925 ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ 16926 uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ 16927 void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ 16928 void *uioa_hwst[4]; /* opaque hardware state */ 16929 uioa_page_t uioa_locked[16]; /* Per iov locked pages */ 16930 } uioa_t; 16931 16932 /* 16933 * uio extensions 16934 * 16935 * PSARC 2009/478: Copy Reduction Interfaces 16936 */ 16937 typedef enum xuio_type { 16938 UIOTYPE_ASYNCIO, 16939 UIOTYPE_ZEROCOPY 16940 } xuio_type_t; 16941 16942 typedef struct xuio { 16943 uio_t xu_uio; /* Embedded UIO structure */ 16944 16945 /* Extended uio fields */ 16946 enum xuio_type xu_type; /* What kind of uio structure? */ 16947 union { 16948 /* Async I/O Support, intend to replace uioa_t. */ 16949 struct { 16950 uint32_t xu_a_state; /* state of async i/o */ 16951 /* bytes that have been uioamove()ed */ 16952 ssize_t xu_a_mbytes; 16953 uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ 16954 /* pointer into lcur->uioa_ppp[] */ 16955 void **xu_a_lppp; 16956 void *xu_a_hwst[4]; /* opaque hardware state */ 16957 /* Per iov locked pages */ 16958 uioa_page_t xu_a_locked[16]; 16959 } xu_aio; 16960 16961 /* 16962 * Copy Reduction Support -- facilate loaning / returning of 16963 * filesystem cache buffers. 16964 */ 16965 struct { 16966 int xu_zc_rw; /* read or write buffer */ 16967 void *xu_zc_priv; /* fs specific */ 16968 } xu_zc; 16969 } xu_ext; 16970 } xuio_t; 16971 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16972 /* 16973 * I/O direction. 16974 */ 16975 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; 16976 16977 /* 16978 * uio_extflg: extended flags 16979 * 16980 * NOTE: This flag will be used in uiomove to determine if non-temporal 16981 * access, ie, access bypassing caches, should be used. Filesystems that 16982 * don't initialize this field could experience suboptimal performance due to 16983 * the random data the field contains. 16984 * 16985 * NOTE: This flag is also used by uioasync callers to pass an extended 16986 * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all 16987 * consumers of a uioa_t require the uio_extflg to be initialized. 16988 */ 16989 16990 16991 16992 16993 16994 16995 /* 16996 * Global uioasync capability shadow state. 16997 */ 16998 typedef struct uioasync_s { 16999 boolean_t enabled; /* Is uioasync enabled? */ 17000 size_t mincnt; /* Minimum byte count for use of */ 17001 } uioasync_t; 17002 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17003 extern ssize_t readv(int, const struct iovec *, int); 17004 extern ssize_t writev(int, const struct iovec *, int); 17005 17006 /* 17007 * When in the large file compilation environment, 17008 * map preadv/pwritev to their 64 bit offset versions 17009 */ 17010 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17011 /* In the LP64 compilation environment, the APIs are already large file */ 17012 17013 17014 17015 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17016 #pragma redefine_extname preadv64 preadv 17017 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17018 17019 17020 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17021 #pragma redefine_extname pwritev64 pwritev 17022 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 17023 17024 17025 17026 17027 17028 17029 17030 extern ssize_t preadv(int, const struct iovec *, int, off_t); 17031 extern ssize_t pwritev(int, const struct iovec *, int, off_t); 17032 17033 /* 17034 * preadv64 and pwritev64 should be defined when: 17035 * - Using the transitional compilation environment, and not 17036 * the large file compilation environment. 17037 */ 17038 17039 17040 extern ssize_t preadv64(int, const struct iovec *, int, off64_t); 17041 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); 17042 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 17043 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17044 /* 17045 * CDDL HEADER START 17046 * 17047 * The contents of this file are subject to the terms of the 17048 * Common Development and Distribution License (the "License"). 17049 * You may not use this file except in compliance with the License. 17050 * 17051 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17052 * or http://www.opensolaris.org/os/licensing. 17053 * See the License for the specific language governing permissions 17054 * and limitations under the License. 17055 * 17056 * When distributing Covered Code, include this CDDL HEADER in each 17057 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17058 * If applicable, add the following below this CDDL HEADER, with the 17059 * fields enclosed by brackets "[]" replaced with your own identifying 17060 * information: Portions Copyright [yyyy] [name of copyright owner] 17061 * 17062 * CDDL HEADER END 17063 */ 17064 17065 /* 17066 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17067 * Copyright 2016 Joyent, Inc. 17068 * 17069 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17070 * Use is subject to license terms. 17071 */ 17072 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 17073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 17074 /* 17075 * CDDL HEADER START 17076 * 17077 * The contents of this file are subject to the terms of the 17078 * Common Development and Distribution License (the "License"). 17079 * You may not use this file except in compliance with the License. 17080 * 17081 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17082 * or http://www.opensolaris.org/os/licensing. 17083 * See the License for the specific language governing permissions 17084 * and limitations under the License. 17085 * 17086 * When distributing Covered Code, include this CDDL HEADER in each 17087 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17088 * If applicable, add the following below this CDDL HEADER, with the 17089 * fields enclosed by brackets "[]" replaced with your own identifying 17090 * information: Portions Copyright [yyyy] [name of copyright owner] 17091 * 17092 * CDDL HEADER END 17093 */ 17094 /* 17095 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17096 * Use is subject to license terms. 17097 */ 17098 17099 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 17100 /* All Rights Reserved */ 17101 17102 /* 17103 * Portions of this source code were derived from Berkeley 4.3 BSD 17104 * under license from the Regents of the University of California. 17105 */ 17106 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 17107 17108 17109 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 17110 /* 17111 * CDDL HEADER START 17112 * 17113 * The contents of this file are subject to the terms of the 17114 * Common Development and Distribution License, Version 1.0 only 17115 * (the "License"). You may not use this file except in compliance 17116 * with the License. 17117 * 17118 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17119 * or http://www.opensolaris.org/os/licensing. 17120 * See the License for the specific language governing permissions 17121 * and limitations under the License. 17122 * 17123 * When distributing Covered Code, include this CDDL HEADER in each 17124 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17125 * If applicable, add the following below this CDDL HEADER, with the 17126 * fields enclosed by brackets "[]" replaced with your own identifying 17127 * information: Portions Copyright [yyyy] [name of copyright owner] 17128 * 17129 * CDDL HEADER END 17130 */ 17131 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17132 /* All Rights Reserved */ 17133 17134 17135 /* 17136 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17137 * 17138 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17139 * Use is subject to license terms. 17140 */ 17141 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 17142 struct netconfig { 17143 char *nc_netid; /* network identifier */ 17144 unsigned int nc_semantics; /* defined below */ 17145 unsigned int nc_flag; /* defined below */ 17146 char *nc_protofmly; /* protocol family name */ 17147 char *nc_proto; /* protocol name */ 17148 char *nc_device; /* device name for network id */ 17149 unsigned int nc_nlookups; /* # of entries in nc_lookups */ 17150 char **nc_lookups; /* list of lookup directories */ 17151 unsigned int nc_unused[8]; /* borrowed for lockd etc. */ 17152 }; 17153 17154 typedef struct { 17155 struct netconfig **nc_head; 17156 struct netconfig **nc_curr; 17157 } NCONF_HANDLE; 17158 17159 /* 17160 * Values of nc_semantics 17161 */ 17162 17163 17164 17165 17166 17167 /* 17168 * NOT FOR PUBLIC USE, Solaris internal only. 17169 * This value of nc_semantics is strictly for use of Remote Direct 17170 * Memory Access provider interfaces in Solaris only and not for 17171 * general use. Do not use this value for general purpose user or 17172 * kernel programming. If used the behavior is undefined. 17173 * This is a PRIVATE interface to be used by Solaris kRPC only. 17174 */ 17175 17176 17177 /* 17178 * Values of nc_flag 17179 */ 17180 17181 17182 17183 17184 17185 /* 17186 * Values of nc_protofmly 17187 */ 17188 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 17189 /* 17190 * NOT FOR PUBLIC USE, Solaris internal only. 17191 * This value of nc_semantics is strictly for use of Remote Direct 17192 * Memory Access provider interfaces in Solaris only and not for 17193 * general use. Do not use this value for general purpose user or 17194 * kernel programming. If used the behavior is undefined. 17195 * This is a PRIVATE interface to be used by Solaris kRPC only. 17196 */ 17197 17198 17199 /* 17200 * Values for nc_proto 17201 */ 17202 17203 17204 17205 17206 17207 17208 /* 17209 * Values for nc_proto for "rdma" protofmly 17210 */ 17211 17212 17213 17214 17215 extern void *setnetconfig(void); 17216 extern int endnetconfig(void *); 17217 extern struct netconfig *getnetconfig(void *); 17218 extern struct netconfig *getnetconfigent(const char *); 17219 extern void freenetconfigent(struct netconfig *); 17220 extern void *setnetpath(void); 17221 extern int endnetpath(void *); 17222 extern struct netconfig *getnetpath(void *); 17223 extern void nc_perror(const char *); 17224 extern char *nc_sperror(void); 17225 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 17226 17227 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 17228 /* 17229 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17230 * Use is subject to license terms. 17231 * 17232 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 17233 */ 17234 /* 17235 * Copyright (c) 1982, 1986 Regents of the University of California. 17236 * All rights reserved. 17237 * 17238 * Redistribution and use in source and binary forms are permitted 17239 * provided that this notice is preserved and that due credit is given 17240 * to the University of California at Berkeley. The name of the University 17241 * may not be used to endorse or promote products derived from this 17242 * software without specific prior written permission. This software 17243 * is provided ``as is'' without express or implied warranty. 17244 */ 17245 17246 /* 17247 * Constants and structures defined by the internet system, 17248 * according to following documents 17249 * 17250 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 17251 * http://www.iana.org/assignments/protocol-numbers 17252 * http://www.iana.org/assignments/port-numbers 17253 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 17254 * 17255 */ 17256 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 17257 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17258 /* 17259 * Definitions related to sockets: types, address families, options. 17260 */ 17261 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17262 /* 17263 * Types 17264 */ 17265 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17266 /* 17267 * Flags for socket() and accept4() 17268 */ 17269 17270 17271 17272 17273 /* 17274 * Option flags per-socket. 17275 */ 17276 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17277 /* 17278 * Socket options are passed using a signed integer, but it is also rare 17279 * for more than one to ever be passed at the same time with setsockopt 17280 * and only one at a time can be retrieved with getsockopt. 17281 * 17282 * Since the lower numbers cannot be renumbered for compatibility reasons, 17283 * it would seem that we need to start a new number space (0x40000000 - 17284 * 0x7fffffff) for those that don't need to be stored as a bit flag 17285 * somewhere. This limits the flag options to 30 but that seems to be 17286 * plenty, anyway. 0x40000000 is reserved for future use. 17287 */ 17288 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17289 /* 17290 * N.B.: The following definition is present only for compatibility 17291 * with release 3.0. It will disappear in later releases. 17292 */ 17293 17294 17295 /* 17296 * Additional options, not kept in so_options. 17297 */ 17298 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17299 /* "Socket"-level control message types: */ 17300 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17301 /* 17302 * Socket filter options 17303 */ 17304 17305 17306 17307 17308 17309 /* 17310 * Structure returned by FIL_LIST 17311 */ 17312 struct fil_info { 17313 int fi_flags; /* see below (FILF_*) */ 17314 int fi_pos; /* position (0 is bottom) */ 17315 char fi_name[32]; /* filter name */ 17316 }; 17317 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17318 /* 17319 * Structure used for manipulating linger option. 17320 */ 17321 struct linger { 17322 int l_onoff; /* option on/off */ 17323 int l_linger; /* linger time */ 17324 }; 17325 17326 /* 17327 * Levels for (get/set)sockopt() that don't apply to a specific protocol. 17328 */ 17329 17330 17331 17332 17333 17334 17335 17336 /* 17337 * Address families. 17338 * 17339 * Some of these constant names are copied for the DTrace IP provider in 17340 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 17341 * in sync. 17342 */ 17343 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17344 /* 17345 * Protocol families, same as address families for now. 17346 */ 17347 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17348 /* 17349 * Maximum queue length specifiable by listen. 17350 */ 17351 17352 17353 /* 17354 * Message header for recvmsg and sendmsg calls. 17355 */ 17356 struct msghdr { 17357 void *msg_name; /* optional address */ 17358 socklen_t msg_namelen; /* size of address */ 17359 struct iovec *msg_iov; /* scatter/gather array */ 17360 int msg_iovlen; /* # elements in msg_iov */ 17361 17362 17363 17364 17365 17366 17367 caddr_t msg_accrights; /* access rights sent/received */ 17368 int msg_accrightslen; 17369 17370 }; 17371 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17372 /* Added for XPGv2 compliance */ 17373 17374 17375 17376 17377 17378 /* with left over data */ 17379 /* End of XPGv2 compliance */ 17380 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17381 /* Added for XPGv2 compliance */ 17382 17383 17384 17385 17386 struct cmsghdr { 17387 socklen_t cmsg_len; /* data byte count, including hdr */ 17388 int cmsg_level; /* originating protocol */ 17389 int cmsg_type; /* protocol-specific type */ 17390 }; 17391 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 17392 extern int accept(int, struct sockaddr *, Psocklen_t); 17393 extern int accept4(int, struct sockaddr *, Psocklen_t, int); 17394 extern int bind(int, const struct sockaddr *, socklen_t); 17395 extern int connect(int, const struct sockaddr *, socklen_t); 17396 extern int getpeername(int, struct sockaddr *, Psocklen_t); 17397 extern int getsockname(int, struct sockaddr *, Psocklen_t); 17398 extern int getsockopt(int, int, int, void *, Psocklen_t); 17399 extern int listen(int, int); /* XXX - fixme??? where do I go */ 17400 extern int socketpair(int, int, int, int *); 17401 extern ssize_t recv(int, void *, size_t, int); 17402 extern ssize_t recvfrom(int, void *, size_t, int, 17403 struct sockaddr *, Psocklen_t); 17404 extern ssize_t recvmsg(int, struct msghdr *, int); 17405 extern ssize_t send(int, const void *, size_t, int); 17406 extern ssize_t sendmsg(int, const struct msghdr *, int); 17407 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, 17408 socklen_t); 17409 extern int setsockopt(int, int, int, const void *, socklen_t); 17410 extern int shutdown(int, int); 17411 extern int socket(int, int, int); 17412 17413 17414 extern int sockatmark(int); 17415 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1 17417 /* 17418 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 17419 */ 17420 17421 /* 17422 * Copyright (c) 1982, 1986 Regents of the University of California. 17423 * All rights reserved. The Berkeley software License Agreement 17424 * specifies the terms and conditions for redistribution. 17425 */ 17426 17427 17428 17429 17430 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86 */ 17431 17432 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17433 /* 17434 * CDDL HEADER START 17435 * 17436 * The contents of this file are subject to the terms of the 17437 * Common Development and Distribution License (the "License"). 17438 * You may not use this file except in compliance with the License. 17439 * 17440 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17441 * or http://www.opensolaris.org/os/licensing. 17442 * See the License for the specific language governing permissions 17443 * and limitations under the License. 17444 * 17445 * When distributing Covered Code, include this CDDL HEADER in each 17446 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17447 * If applicable, add the following below this CDDL HEADER, with the 17448 * fields enclosed by brackets "[]" replaced with your own identifying 17449 * information: Portions Copyright [yyyy] [name of copyright owner] 17450 * 17451 * CDDL HEADER END 17452 */ 17453 17454 /* 17455 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17456 * Copyright 2016 Joyent, Inc. 17457 * 17458 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17459 * Use is subject to license terms. 17460 */ 17461 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 17462 17463 17464 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 17465 /* 17466 * CDDL HEADER START 17467 * 17468 * The contents of this file are subject to the terms of the 17469 * Common Development and Distribution License (the "License"). 17470 * You may not use this file except in compliance with the License. 17471 * 17472 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17473 * or http://www.opensolaris.org/os/licensing. 17474 * See the License for the specific language governing permissions 17475 * and limitations under the License. 17476 * 17477 * When distributing Covered Code, include this CDDL HEADER in each 17478 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17479 * If applicable, add the following below this CDDL HEADER, with the 17480 * fields enclosed by brackets "[]" replaced with your own identifying 17481 * information: Portions Copyright [yyyy] [name of copyright owner] 17482 * 17483 * CDDL HEADER END 17484 */ 17485 /* 17486 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17487 * 17488 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 17489 */ 17490 17491 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 17492 /* All Rights Reserved */ 17493 17494 /* 17495 * University Copyright- Copyright (c) 1982, 1986, 1988 17496 * The Regents of the University of California 17497 * All Rights Reserved 17498 * 17499 * University Acknowledgment- Portions of this document are derived from 17500 * software developed by the University of California, Berkeley, and its 17501 * contributors. 17502 */ 17503 17504 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 17505 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 17506 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 17507 /* 17508 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17509 * Use is subject to license terms. 17510 * 17511 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 17512 */ 17513 /* 17514 * Copyright (c) 1982, 1986 Regents of the University of California. 17515 * All rights reserved. 17516 * 17517 * Redistribution and use in source and binary forms are permitted 17518 * provided that this notice is preserved and that due credit is given 17519 * to the University of California at Berkeley. The name of the University 17520 * may not be used to endorse or promote products derived from this 17521 * software without specific prior written permission. This software 17522 * is provided ``as is'' without express or implied warranty. 17523 */ 17524 17525 /* 17526 * Constants and structures defined by the internet system, 17527 * according to following documents 17528 * 17529 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 17530 * http://www.iana.org/assignments/protocol-numbers 17531 * http://www.iana.org/assignments/port-numbers 17532 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 17533 * 17534 */ 17535 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 17536 17537 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 17538 /* 17539 * CDDL HEADER START 17540 * 17541 * The contents of this file are subject to the terms of the 17542 * Common Development and Distribution License (the "License"). 17543 * You may not use this file except in compliance with the License. 17544 * 17545 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17546 * or http://www.opensolaris.org/os/licensing. 17547 * See the License for the specific language governing permissions 17548 * and limitations under the License. 17549 * 17550 * When distributing Covered Code, include this CDDL HEADER in each 17551 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17552 * If applicable, add the following below this CDDL HEADER, with the 17553 * fields enclosed by brackets "[]" replaced with your own identifying 17554 * information: Portions Copyright [yyyy] [name of copyright owner] 17555 * 17556 * CDDL HEADER END 17557 */ 17558 /* 17559 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 17560 * Use is subject to license terms. 17561 * Copyright 2015 Nexenta Systems, Inc. 17562 */ 17563 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 17564 17565 17566 17567 17568 17569 17570 17571 /* 17572 * Structures defining a network interface, providing a packet 17573 * transport mechanism (ala level 0 of the PUP protocols). 17574 * 17575 * Each interface accepts output datagrams of a specified maximum 17576 * length, and provides higher level routines with input datagrams 17577 * received from its medium. 17578 * 17579 * Output occurs when the routine if_output is called, with three parameters: 17580 * (*ifp->if_output)(ifp, m, dst) 17581 * Here m is the mbuf chain to be sent and dst is the destination address. 17582 * The output routine encapsulates the supplied datagram if necessary, 17583 * and then transmits it on its medium. 17584 * 17585 * On input, each interface unwraps the data received by it, and either 17586 * places it on the input queue of a internetwork datagram routine 17587 * and posts the associated software interrupt, or passes the datagram to a raw 17588 * packet input routine. 17589 * 17590 * Routines exist for locating interfaces by their addresses 17591 * or for locating a interface on a certain network, as well as more general 17592 * routing and gateway routines maintaining information used to locate 17593 * interfaces. These routines live in the files if.c and route.c 17594 */ 17595 17596 17597 17598 /* 17599 * Structure defining a queue for a network interface. 17600 * 17601 * (Would like to call this struct ``if'', but C isn't PL/1.) 17602 */ 17603 struct ifnet { 17604 char *if_name; /* name, e.g. ``en'' or ``lo'' */ 17605 short if_unit; /* sub-unit for lower level driver */ 17606 short if_mtu; /* maximum transmission unit */ 17607 short if_flags; /* up/down, broadcast, etc. */ 17608 short if_timer; /* time 'til if_watchdog called */ 17609 ushort_t if_promisc; /* net # of requests for promisc mode */ 17610 int if_metric; /* routing metric (external only) */ 17611 struct ifaddr *if_addrlist; /* linked list of addresses per if */ 17612 struct ifqueue { 17613 struct mbuf *ifq_head; 17614 struct mbuf *ifq_tail; 17615 int ifq_len; 17616 int ifq_maxlen; 17617 int ifq_drops; 17618 } if_snd; /* output queue */ 17619 /* procedure handles */ 17620 int (*if_init)(); /* init routine */ 17621 int (*if_output)(); /* output routine */ 17622 int (*if_ioctl)(); /* ioctl routine */ 17623 int (*if_reset)(); /* bus reset routine */ 17624 int (*if_watchdog)(); /* timer routine */ 17625 /* generic interface statistics */ 17626 int if_ipackets; /* packets received on interface */ 17627 int if_ierrors; /* input errors on interface */ 17628 int if_opackets; /* packets sent on interface */ 17629 int if_oerrors; /* output errors on interface */ 17630 int if_collisions; /* collisions on csma interfaces */ 17631 /* end statistics */ 17632 struct ifnet *if_next; 17633 struct ifnet *if_upper; /* next layer up */ 17634 struct ifnet *if_lower; /* next layer down */ 17635 int (*if_input)(); /* input routine */ 17636 int (*if_ctlin)(); /* control input routine */ 17637 int (*if_ctlout)(); /* control output routine */ 17638 struct map *if_memmap; /* rmap for interface specific memory */ 17639 }; 17640 17641 /* 17642 * NOTE : These flags are not directly used within IP. 17643 * ip_if.h has definitions derived from this which is used within IP. 17644 * If you define a flag here, you need to define one in ip_if.h before 17645 * using the new flag in IP. Don't use these flags directly in IP. 17646 */ 17647 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17648 /* 17649 * The IFF_MULTICAST flag indicates that the network can support the 17650 * transmission and reception of higher-level (e.g., IP) multicast packets. 17651 * It is independent of hardware support for multicasting; for example, 17652 * point-to-point links or pure broadcast networks may well support 17653 * higher-level multicasts. 17654 */ 17655 17656 17657 17658 17659 17660 17661 17662 /* 17663 * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS. 17664 * Should use SIOC[GS]LIFFLAGS which has a larger flags field. 17665 */ 17666 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17667 /* 17668 * The IFF_XRESOLV flag is an evolving interface and is subject 17669 * to change without notice. 17670 */ 17671 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17672 /* flags that cannot be changed by userland on any interface */ 17673 17674 17675 17676 17677 17678 17679 17680 /* flags that cannot be changed by userland on an IPMP interface */ 17681 17682 17683 /* flags that can never be set on an IPMP interface */ 17684 17685 17686 17687 /* 17688 * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1) 17689 * input routines have queues of messages stored on ifqueue structures 17690 * (defined above). Entries are added to and deleted from these structures 17691 * by these macros, which should be called with ipl raised to splimp(). 17692 */ 17693 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17694 /* 17695 * Packets destined for level-1 protocol input routines 17696 * have a pointer to the receiving interface prepended to the data. 17697 * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet. 17698 * IF_ADJ should be used otherwise to adjust for its presence. 17699 */ 17700 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17701 /* 17702 * The ifaddr structure contains information about one address 17703 * of an interface. They are maintained by the different address families, 17704 * are allocated and attached when an address is set, and are linked 17705 * together so all addresses for an interface can be located. 17706 */ 17707 struct ifaddr { 17708 struct sockaddr ifa_addr; /* address of interface */ 17709 union { 17710 struct sockaddr ifu_broadaddr; 17711 struct sockaddr ifu_dstaddr; 17712 } ifa_ifu; 17713 17714 17715 struct ifnet *ifa_ifp; /* back-pointer to interface */ 17716 struct ifaddr *ifa_next; /* next address for interface */ 17717 }; 17718 17719 /* 17720 * For SIOCLIF*ND ioctls. 17721 * 17722 * The lnr_state_* fields use the ND_* neighbor reachability states. 17723 * The 3 different fields are for use with SIOCLIFSETND to cover the cases 17724 * when 17725 * A new entry is created 17726 * The entry already exists and the link-layer address is the same 17727 * The entry already exists and the link-layer address differs 17728 * 17729 * Use ND_UNCHANGED to not change any state. 17730 */ 17731 17732 typedef struct lif_nd_req { 17733 struct sockaddr_storage lnr_addr; 17734 uint8_t lnr_state_create; /* When creating */ 17735 uint8_t lnr_state_same_lla; /* Update same addr */ 17736 uint8_t lnr_state_diff_lla; /* Update w/ diff. */ 17737 int lnr_hdw_len; 17738 int lnr_flags; /* See below */ 17739 /* padding because ia32 "long long"s are only 4-byte aligned. */ 17740 int lnr_pad0; 17741 char lnr_hdw_addr[64]; 17742 } lif_nd_req_t; 17743 17744 /* 17745 * Neighbor reachability states 17746 * Used with SIOCLIF*ND ioctls. 17747 */ 17748 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17749 /* 17750 * lnr_flags value of lif_nd_req. 17751 * Used with SIOCLIF*ND ioctls. 17752 */ 17753 17754 17755 17756 17757 17758 17759 /* 17760 * the NDF_STATIC entry ensures that an NCE will not be deleted, and is 17761 * used by non-ON applications like IPv6 test suites. 17762 */ 17763 17764 17765 /* For SIOC[GS]LIFLNKINFO */ 17766 typedef struct lif_ifinfo_req { 17767 uint8_t lir_maxhops; 17768 uint32_t lir_reachtime; /* Reachable time in msec */ 17769 uint32_t lir_reachretrans; /* Retransmission timer msec */ 17770 uint32_t lir_maxmtu; 17771 } lif_ifinfo_req_t; 17772 17773 17774 17775 /* 17776 * Maximum lengths of interface name and IPMP group name; these are the same 17777 * for historical reasons. Note that the actual maximum length of a name is 17778 * one byte less than these constants since the kernel always sets the final 17779 * byte of lifr_name and lifr_groupname to NUL. 17780 */ 17781 17782 17783 17784 17785 17786 17787 17788 /* 17789 * Interface request structure used for socket 17790 * ioctl's. All interface ioctl's must have parameter 17791 * definitions which begin with ifr_name. The 17792 * remainder may be interface specific. 17793 * Note: This data structure uses 64bit type uint64_t which is not 17794 * a valid type for strict ANSI/ISO C compilation for ILP32. 17795 * Applications with ioctls using this structure that insist on 17796 * building with strict ANSI/ISO C (-Xc) will need to be LP64. 17797 */ 17798 17799 struct lifreq { 17800 char lifr_name[32]; /* if name, e.g. "en0" */ 17801 union { 17802 int lifru_addrlen; /* for subnet/token etc */ 17803 uint_t lifru_ppa; /* SIOCSLIFNAME */ 17804 } lifr_lifru1; 17805 17806 17807 uint_t lifr_type; /* IFT_ETHER, ... */ 17808 union { 17809 struct sockaddr_storage lifru_addr; 17810 struct sockaddr_storage lifru_dstaddr; 17811 struct sockaddr_storage lifru_broadaddr; 17812 struct sockaddr_storage lifru_token; /* With lifr_addrlen */ 17813 struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */ 17814 int lifru_index; /* interface index */ 17815 uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */ 17816 int lifru_metric; 17817 uint_t lifru_mtu; 17818 int lif_muxid[2]; /* mux id's for arp and ip */ 17819 struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */ 17820 struct lif_ifinfo_req lifru_ifinfo_req; 17821 char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */ 17822 char lifru_binding[32]; /* SIOCGLIFBINDING */ 17823 zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */ 17824 uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */ 17825 } lifr_lifru; 17826 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17827 }; 17828 17829 17830 /* 17831 * Argument structure for SIOCT* address testing ioctls. 17832 */ 17833 struct sioc_addrreq { 17834 struct sockaddr_storage sa_addr; /* Address to test */ 17835 int sa_res; /* Result - 0/1 */ 17836 int sa_pad; 17837 }; 17838 17839 /* 17840 * Argument structure used by mrouted to get src-grp pkt counts using 17841 * SIOCGETLSGCNT. See <netinet/ip_mroute.h>. 17842 */ 17843 struct sioc_lsg_req { 17844 struct sockaddr_storage slr_src; 17845 struct sockaddr_storage slr_grp; 17846 uint_t slr_pktcnt; 17847 uint_t slr_bytecnt; 17848 uint_t slr_wrong_if; 17849 uint_t slr_pad; 17850 }; 17851 17852 /* Argument structure for SIOCGLIFDADSTATE ioctl */ 17853 typedef enum { 17854 DAD_IN_PROGRESS = 0x1, 17855 DAD_DONE = 0x2 17856 } glif_dad_state_t; 17857 17858 /* 17859 * OBSOLETE: Replaced by struct lifreq. Supported for compatibility. 17860 * 17861 * Interface request structure used for socket 17862 * ioctl's. All interface ioctl's must have parameter 17863 * definitions which begin with ifr_name. The 17864 * remainder may be interface specific. 17865 */ 17866 struct ifreq { 17867 17868 char ifr_name[16]; /* if name, e.g. "en0" */ 17869 union { 17870 struct sockaddr ifru_addr; 17871 struct sockaddr ifru_dstaddr; 17872 char ifru_oname[16]; /* other if name */ 17873 struct sockaddr ifru_broadaddr; 17874 int ifru_index; /* interface index */ 17875 uint_t ifru_mtu; 17876 short ifru_flags; 17877 int ifru_metric; 17878 char ifru_data[1]; /* interface dependent data */ 17879 char ifru_enaddr[6]; 17880 int if_muxid[2]; /* mux id's for arp and ip */ 17881 17882 /* Struct for flags/ppa */ 17883 struct ifr_ppaflags { 17884 short ifrup_flags; /* Space of ifru_flags. */ 17885 short ifrup_filler; 17886 uint_t ifrup_ppa; 17887 } ifru_ppaflags; 17888 17889 /* Struct for FDDI ioctl's */ 17890 struct ifr_dnld_reqs { 17891 uint32_t v_addr; 17892 uint32_t m_addr; 17893 uint32_t ex_addr; 17894 uint32_t size; 17895 } ifru_dnld_req; 17896 17897 /* Struct for FDDI stats */ 17898 struct ifr_fddi_stats { 17899 uint32_t stat_size; 17900 uint32_t fddi_stats; 17901 } ifru_fddi_stat; 17902 17903 struct ifr_netmapents { 17904 uint32_t map_ent_size, /* size of netmap structure */ 17905 entry_number; /* index into netmap list */ 17906 uint32_t fddi_map_ent; /* pointer to user structure */ 17907 } ifru_netmapent; 17908 17909 /* Field for generic ioctl for fddi */ 17910 17911 struct ifr_fddi_gen_struct { 17912 uint32_t ifru_fddi_gioctl; /* field for gen ioctl */ 17913 uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */ 17914 } ifru_fddi_gstruct; 17915 17916 } ifr_ifru; 17917 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17918 /* For setting ppa */ 17919 17920 17921 /* FDDI specific */ 17922 17923 17924 17925 17926 17927 17928 17929 }; 17930 17931 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */ 17932 struct lifnum { 17933 sa_family_t lifn_family; 17934 int lifn_flags; /* request specific interfaces */ 17935 int lifn_count; /* Result */ 17936 }; 17937 17938 /* 17939 * Structure used in SIOCGLIFCONF request. 17940 * Used to retrieve interface configuration 17941 * for machine (useful for programs which 17942 * must know all networks accessible) for a given address family. 17943 * Using AF_UNSPEC will retrieve all address families. 17944 */ 17945 struct lifconf { 17946 sa_family_t lifc_family; 17947 int lifc_flags; /* request specific interfaces */ 17948 int lifc_len; /* size of associated buffer */ 17949 union { 17950 caddr_t lifcu_buf; 17951 struct lifreq *lifcu_req; 17952 } lifc_lifcu; 17953 17954 17955 }; 17956 17957 /* 17958 * Structure used in SIOCGLIFSRCOF to get the interface 17959 * configuration list for those interfaces that use an address 17960 * hosted on the interface (set in lifs_ifindex), as the source 17961 * address. 17962 */ 17963 struct lifsrcof { 17964 uint_t lifs_ifindex; /* interface of interest */ 17965 size_t lifs_maxlen; /* size of buffer: input */ 17966 size_t lifs_len; /* size of buffer: output */ 17967 union { 17968 caddr_t lifsu_buf; 17969 struct lifreq *lifsu_req; 17970 } lifs_lifsu; 17971 17972 17973 }; 17974 17975 /* Flags */ 17976 17977 17978 /* be used to communicate outside the */ 17979 /* node (exclude interfaces which are */ 17980 /* IFF_NOXMIT, IFF_NOLOCAL, */ 17981 /* IFF_LOOPBACK, IFF_DEPRECATED, or */ 17982 /* not IFF_UP). Has priority over */ 17983 /* LIFC_NOXMIT. */ 17984 17985 17986 /* (must be issued from global zone) */ 17987 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17988 /* 17989 * IPMP group information, for use with SIOCGLIFGROUPINFO. 17990 */ 17991 typedef struct lifgroupinfo { 17992 char gi_grname[32]; /* group name (set by caller) */ 17993 char gi_grifname[32]; /* IPMP meta-interface name */ 17994 char gi_m4ifname[32]; /* v4 mcast interface name */ 17995 char gi_m6ifname[32]; /* v6 mcast interface name */ 17996 char gi_bcifname[32]; /* v4 bcast interface name */ 17997 boolean_t gi_v4; /* group is plumbed for v4 */ 17998 boolean_t gi_v6; /* group is plumbed for v6 */ 17999 uint_t gi_nv4; /* # of underlying v4 if's */ 18000 uint_t gi_nv6; /* # of underlying v6 if's */ 18001 uint_t gi_mactype; /* DLPI mac type of group */ 18002 } lifgroupinfo_t; 18003 18004 /* 18005 * OBSOLETE: Structure used in SIOCGIFCONF request. 18006 * Used to retrieve interface configuration 18007 * for machine (useful for programs which 18008 * must know all networks accessible). 18009 */ 18010 struct ifconf { 18011 int ifc_len; /* size of associated buffer */ 18012 union { 18013 caddr_t ifcu_buf; 18014 struct ifreq *ifcu_req; 18015 } ifc_ifcu; 18016 18017 18018 }; 18019 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 18020 typedef struct if_data { 18021 /* generic interface information */ 18022 uchar_t ifi_type; /* ethernet, tokenring, etc */ 18023 uchar_t ifi_addrlen; /* media address length */ 18024 uchar_t ifi_hdrlen; /* media header length */ 18025 uint_t ifi_mtu; /* maximum transmission unit */ 18026 uint_t ifi_metric; /* routing metric (external only) */ 18027 uint_t ifi_baudrate; /* linespeed */ 18028 /* volatile statistics */ 18029 uint_t ifi_ipackets; /* packets received on interface */ 18030 uint_t ifi_ierrors; /* input errors on interface */ 18031 uint_t ifi_opackets; /* packets sent on interface */ 18032 uint_t ifi_oerrors; /* output errors on interface */ 18033 uint_t ifi_collisions; /* collisions on csma interfaces */ 18034 uint_t ifi_ibytes; /* total number of octets received */ 18035 uint_t ifi_obytes; /* total number of octets sent */ 18036 uint_t ifi_imcasts; /* packets received via multicast */ 18037 uint_t ifi_omcasts; /* packets sent via multicast */ 18038 uint_t ifi_iqdrops; /* dropped on input, this interface */ 18039 uint_t ifi_noproto; /* destined for unsupported protocol */ 18040 18041 struct timeval32 ifi_lastchange; /* last updated */ 18042 18043 18044 18045 } if_data_t; 18046 18047 /* 18048 * Message format for use in obtaining information about interfaces 18049 * from the routing socket 18050 */ 18051 typedef struct if_msghdr { 18052 ushort_t ifm_msglen; /* to skip over non-understood messages */ 18053 uchar_t ifm_version; /* future binary compatibility */ 18054 uchar_t ifm_type; /* message type */ 18055 int ifm_addrs; /* like rtm_addrs */ 18056 int ifm_flags; /* value of if_flags */ 18057 ushort_t ifm_index; /* index for associated ifp */ 18058 struct if_data ifm_data; /* statistics and other data about if */ 18059 } if_msghdr_t; 18060 18061 /* 18062 * Message format for use in obtaining information about interface addresses 18063 * from the routing socket 18064 */ 18065 typedef struct ifa_msghdr { 18066 ushort_t ifam_msglen; /* to skip over non-understood messages */ 18067 uchar_t ifam_version; /* future binary compatibility */ 18068 uchar_t ifam_type; /* message type */ 18069 int ifam_addrs; /* like rtm_addrs */ 18070 int ifam_flags; /* route flags */ 18071 ushort_t ifam_index; /* index for associated ifp */ 18072 int ifam_metric; /* value of ipif_metric */ 18073 } ifa_msghdr_t; 18074 18075 18076 18077 /* 18078 * The if_nameindex structure holds the interface index value about 18079 * a single interface. An array of this structure is used to return 18080 * all interfaces and indexes. 18081 */ 18082 struct if_nameindex { 18083 unsigned if_index; /* positive interface index */ 18084 char *if_name; /* if name, e.g. "en0" */ 18085 }; 18086 18087 /* Interface index identification API definitions */ 18088 extern unsigned if_nametoindex(const char *); 18089 extern char *if_indextoname(unsigned, char *); 18090 extern struct if_nameindex *if_nameindex(void); 18091 extern void if_freenameindex(struct if_nameindex *); 18092 18093 18094 /* 18095 * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if 18096 * struct sockaddr_dl needs to be modified as the interface index is placed 18097 * in this structure by the kernel. 18098 */ 18099 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 18101 /* 18102 * CDDL HEADER START 18103 * 18104 * The contents of this file are subject to the terms of the 18105 * Common Development and Distribution License (the "License"). 18106 * You may not use this file except in compliance with the License. 18107 * 18108 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18109 * or http://www.opensolaris.org/os/licensing. 18110 * See the License for the specific language governing permissions 18111 * and limitations under the License. 18112 * 18113 * When distributing Covered Code, include this CDDL HEADER in each 18114 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18115 * If applicable, add the following below this CDDL HEADER, with the 18116 * fields enclosed by brackets "[]" replaced with your own identifying 18117 * information: Portions Copyright [yyyy] [name of copyright owner] 18118 * 18119 * CDDL HEADER END 18120 */ 18121 18122 /* 18123 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18124 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 18125 */ 18126 18127 /* Copyright (c) 1988 AT&T */ 18128 /* All Rights Reserved */ 18129 18130 /* 18131 * User-visible pieces of the ANSI C standard I/O package. 18132 */ 18133 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18134 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 18135 /* 18136 * CDDL HEADER START 18137 * 18138 * The contents of this file are subject to the terms of the 18139 * Common Development and Distribution License, Version 1.0 only 18140 * (the "License"). You may not use this file except in compliance 18141 * with the License. 18142 * 18143 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18144 * or http://www.opensolaris.org/os/licensing. 18145 * See the License for the specific language governing permissions 18146 * and limitations under the License. 18147 * 18148 * When distributing Covered Code, include this CDDL HEADER in each 18149 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18150 * If applicable, add the following below this CDDL HEADER, with the 18151 * fields enclosed by brackets "[]" replaced with your own identifying 18152 * information: Portions Copyright [yyyy] [name of copyright owner] 18153 * 18154 * CDDL HEADER END 18155 */ 18156 /* 18157 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18158 * Use is subject to license terms. 18159 */ 18160 18161 18162 18163 18164 #pragma ident "%Z%%M% %I% %E% SMI" 18165 18166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 18167 /* 18168 * CDDL HEADER START 18169 * 18170 * The contents of this file are subject to the terms of the 18171 * Common Development and Distribution License (the "License"). 18172 * You may not use this file except in compliance with the License. 18173 * 18174 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18175 * or http://www.opensolaris.org/os/licensing. 18176 * See the License for the specific language governing permissions 18177 * and limitations under the License. 18178 * 18179 * When distributing Covered Code, include this CDDL HEADER in each 18180 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18181 * If applicable, add the following below this CDDL HEADER, with the 18182 * fields enclosed by brackets "[]" replaced with your own identifying 18183 * information: Portions Copyright [yyyy] [name of copyright owner] 18184 * 18185 * CDDL HEADER END 18186 */ 18187 /* 18188 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 18189 */ 18190 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 18191 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18192 /* 18193 * CDDL HEADER START 18194 * 18195 * The contents of this file are subject to the terms of the 18196 * Common Development and Distribution License (the "License"). 18197 * You may not use this file except in compliance with the License. 18198 * 18199 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18200 * or http://www.opensolaris.org/os/licensing. 18201 * See the License for the specific language governing permissions 18202 * and limitations under the License. 18203 * 18204 * When distributing Covered Code, include this CDDL HEADER in each 18205 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18206 * If applicable, add the following below this CDDL HEADER, with the 18207 * fields enclosed by brackets "[]" replaced with your own identifying 18208 * information: Portions Copyright [yyyy] [name of copyright owner] 18209 * 18210 * CDDL HEADER END 18211 */ 18212 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18213 /* All Rights Reserved */ 18214 18215 18216 /* 18217 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18218 * Use is subject to license terms. 18219 * 18220 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18221 * Copyright 2016 Joyent, Inc. 18222 */ 18223 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 18224 18225 18226 18227 18228 18229 int rctl_walk(int (*)(const char *, void *), void *); 18230 18231 hrtime_t rctlblk_get_firing_time(rctlblk_t *); 18232 uint_t rctlblk_get_global_action(rctlblk_t *); 18233 uint_t rctlblk_get_global_flags(rctlblk_t *); 18234 uint_t rctlblk_get_local_action(rctlblk_t *, int *); 18235 uint_t rctlblk_get_local_flags(rctlblk_t *); 18236 id_t rctlblk_get_recipient_pid(rctlblk_t *); 18237 rctl_priv_t rctlblk_get_privilege(rctlblk_t *); 18238 rctl_qty_t rctlblk_get_value(rctlblk_t *); 18239 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); 18240 18241 void rctlblk_set_local_action(rctlblk_t *, uint_t, int); 18242 void rctlblk_set_local_flags(rctlblk_t *, uint_t); 18243 void rctlblk_set_recipient_pid(rctlblk_t *, id_t); 18244 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); 18245 void rctlblk_set_value(rctlblk_t *, rctl_qty_t); 18246 18247 size_t rctlblk_size(void); 18248 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18249 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 18250 /* 18251 * CDDL HEADER START 18252 * 18253 * The contents of this file are subject to the terms of the 18254 * Common Development and Distribution License (the "License"). 18255 * You may not use this file except in compliance with the License. 18256 * 18257 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18258 * or http://www.opensolaris.org/os/licensing. 18259 * See the License for the specific language governing permissions 18260 * and limitations under the License. 18261 * 18262 * When distributing Covered Code, include this CDDL HEADER in each 18263 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18264 * If applicable, add the following below this CDDL HEADER, with the 18265 * fields enclosed by brackets "[]" replaced with your own identifying 18266 * information: Portions Copyright [yyyy] [name of copyright owner] 18267 * 18268 * CDDL HEADER END 18269 */ 18270 /* 18271 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18272 * Use is subject to license terms. 18273 */ 18274 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18275 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1 18276 /* 18277 * CDDL HEADER START 18278 * 18279 * The contents of this file are subject to the terms of the 18280 * Common Development and Distribution License (the "License"). 18281 * You may not use this file except in compliance with the License. 18282 * 18283 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18284 * or http://www.opensolaris.org/os/licensing. 18285 * See the License for the specific language governing permissions 18286 * and limitations under the License. 18287 * 18288 * When distributing Covered Code, include this CDDL HEADER in each 18289 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18290 * If applicable, add the following below this CDDL HEADER, with the 18291 * fields enclosed by brackets "[]" replaced with your own identifying 18292 * information: Portions Copyright [yyyy] [name of copyright owner] 18293 * 18294 * CDDL HEADER END 18295 */ 18296 18297 /* 18298 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 18299 * Copyright (c) 2011, Joyent, Inc. All rights reserved. 18300 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 18301 */ 18302 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 18303 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18304 /* 18305 * CDDL HEADER START 18306 * 18307 * The contents of this file are subject to the terms of the 18308 * Common Development and Distribution License (the "License"). 18309 * You may not use this file except in compliance with the License. 18310 * 18311 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18312 * or http://www.opensolaris.org/os/licensing. 18313 * See the License for the specific language governing permissions 18314 * and limitations under the License. 18315 * 18316 * When distributing Covered Code, include this CDDL HEADER in each 18317 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18318 * If applicable, add the following below this CDDL HEADER, with the 18319 * fields enclosed by brackets "[]" replaced with your own identifying 18320 * information: Portions Copyright [yyyy] [name of copyright owner] 18321 * 18322 * CDDL HEADER END 18323 */ 18324 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18325 /* All Rights Reserved */ 18326 18327 18328 /* 18329 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18330 * Use is subject to license terms. 18331 * 18332 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18333 * Copyright 2016 Joyent, Inc. 18334 */ 18335 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2 18336 18337 typedef struct __brand_handle *brand_handle_t; 18338 18339 typedef struct priv_iter_s { 18340 char *pi_name; 18341 char *pi_set; 18342 char *pi_iptype; 18343 } priv_iter_t; 18344 18345 extern brand_handle_t brand_open(const char *); 18346 extern void brand_close(brand_handle_t); 18347 18348 extern boolean_t brand_allow_exclusive_ip(brand_handle_t); 18349 18350 extern int brand_get_attach(brand_handle_t, const char *, const char *, 18351 char *, size_t); 18352 extern int brand_get_boot(brand_handle_t, const char *, const char *, 18353 char *, size_t); 18354 extern int brand_get_brandname(brand_handle_t, char *, size_t); 18355 extern int brand_get_clone(brand_handle_t, const char *, const char *, 18356 char *, size_t); 18357 extern int brand_get_detach(brand_handle_t, const char *, const char *, 18358 char *, size_t); 18359 extern int brand_get_shutdown(brand_handle_t, const char *, const char *, 18360 char *, size_t); 18361 extern int brand_get_halt(brand_handle_t, const char *, const char *, 18362 char *, size_t); 18363 extern int brand_get_initname(brand_handle_t, char *, size_t); 18364 extern boolean_t brand_restartinit(brand_handle_t); 18365 extern int brand_get_install(brand_handle_t, const char *, const char *, 18366 char *, size_t); 18367 extern int brand_get_installopts(brand_handle_t, char *, size_t); 18368 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t); 18369 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *, 18370 char *, size_t); 18371 extern int brand_get_modname(brand_handle_t, char *, size_t); 18372 extern int brand_get_postattach(brand_handle_t, const char *, const char *, 18373 char *, size_t); 18374 extern int brand_get_postclone(brand_handle_t, const char *, const char *, 18375 char *, size_t); 18376 extern int brand_get_postinstall(brand_handle_t, const char *, const char *, 18377 char *, size_t); 18378 extern int brand_get_postsnap(brand_handle_t, const char *, const char *, 18379 char *, size_t); 18380 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *, 18381 char *, size_t); 18382 extern int brand_get_predetach(brand_handle_t, const char *, const char *, 18383 char *, size_t); 18384 extern int brand_get_presnap(brand_handle_t, const char *, const char *, 18385 char *, size_t); 18386 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *, 18387 char *, size_t); 18388 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *, 18389 char *, size_t); 18390 extern int brand_get_query(brand_handle_t, const char *, const char *, 18391 char *, size_t); 18392 extern int brand_get_uninstall(brand_handle_t, const char *, const char *, 18393 char *, size_t); 18394 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *, 18395 char *, size_t); 18396 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t); 18397 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t); 18398 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *, 18399 char *, size_t); 18400 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *, 18401 size_t); 18402 18403 extern int brand_config_iter_privilege(brand_handle_t, 18404 int (*func)(void *, priv_iter_t *), void *); 18405 18406 extern int brand_platform_iter_devices(brand_handle_t, const char *, 18407 int (*)(void *, const char *, const char *), void *, const char *); 18408 extern int brand_platform_iter_gmounts(brand_handle_t, const char *, 18409 int (*)(void *, const char *, const char *, const char *, const char *), 18410 void *); 18411 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *, 18412 const char *, const char *), void *); 18413 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *, 18414 const char *, const char *, const char *, const char *), void *); 18415 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1 18417 /* 18418 * CDDL HEADER START 18419 * 18420 * The contents of this file are subject to the terms of the 18421 * Common Development and Distribution License, Version 1.0 only 18422 * (the "License"). You may not use this file except in compliance 18423 * with the License. 18424 * 18425 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18426 * or http://www.opensolaris.org/os/licensing. 18427 * See the License for the specific language governing permissions 18428 * and limitations under the License. 18429 * 18430 * When distributing Covered Code, include this CDDL HEADER in each 18431 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18432 * If applicable, add the following below this CDDL HEADER, with the 18433 * fields enclosed by brackets "[]" replaced with your own identifying 18434 * information: Portions Copyright [yyyy] [name of copyright owner] 18435 * 18436 * CDDL HEADER END 18437 */ 18438 /* 18439 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 18440 * Use is subject to license terms. 18441 */ 18442 18443 18444 18445 18446 #pragma ident "%Z%%M% %I% %E% SMI" 18447 18448 18449 18450 18451 18452 /* 18453 * The copyright in this file is taken from the original Leach 18454 * & Salz UUID specification, from which this implementation 18455 * is derived. 18456 */ 18457 18458 /* 18459 * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. 18460 * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & 18461 * Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 18462 * Microsoft. To anyone who acknowledges that this file is provided 18463 * "AS IS" without any express or implied warranty: permission to use, 18464 * copy, modify, and distribute this file for any purpose is hereby 18465 * granted without fee, provided that the above copyright notices and 18466 * this notice appears in all source code copies, and that none of the 18467 * names of Open Software Foundation, Inc., Hewlett-Packard Company, 18468 * or Digital Equipment Corporation be used in advertising or 18469 * publicity pertaining to distribution of the software without 18470 * specific, written prior permission. Neither Open Software 18471 * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital 18472 * Equipment Corporation makes any representations about the 18473 * suitability of this software for any purpose. 18474 */ 18475 18476 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18477 /* 18478 * CDDL HEADER START 18479 * 18480 * The contents of this file are subject to the terms of the 18481 * Common Development and Distribution License (the "License"). 18482 * You may not use this file except in compliance with the License. 18483 * 18484 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18485 * or http://www.opensolaris.org/os/licensing. 18486 * See the License for the specific language governing permissions 18487 * and limitations under the License. 18488 * 18489 * When distributing Covered Code, include this CDDL HEADER in each 18490 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18491 * If applicable, add the following below this CDDL HEADER, with the 18492 * fields enclosed by brackets "[]" replaced with your own identifying 18493 * information: Portions Copyright [yyyy] [name of copyright owner] 18494 * 18495 * CDDL HEADER END 18496 */ 18497 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18498 /* All Rights Reserved */ 18499 18500 18501 /* 18502 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18503 * Use is subject to license terms. 18504 * 18505 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18506 * Copyright 2016 Joyent, Inc. 18507 */ 18508 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 18509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 18510 /* 18511 * CDDL HEADER START 18512 * 18513 * The contents of this file are subject to the terms of the 18514 * Common Development and Distribution License (the "License"). 18515 * You may not use this file except in compliance with the License. 18516 * 18517 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18518 * or http://www.opensolaris.org/os/licensing. 18519 * See the License for the specific language governing permissions 18520 * and limitations under the License. 18521 * 18522 * When distributing Covered Code, include this CDDL HEADER in each 18523 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18524 * If applicable, add the following below this CDDL HEADER, with the 18525 * fields enclosed by brackets "[]" replaced with your own identifying 18526 * information: Portions Copyright [yyyy] [name of copyright owner] 18527 * 18528 * CDDL HEADER END 18529 */ 18530 18531 /* 18532 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18533 * Use is subject to license terms. 18534 */ 18535 18536 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 18537 /* All Rights Reserved */ 18538 18539 /* 18540 * University Copyright- Copyright (c) 1982, 1986, 1988 18541 * The Regents of the University of California 18542 * All Rights Reserved 18543 * 18544 * University Acknowledgment- Portions of this document are derived from 18545 * software developed by the University of California, Berkeley, and its 18546 * contributors. 18547 */ 18548 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 18549 18550 typedef struct { 18551 uint8_t nodeID[6]; 18552 } uuid_node_t; 18553 18554 /* 18555 * The uuid type used throughout when referencing uuids themselves 18556 */ 18557 struct uuid { 18558 uint32_t time_low; 18559 uint16_t time_mid; 18560 uint16_t time_hi_and_version; 18561 uint8_t clock_seq_hi_and_reserved; 18562 uint8_t clock_seq_low; 18563 uint8_t node_addr[6]; 18564 }; 18565 18566 18567 18568 18569 18570 typedef uchar_t uuid_t[16]; 18571 18572 /* 18573 * Convert a uuid to/from little-endian format 18574 */ 18575 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18576 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1 18577 /* 18578 * CDDL HEADER START 18579 * 18580 * The contents of this file are subject to the terms of the 18581 * Common Development and Distribution License (the "License"). 18582 * You may not use this file except in compliance with the License. 18583 * 18584 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18585 * or http://www.opensolaris.org/os/licensing. 18586 * See the License for the specific language governing permissions 18587 * and limitations under the License. 18588 * 18589 * When distributing Covered Code, include this CDDL HEADER in each 18590 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18591 * If applicable, add the following below this CDDL HEADER, with the 18592 * fields enclosed by brackets "[]" replaced with your own identifying 18593 * information: Portions Copyright [yyyy] [name of copyright owner] 18594 * 18595 * CDDL HEADER END 18596 */ 18597 /* 18598 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 18599 */ 18600 18601 18602 18603 18604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18605 /* 18606 * CDDL HEADER START 18607 * 18608 * The contents of this file are subject to the terms of the 18609 * Common Development and Distribution License (the "License"). 18610 * You may not use this file except in compliance with the License. 18611 * 18612 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18613 * or http://www.opensolaris.org/os/licensing. 18614 * See the License for the specific language governing permissions 18615 * and limitations under the License. 18616 * 18617 * When distributing Covered Code, include this CDDL HEADER in each 18618 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18619 * If applicable, add the following below this CDDL HEADER, with the 18620 * fields enclosed by brackets "[]" replaced with your own identifying 18621 * information: Portions Copyright [yyyy] [name of copyright owner] 18622 * 18623 * CDDL HEADER END 18624 */ 18625 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18626 /* All Rights Reserved */ 18627 18628 18629 /* 18630 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18631 * Use is subject to license terms. 18632 * 18633 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18634 * Copyright 2016 Joyent, Inc. 18635 */ 18636 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.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, Version 1.0 only 18643 * (the "License"). You may not use this file except in compliance 18644 * with the License. 18645 * 18646 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18647 * or http://www.opensolaris.org/os/licensing. 18648 * See the License for the specific language governing permissions 18649 * and limitations under the License. 18650 * 18651 * When distributing Covered Code, include this CDDL HEADER in each 18652 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18653 * If applicable, add the following below this CDDL HEADER, with the 18654 * fields enclosed by brackets "[]" replaced with your own identifying 18655 * information: Portions Copyright [yyyy] [name of copyright owner] 18656 * 18657 * CDDL HEADER END 18658 */ 18659 /* Copyright (c) 1988 AT&T */ 18660 /* All Rights Reserved */ 18661 18662 /* 18663 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18664 * 18665 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18666 * Use is subject to license terms. 18667 */ 18668 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18669 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 18670 /* 18671 * CDDL HEADER START 18672 * 18673 * The contents of this file are subject to the terms of the 18674 * Common Development and Distribution License (the "License"). 18675 * You may not use this file except in compliance with the License. 18676 * 18677 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18678 * or http://www.opensolaris.org/os/licensing. 18679 * See the License for the specific language governing permissions 18680 * and limitations under the License. 18681 * 18682 * When distributing Covered Code, include this CDDL HEADER in each 18683 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18684 * If applicable, add the following below this CDDL HEADER, with the 18685 * fields enclosed by brackets "[]" replaced with your own identifying 18686 * information: Portions Copyright [yyyy] [name of copyright owner] 18687 * 18688 * CDDL HEADER END 18689 */ 18690 18691 /* 18692 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18693 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 18694 */ 18695 18696 /* Copyright (c) 1988 AT&T */ 18697 /* All Rights Reserved */ 18698 18699 /* 18700 * User-visible pieces of the ANSI C standard I/O package. 18701 */ 18702 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18703 18704 18705 18706 18707 18708 /* 18709 * Standard flags codes. 18710 */ 18711 18712 18713 /* 18714 * Standard error codes. 18715 */ 18716 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 18717 /* 18718 * Standard program exit codes. 18719 */ 18720 18721 18722 18723 18724 /* 18725 * Exit status profiles. 18726 */ 18727 18728 18729 18730 /* 18731 * Error reporting functions. 18732 */ 18733 uint32_t uu_error(void); 18734 const char *uu_strerror(uint32_t); 18735 18736 /* 18737 * Program notification functions. 18738 */ 18739 extern void uu_alt_exit(int); 18740 extern const char *uu_setpname(char *); 18741 extern const char *uu_getpname(void); 18742 /*PRINTFLIKE1*/ 18743 extern void uu_warn(const char *, ...); 18744 extern void uu_vwarn(const char *, va_list); 18745 /*PRINTFLIKE1*/ 18746 extern void uu_die(const char *, ...) __attribute__((__noreturn__)); 18747 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__)); 18748 /*PRINTFLIKE2*/ 18749 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__)); 18750 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__)); 18751 18752 /* 18753 * Exit status functions (not to be used directly) 18754 */ 18755 extern int *uu_exit_ok(void); 18756 extern int *uu_exit_fatal(void); 18757 extern int *uu_exit_usage(void); 18758 18759 /* 18760 * string->number conversions 18761 */ 18762 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t); 18763 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t); 18764 18765 /* 18766 * Debug print facility functions. 18767 */ 18768 typedef struct uu_dprintf uu_dprintf_t; 18769 18770 typedef enum { 18771 UU_DPRINTF_SILENT, 18772 UU_DPRINTF_FATAL, 18773 UU_DPRINTF_WARNING, 18774 UU_DPRINTF_NOTICE, 18775 UU_DPRINTF_INFO, 18776 UU_DPRINTF_DEBUG 18777 } uu_dprintf_severity_t; 18778 18779 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t, 18780 uint_t); 18781 /*PRINTFLIKE3*/ 18782 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t, 18783 const char *, ...); 18784 extern void uu_dprintf_destroy(uu_dprintf_t *); 18785 extern const char *uu_dprintf_getname(uu_dprintf_t *); 18786 18787 /* 18788 * Identifier test flags and function. 18789 */ 18790 18791 18792 18793 int uu_check_name(const char *, uint_t); 18794 18795 /* 18796 * File creation functions. 18797 */ 18798 extern int uu_open_tmp(const char *dir, uint_t uflags); 18799 18800 /* 18801 * Convenience functions. 18802 */ 18803 18804 18805 /*PRINTFLIKE1*/ 18806 extern char *uu_msprintf(const char *format, ...); 18807 extern void *uu_zalloc(size_t); 18808 extern char *uu_strdup(const char *); 18809 extern void uu_free(void *); 18810 18811 extern boolean_t uu_strcaseeq(const char *a, const char *b); 18812 extern boolean_t uu_streq(const char *a, const char *b); 18813 extern char *uu_strndup(const char *s, size_t n); 18814 extern boolean_t uu_strbw(const char *a, const char *b); 18815 extern void *uu_memdup(const void *buf, size_t sz); 18816 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len); 18817 18818 /* 18819 * Comparison function type definition. 18820 * Developers should be careful in their use of the _private argument. If you 18821 * break interface guarantees, you get undefined behavior. 18822 */ 18823 typedef int uu_compare_fn_t(const void *__left, const void *__right, 18824 void *__private); 18825 18826 /* 18827 * Walk variant flags. 18828 * A data structure need not provide support for all variants and 18829 * combinations. Refer to the appropriate documentation. 18830 */ 18831 18832 18833 18834 18835 18836 18837 /* 18838 * Walk callback function return codes. 18839 */ 18840 18841 18842 18843 18844 /* 18845 * Walk callback function type definition. 18846 */ 18847 typedef int uu_walk_fn_t(void *_elem, void *_private); 18848 18849 /* 18850 * lists: opaque structures 18851 */ 18852 typedef struct uu_list_pool uu_list_pool_t; 18853 typedef struct uu_list uu_list_t; 18854 18855 typedef struct uu_list_node { 18856 uintptr_t uln_opaque[2]; 18857 } uu_list_node_t; 18858 18859 typedef struct uu_list_walk uu_list_walk_t; 18860 18861 typedef uintptr_t uu_list_index_t; 18862 18863 /* 18864 * lists: interface 18865 * 18866 * basic usage: 18867 * typedef struct foo { 18868 * ... 18869 * uu_list_node_t foo_node; 18870 * ... 18871 * } foo_t; 18872 * 18873 * static int 18874 * foo_compare(void *l_arg, void *r_arg, void *private) 18875 * { 18876 * foo_t *l = l_arg; 18877 * foo_t *r = r_arg; 18878 * 18879 * if (... l greater than r ...) 18880 * return (1); 18881 * if (... l less than r ...) 18882 * return (-1); 18883 * return (0); 18884 * } 18885 * 18886 * ... 18887 * // at initialization time 18888 * foo_pool = uu_list_pool_create("foo_pool", 18889 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 18890 * debugging? 0 : UU_AVL_POOL_DEBUG); 18891 * ... 18892 */ 18893 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t, 18894 uu_compare_fn_t *, uint32_t); 18895 18896 18897 void uu_list_pool_destroy(uu_list_pool_t *); 18898 18899 /* 18900 * usage: 18901 * 18902 * foo_t *a; 18903 * a = malloc(sizeof(*a)); 18904 * uu_list_node_init(a, &a->foo_list, pool); 18905 * ... 18906 * uu_list_node_fini(a, &a->foo_list, pool); 18907 * free(a); 18908 */ 18909 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *); 18910 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *); 18911 18912 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t); 18913 18914 18915 18916 void uu_list_destroy(uu_list_t *); /* list must be empty */ 18917 18918 size_t uu_list_numnodes(uu_list_t *); 18919 18920 void *uu_list_first(uu_list_t *); 18921 void *uu_list_last(uu_list_t *); 18922 18923 void *uu_list_next(uu_list_t *, void *); 18924 void *uu_list_prev(uu_list_t *, void *); 18925 18926 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t); 18927 18928 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t); 18929 void *uu_list_walk_next(uu_list_walk_t *); 18930 void uu_list_walk_end(uu_list_walk_t *); 18931 18932 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *); 18933 void uu_list_insert(uu_list_t *, void *, uu_list_index_t); 18934 18935 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t); 18936 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t); 18937 18938 void *uu_list_teardown(uu_list_t *, void **); 18939 18940 void uu_list_remove(uu_list_t *, void *); 18941 18942 /* 18943 * lists: interfaces for non-sorted lists only 18944 */ 18945 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem); 18946 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem); 18947 18948 /* 18949 * avl trees: opaque structures 18950 */ 18951 typedef struct uu_avl_pool uu_avl_pool_t; 18952 typedef struct uu_avl uu_avl_t; 18953 18954 typedef struct uu_avl_node { 18955 18956 uintptr_t uan_opaque[3]; 18957 18958 18959 18960 } uu_avl_node_t; 18961 18962 typedef struct uu_avl_walk uu_avl_walk_t; 18963 18964 typedef uintptr_t uu_avl_index_t; 18965 18966 /* 18967 * avl trees: interface 18968 * 18969 * basic usage: 18970 * typedef struct foo { 18971 * ... 18972 * uu_avl_node_t foo_node; 18973 * ... 18974 * } foo_t; 18975 * 18976 * static int 18977 * foo_compare(void *l_arg, void *r_arg, void *private) 18978 * { 18979 * foo_t *l = l_arg; 18980 * foo_t *r = r_arg; 18981 * 18982 * if (... l greater than r ...) 18983 * return (1); 18984 * if (... l less than r ...) 18985 * return (-1); 18986 * return (0); 18987 * } 18988 * 18989 * ... 18990 * // at initialization time 18991 * foo_pool = uu_avl_pool_create("foo_pool", 18992 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 18993 * debugging? 0 : UU_AVL_POOL_DEBUG); 18994 * ... 18995 */ 18996 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t, 18997 uu_compare_fn_t *, uint32_t); 18998 18999 19000 void uu_avl_pool_destroy(uu_avl_pool_t *); 19001 19002 /* 19003 * usage: 19004 * 19005 * foo_t *a; 19006 * a = malloc(sizeof(*a)); 19007 * uu_avl_node_init(a, &a->foo_avl, pool); 19008 * ... 19009 * uu_avl_node_fini(a, &a->foo_avl, pool); 19010 * free(a); 19011 */ 19012 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *); 19013 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *); 19014 19015 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t); 19016 19017 19018 void uu_avl_destroy(uu_avl_t *); /* list must be empty */ 19019 19020 size_t uu_avl_numnodes(uu_avl_t *); 19021 19022 void *uu_avl_first(uu_avl_t *); 19023 void *uu_avl_last(uu_avl_t *); 19024 19025 void *uu_avl_next(uu_avl_t *, void *); 19026 void *uu_avl_prev(uu_avl_t *, void *); 19027 19028 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t); 19029 19030 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t); 19031 void *uu_avl_walk_next(uu_avl_walk_t *); 19032 void uu_avl_walk_end(uu_avl_walk_t *); 19033 19034 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *); 19035 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t); 19036 19037 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t); 19038 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t); 19039 19040 void *uu_avl_teardown(uu_avl_t *, void **); 19041 19042 void uu_avl_remove(uu_avl_t *, void *); 19043 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19044 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1 19045 /* 19046 * CDDL HEADER START 19047 * 19048 * The contents of this file are subject to the terms of the 19049 * Common Development and Distribution License (the "License"). 19050 * You may not use this file except in compliance with the License. 19051 * 19052 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19053 * or http://www.opensolaris.org/os/licensing. 19054 * See the License for the specific language governing permissions 19055 * and limitations under the License. 19056 * 19057 * When distributing Covered Code, include this CDDL HEADER in each 19058 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19059 * If applicable, add the following below this CDDL HEADER, with the 19060 * fields enclosed by brackets "[]" replaced with your own identifying 19061 * information: Portions Copyright [yyyy] [name of copyright owner] 19062 * 19063 * CDDL HEADER END 19064 */ 19065 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19066 /* All Rights Reserved */ 19067 19068 19069 /* 19070 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19071 * 19072 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19073 * Use is subject to license terms. 19074 */ 19075 19076 19077 19078 19079 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19080 /* 19081 * CDDL HEADER START 19082 * 19083 * The contents of this file are subject to the terms of the 19084 * Common Development and Distribution License (the "License"). 19085 * You may not use this file except in compliance with the License. 19086 * 19087 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19088 * or http://www.opensolaris.org/os/licensing. 19089 * See the License for the specific language governing permissions 19090 * and limitations under the License. 19091 * 19092 * When distributing Covered Code, include this CDDL HEADER in each 19093 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19094 * If applicable, add the following below this CDDL HEADER, with the 19095 * fields enclosed by brackets "[]" replaced with your own identifying 19096 * information: Portions Copyright [yyyy] [name of copyright owner] 19097 * 19098 * CDDL HEADER END 19099 */ 19100 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19101 /* All Rights Reserved */ 19102 19103 19104 /* 19105 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19106 * Use is subject to license terms. 19107 * 19108 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19109 * Copyright 2016 Joyent, Inc. 19110 */ 19111 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2 19112 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 19113 /* 19114 * The fields in struct extmnttab should match those in struct mnttab until new 19115 * fields are encountered. This allows hasmntopt(), getmntent_common() and 19116 * mntioctl() to cast one type to the other safely. 19117 * 19118 * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all 19119 * match those in the corresponding 32-bit versions defined in mntvnops.c. 19120 */ 19121 struct mnttab { 19122 char *mnt_special; 19123 char *mnt_mountp; 19124 char *mnt_fstype; 19125 char *mnt_mntopts; 19126 char *mnt_time; 19127 }; 19128 19129 struct extmnttab { 19130 char *mnt_special; 19131 char *mnt_mountp; 19132 char *mnt_fstype; 19133 char *mnt_mntopts; 19134 char *mnt_time; 19135 uint_t mnt_major; 19136 uint_t mnt_minor; 19137 }; 19138 19139 struct mntentbuf { 19140 struct extmnttab *mbuf_emp; 19141 size_t mbuf_bufsize; 19142 char *mbuf_buf; 19143 }; 19144 19145 19146 extern void resetmnttab(FILE *); 19147 extern int getmntent(FILE *, struct mnttab *); 19148 extern int getextmntent(FILE *, struct extmnttab *, size_t); 19149 extern int getmntany(FILE *, struct mnttab *, struct mnttab *); 19150 extern char *hasmntopt(struct mnttab *, char *); 19151 extern char *mntopt(char **); 19152 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19153 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.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 (c) 2013 Gary Mills 19177 * 19178 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 19179 * Use is subject to license terms. 19180 */ 19181 19182 /* Copyright (c) 1988 AT&T */ 19183 /* All Rights Reserved */ 19184 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.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 /* 19208 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19209 * 19210 * Copyright 1997 Sun Microsystems, Inc. All rights reserved. 19211 * Use is subject to license terms. 19212 */ 19213 19214 /* Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T */ 19215 /* All Rights Reserved */ 19216 19217 /* 19218 * Portions of this source code were derived from Berkeley 4.3 BSD 19219 * under license from the Regents of the University of California. 19220 */ 19221 19222 19223 19224 19225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 19226 /* 19227 * CDDL HEADER START 19228 * 19229 * The contents of this file are subject to the terms of the 19230 * Common Development and Distribution License (the "License"). 19231 * You may not use this file except in compliance with the License. 19232 * 19233 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19234 * or http://www.opensolaris.org/os/licensing. 19235 * See the License for the specific language governing permissions 19236 * and limitations under the License. 19237 * 19238 * When distributing Covered Code, include this CDDL HEADER in each 19239 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19240 * If applicable, add the following below this CDDL HEADER, with the 19241 * fields enclosed by brackets "[]" replaced with your own identifying 19242 * information: Portions Copyright [yyyy] [name of copyright owner] 19243 * 19244 * CDDL HEADER END 19245 */ 19246 19247 /* 19248 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 19249 * Copyright 2016 Joyent, Inc. 19250 * 19251 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19252 * Use is subject to license terms. 19253 */ 19254 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19255 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19256 /* 19257 * CDDL HEADER START 19258 * 19259 * The contents of this file are subject to the terms of the 19260 * Common Development and Distribution License (the "License"). 19261 * You may not use this file except in compliance with the License. 19262 * 19263 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19264 * or http://www.opensolaris.org/os/licensing. 19265 * See the License for the specific language governing permissions 19266 * and limitations under the License. 19267 * 19268 * When distributing Covered Code, include this CDDL HEADER in each 19269 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19270 * If applicable, add the following below this CDDL HEADER, with the 19271 * fields enclosed by brackets "[]" replaced with your own identifying 19272 * information: Portions Copyright [yyyy] [name of copyright owner] 19273 * 19274 * CDDL HEADER END 19275 */ 19276 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19277 /* All Rights Reserved */ 19278 19279 19280 /* 19281 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19282 * Use is subject to license terms. 19283 * 19284 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19285 * Copyright 2016 Joyent, Inc. 19286 */ 19287 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19288 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 19289 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19290 /* All Rights Reserved */ 19291 19292 19293 /* 19294 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 19295 * All rights reserved. The Berkeley software License Agreement 19296 * specifies the terms and conditions for redistribution. 19297 */ 19298 19299 /* 19300 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19301 * 19302 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19303 * Use is subject to license terms. 19304 * 19305 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19306 */ 19307 19308 /* 19309 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 19310 */ 19311 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19312 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1 19313 /* 19314 * CDDL HEADER START 19315 * 19316 * The contents of this file are subject to the terms of the 19317 * Common Development and Distribution License, Version 1.0 only 19318 * (the "License"). You may not use this file except in compliance 19319 * with the License. 19320 * 19321 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19322 * or http://www.opensolaris.org/os/licensing. 19323 * See the License for the specific language governing permissions 19324 * and limitations under the License. 19325 * 19326 * When distributing Covered Code, include this CDDL HEADER in each 19327 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19328 * If applicable, add the following below this CDDL HEADER, with the 19329 * fields enclosed by brackets "[]" replaced with your own identifying 19330 * information: Portions Copyright [yyyy] [name of copyright owner] 19331 * 19332 * CDDL HEADER END 19333 */ 19334 /* Copyright (c) 1988 AT&T */ 19335 /* All Rights Reserved */ 19336 19337 19338 /* 19339 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19340 * 19341 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19342 * Use is subject to license terms. 19343 */ 19344 19345 19346 19347 19348 19349 /* 19350 * Note: The getutent(3c) family of interfaces are obsolete. 19351 * The getutxent(3c) family provide a superset of this functionality 19352 * and should be used in place of getutent(3c). 19353 */ 19354 19355 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19356 /* 19357 * CDDL HEADER START 19358 * 19359 * The contents of this file are subject to the terms of the 19360 * Common Development and Distribution License (the "License"). 19361 * You may not use this file except in compliance with the License. 19362 * 19363 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19364 * or http://www.opensolaris.org/os/licensing. 19365 * See the License for the specific language governing permissions 19366 * and limitations under the License. 19367 * 19368 * When distributing Covered Code, include this CDDL HEADER in each 19369 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19370 * If applicable, add the following below this CDDL HEADER, with the 19371 * fields enclosed by brackets "[]" replaced with your own identifying 19372 * information: Portions Copyright [yyyy] [name of copyright owner] 19373 * 19374 * CDDL HEADER END 19375 */ 19376 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19377 /* All Rights Reserved */ 19378 19379 19380 /* 19381 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19382 * Use is subject to license terms. 19383 * 19384 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19385 * Copyright 2016 Joyent, Inc. 19386 */ 19387 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 19388 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 19389 struct exit_status { 19390 short e_termination; /* Process termination status */ 19391 short e_exit; /* Process exit status */ 19392 }; 19393 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 19394 /* 19395 * This data structure describes the utmp entries returned by 19396 * the getutent(3c) family of APIs. It does not (necessarily) 19397 * correspond to the contents of the utmp or wtmp files. 19398 * 19399 * Applications should only interact with this subsystem via 19400 * the getutxent(3c) family of APIs, as the getutent(3c) family 19401 * are obsolete. 19402 */ 19403 struct utmp { 19404 char ut_user[8]; /* User login name */ 19405 char ut_id[4]; /* /etc/inittab id(usually line #) */ 19406 char ut_line[12]; /* device name (console, lnxx) */ 19407 short ut_pid; /* short for compat. - process id */ 19408 short ut_type; /* type of entry */ 19409 struct exit_status ut_exit; /* The exit status of a process */ 19410 /* marked as DEAD_PROCESS. */ 19411 time_t ut_time; /* time entry was made */ 19412 }; 19413 19414 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 19415 /* 19416 * CDDL HEADER START 19417 * 19418 * The contents of this file are subject to the terms of the 19419 * Common Development and Distribution License (the "License"). 19420 * You may not use this file except in compliance with the License. 19421 * 19422 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19423 * or http://www.opensolaris.org/os/licensing. 19424 * See the License for the specific language governing permissions 19425 * and limitations under the License. 19426 * 19427 * When distributing Covered Code, include this CDDL HEADER in each 19428 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19429 * If applicable, add the following below this CDDL HEADER, with the 19430 * fields enclosed by brackets "[]" replaced with your own identifying 19431 * information: Portions Copyright [yyyy] [name of copyright owner] 19432 * 19433 * CDDL HEADER END 19434 */ 19435 /* 19436 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 19437 * Use is subject to license terms. 19438 * Copyright 2015 Nexenta Systems, Inc. 19439 */ 19440 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 19441 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 19442 /* 19443 * CDDL HEADER START 19444 * 19445 * The contents of this file are subject to the terms of the 19446 * Common Development and Distribution License, Version 1.0 only 19447 * (the "License"). You may not use this file except in compliance 19448 * with the License. 19449 * 19450 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19451 * or http://www.opensolaris.org/os/licensing. 19452 * See the License for the specific language governing permissions 19453 * and limitations under the License. 19454 * 19455 * When distributing Covered Code, include this CDDL HEADER in each 19456 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19457 * If applicable, add the following below this CDDL HEADER, with the 19458 * fields enclosed by brackets "[]" replaced with your own identifying 19459 * information: Portions Copyright [yyyy] [name of copyright owner] 19460 * 19461 * CDDL HEADER END 19462 */ 19463 /* 19464 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19465 * 19466 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 19467 * Use is subject to license terms. 19468 */ 19469 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 19470 19471 /* 19472 * This data structure describes the utmp *file* contents using 19473 * fixed-width data types. It should only be used by the implementation. 19474 * 19475 * Applications should use the getutxent(3c) family of routines to interact 19476 * with this database. 19477 */ 19478 19479 struct futmp { 19480 char ut_user[8]; /* User login name */ 19481 char ut_id[4]; /* /etc/inittab id */ 19482 char ut_line[12]; /* device name (console, lnxx) */ 19483 int16_t ut_pid; /* process id */ 19484 int16_t ut_type; /* type of entry */ 19485 struct { 19486 int16_t e_termination; /* Process termination status */ 19487 int16_t e_exit; /* Process exit status */ 19488 } ut_exit; /* The exit status of a process */ 19489 time32_t ut_time; /* time entry was made */ 19490 }; 19491 19492 19493 19494 /* Definitions for ut_type */ 19495 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 19496 /* Special strings or formats used in the "ut_line" field when */ 19497 /* accounting for something other than a process. */ 19498 /* No string for the ut_line field can be more than 11 chars + */ 19499 /* a NULL in length. */ 19500 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 19501 /* Define and macro for determing if a normal user wrote the entry */ 19502 /* and marking the utmpx entry as a normal user */ 19503 19504 19505 19506 19507 19508 extern void endutent(void); 19509 extern struct utmp *getutent(void); 19510 extern struct utmp *getutid(const struct utmp *); 19511 extern struct utmp *getutline(const struct utmp *); 19512 extern struct utmp *pututline(const struct utmp *); 19513 extern void setutent(void); 19514 extern int utmpname(const char *); 19515 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19516 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 19517 /* 19518 * This data structure describes the utmpx entries returned by 19519 * the getutxent(3c) family of APIs. It does not (necessarily) 19520 * correspond to the contents of the utmpx or wtmpx files. 19521 * 19522 * Applications should only interact with this subsystem via 19523 * the getutxent(3c) family of APIs. 19524 */ 19525 struct utmpx { 19526 char ut_user[32]; /* user login name */ 19527 char ut_id[4]; /* inittab id */ 19528 char ut_line[32]; /* device name (console, lnxx) */ 19529 pid_t ut_pid; /* process id */ 19530 short ut_type; /* type of entry */ 19531 19532 struct exit_status ut_exit; /* process termination/exit status */ 19533 19534 19535 19536 struct timeval ut_tv; /* time entry was made */ 19537 int ut_session; /* session ID, used for windowing */ 19538 19539 int pad[5]; /* reserved for future use */ 19540 19541 19542 19543 short ut_syslen; /* significant length of ut_host */ 19544 /* including terminating null */ 19545 char ut_host[257]; /* remote host name */ 19546 }; 19547 19548 19549 19550 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 19551 /* 19552 * CDDL HEADER START 19553 * 19554 * The contents of this file are subject to the terms of the 19555 * Common Development and Distribution License (the "License"). 19556 * You may not use this file except in compliance with the License. 19557 * 19558 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19559 * or http://www.opensolaris.org/os/licensing. 19560 * See the License for the specific language governing permissions 19561 * and limitations under the License. 19562 * 19563 * When distributing Covered Code, include this CDDL HEADER in each 19564 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19565 * If applicable, add the following below this CDDL HEADER, with the 19566 * fields enclosed by brackets "[]" replaced with your own identifying 19567 * information: Portions Copyright [yyyy] [name of copyright owner] 19568 * 19569 * CDDL HEADER END 19570 */ 19571 /* 19572 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 19573 * Use is subject to license terms. 19574 * Copyright 2015 Nexenta Systems, Inc. 19575 */ 19576 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19577 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 19578 /* 19579 * CDDL HEADER START 19580 * 19581 * The contents of this file are subject to the terms of the 19582 * Common Development and Distribution License, Version 1.0 only 19583 * (the "License"). You may not use this file except in compliance 19584 * with the License. 19585 * 19586 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19587 * or http://www.opensolaris.org/os/licensing. 19588 * See the License for the specific language governing permissions 19589 * and limitations under the License. 19590 * 19591 * When distributing Covered Code, include this CDDL HEADER in each 19592 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19593 * If applicable, add the following below this CDDL HEADER, with the 19594 * fields enclosed by brackets "[]" replaced with your own identifying 19595 * information: Portions Copyright [yyyy] [name of copyright owner] 19596 * 19597 * CDDL HEADER END 19598 */ 19599 /* 19600 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19601 * 19602 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 19603 * Use is subject to license terms. 19604 */ 19605 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19606 19607 /* 19608 * This data structure describes the utmp *file* contents using 19609 * fixed-width data types. It should only be used by the implementation. 19610 * 19611 * Applications should use the getutxent(3c) family of routines to interact 19612 * with this database. 19613 */ 19614 19615 struct futmpx { 19616 char ut_user[32]; /* user login name */ 19617 char ut_id[4]; /* inittab id */ 19618 char ut_line[32]; /* device name (console, lnxx) */ 19619 pid32_t ut_pid; /* process id */ 19620 int16_t ut_type; /* type of entry */ 19621 struct { 19622 int16_t e_termination; /* process termination status */ 19623 int16_t e_exit; /* process exit status */ 19624 } ut_exit; /* exit status of a process */ 19625 struct timeval32 ut_tv; /* time entry was made */ 19626 int32_t ut_session; /* session ID, user for windowing */ 19627 int32_t pad[5]; /* reserved for future use */ 19628 int16_t ut_syslen; /* significant length of ut_host */ 19629 char ut_host[257]; /* remote host name */ 19630 }; 19631 19632 19633 19634 /* Define and macro for determing if a normal user wrote the entry */ 19635 /* and marking the utmpx entry as a normal user */ 19636 19637 19638 19639 19640 19641 19642 extern void endutxent(void); 19643 extern struct utmpx *getutxent(void); 19644 extern struct utmpx *getutxid(const struct utmpx *); 19645 extern struct utmpx *getutxline(const struct utmpx *); 19646 extern struct utmpx *pututxline(const struct utmpx *); 19647 extern void setutxent(void); 19648 19649 19650 extern int utmpxname(const char *); 19651 extern struct utmpx *makeutx(const struct utmpx *); 19652 extern struct utmpx *modutx(const struct utmpx *); 19653 extern void getutmp(const struct utmpx *, struct utmp *); 19654 extern void getutmpx(const struct utmp *, struct utmpx *); 19655 extern void updwtmp(const char *, struct utmp *); 19656 extern void updwtmpx(const char *, struct utmpx *); 19657 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19658 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19659 /* 19660 * Warning: these are shared with the admin/install consolidation. 19661 * Do not insert states between any of the currently defined states, 19662 * and any new states must be evaluated for impact on range comparisons. 19663 */ 19664 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19665 /* Owner, group, and mode (defined by packaging) for the config directory */ 19666 19667 19668 19669 19670 /* Owner, group, and mode (defined by packaging) for the index file */ 19671 19672 19673 19674 19675 /* The maximum length of the VERSION string in the pkginfo(4) file. */ 19676 19677 19678 /* 19679 * Shortened alias names for the zones rctls. 19680 */ 19681 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19682 /* Default name for zone detached manifest */ 19683 19684 19685 /* 19686 * Bit flag definitions for passing into libzonecfg functions. 19687 */ 19688 19689 19690 /* 19691 * The integer field expresses the current values on a get. 19692 * On a put, it represents the new values if >= 0 or "don't change" if < 0. 19693 */ 19694 struct zoneent { 19695 char zone_name[64]; /* name of the zone */ 19696 int zone_state; /* configured | incomplete | installed */ 19697 char zone_path[1024]; /* path to zone storage */ 19698 uuid_t zone_uuid; /* unique ID for zone */ 19699 char zone_newname[64]; /* for doing renames */ 19700 }; 19701 19702 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */ 19703 19704 typedef uint_t zone_state_t; 19705 19706 typedef struct zone_fsopt { 19707 struct zone_fsopt *zone_fsopt_next; 19708 char zone_fsopt_opt[1024]; 19709 } zone_fsopt_t; 19710 19711 struct zone_fstab { 19712 char zone_fs_special[1024]; /* special file */ 19713 char zone_fs_dir[1024]; /* mount point */ 19714 char zone_fs_type[16]; /* e.g. ufs */ 19715 zone_fsopt_t *zone_fs_options; /* mount options */ 19716 char zone_fs_raw[1024]; /* device to fsck */ 19717 }; 19718 19719 struct zone_nwiftab { 19720 char zone_nwif_address[46]; /* shared-ip only */ 19721 char zone_nwif_allowed_address[46]; /* excl-ip only */ 19722 char zone_nwif_physical[32]; 19723 char zone_nwif_defrouter[46]; 19724 }; 19725 19726 struct zone_devtab { 19727 char zone_dev_match[1024]; 19728 }; 19729 19730 struct zone_rctlvaltab { 19731 char zone_rctlval_priv[256]; 19732 char zone_rctlval_limit[256]; 19733 char zone_rctlval_action[256]; 19734 struct zone_rctlvaltab *zone_rctlval_next; 19735 }; 19736 19737 struct zone_rctltab { 19738 char zone_rctl_name[256]; 19739 struct zone_rctlvaltab *zone_rctl_valptr; 19740 }; 19741 19742 struct zone_attrtab { 19743 char zone_attr_name[256]; 19744 char zone_attr_type[256]; 19745 char zone_attr_value[2 * 1024]; 19746 }; 19747 19748 struct zone_dstab { 19749 char zone_dataset_name[256]; 19750 }; 19751 19752 struct zone_psettab { 19753 char zone_ncpu_min[256]; 19754 char zone_ncpu_max[256]; 19755 char zone_importance[256]; 19756 }; 19757 19758 struct zone_mcaptab { 19759 char zone_physmem_cap[256]; 19760 }; 19761 19762 struct zone_pkgtab { 19763 char zone_pkg_name[256]; 19764 char zone_pkg_version[256]; 19765 }; 19766 19767 struct zone_devpermtab { 19768 char zone_devperm_name[1024]; 19769 uid_t zone_devperm_uid; 19770 gid_t zone_devperm_gid; 19771 mode_t zone_devperm_mode; 19772 char *zone_devperm_acl; 19773 }; 19774 19775 struct zone_admintab { 19776 char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))]; 19777 char zone_admin_auths[4096]; 19778 }; 19779 19780 typedef struct zone_userauths { 19781 char user[(sizeof (((struct utmpx *)0)->ut_user))]; 19782 char zonename[64]; 19783 struct zone_userauths *next; 19784 } zone_userauths_t; 19785 19786 typedef struct { 19787 uu_avl_node_t zpe_entry; 19788 char *zpe_name; 19789 char *zpe_vers; 19790 } zone_pkg_entry_t; 19791 19792 typedef enum zone_iptype { 19793 ZS_SHARED, 19794 ZS_EXCLUSIVE 19795 } zone_iptype_t; 19796 19797 /* 19798 * Basic configuration management routines. 19799 */ 19800 extern zone_dochandle_t zonecfg_init_handle(void); 19801 extern int zonecfg_get_handle(const char *, zone_dochandle_t); 19802 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t); 19803 extern int zonecfg_get_template_handle(const char *, const char *, 19804 zone_dochandle_t); 19805 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t); 19806 extern int zonecfg_check_handle(zone_dochandle_t); 19807 extern void zonecfg_fini_handle(zone_dochandle_t); 19808 extern int zonecfg_destroy(const char *, boolean_t); 19809 extern int zonecfg_destroy_snapshot(const char *); 19810 extern int zonecfg_save(zone_dochandle_t); 19811 extern int zonecfg_create_snapshot(const char *); 19812 extern char *zonecfg_strerror(int); 19813 extern int zonecfg_access(const char *, int); 19814 extern void zonecfg_set_root(const char *); 19815 extern const char *zonecfg_get_root(void); 19816 extern boolean_t zonecfg_in_alt_root(void); 19817 extern int zonecfg_num_resources(zone_dochandle_t, char *); 19818 extern int zonecfg_del_all_resources(zone_dochandle_t, char *); 19819 extern boolean_t zonecfg_valid_ncpus(char *, char *); 19820 extern boolean_t zonecfg_valid_importance(char *); 19821 extern int zonecfg_str_to_bytes(char *, uint64_t *); 19822 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *); 19823 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *); 19824 19825 /* 19826 * Zone name, path to zone directory, autoboot setting, pool, boot 19827 * arguments, and scheduling-class. 19828 */ 19829 extern int zonecfg_validate_zonename(const char *); 19830 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t); 19831 extern int zonecfg_set_name(zone_dochandle_t, char *); 19832 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t); 19833 extern int zonecfg_set_zonepath(zone_dochandle_t, char *); 19834 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *); 19835 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t); 19836 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *); 19837 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t); 19838 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t); 19839 extern int zonecfg_set_pool(zone_dochandle_t, char *); 19840 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t); 19841 extern int zonecfg_set_bootargs(zone_dochandle_t, char *); 19842 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t); 19843 extern int zonecfg_set_sched(zone_dochandle_t, char *); 19844 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int); 19845 19846 /* 19847 * Set/retrieve the brand for the zone 19848 */ 19849 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t); 19850 extern int zonecfg_set_brand(zone_dochandle_t, char *); 19851 19852 /* 19853 * Filesystem configuration. 19854 */ 19855 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *); 19856 extern int zonecfg_delete_filesystem(zone_dochandle_t, 19857 struct zone_fstab *); 19858 extern int zonecfg_modify_filesystem(zone_dochandle_t, 19859 struct zone_fstab *, struct zone_fstab *); 19860 extern int zonecfg_lookup_filesystem(zone_dochandle_t, 19861 struct zone_fstab *); 19862 extern int zonecfg_add_fs_option(struct zone_fstab *, char *); 19863 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *); 19864 extern void zonecfg_free_fs_option_list(zone_fsopt_t *); 19865 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *, 19866 void *), void *); 19867 19868 /* 19869 * Network interface configuration. 19870 */ 19871 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *); 19872 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *); 19873 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *, 19874 struct zone_nwiftab *); 19875 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *); 19876 19877 /* 19878 * Hostid emulation configuration. 19879 */ 19880 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t); 19881 extern int zonecfg_set_hostid(zone_dochandle_t, const char *); 19882 19883 /* 19884 * Allowed FS mounts configuration. 19885 */ 19886 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t); 19887 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *); 19888 19889 /* 19890 * Device configuration and rule matching. 19891 */ 19892 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *); 19893 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *); 19894 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *, 19895 struct zone_devtab *); 19896 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *); 19897 19898 /* 19899 * Resource control configuration. 19900 */ 19901 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *); 19902 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *); 19903 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *, 19904 struct zone_rctltab *); 19905 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *); 19906 extern int zonecfg_add_rctl_value(struct zone_rctltab *, 19907 struct zone_rctlvaltab *); 19908 extern int zonecfg_remove_rctl_value(struct zone_rctltab *, 19909 struct zone_rctlvaltab *); 19910 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *); 19911 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *); 19912 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t); 19913 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *); 19914 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *); 19915 extern int zonecfg_apply_rctls(char *, zone_dochandle_t); 19916 19917 /* 19918 * Generic attribute configuration and type/value extraction. 19919 */ 19920 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *); 19921 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *); 19922 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *, 19923 struct zone_attrtab *); 19924 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *); 19925 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *, 19926 boolean_t *); 19927 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *); 19928 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *, 19929 size_t); 19930 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *); 19931 19932 /* 19933 * ZFS configuration. 19934 */ 19935 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *); 19936 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *); 19937 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *, 19938 struct zone_dstab *); 19939 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *); 19940 19941 /* 19942 * cpu-set configuration. 19943 */ 19944 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *); 19945 extern int zonecfg_delete_pset(zone_dochandle_t); 19946 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *); 19947 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *); 19948 19949 /* 19950 * mem-cap configuration. 19951 */ 19952 extern int zonecfg_delete_mcap(zone_dochandle_t); 19953 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *); 19954 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *); 19955 19956 /* 19957 * Temporary pool support functions. 19958 */ 19959 extern int zonecfg_destroy_tmp_pool(char *, char *, int); 19960 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int); 19961 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int); 19962 extern boolean_t zonecfg_warn_poold(zone_dochandle_t); 19963 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t); 19964 19965 /* 19966 * Miscellaneous utility functions. 19967 */ 19968 extern int zonecfg_enable_rcapd(char *, int); 19969 19970 /* 19971 * attach/detach support. 19972 */ 19973 extern int zonecfg_get_attach_handle(const char *, const char *, 19974 const char *, boolean_t, zone_dochandle_t); 19975 extern int zonecfg_attach_manifest(int, zone_dochandle_t, 19976 zone_dochandle_t); 19977 extern int zonecfg_detach_save(zone_dochandle_t, uint_t); 19978 extern boolean_t zonecfg_detached(const char *); 19979 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced); 19980 extern int zonecfg_dev_manifest(zone_dochandle_t); 19981 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *, 19982 uid_t, gid_t, mode_t, const char *); 19983 extern void zonecfg_set_swinv(zone_dochandle_t); 19984 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *); 19985 19986 /* 19987 * External zone verification support. 19988 */ 19989 extern int zonecfg_verify_save(zone_dochandle_t, char *); 19990 19991 /* 19992 * '*ent' iterator routines. 19993 */ 19994 extern int zonecfg_setfsent(zone_dochandle_t); 19995 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *); 19996 extern int zonecfg_endfsent(zone_dochandle_t); 19997 extern int zonecfg_setnwifent(zone_dochandle_t); 19998 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *); 19999 extern int zonecfg_endnwifent(zone_dochandle_t); 20000 extern int zonecfg_setdevent(zone_dochandle_t); 20001 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *); 20002 extern int zonecfg_enddevent(zone_dochandle_t); 20003 extern int zonecfg_setattrent(zone_dochandle_t); 20004 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *); 20005 extern int zonecfg_endattrent(zone_dochandle_t); 20006 extern int zonecfg_setrctlent(zone_dochandle_t); 20007 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *); 20008 extern int zonecfg_endrctlent(zone_dochandle_t); 20009 extern int zonecfg_setdsent(zone_dochandle_t); 20010 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *); 20011 extern int zonecfg_enddsent(zone_dochandle_t); 20012 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *); 20013 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *); 20014 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *, 20015 uu_avl_t *); 20016 extern int zonecfg_setdevperment(zone_dochandle_t); 20017 extern int zonecfg_getdevperment(zone_dochandle_t, 20018 struct zone_devpermtab *); 20019 extern int zonecfg_enddevperment(zone_dochandle_t); 20020 extern int zonecfg_setadminent(zone_dochandle_t); 20021 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *); 20022 extern int zonecfg_endadminent(zone_dochandle_t); 20023 20024 /* 20025 * Privilege-related functions. 20026 */ 20027 extern int zonecfg_default_privset(priv_set_t *, const char *); 20028 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *, 20029 char **); 20030 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **); 20031 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *); 20032 20033 /* 20034 * Higher-level routines. 20035 */ 20036 extern int zone_get_brand(char *, char *, size_t); 20037 extern int zone_get_rootpath(char *, char *, size_t); 20038 extern int zone_get_devroot(char *, char *, size_t); 20039 extern int zone_get_zonepath(char *, char *, size_t); 20040 extern int zone_get_state(char *, zone_state_t *); 20041 extern int zone_set_state(char *, zone_state_t); 20042 extern char *zone_state_str(zone_state_t); 20043 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t); 20044 extern int zonecfg_get_uuid(const char *, uuid_t); 20045 extern int zonecfg_default_brand(char *, size_t); 20046 20047 /* 20048 * Iterator for configured zones. 20049 */ 20050 extern FILE *setzoneent(void); 20051 extern char *getzoneent(FILE *); 20052 extern struct zoneent *getzoneent_private(FILE *); 20053 extern void endzoneent(FILE *); 20054 20055 /* 20056 * File-system-related convenience functions. 20057 */ 20058 extern boolean_t zonecfg_valid_fs_type(const char *); 20059 20060 /* 20061 * Network-related convenience functions. 20062 */ 20063 extern boolean_t zonecfg_same_net_address(char *, char *); 20064 extern int zonecfg_valid_net_address(char *, struct lifreq *); 20065 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *); 20066 20067 /* 20068 * Rctl-related common functions. 20069 */ 20070 extern boolean_t zonecfg_is_rctl(const char *); 20071 extern boolean_t zonecfg_valid_rctlname(const char *); 20072 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *); 20073 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *); 20074 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *, 20075 rctlblk_t *); 20076 20077 /* 20078 * Live Upgrade support functions. Shared between ON and install gate. 20079 */ 20080 extern FILE *zonecfg_open_scratch(const char *, boolean_t); 20081 extern int zonecfg_lock_scratch(FILE *); 20082 extern void zonecfg_close_scratch(FILE *); 20083 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *, 20084 size_t); 20085 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *, 20086 size_t); 20087 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t, 20088 char *, size_t); 20089 extern int zonecfg_add_scratch(FILE *, const char *, const char *, 20090 const char *); 20091 extern int zonecfg_delete_scratch(FILE *, const char *); 20092 extern boolean_t zonecfg_is_scratch(const char *); 20093 20094 /* 20095 * zoneadmd support functions. Shared between zoneadm and brand hook code. 20096 */ 20097 extern void zonecfg_init_lock_file(const char *, char **); 20098 extern void zonecfg_release_lock_file(const char *, int); 20099 extern int zonecfg_grab_lock_file(const char *, int *); 20100 extern boolean_t zonecfg_lock_file_held(int *); 20101 extern int zonecfg_ping_zoneadmd(const char *); 20102 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *, 20103 boolean_t); 20104 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *); 20105 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *, 20106 boolean_t); 20107 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *, 20108 char *); 20109 extern int zonecfg_delete_admin(zone_dochandle_t, 20110 struct zone_admintab *, char *); 20111 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *, 20112 struct zone_admintab *, char *); 20113 extern int zonecfg_delete_admins(zone_dochandle_t, char *); 20114 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *); 20115 extern int zonecfg_authorize_users(zone_dochandle_t, char *); 20116 extern int zonecfg_update_userauths(zone_dochandle_t, char *); 20117 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *); 20118 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *); 20119 extern boolean_t zonecfg_valid_auths(const char *, const char *); 20120 # 47 "../common/instzones_lib.h" 2 20121 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1 20122 /* 20123 * CDDL HEADER START 20124 * 20125 * The contents of this file are subject to the terms of the 20126 * Common Development and Distribution License (the "License"). 20127 * You may not use this file except in compliance with the License. 20128 * 20129 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20130 * or http://www.opensolaris.org/os/licensing. 20131 * See the License for the specific language governing permissions 20132 * and limitations under the License. 20133 * 20134 * When distributing Covered Code, include this CDDL HEADER in each 20135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20136 * If applicable, add the following below this CDDL HEADER, with the 20137 * fields enclosed by brackets "[]" replaced with your own identifying 20138 * information: Portions Copyright [yyyy] [name of copyright owner] 20139 * 20140 * CDDL HEADER END 20141 */ 20142 /* 20143 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 20144 * Use is subject to license terms. 20145 */ 20146 20147 20148 20149 20150 #pragma ident "%Z%%M% %I% %E% SMI" 20151 20152 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20153 /* 20154 * CDDL HEADER START 20155 * 20156 * The contents of this file are subject to the terms of the 20157 * Common Development and Distribution License (the "License"). 20158 * You may not use this file except in compliance with the License. 20159 * 20160 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20161 * or http://www.opensolaris.org/os/licensing. 20162 * See the License for the specific language governing permissions 20163 * and limitations under the License. 20164 * 20165 * When distributing Covered Code, include this CDDL HEADER in each 20166 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20167 * If applicable, add the following below this CDDL HEADER, with the 20168 * fields enclosed by brackets "[]" replaced with your own identifying 20169 * information: Portions Copyright [yyyy] [name of copyright owner] 20170 * 20171 * CDDL HEADER END 20172 */ 20173 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20174 /* All Rights Reserved */ 20175 20176 20177 /* 20178 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20179 * Use is subject to license terms. 20180 * 20181 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20182 * Copyright 2016 Joyent, Inc. 20183 */ 20184 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 20185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1 20186 /* 20187 * CDDL HEADER START 20188 * 20189 * The contents of this file are subject to the terms of the 20190 * Common Development and Distribution License (the "License"). 20191 * You may not use this file except in compliance with the License. 20192 * 20193 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20194 * or http://www.opensolaris.org/os/licensing. 20195 * See the License for the specific language governing permissions 20196 * and limitations under the License. 20197 * 20198 * When distributing Covered Code, include this CDDL HEADER in each 20199 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20200 * If applicable, add the following below this CDDL HEADER, with the 20201 * fields enclosed by brackets "[]" replaced with your own identifying 20202 * information: Portions Copyright [yyyy] [name of copyright owner] 20203 * 20204 * CDDL HEADER END 20205 */ 20206 /* 20207 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 20208 * Use is subject to license terms. 20209 */ 20210 20211 20212 20213 20214 #pragma ident "%Z%%M% %I% %E% SMI" 20215 20216 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20217 /* 20218 * CDDL HEADER START 20219 * 20220 * The contents of this file are subject to the terms of the 20221 * Common Development and Distribution License (the "License"). 20222 * You may not use this file except in compliance with the License. 20223 * 20224 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20225 * or http://www.opensolaris.org/os/licensing. 20226 * See the License for the specific language governing permissions 20227 * and limitations under the License. 20228 * 20229 * When distributing Covered Code, include this CDDL HEADER in each 20230 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20231 * If applicable, add the following below this CDDL HEADER, with the 20232 * fields enclosed by brackets "[]" replaced with your own identifying 20233 * information: Portions Copyright [yyyy] [name of copyright owner] 20234 * 20235 * CDDL HEADER END 20236 */ 20237 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20238 /* All Rights Reserved */ 20239 20240 20241 /* 20242 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20243 * Use is subject to license terms. 20244 * 20245 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20246 * Copyright 2016 Joyent, Inc. 20247 */ 20248 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2 20249 20250 20251 20252 20253 20254 typedef uint64_t ctevid_t; 20255 20256 /* 20257 * Contract parameter maximum size, in bytes 20258 */ 20259 20260 20261 /* 20262 * Common event types 20263 */ 20264 20265 20266 /* 20267 * Level of status detail requested 20268 */ 20269 20270 20271 20272 20273 /* 20274 * Values for ctev_flags. 20275 */ 20276 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 20277 typedef enum ctstate { 20278 CTS_OWNED, /* contract is owned by a process */ 20279 CTS_INHERITED, /* contract has been inherited by its parent */ 20280 CTS_ORPHAN, /* contract has no parent */ 20281 CTS_DEAD /* contract has been destroyed */ 20282 } ctstate_t; 20283 20284 typedef enum ct_typeid { 20285 CTT_PROCESS, /* process contract */ 20286 CTT_DEVICE, /* device contract */ 20287 CTT_MAXTYPE 20288 } ct_typeid_t; 20289 20290 typedef struct ct_event { 20291 ctid_t ctev_id; 20292 uint32_t ctev_pad1; 20293 ctevid_t ctev_evid; 20294 ct_typeid_t ctev_cttype; 20295 uint32_t ctev_flags; 20296 uint32_t ctev_type; 20297 uint32_t ctev_nbytes; 20298 uint32_t ctev_goffset; 20299 uint32_t ctev_pad2; 20300 char *ctev_buffer; 20301 } ct_event_t; 20302 20303 typedef struct ct_status { 20304 ctid_t ctst_id; 20305 zoneid_t ctst_zoneid; 20306 ct_typeid_t ctst_type; 20307 pid_t ctst_holder; 20308 ctstate_t ctst_state; 20309 int ctst_nevents; 20310 int ctst_ntime; 20311 int ctst_qtime; 20312 uint64_t ctst_nevid; 20313 uint_t ctst_detail; 20314 size_t ctst_nbytes; 20315 uint_t ctst_critical; 20316 uint_t ctst_informative; 20317 uint64_t ctst_cookie; 20318 char *ctst_buffer; 20319 } ct_status_t; 20320 20321 typedef struct ct_param { 20322 uint32_t ctpm_id; 20323 uint32_t ctpm_size; 20324 void *ctpm_value; 20325 } ct_param_t; 20326 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 20327 20328 20329 20330 20331 20332 typedef void *ct_stathdl_t; 20333 typedef void *ct_evthdl_t; 20334 20335 /* 20336 * Common routines 20337 */ 20338 extern int ct_tmpl_activate(int); 20339 extern int ct_tmpl_clear(int); 20340 extern int ct_tmpl_create(int, ctid_t *); 20341 extern int ct_tmpl_set_cookie(int, uint64_t); 20342 extern int ct_tmpl_get_cookie(int, uint64_t *); 20343 extern int ct_tmpl_set_critical(int, uint_t); 20344 extern int ct_tmpl_get_critical(int, uint_t *); 20345 extern int ct_tmpl_set_informative(int, uint_t); 20346 extern int ct_tmpl_get_informative(int, uint_t *); 20347 20348 extern int ct_ctl_adopt(int); 20349 extern int ct_ctl_abandon(int); 20350 extern int ct_ctl_ack(int, ctevid_t); 20351 extern int ct_ctl_nack(int, ctevid_t); 20352 extern int ct_ctl_qack(int, ctevid_t); 20353 extern int ct_ctl_newct(int, ctevid_t, int); 20354 20355 extern int ct_status_read(int, int, ct_stathdl_t *); 20356 extern void ct_status_free(ct_stathdl_t); 20357 20358 extern ctid_t ct_status_get_id(ct_stathdl_t); 20359 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t); 20360 extern const char *ct_status_get_type(ct_stathdl_t); 20361 extern id_t ct_status_get_holder(ct_stathdl_t); 20362 extern ctstate_t ct_status_get_state(ct_stathdl_t); 20363 extern int ct_status_get_nevents(ct_stathdl_t); 20364 extern int ct_status_get_ntime(ct_stathdl_t); 20365 extern int ct_status_get_qtime(ct_stathdl_t); 20366 extern ctevid_t ct_status_get_nevid(ct_stathdl_t); 20367 extern uint_t ct_status_get_informative(ct_stathdl_t); 20368 extern uint_t ct_status_get_critical(ct_stathdl_t); 20369 extern uint64_t ct_status_get_cookie(ct_stathdl_t); 20370 20371 extern int ct_event_read(int, ct_evthdl_t *); 20372 extern int ct_event_read_critical(int, ct_evthdl_t *); 20373 extern int ct_event_reset(int); 20374 extern int ct_event_reliable(int); 20375 extern void ct_event_free(ct_evthdl_t); 20376 20377 extern uint_t ct_event_get_flags(ct_evthdl_t); 20378 extern ctid_t ct_event_get_ctid(ct_evthdl_t); 20379 extern ctevid_t ct_event_get_evid(ct_evthdl_t); 20380 extern uint_t ct_event_get_type(ct_evthdl_t); 20381 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *); 20382 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *); 20383 20384 /* 20385 * Process contract routines 20386 */ 20387 extern int ct_pr_tmpl_set_transfer(int, ctid_t); 20388 extern int ct_pr_tmpl_set_fatal(int, uint_t); 20389 extern int ct_pr_tmpl_set_param(int, uint_t); 20390 extern int ct_pr_tmpl_set_svc_fmri(int, const char *); 20391 extern int ct_pr_tmpl_set_svc_aux(int, const char *); 20392 20393 extern int ct_pr_tmpl_get_transfer(int, ctid_t *); 20394 extern int ct_pr_tmpl_get_fatal(int, uint_t *); 20395 extern int ct_pr_tmpl_get_param(int, uint_t *); 20396 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t); 20397 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t); 20398 20399 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *); 20400 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *); 20401 extern int ct_pr_event_get_signal(ct_evthdl_t, int *); 20402 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *); 20403 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *); 20404 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *); 20405 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **); 20406 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **); 20407 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **); 20408 20409 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *); 20410 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *); 20411 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *); 20412 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *); 20413 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **); 20414 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **); 20415 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *); 20416 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **); 20417 20418 /* 20419 * Device contract routines 20420 */ 20421 int ct_dev_tmpl_set_minor(int, char *); 20422 int ct_dev_tmpl_set_aset(int, uint_t); 20423 int ct_dev_tmpl_set_noneg(int); 20424 int ct_dev_tmpl_clear_noneg(int); 20425 int ct_dev_tmpl_get_minor(int, char *, size_t *); 20426 int ct_dev_tmpl_get_aset(int, uint_t *); 20427 int ct_dev_tmpl_get_noneg(int, uint_t *); 20428 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *); 20429 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *); 20430 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *); 20431 int ct_dev_status_get_minor(ct_stathdl_t, char **); 20432 # 48 "../common/instzones_lib.h" 2 20433 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1 20434 /* 20435 * CDDL HEADER START 20436 * 20437 * The contents of this file are subject to the terms of the 20438 * Common Development and Distribution License (the "License"). 20439 * You may not use this file except in compliance with the License. 20440 * 20441 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20442 * or http://www.opensolaris.org/os/licensing. 20443 * See the License for the specific language governing permissions 20444 * and limitations under the License. 20445 * 20446 * When distributing Covered Code, include this CDDL HEADER in each 20447 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20448 * If applicable, add the following below this CDDL HEADER, with the 20449 * fields enclosed by brackets "[]" replaced with your own identifying 20450 * information: Portions Copyright [yyyy] [name of copyright owner] 20451 * 20452 * CDDL HEADER END 20453 */ 20454 20455 /* 20456 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 20457 */ 20458 20459 20460 20461 20462 20463 /* 20464 * Module: instzones_api.h 20465 * Group: libinstzones 20466 * Description: This module contains the libinstzones API data structures, 20467 * constants, and function prototypes. 20468 */ 20469 20470 /* 20471 * required includes 20472 */ 20473 20474 /* System includes */ 20475 20476 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 20477 /* 20478 * CDDL HEADER START 20479 * 20480 * The contents of this file are subject to the terms of the 20481 * Common Development and Distribution License, Version 1.0 only 20482 * (the "License"). You may not use this file except in compliance 20483 * with the License. 20484 * 20485 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20486 * or http://www.opensolaris.org/os/licensing. 20487 * See the License for the specific language governing permissions 20488 * and limitations under the License. 20489 * 20490 * When distributing Covered Code, include this CDDL HEADER in each 20491 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20492 * If applicable, add the following below this CDDL HEADER, with the 20493 * fields enclosed by brackets "[]" replaced with your own identifying 20494 * information: Portions Copyright [yyyy] [name of copyright owner] 20495 * 20496 * CDDL HEADER END 20497 */ 20498 /* Copyright (c) 1988 AT&T */ 20499 /* All Rights Reserved */ 20500 20501 /* 20502 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20503 * 20504 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 20505 * Use is subject to license terms. 20506 */ 20507 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20508 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 20509 /* 20510 * CDDL HEADER START 20511 * 20512 * The contents of this file are subject to the terms of the 20513 * Common Development and Distribution License (the "License"). 20514 * You may not use this file except in compliance with the License. 20515 * 20516 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20517 * or http://www.opensolaris.org/os/licensing. 20518 * See the License for the specific language governing permissions 20519 * and limitations under the License. 20520 * 20521 * When distributing Covered Code, include this CDDL HEADER in each 20522 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20523 * If applicable, add the following below this CDDL HEADER, with the 20524 * fields enclosed by brackets "[]" replaced with your own identifying 20525 * information: Portions Copyright [yyyy] [name of copyright owner] 20526 * 20527 * CDDL HEADER END 20528 */ 20529 20530 /* 20531 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20532 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 20533 */ 20534 20535 /* Copyright (c) 1988 AT&T */ 20536 /* All Rights Reserved */ 20537 20538 /* 20539 * User-visible pieces of the ANSI C standard I/O package. 20540 */ 20541 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20542 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 20543 /* 20544 * CDDL HEADER START 20545 * 20546 * The contents of this file are subject to the terms of the 20547 * Common Development and Distribution License (the "License"). 20548 * You may not use this file except in compliance with the License. 20549 * 20550 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20551 * or http://www.opensolaris.org/os/licensing. 20552 * See the License for the specific language governing permissions 20553 * and limitations under the License. 20554 * 20555 * When distributing Covered Code, include this CDDL HEADER in each 20556 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20557 * If applicable, add the following below this CDDL HEADER, with the 20558 * fields enclosed by brackets "[]" replaced with your own identifying 20559 * information: Portions Copyright [yyyy] [name of copyright owner] 20560 * 20561 * CDDL HEADER END 20562 */ 20563 20564 /* 20565 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20566 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 20567 */ 20568 20569 /* Copyright (c) 1988 AT&T */ 20570 /* All Rights Reserved */ 20571 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1 20573 /* 20574 * CDDL HEADER START 20575 * 20576 * The contents of this file are subject to the terms of the 20577 * Common Development and Distribution License, Version 1.0 only 20578 * (the "License"). You may not use this file except in compliance 20579 * with the License. 20580 * 20581 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20582 * or http://www.opensolaris.org/os/licensing. 20583 * See the License for the specific language governing permissions 20584 * and limitations under the License. 20585 * 20586 * When distributing Covered Code, include this CDDL HEADER in each 20587 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20588 * If applicable, add the following below this CDDL HEADER, with the 20589 * fields enclosed by brackets "[]" replaced with your own identifying 20590 * information: Portions Copyright [yyyy] [name of copyright owner] 20591 * 20592 * CDDL HEADER END 20593 */ 20594 /* Copyright (c) 1988 AT&T */ 20595 /* All Rights Reserved */ 20596 20597 20598 20599 20600 20601 #pragma ident "%Z%%M% %I% %E% SMI" 20602 20603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1 20604 /* 20605 * CDDL HEADER START 20606 * 20607 * The contents of this file are subject to the terms of the 20608 * Common Development and Distribution License (the "License"). 20609 * You may not use this file except in compliance with the License. 20610 * 20611 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20612 * or http://www.opensolaris.org/os/licensing. 20613 * See the License for the specific language governing permissions 20614 * and limitations under the License. 20615 * 20616 * When distributing Covered Code, include this CDDL HEADER in each 20617 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20618 * If applicable, add the following below this CDDL HEADER, with the 20619 * fields enclosed by brackets "[]" replaced with your own identifying 20620 * information: Portions Copyright [yyyy] [name of copyright owner] 20621 * 20622 * CDDL HEADER END 20623 */ 20624 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20625 /* All Rights Reserved */ 20626 20627 20628 /* 20629 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20630 * 20631 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 20632 */ 20633 20634 20635 20636 20637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 20638 /* 20639 * CDDL HEADER START 20640 * 20641 * The contents of this file are subject to the terms of the 20642 * Common Development and Distribution License (the "License"). 20643 * You may not use this file except in compliance with the License. 20644 * 20645 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20646 * or http://www.opensolaris.org/os/licensing. 20647 * See the License for the specific language governing permissions 20648 * and limitations under the License. 20649 * 20650 * When distributing Covered Code, include this CDDL HEADER in each 20651 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20652 * If applicable, add the following below this CDDL HEADER, with the 20653 * fields enclosed by brackets "[]" replaced with your own identifying 20654 * information: Portions Copyright [yyyy] [name of copyright owner] 20655 * 20656 * CDDL HEADER END 20657 */ 20658 20659 /* 20660 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 20661 * Copyright 2016 Joyent, Inc. 20662 * 20663 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20664 * Use is subject to license terms. 20665 */ 20666 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20667 20668 20669 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1 20670 /* 20671 * CDDL HEADER START 20672 * 20673 * The contents of this file are subject to the terms of the 20674 * Common Development and Distribution License, Version 1.0 only 20675 * (the "License"). You may not use this file except in compliance 20676 * with the License. 20677 * 20678 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20679 * or http://www.opensolaris.org/os/licensing. 20680 * See the License for the specific language governing permissions 20681 * and limitations under the License. 20682 * 20683 * When distributing Covered Code, include this CDDL HEADER in each 20684 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20685 * If applicable, add the following below this CDDL HEADER, with the 20686 * fields enclosed by brackets "[]" replaced with your own identifying 20687 * information: Portions Copyright [yyyy] [name of copyright owner] 20688 * 20689 * CDDL HEADER END 20690 */ 20691 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20692 /* All Rights Reserved */ 20693 20694 20695 20696 20697 20698 #pragma ident "%Z%%M% %I% %E% SMI" 20699 20700 20701 20702 20703 20704 /* 20705 * Terminal definitions related to underlying hardware. 20706 */ 20707 20708 /* 20709 * Speeds 20710 */ 20711 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 20713 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20714 /* All Rights Reserved */ 20715 20716 20717 /* 20718 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 20719 * All rights reserved. The Berkeley software License Agreement 20720 * specifies the terms and conditions for redistribution. 20721 */ 20722 20723 /* 20724 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20725 * 20726 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20727 * Use is subject to license terms. 20728 * 20729 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20730 */ 20731 20732 /* 20733 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 20734 */ 20735 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20736 20737 20738 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20739 /* 20740 * CDDL HEADER START 20741 * 20742 * The contents of this file are subject to the terms of the 20743 * Common Development and Distribution License (the "License"). 20744 * You may not use this file except in compliance with the License. 20745 * 20746 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20747 * or http://www.opensolaris.org/os/licensing. 20748 * See the License for the specific language governing permissions 20749 * and limitations under the License. 20750 * 20751 * When distributing Covered Code, include this CDDL HEADER in each 20752 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20753 * If applicable, add the following below this CDDL HEADER, with the 20754 * fields enclosed by brackets "[]" replaced with your own identifying 20755 * information: Portions Copyright [yyyy] [name of copyright owner] 20756 * 20757 * CDDL HEADER END 20758 */ 20759 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20760 /* All Rights Reserved */ 20761 20762 20763 /* 20764 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20765 * Use is subject to license terms. 20766 * 20767 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20768 * Copyright 2016 Joyent, Inc. 20769 */ 20770 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20771 20772 20773 20774 20775 20776 /* 20777 * _POSIX_VDISABLE has been defined in <sys/termios.h> since the 20778 * introduction of the header. The POSIX standard, IEEE Std. 20779 * 1003.1-1988 also required the existence of _POSIX_VDISABLE in 20780 * this header. Subsequent versions of the IEEE Standard as well 20781 * as the X/Open specifications required that _POSIX_VDISABLE be 20782 * defined in <unistd.h> while still allowing for it's existence 20783 * here. With the introduction of XPG6, _POSIX_VDISABLE can only 20784 * be defined in <unistd.h>. 20785 */ 20786 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20787 /* required by termio.h and VCEOF/VCEOL */ 20788 20789 20790 20791 20792 20793 /* some defines required by POSIX */ 20794 20795 20796 /* 20797 * types defined by POSIX. These are better off in types.h, but 20798 * the standard says that they have to be in termios.h. 20799 */ 20800 typedef unsigned int tcflag_t; 20801 typedef unsigned char cc_t; 20802 typedef unsigned int speed_t; 20803 20804 /* 20805 * Ioctl control packet 20806 */ 20807 struct termios { 20808 tcflag_t c_iflag; /* input modes */ 20809 tcflag_t c_oflag; /* output modes */ 20810 tcflag_t c_cflag; /* control modes */ 20811 tcflag_t c_lflag; /* line discipline modes */ 20812 cc_t c_cc[19]; /* control chars */ 20813 }; 20814 20815 /* 20816 * POSIX termios functions 20817 * These functions get mapped into ioctls. 20818 */ 20819 20820 20821 20822 extern speed_t cfgetospeed(const struct termios *); 20823 extern int cfsetospeed(struct termios *, speed_t); 20824 extern speed_t cfgetispeed(const struct termios *); 20825 extern int cfsetispeed(struct termios *, speed_t); 20826 extern int tcgetattr(int, struct termios *); 20827 extern int tcsetattr(int, int, const struct termios *); 20828 extern int tcsendbreak(int, int); 20829 extern int tcdrain(int); 20830 extern int tcflush(int, int); 20831 extern int tcflow(int, int); 20832 20833 20834 20835 extern pid_t tcgetsid(int); 20836 20837 20838 20839 20840 20841 /* control characters */ 20842 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20843 /* 17 through 19 reserved for future use */ 20844 20845 /* 20846 * control characters form Xenix termio.h 20847 */ 20848 20849 20850 20851 20852 20853 20854 /* S5 default control chars */ 20855 /* CINTR, CERASE and CKILL modified to SunOS traditional values */ 20856 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20857 /* input modes */ 20858 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20859 /* output modes */ 20860 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20861 /* control modes */ 20862 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20863 /* 20864 * 4.4BSD hardware flow control flags 20865 */ 20866 20867 20868 20869 20870 20871 /* line discipline 0 modes */ 20872 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20873 /* Slots reserved for 386/XENIX compatibility - keyboard control */ 20874 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20875 /* 20876 * Softcarrier ioctls 20877 */ 20878 20879 20880 20881 20882 /* termios ioctls */ 20883 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20884 /* 20885 * NTP PPS ioctls 20886 */ 20887 20888 20889 20890 20891 /* Argument filled in by TIOCGPPSEV */ 20892 struct ppsclockev { 20893 struct timeval tv; 20894 uint_t serial; 20895 }; 20896 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20897 /* termios option flags */ 20898 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20899 /* TIOC ioctls for BSD, ptys, job control and modem control */ 20900 20901 20902 20903 20904 20905 /* Slots for 386/XENIX compatibility */ 20906 /* BSD includes these ioctls in ttold.h */ 20907 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20908 /* 20909 * BSD ioctls that are not the same as XENIX are included here. 20910 * There are also some relevant ioctls from SUN/BSD sys/ttycom.h 20911 * BSD pty ioctls like TIOCPKT are not supported in SVR4. 20912 */ 20913 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20914 /* POSIX job control ioctls */ 20915 20916 20917 20918 20919 20920 20921 /* Miscellaneous */ 20922 20923 20924 /* Modem control */ 20925 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20926 /* pseudo-tty */ 20927 20928 20929 20930 20931 20932 /* Some more 386 xenix stuff */ 20933 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20934 /* Slots for 386 compatibility */ 20935 20936 20937 20938 20939 20940 20941 20942 /* 20943 * These are retained for 386/XENIX compatibility. 20944 */ 20945 20946 20947 20948 20949 20950 /* 20951 * Returns a non-zero value if there 20952 * are characters in the input queue. 20953 * 20954 * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may 20955 * have added it; 4BSD had FIONREAD, which returned the number of characters 20956 * waiting, and was supposed to work on all descriptors (i.e., every driver 20957 * should make a stab at implementing it). 20958 */ 20959 20960 20961 20962 /* 20963 * Speeds 20964 */ 20965 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20966 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ 20967 struct winsize { 20968 unsigned short ws_row; /* rows, in characters */ 20969 unsigned short ws_col; /* columns, in character */ 20970 unsigned short ws_xpixel; /* horizontal size, pixels */ 20971 unsigned short ws_ypixel; /* vertical size, pixels */ 20972 }; 20973 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2 20974 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 20976 /* 20977 * CDDL HEADER START 20978 * 20979 * The contents of this file are subject to the terms of the 20980 * Common Development and Distribution License (the "License"). 20981 * You may not use this file except in compliance with the License. 20982 * 20983 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20984 * or http://www.opensolaris.org/os/licensing. 20985 * See the License for the specific language governing permissions 20986 * and limitations under the License. 20987 * 20988 * When distributing Covered Code, include this CDDL HEADER in each 20989 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20990 * If applicable, add the following below this CDDL HEADER, with the 20991 * fields enclosed by brackets "[]" replaced with your own identifying 20992 * information: Portions Copyright [yyyy] [name of copyright owner] 20993 * 20994 * CDDL HEADER END 20995 */ 20996 20997 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 20998 /* 20999 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21000 * 21001 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 21002 * Use is subject to license terms. 21003 * Copyright 2015 Joyent, Inc. All rights reserved. 21004 */ 21005 21006 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 21007 /* All Rights Reserved */ 21008 21009 /* 21010 * University Copyright- Copyright (c) 1982, 1986, 1988 21011 * The Regents of the University of California 21012 * All Rights Reserved 21013 * 21014 * University Acknowledgment- Portions of this document are derived from 21015 * software developed by the University of California, Berkeley, and its 21016 * contributors. 21017 */ 21018 21019 21020 21021 21022 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 21023 /* 21024 * CDDL HEADER START 21025 * 21026 * The contents of this file are subject to the terms of the 21027 * Common Development and Distribution License (the "License"). 21028 * You may not use this file except in compliance with the License. 21029 * 21030 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21031 * or http://www.opensolaris.org/os/licensing. 21032 * See the License for the specific language governing permissions 21033 * and limitations under the License. 21034 * 21035 * When distributing Covered Code, include this CDDL HEADER in each 21036 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21037 * If applicable, add the following below this CDDL HEADER, with the 21038 * fields enclosed by brackets "[]" replaced with your own identifying 21039 * information: Portions Copyright [yyyy] [name of copyright owner] 21040 * 21041 * CDDL HEADER END 21042 */ 21043 21044 /* 21045 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 21046 * Copyright 2016 Joyent, Inc. 21047 * 21048 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 21049 * Use is subject to license terms. 21050 */ 21051 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 21052 21053 21054 21055 21056 21057 21058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21059 /* 21060 * CDDL HEADER START 21061 * 21062 * The contents of this file are subject to the terms of the 21063 * Common Development and Distribution License (the "License"). 21064 * You may not use this file except in compliance with the License. 21065 * 21066 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21067 * or http://www.opensolaris.org/os/licensing. 21068 * See the License for the specific language governing permissions 21069 * and limitations under the License. 21070 * 21071 * When distributing Covered Code, include this CDDL HEADER in each 21072 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21073 * If applicable, add the following below this CDDL HEADER, with the 21074 * fields enclosed by brackets "[]" replaced with your own identifying 21075 * information: Portions Copyright [yyyy] [name of copyright owner] 21076 * 21077 * CDDL HEADER END 21078 */ 21079 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21080 /* All Rights Reserved */ 21081 21082 21083 /* 21084 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21085 * Use is subject to license terms. 21086 * 21087 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21088 * Copyright 2016 Joyent, Inc. 21089 */ 21090 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 21091 21092 21093 /* 21094 * Protections are chosen from these bits, or-ed together. 21095 * Note - not all implementations literally provide all possible 21096 * combinations. PROT_WRITE is often implemented as (PROT_READ | 21097 * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). 21098 * However, no implementation will permit a write to succeed 21099 * where PROT_WRITE has not been set. Also, no implementation will 21100 * allow any access to succeed where prot is specified as PROT_NONE. 21101 */ 21102 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21103 /* sharing types: must choose either SHARED or PRIVATE */ 21104 21105 21106 21107 21108 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ 21109 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21110 /* these flags not yet implemented */ 21111 21112 21113 21114 /* these flags are used by memcntl */ 21115 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21116 /* 21117 * For the sake of backward object compatibility, we use the _MAP_NEW flag. 21118 * This flag will be automatically or'ed in by the C library for all 21119 * new mmap calls. Previous binaries with old mmap calls will continue 21120 * to get 0 or -1 for return values. New mmap calls will get the mapped 21121 * address as the return value if successful and -1 on errors. By default, 21122 * new mmap calls automatically have the kernel assign the map address 21123 * unless the MAP_FIXED flag is given. 21124 */ 21125 21126 21127 21128 21129 21130 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ 21131 21132 21133 21134 21135 21136 /* 21137 * Values for mr_flags field of mmapobj_result_t below. 21138 * The bottom 16 bits are mutually exclusive and thus only one 21139 * of them can be set at a time. Use MR_GET_TYPE below to check this value. 21140 * The top 16 bits are used for flags which are not mutually exclusive and 21141 * thus more than one of these flags can be set for a given mmapobj_result_t. 21142 * 21143 * MR_PADDING being set indicates that this memory range represents the user 21144 * requested padding. 21145 * 21146 * MR_HDR_ELF being set indicates that the ELF header of the mapped object 21147 * is mapped at mr_addr + mr_offset. 21148 * 21149 * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped 21150 * object is mapped at mr_addr + mr_offset. 21151 */ 21152 21153 /* 21154 * External flags for mr_flags field below. 21155 */ 21156 21157 21158 21159 21160 /* 21161 * Internal flags for mr_flags field below. 21162 */ 21163 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21164 typedef struct mmapobj_result { 21165 caddr_t mr_addr; /* mapping address */ 21166 size_t mr_msize; /* mapping size */ 21167 size_t mr_fsize; /* file size */ 21168 size_t mr_offset; /* offset into file */ 21169 uint_t mr_prot; /* the protections provided */ 21170 uint_t mr_flags; /* info on the mapping */ 21171 } mmapobj_result_t; 21172 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21173 /* 21174 * large file compilation environment setup 21175 * 21176 * In the LP64 compilation environment, map large file interfaces 21177 * back to native versions where possible. 21178 */ 21179 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21180 21181 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21182 #pragma redefine_extname mmap64 mmap 21183 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21184 21185 21186 21187 21188 21189 21190 21191 21192 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21193 #pragma redefine_extname getpagesizes getpagesizes2 21194 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21195 21196 21197 21198 21199 21200 /* 21201 * Except for old binaries mmap() will return the resultant 21202 * address of mapping on success and (caddr_t)-1 on error. 21203 */ 21204 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21205 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); 21206 extern int munmap(caddr_t, size_t); 21207 extern int mprotect(caddr_t, size_t, int); 21208 extern int msync(caddr_t, size_t, int); 21209 extern int mlock(caddr_t, size_t); 21210 extern int munlock(caddr_t, size_t); 21211 extern int mincore(caddr_t, size_t, char *); 21212 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); 21213 extern int madvise(caddr_t, size_t, int); 21214 21215 extern int getpagesizes(size_t *, int); 21216 extern int getpagesizes2(size_t *, int); 21217 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); 21218 /* guard visibility of uint64_t */ 21219 21220 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, 21221 uint_t *); 21222 21223 21224 /* transitional large file interface version */ 21225 21226 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); 21227 21228 21229 21230 21231 extern int mlockall(int); 21232 extern int munlockall(void); 21233 extern int shm_open(const char *, int, mode_t); 21234 extern int shm_unlink(const char *); 21235 21236 21237 21238 extern int posix_madvise(void *, size_t, int); 21239 21240 21241 /* mmap failure value */ 21242 21243 21244 21245 21246 21247 21248 21249 /* 21250 * structure for memcntl hat advise operations. 21251 */ 21252 struct memcntl_mha { 21253 uint_t mha_cmd; /* command(s) */ 21254 uint_t mha_flags; 21255 size_t mha_pagesize; 21256 }; 21257 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21258 /* 21259 * advice to madvise 21260 * 21261 * Note, if more than 4 bits worth of advice (eg. 16) are specified then 21262 * changes will be necessary to the struct vpage. 21263 */ 21264 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21265 /* advice to posix_madvise */ 21266 /* these values must be kept in sync with the MADV_* values, above */ 21267 21268 21269 21270 21271 21272 21273 21274 /* flags to msync */ 21275 21276 /* modified for UNIX98 compliance */ 21277 21278 21279 21280 21281 21282 /* functions to mctl */ 21283 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21284 /* sub-commands for MC_HAT_ADVISE */ 21285 21286 21287 /* for last bss adjacent to */ 21288 /* brk area and brk area itself */ 21289 21290 /* processes main stack */ 21291 21292 21293 21294 21295 /* flags to mlockall */ 21296 21297 21298 21299 21300 21301 21302 /* definitions for meminfosys syscall */ 21303 21304 21305 21306 21307 21308 /* private structure for meminfo */ 21309 typedef struct meminfo { 21310 const uint64_t *mi_inaddr; /* array of input addresses */ 21311 const uint_t *mi_info_req; /* array of types of info requested */ 21312 uint64_t *mi_outdata; /* array of results are placed */ 21313 uint_t *mi_validity; /* array of bitwise result codes */ 21314 int mi_info_count; /* number of pieces of info requested */ 21315 } meminfo_t; 21316 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21317 /* 21318 * info_req request type definitions for meminfo 21319 * request types starting with MEMINFO_V are used for Virtual addresses 21320 * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical 21321 * addresses 21322 */ 21323 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 21324 /* maximum number of addresses meminfo() can process at a time */ 21325 21326 21327 /* maximum number of request types */ 21328 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 21329 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 21330 /* 21331 * CDDL HEADER START 21332 * 21333 * The contents of this file are subject to the terms of the 21334 * Common Development and Distribution License (the "License"). 21335 * You may not use this file except in compliance with the License. 21336 * 21337 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21338 * or http://www.opensolaris.org/os/licensing. 21339 * See the License for the specific language governing permissions 21340 * and limitations under the License. 21341 * 21342 * When distributing Covered Code, include this CDDL HEADER in each 21343 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21344 * If applicable, add the following below this CDDL HEADER, with the 21345 * fields enclosed by brackets "[]" replaced with your own identifying 21346 * information: Portions Copyright [yyyy] [name of copyright owner] 21347 * 21348 * CDDL HEADER END 21349 */ 21350 21351 /* 21352 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 21353 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 21354 */ 21355 21356 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 21357 /* All Rights Reserved */ 21358 21359 /* 21360 * University Copyright- Copyright (c) 1982, 1986, 1988 21361 * The Regents of the University of California 21362 * All Rights Reserved 21363 * 21364 * University Acknowledgment- Portions of this document are derived from 21365 * software developed by the University of California, Berkeley, and its 21366 * contributors. 21367 */ 21368 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 21369 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21370 /* 21371 * CDDL HEADER START 21372 * 21373 * The contents of this file are subject to the terms of the 21374 * Common Development and Distribution License (the "License"). 21375 * You may not use this file except in compliance with the License. 21376 * 21377 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21378 * or http://www.opensolaris.org/os/licensing. 21379 * See the License for the specific language governing permissions 21380 * and limitations under the License. 21381 * 21382 * When distributing Covered Code, include this CDDL HEADER in each 21383 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21384 * If applicable, add the following below this CDDL HEADER, with the 21385 * fields enclosed by brackets "[]" replaced with your own identifying 21386 * information: Portions Copyright [yyyy] [name of copyright owner] 21387 * 21388 * CDDL HEADER END 21389 */ 21390 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21391 /* All Rights Reserved */ 21392 21393 21394 /* 21395 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21396 * Use is subject to license terms. 21397 * 21398 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21399 * Copyright 2016 Joyent, Inc. 21400 */ 21401 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 21402 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1 21403 /* 21404 * CDDL HEADER START 21405 * 21406 * The contents of this file are subject to the terms of the 21407 * Common Development and Distribution License, Version 1.0 only 21408 * (the "License"). You may not use this file except in compliance 21409 * with the License. 21410 * 21411 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21412 * or http://www.opensolaris.org/os/licensing. 21413 * See the License for the specific language governing permissions 21414 * and limitations under the License. 21415 * 21416 * When distributing Covered Code, include this CDDL HEADER in each 21417 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21418 * If applicable, add the following below this CDDL HEADER, with the 21419 * fields enclosed by brackets "[]" replaced with your own identifying 21420 * information: Portions Copyright [yyyy] [name of copyright owner] 21421 * 21422 * CDDL HEADER END 21423 */ 21424 /* 21425 * Copyright 1991 Sun Microsystems, Inc. All rights reserved. 21426 * Use is subject to license terms. 21427 */ 21428 21429 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21430 /* All Rights Reserved */ 21431 21432 21433 21434 21435 #pragma ident "%Z%%M% %I% %E% SMI" 21436 21437 21438 21439 21440 21441 /* 21442 * There are some inherent problems in having a single file 21443 * ioctl.h, with both System V and BSD flags. Introducing 21444 * BSD flags into this file creates compilation problems 21445 * with flags such as ECHO, NL1 etc., if termio.h and ioctl.h 21446 * are included by the same file. Since these two files can 21447 * be only included by System V applications, /usr/inclule/sys/ioctl.h 21448 * will be System V mode and all the BSD flags will be turned off 21449 * using #ifdef BSD_COMP. This file will also exist in 21450 * /usr/ucbinclude/sys/ioctl.h for BSD applications but without the 21451 * BSD flags turned off. System V appliactions can use ioctl.h without 21452 * any changes, System V applications requiring BSD flags should 21453 * -D BSD_COMP when compiling (and be warned about the common 21454 * flags between System V and BSD) and BSD applications should 21455 * use /usr/ucbinclude/sys/ioctl.h. 21456 * 21457 */ 21458 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 21459 /* BSD related defines */ 21460 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 21461 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 21462 /* 21463 * CDDL HEADER START 21464 * 21465 * The contents of this file are subject to the terms of the 21466 * Common Development and Distribution License (the "License"). 21467 * You may not use this file except in compliance with the License. 21468 * 21469 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21470 * or http://www.opensolaris.org/os/licensing. 21471 * See the License for the specific language governing permissions 21472 * and limitations under the License. 21473 * 21474 * When distributing Covered Code, include this CDDL HEADER in each 21475 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21476 * If applicable, add the following below this CDDL HEADER, with the 21477 * fields enclosed by brackets "[]" replaced with your own identifying 21478 * information: Portions Copyright [yyyy] [name of copyright owner] 21479 * 21480 * CDDL HEADER END 21481 */ 21482 21483 /* 21484 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 21485 */ 21486 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 21487 21488 /* 21489 * C++ prefix 21490 */ 21491 21492 21493 21494 21495 21496 21497 /* function prototypes */ 21498 21499 /* PRINTFLIKE1 */ 21500 typedef void (*_z_printf_fcn_t)(char *a_format, ...); 21501 21502 /* zone list structure */ 21503 21504 typedef struct _zoneListElement_t *zoneList_t; 21505 21506 /* zone brand list structure */ 21507 21508 typedef struct _zoneBrandList zoneBrandList_t; 21509 21510 /* flag for zone locking functions */ 21511 21512 typedef unsigned long ZLOCKS_T; 21513 21514 /* flags for zone locking */ 21515 21516 21517 21518 21519 21520 21521 /* 21522 * external function definitions 21523 */ 21524 21525 /* zones.c */ 21526 21527 extern boolean_t z_zones_are_implemented(void); 21528 extern void z_set_zone_root(const char *zroot); 21529 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList, 21530 int a_zoneIndex); 21531 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList, 21532 int a_zoneIndex); 21533 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList, 21534 int a_zoneIndex, zone_state_t a_newState); 21535 extern char *z_get_zonename(void); 21536 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList, 21537 int a_zoneIndex); 21538 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList, 21539 int a_zoneIndex); 21540 extern int z_zoneExecCmdArray(int *r_status, char **r_results, 21541 char *a_inputFile, char *a_path, char *a_argv[], 21542 const char *a_zoneName, int *a_fds); 21543 extern int z_zone_exec(const char *zonename, const char *path, 21544 char *argv[], char *a_stdoutPath, 21545 char *a_stderrPath, int *a_fds); 21546 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename, 21547 char *a_userAdminFilename); 21548 extern void z_free_zone_list(zoneList_t a_zoneList); 21549 extern zoneList_t z_get_nonglobal_zone_list(void); 21550 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *); 21551 extern void z_free_brand_list(zoneBrandList_t *a_brandList); 21552 extern zoneBrandList_t *z_make_brand_list(const char *brandList, 21553 const char *delim); 21554 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 21555 extern boolean_t z_non_global_zones_exist(void); 21556 extern boolean_t z_running_in_global_zone(void); 21557 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn, 21558 _z_printf_fcn_t a_echo_debug_fcn, 21559 _z_printf_fcn_t a_progerr_fcn); 21560 extern int z_set_zone_spec(const char *zlist); 21561 extern int z_verify_zone_spec(void); 21562 extern boolean_t z_on_zone_spec(const char *zonename); 21563 extern boolean_t z_global_only(void); 21564 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 21565 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags); 21566 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags); 21567 extern char *z_zlist_get_zonename(zoneList_t a_zoneList, 21568 int a_zoneId); 21569 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList, 21570 int a_zoneId); 21571 extern char *z_zlist_get_scratch(zoneList_t a_zoneList, 21572 int a_zoneId); 21573 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint); 21574 extern boolean_t z_mount_in_lz(char **r_lzMountPoint, 21575 char **r_lzRootPath, 21576 char *a_zoneName, char *a_gzPath, 21577 char *a_mountPointPrefix); 21578 extern boolean_t z_is_zone_branded(char *zoneName); 21579 extern boolean_t z_is_zone_brand_in_list(char *zoneName, 21580 zoneBrandList_t *brands); 21581 extern boolean_t z_zones_are_implemented(void); 21582 21583 /* zones_exec.c */ 21584 extern int z_ExecCmdArray(int *r_status, char **r_results, 21585 char *a_inputFile, char *a_cmd, char **a_args); 21586 /*VARARGS*/ 21587 extern int z_ExecCmdList(int *r_status, char **r_results, 21588 char *a_inputFile, char *a_cmd, ...); 21589 21590 /* zones_paths.c */ 21591 extern char *z_make_zone_root(char *); 21592 extern void z_path_canonize(char *file); 21593 extern void z_canoninplace(char *file); 21594 21595 /* zones_lofs.c */ 21596 extern void z_destroyMountTable(void); 21597 extern int z_createMountTable(void); 21598 extern int z_isPathWritable(const char *); 21599 extern void z_resolve_lofs(char *path, size_t); 21600 21601 /* zones_states.c */ 21602 extern int UmountAllZones(char *mntpnt); 21603 21604 /* 21605 * C++ postfix 21606 */ 21607 # 49 "../common/instzones_lib.h" 2 21608 21609 21610 21611 /* 21612 * C++ prefix 21613 */ 21614 21615 21616 21617 21618 21619 /* constants */ 21620 21621 21622 /* macros */ 21623 21624 /* 21625 * argument array processing type 21626 */ 21627 21628 /* 21629 * This is the "argument array" definition that is returned by _z_new_args 21630 * and is used by _z_add_args, _z_free_args, etc. 21631 */ 21632 21633 struct _argArray_t { 21634 long _aaNumArgs; /* number of arguments set */ 21635 long _aaMaxArgs; /* number of arguments allocated */ 21636 char **_aaArgs; /* actual arguments */ 21637 }; 21638 21639 typedef struct _argArray_t argArray_t; 21640 21641 /* 21642 * lock objects 21643 */ 21644 21645 /* 21646 * this allows a root path to be prepended to a lock object; e.g. 21647 * rootpath.%s/zone.%s/... 21648 */ 21649 21650 21651 /* this locks a single zone (zone.name) */ 21652 21653 21654 /* this locks all zones */ 21655 21656 21657 /* this locks all packages, in all zones */ 21658 21659 21660 21661 21662 21663 /* paths to commands executed by this module */ 21664 21665 21666 21667 21668 /* max message size for program output functions (echo, echo debug, progerr) */ 21669 21670 21671 21672 /* maximum number of retries when waiting for lock */ 21673 21674 21675 21676 /* delay (in seconds) between retries when waiting for lock */ 21677 21678 21679 21680 /* Size of buffer increments when reading from pipe */ 21681 21682 21683 21684 /* Maximum number of arguments to pkg_ExecCmdList */ 21685 21686 21687 21688 /* 21689 * These dynamic libraries are required in order to use the zones 21690 * functionality - if these libraries are not available at runtime, 21691 * then zones are assumed to NOT be available, and it is assumed that 21692 * the program is running in the global zone with no non-global zones. 21693 */ 21694 # 147 "../common/instzones_lib.h" 21695 /* 21696 * Environment values used when running commands within a non-global zone 21697 */ 21698 21699 /* SHELL= */ 21700 21701 21702 21703 /* PATH= */ 21704 21705 21706 21707 /* error codes */ 21708 21709 21710 /* 21711 * zone brand list structure 21712 */ 21713 21714 struct _zoneBrandList { 21715 char *string_ptr; 21716 struct _zoneBrandList *next; 21717 }; 21718 21719 /* 21720 * zone status structure - used to retrieve and hold status of zones 21721 */ 21722 21723 typedef unsigned long _zone_status_t; 21724 21725 struct _zoneListElement_t { 21726 char *_zlName; 21727 char *_zlPath; 21728 char *_zlScratchName; 21729 char *_zlLockObjects; 21730 /* 21731 * the install "state" refers to the zone states listed in 21732 * /usr/include/libzonecfg.h that is stored in the zone_state_t 21733 * structure and returned from getzoneent_private() - such as: 21734 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE, 21735 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED, 21736 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN. 21737 */ 21738 zone_state_t _zlOrigInstallState; 21739 zone_state_t _zlCurrInstallState; 21740 /* 21741 * the kernel "status" refers to the zone status listed in 21742 * /usr/include/sys/zone.h, returned by zone_get_state(), 21743 * and defined in the zone_status_t enum - such as: 21744 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING, 21745 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY, 21746 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD. 21747 */ 21748 zone_status_t _zlOrigKernelStatus; 21749 zone_status_t _zlCurrKernelStatus; 21750 /* 21751 * this is an internal state recorded about the zone (ZSF_xxx). 21752 */ 21753 _zone_status_t _zlStatus; 21754 }; 21755 21756 typedef struct _zoneListElement_t zoneListElement_t; 21757 21758 /* bits used in the _zoneListElement _zlStatus variable */ 21759 21760 21761 21762 21763 /* 21764 * User-specified list of zones. 21765 */ 21766 21767 typedef struct zone_spec_s { 21768 struct zone_spec_s *zl_next; 21769 boolean_t zl_used; 21770 char zl_name[64]; 21771 } zone_spec_t; 21772 21773 /* 21774 * The global data structure used to hold all of the global (extern) data 21775 * used by this library. 21776 * 21777 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <-- 21778 * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <-- 21779 */ 21780 21781 struct _z_global_data_t { 21782 char *_z_ObjectLocks; /* object locks held */ 21783 char *_z_root_dir; /* root for zone lib fctns */ 21784 int _z_SigReceived; /* received signal count */ 21785 pid_t _z_ChildProcessId; /* child to propagate sigs to */ 21786 zone_spec_t *_zone_spec; /* zones to operate on */ 21787 _z_printf_fcn_t _z_echo; /* operational message fcn */ 21788 _z_printf_fcn_t _z_echo_debug; /* debug message fcn */ 21789 _z_printf_fcn_t _z_progerr; /* program error fcn */ 21790 }; 21791 21792 typedef struct _z_global_data_t z_global_data_t; 21793 21794 /* 21795 * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined, 21796 * instzones_lib.h will define the z_global_data structure. 21797 * Otherwise an extern to the structure is inserted. 21798 * 21799 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <-- 21800 * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <-- 21801 */ 21802 # 272 "../common/instzones_lib.h" 21803 /* define structure extern */ 21804 21805 extern z_global_data_t _z_global_data; 21806 21807 21808 21809 /* function prototypes */ 21810 21811 /* 21812 * The following functions can be used by other libs, but not 21813 * by applications. 21814 */ 21815 21816 /* ---> zones_states.c */ 21817 21818 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem); 21819 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem); 21820 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem); 21821 int UmountAllZones(char *mntpnt); 21822 void *_z_calloc(size_t size); 21823 void *_z_malloc(size_t size); 21824 void *_z_realloc(void *ptr, size_t size); 21825 void *_z_strdup(char *str); 21826 21827 /* ---> zones_utils.c */ 21828 21829 /*PRINTFLIKE1*/ 21830 void _z_program_error(char *fmt, ...); 21831 /*PRINTFLIKE1*/ 21832 void _z_echo(char *fmt, ...); 21833 /*PRINTFLIKE1*/ 21834 void _z_echoDebug(char *a_fmt, ...); 21835 int _z_is_directory(char *path); 21836 boolean_t _z_running_in_global_zone(void); 21837 boolean_t _z_zones_are_implemented(void); 21838 void _z_sig_trap(int a_signo); 21839 int _z_close_file_descriptors(void *a_fds, int a_fd); 21840 boolean_t _z_brands_are_implemented(void); 21841 21842 21843 /* ---> zones_locks.c */ 21844 21845 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result, 21846 char *a_lockObject); 21847 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName, 21848 char *a_lock, pid_t a_pid, boolean_t a_wait); 21849 boolean_t _z_lock_zone(zoneListElement_t *a_zlst, 21850 ZLOCKS_T a_lflags); 21851 boolean_t _z_lock_zone_object(char **r_objectLocks, 21852 char *a_zoneName, char *a_lockObject, 21853 pid_t a_pid, char *a_waitingMsg, 21854 char *a_busyMsg); 21855 boolean_t _z_release_lock(char *a_zoneName, char *a_lock, 21856 char *a_key, boolean_t a_wait); 21857 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst, 21858 ZLOCKS_T a_lflags); 21859 boolean_t _z_unlock_zone_object(char **r_objectLocks, 21860 char *a_zoneName, char *a_lockObject, 21861 char *a_errMsg); 21862 21863 /* ---> zones_args.c */ 21864 21865 void _z_free_args(argArray_t *a_args); 21866 argArray_t *_z_new_args(int initialCount); 21867 /*PRINTFLIKE2*/ 21868 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...); 21869 int _z_get_argc(argArray_t *a_args); 21870 char **_z_get_argv(argArray_t *a_args); 21871 21872 /* ---> zones_str.c */ 21873 21874 boolean_t _z_strContainsToken(char *a_string, char *a_token, 21875 char *a_separators); 21876 char *_z_strGetToken(char *r_sep, char *a_string, 21877 int a_index, char *a_separators); 21878 void _z_strRemoveLeadingWhitespace(char **a_str); 21879 void _z_strGetToken_r(char *r_sep, char *a_string, 21880 int a_index, char *a_separators, char *a_buf, 21881 int a_bufLen); 21882 void _z_strAddToken(char **a_old, char *a_new, 21883 char a_separator); 21884 void _z_strRemoveToken(char **r_string, char *a_token, 21885 char *a_separators, int a_index); 21886 /*PRINTFLIKE3*/ 21887 void _z_strPrintf_r(char *a_buf, int a_bufLen, 21888 char *a_format, ...); 21889 /*PRINTFLIKE1*/ 21890 char *_z_strPrintf(char *a_format, ...); 21891 21892 /* ---> zones_exec.c */ 21893 21894 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile, 21895 char *a_path, char *a_argv[], const char *a_zoneName, 21896 int *a_fds); 21897 int _zexec(const char *a_zoneName, 21898 const char *path, char *argv[]); 21899 char *_zexec_add_env(char *name, char *value); 21900 int _zexec_init_template(void); 21901 char **_zexec_prep_env(); 21902 21903 /* 21904 * C++ postfix 21905 */ 21906 # 69 "../common/zones_args.c" 2 21907 # 1 "../common/zones_strings.h" 1 21908 /* 21909 * CDDL HEADER START 21910 * 21911 * The contents of this file are subject to the terms of the 21912 * Common Development and Distribution License (the "License"). 21913 * You may not use this file except in compliance with the License. 21914 * 21915 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21916 * or http://www.opensolaris.org/os/licensing. 21917 * See the License for the specific language governing permissions 21918 * and limitations under the License. 21919 * 21920 * When distributing Covered Code, include this CDDL HEADER in each 21921 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21922 * If applicable, add the following below this CDDL HEADER, with the 21923 * fields enclosed by brackets "[]" replaced with your own identifying 21924 * information: Portions Copyright [yyyy] [name of copyright owner] 21925 * 21926 * CDDL HEADER END 21927 */ 21928 /* 21929 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 21930 */ 21931 21932 21933 21934 21935 21936 21937 21938 /* 21939 * Module: zones_strings.h 21940 * Group: libinstzones 21941 * Description: This header contains strings used in libinstzones 21942 * library modules. 21943 */ 21944 21945 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 21946 /* 21947 * CDDL HEADER START 21948 * 21949 * The contents of this file are subject to the terms of the 21950 * Common Development and Distribution License (the "License"). 21951 * You may not use this file except in compliance with the License. 21952 * 21953 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21954 * or http://www.opensolaris.org/os/licensing. 21955 * See the License for the specific language governing permissions 21956 * and limitations under the License. 21957 * 21958 * When distributing Covered Code, include this CDDL HEADER in each 21959 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21960 * If applicable, add the following below this CDDL HEADER, with the 21961 * fields enclosed by brackets "[]" replaced with your own identifying 21962 * information: Portions Copyright [yyyy] [name of copyright owner] 21963 * 21964 * CDDL HEADER END 21965 */ 21966 /* 21967 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21968 * 21969 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 21970 * Use is subject to license terms. 21971 */ 21972 # 39 "../common/zones_strings.h" 2 21973 21974 /* 21975 * C++ prefix 21976 */ 21977 21978 21979 21980 21981 21982 /* constants */ 21983 # 58 "../common/zones_strings.h" 21984 /* 21985 * message strings 21986 */ 21987 21988 /* BEGIN CSTYLED */ 21989 21990 /* 21991 * I18N: these messages are debugging message and are only displayed 21992 * when special debugging output has been enabled - these messages 21993 * will never be displayed during normal product usage 21994 */ 21995 # 121 "../common/zones_strings.h" 21996 /* 21997 * I18N: these messages are error messages that can be displayed 21998 * during the normal usage of the products 21999 */ 22000 # 189 "../common/zones_strings.h" 22001 /* 22002 * I18N: these are messages that can be displayed during the normal 22003 * usage of the products 22004 */ 22005 22006 22007 22008 22009 22010 22011 22012 /* 22013 * I18N: these messages are warning messages that can be displayed 22014 * during the normal usage of the products 22015 */ 22016 22017 22018 22019 22020 /* END CSTYLED */ 22021 22022 /* 22023 * C++ postfix 22024 */ 22025 # 70 "../common/zones_args.c" 2 22026 22027 /* 22028 * Private structures 22029 */ 22030 22031 /* 22032 * Library Function Prototypes 22033 */ 22034 22035 /* 22036 * Local Function Prototypes 22037 */ 22038 22039 /* 22040 * Global internal (private) declarations 22041 */ 22042 22043 /* 22044 * ***************************************************************************** 22045 * global external (public) functions 22046 * ***************************************************************************** 22047 */ 22048 22049 /* 22050 * Name: _z_add_arg 22051 * Description: add new argument to argument array for use in exec() calls 22052 * Arguments: a_args - [RO, *RW] - (argArray_t *) 22053 * Pointer to argument array (previously allocated via 22054 * a call to _z_new_args) to add the argument to 22055 * a_format - [RO, *RO] - (char *) 22056 * Pointer to "printf(3C)" style format argument 22057 * ... - [RO, *RO] - (varies) 22058 * Arguments as appropriate for format argument specified 22059 * Returns: boolean_t 22060 * B_TRUE - success 22061 * B_FALSE - failure 22062 * Examples: 22063 * - to add an argument that specifies a file descriptor: 22064 * int fd; 22065 * _z_add_arg(aa, "/proc/self/fd/%d", fd); 22066 * - to add a flag or other known text: 22067 * _z_add_arg(aa, "-s") 22068 * - to add random text: 22069 * char *random_text; 22070 * _z_add_arg(aa, "%s", random_text); 22071 */ 22072 22073 /*PRINTFLIKE2*/ 22074 boolean_t 22075 _z_add_arg(argArray_t *a_args, char *a_format, ...) 22076 { 22077 char *rstr = 0L; 22078 char bfr[256]; 22079 size_t vres = 0; 22080 va_list ap; 22081 22082 /* entry assertions */ 22083 22084 (void)((a_args != 0L) || (__assert("a_args != NULL", "../common/zones_args.c", 128), 0)); 22085 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_args.c", 129), 0)); 22086 (void)((*a_format != '\0') || (__assert("*a_format != '\\0'", "../common/zones_args.c", 130), 0)); 22087 22088 /* 22089 * double argument array if array is full 22090 */ 22091 22092 if (a_args->_aaNumArgs >= a_args->_aaMaxArgs) { 22093 int newMax; 22094 char **newArgs; 22095 22096 newMax = a_args->_aaMaxArgs * 2; 22097 newArgs = (char **)_z_realloc(a_args->_aaArgs, 22098 (newMax+1) * sizeof (char *)); 22099 a_args->_aaArgs = newArgs; 22100 a_args->_aaMaxArgs = newMax; 22101 } 22102 22103 /* 22104 * determine size of argument to add to list 22105 */ 22106 22107 __builtin_va_start(ap, a_format); 22108 vres = vsnprintf(bfr, sizeof (bfr), a_format, ap); 22109 __builtin_va_end(ap); 22110 22111 /* 22112 * use the expanded argument if it will fit in the built in buffer, 22113 * otherwise, allocate space to hold the argument 22114 */ 22115 22116 if (vres < sizeof (bfr)) { 22117 /* duplicate text already generated in buffer */ 22118 rstr = _z_strdup(bfr); 22119 } else { 22120 /* allocate new space for argument to add */ 22121 22122 rstr = (char *)_z_malloc(vres+2); 22123 22124 /* generate argument to add */ 22125 22126 __builtin_va_start(ap, a_format); 22127 vres = vsnprintf(rstr, vres+1, a_format, ap); 22128 __builtin_va_end(ap); 22129 } 22130 22131 /* add argument to the end of the argument array */ 22132 22133 a_args->_aaArgs[a_args->_aaNumArgs++] = rstr; 22134 a_args->_aaArgs[a_args->_aaNumArgs] = 0L; 22135 22136 /* successful - return */ 22137 22138 return (B_TRUE); 22139 } 22140 22141 /* 22142 * Name: _z_free_args 22143 * Description: free all storage contained in an argument array previously 22144 * allocated by a call to _z_new_args 22145 * Arguments: a_args - [RO, *RW] - (argArray_t *) 22146 * Pointer to argument array (previously allocated via 22147 * a call to _z_new_args) to free 22148 * Returns: void 22149 * NOTE: preserves errno (usually called right after e_execCmd*()) 22150 */ 22151 22152 void 22153 _z_free_args(argArray_t *a_args) 22154 { 22155 int i; 22156 int lerrno = (*(___errno())); 22157 22158 /* entry assertions */ 22159 22160 (void)((a_args != 0L) || (__assert("a_args != NULL", "../common/zones_args.c", 204), 0)); 22161 (void)((a_args->_aaArgs != 0L) || (__assert("a_args->_aaArgs != NULL", "../common/zones_args.c", 205), 0)); 22162 22163 /* free all arguments in the argument array */ 22164 22165 for (i = (a_args->_aaNumArgs-1); i >= 0; i--) { 22166 (void)((a_args->_aaArgs[i] != 0L) || (__assert("a_args->_aaArgs[i] != NULL", "../common/zones_args.c", 210), 0)); 22167 (void) free(a_args->_aaArgs[i]); 22168 } 22169 22170 /* free argument array */ 22171 22172 (void) free(a_args->_aaArgs); 22173 22174 /* free argument array structure */ 22175 22176 (void) free(a_args); 22177 22178 /* restore errno */ 22179 22180 (*(___errno())) = lerrno; 22181 } 22182 22183 /* 22184 * Name: _z_get_argc 22185 * Description: return (int) argc count from argument array 22186 * Arguments: a_args - [RO, *RW] - (argArray_t *) 22187 * Pointer to argument array (previously allocated via 22188 * a call to _z_new_args) to return argc count for 22189 * Returns: int 22190 * Count of the number of arguments in the argument array 22191 * suitable for use in an exec*() call 22192 */ 22193 22194 int 22195 _z_get_argc(argArray_t *a_args) 22196 { 22197 return (a_args->_aaNumArgs); 22198 } 22199 22200 /* 22201 * Name: _z_get_argv 22202 * Description: return (char **)argv pointer from argument array 22203 * Arguments: a_args - [RO, *RW] - (argArray_t *) 22204 * Pointer to argument array (previously allocated via 22205 * a call to _z_new_args) to return argv pointer for 22206 * Returns: char ** 22207 * Pointer to (char **)argv pointer suitable for use 22208 * in an exec*() call 22209 * NOTE: the actual character array is always terminated with a NULL 22210 */ 22211 22212 char ** 22213 _z_get_argv(argArray_t *a_args) 22214 { 22215 return (a_args->_aaArgs); 22216 } 22217 22218 /* 22219 * Name: _z_new_args 22220 * Description: create a new argument array for use in exec() calls 22221 * Arguments: initialCount - [RO, *RO] - (int) 22222 * Initial number of elements to populate the 22223 * argument array with - use best guess 22224 * Returns: argArray_t * 22225 * Pointer to argument array that can be used in other 22226 * functions that accept it as an argument 22227 * == (argArray_t *)NULL - error 22228 * NOTE: you must call _z_free_args() when the returned argument array is 22229 * no longer needed so that all storage used can be freed up. 22230 */ 22231 22232 argArray_t * 22233 _z_new_args(int initialCount) 22234 { 22235 argArray_t *aa; 22236 22237 /* entry assertions */ 22238 22239 (void)((initialCount >= 0) || (__assert("initialCount >= 0", "../common/zones_args.c", 283), 0)); 22240 22241 /* if no guess on size, then assume 1 */ 22242 22243 if (initialCount == 0) { 22244 initialCount = 1; 22245 } 22246 22247 /* allocate new argument array structure */ 22248 22249 aa = (argArray_t *)_z_calloc(sizeof (argArray_t)); 22250 22251 /* allocate initial argument array */ 22252 22253 aa->_aaArgs = (char **)_z_calloc((initialCount+1) * sizeof (char *)); 22254 22255 /* initialize argument indexes */ 22256 22257 aa->_aaNumArgs = 0; 22258 aa->_aaMaxArgs = initialCount; 22259 22260 /* successful - return pointer to argument array created */ 22261 22262 return (aa); 22263 } 22264