1 # 1 "../common/zones_str.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "../common/zones_str.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_str.c 34 * Group: libinstzones 35 * Description: Private functions used by zones library functions to manipulate 36 * strings 37 * 38 * Public Methods: 39 * 40 * _z_strAddToken - Add a token to a string 41 * _z_strContainsToken - Does a given string contain a specified substring 42 * _z_strGetToken - Get a separator delimited token from a string 43 * _z_strGetToken_r - Get separator delimited token from string to fixed buffer 44 * _z_strPrintf - Create string from printf style format and arguments 45 * _z_strPrintf_r - Create string from printf style format and arguments 46 * _z_strRemoveLeadingWhitespace - Remove leading whitespace from string 47 * _z_strRemoveToken - Remove a token from a string 48 */ 49 50 /* 51 * System includes 52 */ 53 54 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 55 /* 56 * CDDL HEADER START 57 * 58 * The contents of this file are subject to the terms of the 59 * Common Development and Distribution License (the "License"). 60 * You may not use this file except in compliance with the License. 61 * 62 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 63 * or http://www.opensolaris.org/os/licensing. 64 * See the License for the specific language governing permissions 65 * and limitations under the License. 66 * 67 * When distributing Covered Code, include this CDDL HEADER in each 68 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 69 * If applicable, add the following below this CDDL HEADER, with the 70 * fields enclosed by brackets "[]" replaced with your own identifying 71 * information: Portions Copyright [yyyy] [name of copyright owner] 72 * 73 * CDDL HEADER END 74 */ 75 76 /* 77 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 78 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 79 */ 80 81 /* Copyright (c) 1988 AT&T */ 82 /* All Rights Reserved */ 83 84 /* 85 * User-visible pieces of the ANSI C standard I/O package. 86 */ 87 88 89 90 91 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 92 /* 93 * CDDL HEADER START 94 * 95 * The contents of this file are subject to the terms of the 96 * Common Development and Distribution License (the "License"). 97 * You may not use this file except in compliance with the License. 98 * 99 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 100 * or http://www.opensolaris.org/os/licensing. 101 * See the License for the specific language governing permissions 102 * and limitations under the License. 103 * 104 * When distributing Covered Code, include this CDDL HEADER in each 105 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 106 * If applicable, add the following below this CDDL HEADER, with the 107 * fields enclosed by brackets "[]" replaced with your own identifying 108 * information: Portions Copyright [yyyy] [name of copyright owner] 109 * 110 * CDDL HEADER END 111 */ 112 113 /* 114 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 115 * Copyright 2016 Joyent, Inc. 116 * 117 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 118 * Use is subject to license terms. 119 */ 120 121 122 123 124 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 125 /* 126 * CDDL HEADER START 127 * 128 * The contents of this file are subject to the terms of the 129 * Common Development and Distribution License, Version 1.0 only 130 * (the "License"). You may not use this file except in compliance 131 * with the License. 132 * 133 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 134 * or http://www.opensolaris.org/os/licensing. 135 * See the License for the specific language governing permissions 136 * and limitations under the License. 137 * 138 * When distributing Covered Code, include this CDDL HEADER in each 139 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 140 * If applicable, add the following below this CDDL HEADER, with the 141 * fields enclosed by brackets "[]" replaced with your own identifying 142 * information: Portions Copyright [yyyy] [name of copyright owner] 143 * 144 * CDDL HEADER END 145 */ 146 /* 147 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 148 * Use is subject to license terms. 149 */ 150 /* 151 * Copyright 2015 EveryCity Ltd. All rights reserved. 152 */ 153 154 155 156 157 /* 158 * This file contains definitions designed to enable different compilers 159 * to be used harmoniously on Solaris systems. 160 */ 161 162 163 164 165 166 /* 167 * Allow for version tests for compiler bugs and features. 168 */ 169 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 170 /* 171 * analogous to lint's PRINTFLIKEn 172 */ 173 174 175 176 177 178 /* 179 * Handle the kernel printf routines that can take '%b' too 180 */ 181 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 182 /* 183 * This one's pretty obvious -- the function never returns 184 */ 185 186 187 /* 188 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 189 * behaviour. 190 * 191 * Should only be used on 'extern inline' definitions for GCC. 192 */ 193 194 195 196 197 198 199 /* 200 * The function has control flow such that it may return multiple times (in 201 * the manner of setjmp or vfork) 202 */ 203 204 205 206 207 208 209 /* 210 * This is an appropriate label for functions that do not 211 * modify their arguments, e.g. strlen() 212 */ 213 214 215 /* 216 * This is a stronger form of __pure__. Can be used for functions 217 * that do not modify their arguments and don't depend on global 218 * memory. 219 */ 220 221 222 223 224 /* 225 * This attribute, attached to a variable, means that the variable is meant to 226 * be possibly unused. GCC will not produce a warning for this variable. 227 */ 228 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 229 /* 230 * Shorthand versions for readability 231 */ 232 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 233 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 234 /* 235 * CDDL HEADER START 236 * 237 * The contents of this file are subject to the terms of the 238 * Common Development and Distribution License (the "License"). 239 * You may not use this file except in compliance with the License. 240 * 241 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 242 * or http://www.opensolaris.org/os/licensing. 243 * See the License for the specific language governing permissions 244 * and limitations under the License. 245 * 246 * 247 * When distributing Covered Code, include this CDDL HEADER in each 248 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 249 * If applicable, add the following below this CDDL HEADER, with the 250 * fields enclosed by brackets "[]" replaced with your own identifying 251 * information: Portions Copyright [yyyy] [name of copyright owner] 252 * 253 * CDDL HEADER END 254 */ 255 256 /* 257 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 258 * Use is subject to license terms. 259 * Copyright 2016 Joyent, Inc. 260 */ 261 262 263 264 265 /* 266 * This header file serves to group a set of well known defines and to 267 * set these for each instruction set architecture. These defines may 268 * be divided into two groups; characteristics of the processor and 269 * implementation choices for Solaris on a processor. 270 * 271 * Processor Characteristics: 272 * 273 * _LITTLE_ENDIAN / _BIG_ENDIAN: 274 * The natural byte order of the processor. A pointer to an int points 275 * to the least/most significant byte of that int. 276 * 277 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 278 * The processor specific direction of stack growth. A push onto the 279 * stack increases/decreases the stack pointer, so it stores data at 280 * successively higher/lower addresses. (Stackless machines ignored 281 * without regrets). 282 * 283 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 284 * A pointer to a long long points to the most/least significant long 285 * within that long long. 286 * 287 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 288 * The C compiler assigns bit fields from the high/low to the low/high end 289 * of an int (most to least significant vs. least to most significant). 290 * 291 * _IEEE_754: 292 * The processor (or supported implementations of the processor) 293 * supports the ieee-754 floating point standard. No other floating 294 * point standards are supported (or significant). Any other supported 295 * floating point formats are expected to be cased on the ISA processor 296 * symbol. 297 * 298 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 299 * The C Compiler implements objects of type `char' as `unsigned' or 300 * `signed' respectively. This is really an implementation choice of 301 * the compiler writer, but it is specified in the ABI and tends to 302 * be uniform across compilers for an instruction set architecture. 303 * Hence, it has the properties of a processor characteristic. 304 * 305 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 306 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 307 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 308 * The ABI defines alignment requirements of each of the primitive 309 * object types. Some, if not all, may be hardware requirements as 310 * well. The values are expressed in "byte-alignment" units. 311 * 312 * _MAX_ALIGNMENT: 313 * The most stringent alignment requirement as specified by the ABI. 314 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 315 * 316 * _MAX_ALIGNMENT_TYPE: 317 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 318 * 319 * _ALIGNMENT_REQUIRED: 320 * True or false (1 or 0) whether or not the hardware requires the ABI 321 * alignment. 322 * 323 * _LONG_LONG_ALIGNMENT_32 324 * The 32-bit ABI supported by a 64-bit kernel may have different 325 * alignment requirements for primitive object types. The value of this 326 * identifier is expressed in "byte-alignment" units. 327 * 328 * _HAVE_CPUID_INSN 329 * This indicates that the architecture supports the 'cpuid' 330 * instruction as defined by Intel. (Intel allows other vendors 331 * to extend the instruction for their own purposes.) 332 * 333 * 334 * Implementation Choices: 335 * 336 * _ILP32 / _LP64: 337 * This specifies the compiler data type implementation as specified in 338 * the relevant ABI. The choice between these is strongly influenced 339 * by the underlying hardware, but is not absolutely tied to it. 340 * Currently only two data type models are supported: 341 * 342 * _ILP32: 343 * Int/Long/Pointer are 32 bits. This is the historical UNIX 344 * and Solaris implementation. Due to its historical standing, 345 * this is the default case. 346 * 347 * _LP64: 348 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 349 * implementation for 64-bit ABIs such as SPARC V9. 350 * 351 * _I32LPx: 352 * A compilation environment where 'int' is 32-bit, and 353 * longs and pointers are simply the same size. 354 * 355 * In all cases, Char is 8 bits and Short is 16 bits. 356 * 357 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 358 * This specifies the form of the disk VTOC (or label): 359 * 360 * _SUNOS_VTOC_8: 361 * This is a VTOC form which is upwardly compatible with the 362 * SunOS 4.x disk label and allows 8 partitions per disk. 363 * 364 * _SUNOS_VTOC_16: 365 * In this format the incore vtoc image matches the ondisk 366 * version. It allows 16 slices per disk, and is not 367 * compatible with the SunOS 4.x disk label. 368 * 369 * Note that these are not the only two VTOC forms possible and 370 * additional forms may be added. One possible form would be the 371 * SVr4 VTOC form. The symbol for that is reserved now, although 372 * it is not implemented. 373 * 374 * _SVR4_VTOC_16: 375 * This VTOC form is compatible with the System V Release 4 376 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 377 * 16 partitions per disk. 378 * 379 * 380 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 381 * This describes the type of addresses used by system DMA: 382 * 383 * _DMA_USES_PHYSADDR: 384 * This type of DMA, used in the x86 implementation, 385 * requires physical addresses for DMA buffers. The 24-bit 386 * addresses used by some legacy boards is the source of the 387 * "low-memory" (<16MB) requirement for some devices using DMA. 388 * 389 * _DMA_USES_VIRTADDR: 390 * This method of DMA allows the use of virtual addresses for 391 * DMA transfers. 392 * 393 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 394 * This indicates the presence/absence of an fdisk table. 395 * 396 * _FIRMWARE_NEEDS_FDISK 397 * The fdisk table is required by system firmware. If present, 398 * it allows a disk to be subdivided into multiple fdisk 399 * partitions, each of which is equivalent to a separate, 400 * virtual disk. This enables the co-existence of multiple 401 * operating systems on a shared hard disk. 402 * 403 * _NO_FDISK_PRESENT 404 * If the fdisk table is absent, it is assumed that the entire 405 * media is allocated for a single operating system. 406 * 407 * _HAVE_TEM_FIRMWARE 408 * Defined if this architecture has the (fallback) option of 409 * using prom_* calls for doing I/O if a suitable kernel driver 410 * is not available to do it. 411 * 412 * _DONT_USE_1275_GENERIC_NAMES 413 * Controls whether or not device tree node names should 414 * comply with the IEEE 1275 "Generic Names" Recommended 415 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 416 * names identifying the particular device will be used. 417 * 418 * __i386_COMPAT 419 * This indicates whether the i386 ABI is supported as a *non-native* 420 * mode for the platform. When this symbol is defined: 421 * - 32-bit xstat-style system calls are enabled 422 * - 32-bit xmknod-style system calls are enabled 423 * - 32-bit system calls use i386 sizes -and- alignments 424 * 425 * Note that this is NOT defined for the i386 native environment! 426 * 427 * __x86 428 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 429 * which is useful only insofar as these two architectures share 430 * common attributes. Analogous to __sparc. 431 * 432 * _PSM_MODULES 433 * This indicates whether or not the implementation uses PSM 434 * modules for processor support, reading /etc/mach from inside 435 * the kernel to extract a list. 436 * 437 * _RTC_CONFIG 438 * This indicates whether or not the implementation uses /etc/rtc_config 439 * to configure the real-time clock in the kernel. 440 * 441 * _UNIX_KRTLD 442 * This indicates that the implementation uses a dynamically 443 * linked unix + krtld to form the core kernel image at boot 444 * time, or (in the absence of this symbol) a prelinked kernel image. 445 * 446 * _OBP 447 * This indicates the firmware interface is OBP. 448 * 449 * _SOFT_HOSTID 450 * This indicates that the implementation obtains the hostid 451 * from the file /etc/hostid, rather than from hardware. 452 */ 453 454 455 456 457 458 /* 459 * The following set of definitions characterize Solaris on AMD's 460 * 64-bit systems. 461 */ 462 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 463 /* 464 * Define the appropriate "processor characteristics" 465 */ 466 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 467 /* 468 * Different alignment constraints for the i386 ABI in compatibility mode 469 */ 470 471 472 /* 473 * Define the appropriate "implementation choices". 474 */ 475 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 476 /* 477 * The feature test macro __i386 is generic for all processors implementing 478 * the Intel 386 instruction set or a superset of it. Specifically, this 479 * includes all members of the 386, 486, and Pentium family of processors. 480 */ 481 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 482 483 484 485 486 487 /* 488 * Values of _POSIX_C_SOURCE 489 * 490 * undefined not a POSIX compilation 491 * 1 POSIX.1-1990 compilation 492 * 2 POSIX.2-1992 compilation 493 * 199309L POSIX.1b-1993 compilation (Real Time) 494 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 495 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 496 * 200809L POSIX.1-2008 compilation 497 */ 498 499 500 501 502 /* 503 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 504 * and _STDC_C99 are Sun implementation specific macros created in order to 505 * compress common standards specified feature test macros for easier reading. 506 * These macros should not be used by the application developer as 507 * unexpected results may occur. Instead, the user should reference 508 * standards(5) for correct usage of the standards feature test macros. 509 * 510 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 511 * X/Open or POSIX or in the negative, when neither 512 * X/Open or POSIX defines a symbol. 513 * 514 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 515 * by the compiler. For Sun compilers the value of 516 * __STDC__ is either 1, 0, or not defined based on the 517 * compilation mode (see cc(1)). When the value of 518 * __STDC__ is 1 and in the absence of any other feature 519 * test macros, the namespace available to the application 520 * is limited to only those symbols defined by the C 521 * Standard. _STRICT_STDC provides a more readable means 522 * of identifying symbols defined by the standard, or in 523 * the negative, symbols that are extensions to the C 524 * Standard. See additional comments for GNU C differences. 525 * 526 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 527 * defined by the compiler and indicates the version of 528 * the C standard. A value of 199901L indicates a 529 * compiler that complies with ISO/IEC 9899:1999, other- 530 * wise known as the C99 standard. 531 * 532 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 533 * is 201112L indicating a compiler that compiles with 534 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 535 * 536 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 537 * by the standards, and the user has not explicitly 538 * relaxed the strictness via __EXTENSIONS__. 539 */ 540 541 542 543 544 545 /* 546 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 547 * 99899:2011 specify the following predefined macro name: 548 * 549 * __STDC__ The integer constant 1, intended to indicate a conforming 550 * implementation. 551 * 552 * Furthermore, a strictly conforming program shall use only those features 553 * of the language and library specified in these standards. A conforming 554 * implementation shall accept any strictly conforming program. 555 * 556 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 557 * strictly conforming environments and __STDC__ to 0 for environments that 558 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 559 * C semantics, Sun's C compiler does not define __STDC__. 560 * 561 * The GNU C project interpretation is that __STDC__ should always be defined 562 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 563 * or not extensions to the C standard are used. Violations of conforming 564 * behavior are conditionally flagged as warnings via the use of the 565 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 566 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 567 * conforming environments using the -ansi or -std=<standard> options. 568 * 569 * In the absence of any other compiler options, Sun and GNU set the value 570 * of __STDC__ as follows when using the following options: 571 * 572 * Value of __STDC__ __STRICT_ANSI__ 573 * 574 * cc -Xa (default) 0 undefined 575 * cc -Xt (transitional) 0 undefined 576 * cc -Xc (strictly conforming) 1 undefined 577 * cc -Xs (K&R C) undefined undefined 578 * 579 * gcc (default) 1 undefined 580 * gcc -ansi, -std={c89, c99,...) 1 defined 581 * gcc -traditional (K&R) undefined undefined 582 * 583 * The default compilation modes for Sun C compilers versus GNU C compilers 584 * results in a differing value for __STDC__ which results in a more 585 * restricted namespace when using Sun compilers. To allow both GNU and Sun 586 * interpretations to peacefully co-exist, we use the following Sun 587 * implementation _STRICT_STDC_ macro: 588 */ 589 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 590 /* 591 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 592 */ 593 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 594 /* 595 * Use strict symbol visibility. 596 */ 597 598 599 600 601 602 /* 603 * Large file interfaces: 604 * 605 * _LARGEFILE_SOURCE 606 * 1 large file-related additions to POSIX 607 * interfaces requested (fseeko, etc.) 608 * _LARGEFILE64_SOURCE 609 * 1 transitional large-file-related interfaces 610 * requested (seek64, stat64, etc.) 611 * 612 * The corresponding announcement macros are respectively: 613 * _LFS_LARGEFILE 614 * _LFS64_LARGEFILE 615 * (These are set in <unistd.h>.) 616 * 617 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 618 * well. 619 * 620 * The large file interfaces are made visible regardless of the initial values 621 * of the feature test macros under certain circumstances: 622 * - If no explicit standards-conforming environment is requested (neither 623 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 624 * __STDC__ does not imply standards conformance). 625 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 626 * is defined). 627 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 628 * defined). (Note that this dependency is an artifact of the current 629 * kernel implementation and may change in future releases.) 630 */ 631 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 632 /* 633 * Large file compilation environment control: 634 * 635 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 636 * types and governs the mapping between file-related source function symbol 637 * names and the corresponding binary entry points. 638 * 639 * In the 32-bit environment, the default value is 32; if not set, set it to 640 * the default here, to simplify tests in other headers. 641 * 642 * In the 64-bit compilation environment, the only value allowed is 64. 643 */ 644 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 645 /* 646 * Use of _XOPEN_SOURCE 647 * 648 * The following X/Open specifications are supported: 649 * 650 * X/Open Portability Guide, Issue 3 (XPG3) 651 * X/Open CAE Specification, Issue 4 (XPG4) 652 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 653 * X/Open CAE Specification, Issue 5 (XPG5) 654 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 655 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 656 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 657 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 658 * 659 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 660 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 661 * Version 2 (SUSv2) 662 * XPG6 is the result of a merge of the X/Open and POSIX specifications 663 * and as such is also referred to as IEEE Std. 1003.1-2001 in 664 * addition to UNIX 03 and SUSv3. 665 * XPG7 is also referred to as UNIX 08 and SUSv4. 666 * 667 * When writing a conforming X/Open application, as per the specification 668 * requirements, the appropriate feature test macros must be defined at 669 * compile time. These are as follows. For more info, see standards(5). 670 * 671 * Feature Test Macro Specification 672 * ------------------------------------------------ ------------- 673 * _XOPEN_SOURCE XPG3 674 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 675 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 676 * _XOPEN_SOURCE = 500 XPG5 677 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 678 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 679 * 680 * In order to simplify the guards within the headers, the following 681 * implementation private test macros have been created. Applications 682 * must NOT use these private test macros as unexpected results will 683 * occur. 684 * 685 * Note that in general, the use of these private macros is cumulative. 686 * For example, the use of _XPG3 with no other restrictions on the X/Open 687 * namespace will make the symbols visible for XPG3 through XPG6 688 * compilation environments. The use of _XPG4_2 with no other X/Open 689 * namespace restrictions indicates that the symbols were introduced in 690 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 691 * environments, but not for XPG3 or XPG4 compilation environments. 692 * 693 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 694 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 695 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 696 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 697 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 698 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 699 */ 700 701 /* X/Open Portability Guide, Issue 3 */ 702 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 703 /* 704 * _XOPEN_VERSION is defined by the X/Open specifications and is not 705 * normally defined by the application, except in the case of an XPG4 706 * application. On the implementation side, _XOPEN_VERSION defined with 707 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 708 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 709 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 710 * application and with a value of 600 indicates an XPG6 (UNIX 03) 711 * application and with a value of 700 indicates an XPG7 (UNIX 08). 712 * The appropriate version is determined by the use of the 713 * feature test macros described earlier. The value of _XOPEN_VERSION 714 * defaults to 3 otherwise indicating support for XPG3 applications. 715 */ 716 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 717 /* 718 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 719 * conforming environments. ISO 9899:1999 says it does. 720 * 721 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 722 * defined in all but strictly conforming environments that disallow it. 723 */ 724 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 725 /* 726 * The following macro defines a value for the ISO C99 restrict 727 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 728 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 729 * if any other compiler is used. This allows for the use of single 730 * prototype declarations regardless of compiler version. 731 */ 732 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 733 /* 734 * The following macro defines a value for the ISO C11 _Noreturn 735 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 736 * an ISO C11 compiler is used and "" (null string) if any other 737 * compiler is used. This allows for the use of single prototype 738 * declarations regardless of compiler version. 739 */ 740 741 742 743 744 745 746 747 /* 748 * The following macro indicates header support for the ANSI C++ 749 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 750 */ 751 752 753 /* 754 * The following macro indicates header support for the C99 standard, 755 * ISO/IEC 9899:1999, Programming Languages - C. 756 */ 757 758 759 /* 760 * The following macro indicates header support for the C99 standard, 761 * ISO/IEC 9899:2011, Programming Languages - C. 762 */ 763 764 765 /* 766 * The following macro indicates header support for DTrace. The value is an 767 * integer that corresponds to the major version number for DTrace. 768 */ 769 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 770 771 772 773 774 775 /* 776 * Do all of our 'redefine_extname' processing before 777 * declarations of the associated functions are seen. 778 * This is necessary to keep gcc happy. 779 */ 780 781 782 /* large file compilation environment setup */ 783 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 784 /* In the LP64 compilation environment, all APIs are already large file */ 785 786 787 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 788 #pragma redefine_extname fopen64 fopen 789 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 790 791 792 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 793 #pragma redefine_extname freopen64 freopen 794 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 795 796 797 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 798 #pragma redefine_extname tmpfile64 tmpfile 799 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 800 801 802 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 803 #pragma redefine_extname fgetpos64 fgetpos 804 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 805 806 807 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 808 #pragma redefine_extname fsetpos64 fsetpos 809 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 810 811 812 813 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 814 #pragma redefine_extname fseeko64 fseeko 815 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 816 817 818 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 819 #pragma redefine_extname ftello64 ftello 820 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 821 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 822 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 823 /* 824 * CDDL HEADER START 825 * 826 * The contents of this file are subject to the terms of the 827 * Common Development and Distribution License, Version 1.0 only 828 * (the "License"). You may not use this file except in compliance 829 * with the License. 830 * 831 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 832 * or http://www.opensolaris.org/os/licensing. 833 * See the License for the specific language governing permissions 834 * and limitations under the License. 835 * 836 * When distributing Covered Code, include this CDDL HEADER in each 837 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 838 * If applicable, add the following below this CDDL HEADER, with the 839 * fields enclosed by brackets "[]" replaced with your own identifying 840 * information: Portions Copyright [yyyy] [name of copyright owner] 841 * 842 * CDDL HEADER END 843 */ 844 /* 845 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 846 * Copyright 2014 PALO, Richard. 847 * 848 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 849 * Use is subject to license terms. 850 */ 851 852 /* Copyright (c) 1988 AT&T */ 853 /* All Rights Reserved */ 854 855 /* 856 * An application should not include this header directly. Instead it 857 * should be included only through the inclusion of other Sun headers. 858 * 859 * The contents of this header is limited to identifiers specified in the 860 * C Standard. Any new identifiers specified in future amendments to the 861 * C Standard must be placed in this header. If these new identifiers 862 * are required to also be in the C++ Standard "std" namespace, then for 863 * anything other than macro definitions, corresponding "using" directives 864 * must also be added to <stdio.h>. 865 */ 866 867 /* 868 * User-visible pieces of the ANSI C standard I/O package. 869 */ 870 871 872 873 874 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 875 /* 876 * CDDL HEADER START 877 * 878 * The contents of this file are subject to the terms of the 879 * Common Development and Distribution License (the "License"). 880 * You may not use this file except in compliance with the License. 881 * 882 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 883 * or http://www.opensolaris.org/os/licensing. 884 * See the License for the specific language governing permissions 885 * and limitations under the License. 886 * 887 * When distributing Covered Code, include this CDDL HEADER in each 888 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 889 * If applicable, add the following below this CDDL HEADER, with the 890 * fields enclosed by brackets "[]" replaced with your own identifying 891 * information: Portions Copyright [yyyy] [name of copyright owner] 892 * 893 * CDDL HEADER END 894 */ 895 896 /* 897 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 898 * Copyright 2016 Joyent, Inc. 899 * 900 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 901 * Use is subject to license terms. 902 */ 903 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 904 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 905 /* 906 * This file and its contents are supplied under the terms of the 907 * Common Development and Distribution License ("CDDL"), version 1.0. 908 * You may only use this file in accordance with the terms of version 909 * 1.0 of the CDDL. 910 * 911 * A full copy of the text of the CDDL should have accompanied this 912 * source. A copy of the CDDL is also available via the Internet at 913 * http://www.illumos.org/license/CDDL. 914 */ 915 916 /* 917 * Copyright 2014-2016 PALO, Richard. 918 */ 919 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 920 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 921 /* 922 * CDDL HEADER START 923 * 924 * The contents of this file are subject to the terms of the 925 * Common Development and Distribution License, Version 1.0 only 926 * (the "License"). You may not use this file except in compliance 927 * with the License. 928 * 929 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 930 * or http://www.opensolaris.org/os/licensing. 931 * See the License for the specific language governing permissions 932 * and limitations under the License. 933 * 934 * When distributing Covered Code, include this CDDL HEADER in each 935 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 936 * If applicable, add the following below this CDDL HEADER, with the 937 * fields enclosed by brackets "[]" replaced with your own identifying 938 * information: Portions Copyright [yyyy] [name of copyright owner] 939 * 940 * CDDL HEADER END 941 */ 942 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 943 /* All Rights Reserved */ 944 945 946 /* 947 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 948 * 949 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 950 * Use is subject to license terms. 951 */ 952 953 954 955 956 /* 957 * An application should not include this header directly. Instead it 958 * should be included only through the inclusion of other Sun headers. 959 * 960 * The purpose of this header is to provide the type definitions for 961 * the va_list argument used by a number of printf and printf like 962 * functions. The headers that define these various function prototypes 963 * #include this header directly. These include but are not necessarily 964 * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and 965 * <syslog.h>. The type definitions included in this header are for 966 * the benefit of consumers of va_list. 967 * 968 * Any application that accepts variable argument lists must as documented, 969 * include either <varargs.h> or the preferred <stdarg.h>. Doing so will 970 * pull in the appropriate compiler protocols defined in <sys/va_impl.h> 971 * which is in turn is included by <varargs.h> and <stdarg.h>. See comments 972 * in <sys/va_impl.h> for more detailed information regarding implementation 973 * and compiler specific protocols. 974 */ 975 976 /* 977 * The common definitions exported by this header or compilers using 978 * this header are: 979 * 980 * the identifier __builtin_va_alist for the variable list pseudo parameter 981 * the type __va_alist_type for the variable list pseudo parameter 982 * the type __va_list defining the type of the variable list iterator 983 * 984 * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros 985 * (__GNUC__) and processor macros (e.g. __amd64) are intended to be 986 * defined by the compilation system, not the user of the system. 987 */ 988 989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 990 /* 991 * CDDL HEADER START 992 * 993 * The contents of this file are subject to the terms of the 994 * Common Development and Distribution License (the "License"). 995 * You may not use this file except in compliance with the License. 996 * 997 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 998 * or http://www.opensolaris.org/os/licensing. 999 * See the License for the specific language governing permissions 1000 * and limitations under the License. 1001 * 1002 * 1003 * When distributing Covered Code, include this CDDL HEADER in each 1004 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1005 * If applicable, add the following below this CDDL HEADER, with the 1006 * fields enclosed by brackets "[]" replaced with your own identifying 1007 * information: Portions Copyright [yyyy] [name of copyright owner] 1008 * 1009 * CDDL HEADER END 1010 */ 1011 1012 /* 1013 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1014 * Use is subject to license terms. 1015 * Copyright 2016 Joyent, Inc. 1016 */ 1017 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 1018 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1019 typedef __builtin_va_list __gnuc_va_list; 1020 /* 1021 * XX64 This seems unnecessary .. but is needed because vcmn_err is 1022 * defined with __va_list instead of plain old va_list. 1023 * Perhaps that should be fixed! 1024 */ 1025 typedef __builtin_va_list __va_list; 1026 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 1028 /* 1029 * CDDL HEADER START 1030 * 1031 * The contents of this file are subject to the terms of the 1032 * Common Development and Distribution License, Version 1.0 only 1033 * (the "License"). You may not use this file except in compliance 1034 * with the License. 1035 * 1036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1037 * or http://www.opensolaris.org/os/licensing. 1038 * See the License for the specific language governing permissions 1039 * and limitations under the License. 1040 * 1041 * When distributing Covered Code, include this CDDL HEADER in each 1042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1043 * If applicable, add the following below this CDDL HEADER, with the 1044 * fields enclosed by brackets "[]" replaced with your own identifying 1045 * information: Portions Copyright [yyyy] [name of copyright owner] 1046 * 1047 * CDDL HEADER END 1048 */ 1049 /* 1050 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1051 * Use is subject to license terms. 1052 */ 1053 1054 1055 1056 1057 #pragma ident "%Z%%M% %I% %E% SMI" 1058 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1059 typedef struct __FILE __FILE; 1060 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1061 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 1062 /* 1063 * CDDL HEADER START 1064 * 1065 * The contents of this file are subject to the terms of the 1066 * Common Development and Distribution License (the "License"). 1067 * You may not use this file except in compliance with the License. 1068 * 1069 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1070 * or http://www.opensolaris.org/os/licensing. 1071 * See the License for the specific language governing permissions 1072 * and limitations under the License. 1073 * 1074 * When distributing Covered Code, include this CDDL HEADER in each 1075 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1076 * If applicable, add the following below this CDDL HEADER, with the 1077 * fields enclosed by brackets "[]" replaced with your own identifying 1078 * information: Portions Copyright [yyyy] [name of copyright owner] 1079 * 1080 * CDDL HEADER END 1081 */ 1082 1083 /* 1084 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1085 * Use is subject to license terms. 1086 */ 1087 1088 1089 1090 1091 #pragma ident "%Z%%M% %I% %E% SMI" 1092 1093 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 1094 /* 1095 * CDDL HEADER START 1096 * 1097 * The contents of this file are subject to the terms of the 1098 * Common Development and Distribution License (the "License"). 1099 * You may not use this file except in compliance with the License. 1100 * 1101 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1102 * or http://www.opensolaris.org/os/licensing. 1103 * See the License for the specific language governing permissions 1104 * and limitations under the License. 1105 * 1106 * 1107 * When distributing Covered Code, include this CDDL HEADER in each 1108 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1109 * If applicable, add the following below this CDDL HEADER, with the 1110 * fields enclosed by brackets "[]" replaced with your own identifying 1111 * information: Portions Copyright [yyyy] [name of copyright owner] 1112 * 1113 * CDDL HEADER END 1114 */ 1115 1116 /* 1117 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 1118 * Use is subject to license terms. 1119 * Copyright 2016 Joyent, Inc. 1120 */ 1121 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 1122 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1123 struct __FILE { 1124 long __pad[16]; 1125 }; 1126 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 1127 1128 /* 1129 * If feature test macros are set that enable interfaces that use types 1130 * defined in <sys/types.h>, get those types by doing the include. 1131 * 1132 * Note that in asking for the interfaces associated with this feature test 1133 * macro one also asks for definitions of the POSIX types. 1134 */ 1135 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1136 typedef __FILE FILE; 1137 1138 1139 1140 1141 1142 typedef unsigned long size_t; /* size of something in bytes */ 1143 1144 1145 1146 1147 1148 1149 typedef long fpos_t; 1150 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1151 /* 1152 * The value of _NFILE is defined in the Processor Specific ABI. The value 1153 * is chosen for historical reasons rather than for truly processor related 1154 * attribute. Note that the SPARC Processor Specific ABI uses the common 1155 * UNIX historical value of 20 so it is allowed to fall through. 1156 */ 1157 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1158 extern __FILE __iob[20]; 1159 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1160 extern int remove(const char *); 1161 extern int rename(const char *, const char *); 1162 extern FILE *tmpfile(void); 1163 extern char *tmpnam(char *); 1164 extern int fclose(FILE *); 1165 extern int fflush(FILE *); 1166 extern FILE *fopen(const char *, const char *); 1167 extern FILE *freopen(const char *, 1168 const char *, FILE *); 1169 extern void setbuf(FILE *, char *); 1170 extern int setvbuf(FILE *, char *, int, 1171 size_t); 1172 /* PRINTFLIKE2 */ 1173 extern int fprintf(FILE *, const char *, ...); 1174 /* SCANFLIKE2 */ 1175 extern int fscanf(FILE *, const char *, ...); 1176 /* PRINTFLIKE1 */ 1177 extern int printf(const char *, ...); 1178 /* SCANFLIKE1 */ 1179 extern int scanf(const char *, ...); 1180 /* PRINTFLIKE2 */ 1181 extern int sprintf(char *, const char *, ...); 1182 /* SCANFLIKE2 */ 1183 extern int sscanf(const char *, 1184 const char *, ...); 1185 extern int vfprintf(FILE *, const char *, 1186 __va_list); 1187 extern int vprintf(const char *, __va_list); 1188 extern int vsprintf(char *, const char *, 1189 __va_list); 1190 extern int fgetc(FILE *); 1191 extern char *fgets(char *, int, FILE *); 1192 extern int fputc(int, FILE *); 1193 extern int fputs(const char *, FILE *); 1194 1195 1196 extern int getc(FILE *); 1197 extern int putc(int, FILE *); 1198 1199 1200 1201 extern int getchar(void); 1202 extern int putchar(int); 1203 1204 1205 /* 1206 * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 1207 * environment has been requested, we remove it. 1208 */ 1209 1210 extern char *gets(char *); 1211 1212 extern int puts(const char *); 1213 extern int ungetc(int, FILE *); 1214 extern size_t fread(void *, size_t, size_t, 1215 FILE *); 1216 extern size_t fwrite(const void *, size_t, size_t, 1217 FILE *); 1218 1219 extern int fgetpos(FILE *, fpos_t *); 1220 extern int fsetpos(FILE *, const fpos_t *); 1221 1222 extern int fseek(FILE *, long, int); 1223 extern long ftell(FILE *); 1224 extern void rewind(FILE *); 1225 1226 1227 extern void clearerr(FILE *); 1228 extern int feof(FILE *); 1229 extern int ferror(FILE *); 1230 1231 extern void perror(const char *); 1232 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1233 1234 /* 1235 * If feature test macros are set that enable interfaces that use types 1236 * defined in <sys/types.h>, get those types by doing the include. 1237 * 1238 * Note that in asking for the interfaces associated with this feature test 1239 * macro one also asks for definitions of the POSIX types. 1240 */ 1241 1242 /* 1243 * Allow global visibility for symbols defined in 1244 * C++ "std" namespace in <iso/stdio_iso.h>. 1245 */ 1246 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1247 /* 1248 * This header needs to be included here because it relies on the global 1249 * visibility of FILE and size_t in the C++ environment. 1250 */ 1251 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 1252 /* 1253 * CDDL HEADER START 1254 * 1255 * The contents of this file are subject to the terms of the 1256 * Common Development and Distribution License, Version 1.0 only 1257 * (the "License"). You may not use this file except in compliance 1258 * with the License. 1259 * 1260 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1261 * or http://www.opensolaris.org/os/licensing. 1262 * See the License for the specific language governing permissions 1263 * and limitations under the License. 1264 * 1265 * When distributing Covered Code, include this CDDL HEADER in each 1266 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1267 * If applicable, add the following below this CDDL HEADER, with the 1268 * fields enclosed by brackets "[]" replaced with your own identifying 1269 * information: Portions Copyright [yyyy] [name of copyright owner] 1270 * 1271 * CDDL HEADER END 1272 */ 1273 /* 1274 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1275 * 1276 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1277 * Use is subject to license terms. 1278 */ 1279 1280 /* 1281 * An application should not include this header directly. Instead it 1282 * should be included only through the inclusion of other Sun headers. 1283 * 1284 * The contents of this header is limited to identifiers specified in 1285 * the C99 standard and in conflict with the C++ implementation of the 1286 * standard header. The C++ standard may adopt the C99 standard at 1287 * which point it is expected that the symbols included here will 1288 * become part of the C++ std namespace. 1289 */ 1290 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1291 /* 1292 * The following have been added as a result of the ISO/IEC 9899:1999 1293 * standard. For a strictly conforming C application, visibility is 1294 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1295 * For non-strictly conforming C applications, there are no restrictions 1296 * on the C namespace. 1297 */ 1298 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1299 extern int vfscanf(FILE *, const char *, __va_list); 1300 extern int vscanf(const char *, __va_list); 1301 extern int vsscanf(const char *, const char *, 1302 __va_list); 1303 1304 1305 1306 1307 extern int snprintf(char *, size_t, const char *, 1308 ...); 1309 extern int vsnprintf(char *, size_t, const char *, 1310 __va_list); 1311 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 1312 # 161 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1313 typedef long off_t; 1314 1315 1316 1317 1318 1319 typedef off_t off64_t; 1320 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1321 typedef fpos_t fpos64_t; 1322 1323 1324 1325 1326 1327 /* 1328 * XPG4 requires that va_list be defined in <stdio.h> "as described in 1329 * <stdarg.h>". ANSI-C and POSIX require that the namespace of <stdio.h> 1330 * not be polluted with this name. 1331 */ 1332 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1333 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1334 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1335 extern unsigned char _sibuf[], _sobuf[]; 1336 1337 1338 /* large file compilation environment setup */ 1339 # 241 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1340 /* In the LP64 compilation environment, all APIs are already large file */ 1341 # 259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1342 typedef long ssize_t; /* size of something in bytes or -1 */ 1343 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1344 extern char *tmpnam_r(char *); 1345 1346 1347 1348 1349 extern int fcloseall(void); 1350 extern void setbuffer(FILE *, char *, size_t); 1351 extern int setlinebuf(FILE *); 1352 /* PRINTFLIKE2 */ 1353 extern int asprintf(char **, const char *, ...); 1354 /* PRINTFLIKE2 */ 1355 extern int vasprintf(char **, const char *, __va_list); 1356 1357 1358 1359 1360 /* || defined(_XPG7) */ 1361 extern ssize_t getdelim(char **, size_t *, 1362 int, FILE *); 1363 extern ssize_t getline(char **, size_t *, 1364 FILE *); 1365 1366 1367 /* 1368 * The following are known to POSIX and XOPEN, but not to ANSI-C. 1369 */ 1370 1371 1372 1373 extern FILE *fdopen(int, const char *); 1374 extern char *ctermid(char *); 1375 extern int fileno(FILE *); 1376 1377 1378 1379 /* 1380 * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. 1381 */ 1382 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1383 /* 1384 * The following are known to XOPEN, but not to ANSI-C or POSIX. 1385 */ 1386 1387 1388 extern FILE *popen(const char *, const char *); 1389 extern char *tempnam(const char *, const char *); 1390 extern int pclose(FILE *); 1391 1392 extern int getsubopt(char **, char *const *, char **); 1393 1394 1395 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1396 1397 extern char *cuserid(char *); 1398 extern int getopt(int, char *const *, const char *); 1399 extern char *optarg; 1400 extern int optind, opterr, optopt; 1401 extern int getw(FILE *); 1402 extern int putw(int, FILE *); 1403 1404 1405 1406 1407 /* 1408 * The following are defined as part of the Large File Summit interfaces. 1409 */ 1410 1411 extern int fseeko(FILE *, off_t, int); 1412 extern off_t ftello(FILE *); 1413 1414 1415 /* 1416 * The following are defined as part of the transitional Large File Summit 1417 * interfaces. 1418 */ 1419 1420 1421 extern FILE *fopen64(const char *, const char *); 1422 extern FILE *freopen64(const char *, const char *, FILE *); 1423 extern FILE *tmpfile64(void); 1424 extern int fgetpos64(FILE *, fpos64_t *); 1425 extern int fsetpos64(FILE *, const fpos64_t *); 1426 extern int fseeko64(FILE *, off64_t, int); 1427 extern off64_t ftello64(FILE *); 1428 1429 1430 /* 1431 * XPG7 symbols 1432 */ 1433 1434 extern FILE *fmemopen(void *, size_t, 1435 const char *); 1436 extern FILE *open_memstream(char **, size_t *); 1437 # 51 "../common/zones_str.c" 2 1438 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 1439 /* 1440 * CDDL HEADER START 1441 * 1442 * The contents of this file are subject to the terms of the 1443 * Common Development and Distribution License (the "License"). 1444 * You may not use this file except in compliance with the License. 1445 * 1446 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1447 * or http://www.opensolaris.org/os/licensing. 1448 * See the License for the specific language governing permissions 1449 * and limitations under the License. 1450 * 1451 * When distributing Covered Code, include this CDDL HEADER in each 1452 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1453 * If applicable, add the following below this CDDL HEADER, with the 1454 * fields enclosed by brackets "[]" replaced with your own identifying 1455 * information: Portions Copyright [yyyy] [name of copyright owner] 1456 * 1457 * CDDL HEADER END 1458 */ 1459 1460 /* 1461 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1462 * Copyright (c) 2013 Gary Mills 1463 * 1464 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 1465 */ 1466 1467 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 1468 1469 /* Copyright (c) 1988 AT&T */ 1470 /* All Rights Reserved */ 1471 1472 1473 1474 1475 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 1476 /* 1477 * CDDL HEADER START 1478 * 1479 * The contents of this file are subject to the terms of the 1480 * Common Development and Distribution License, Version 1.0 only 1481 * (the "License"). You may not use this file except in compliance 1482 * with the License. 1483 * 1484 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1485 * or http://www.opensolaris.org/os/licensing. 1486 * See the License for the specific language governing permissions 1487 * and limitations under the License. 1488 * 1489 * When distributing Covered Code, include this CDDL HEADER in each 1490 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1491 * If applicable, add the following below this CDDL HEADER, with the 1492 * fields enclosed by brackets "[]" replaced with your own identifying 1493 * information: Portions Copyright [yyyy] [name of copyright owner] 1494 * 1495 * CDDL HEADER END 1496 */ 1497 /* 1498 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1499 * Copyright 2014 PALO, Richard. 1500 * 1501 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1502 * Use is subject to license terms. 1503 */ 1504 1505 /* Copyright (c) 1988 AT&T */ 1506 /* All Rights Reserved */ 1507 1508 1509 /* 1510 * An application should not include this header directly. Instead it 1511 * should be included only through the inclusion of other Sun headers. 1512 * 1513 * The contents of this header is limited to identifiers specified in the 1514 * C Standard. Any new identifiers specified in future amendments to the 1515 * C Standard must be placed in this header. If these new identifiers 1516 * are required to also be in the C++ Standard "std" namespace, then for 1517 * anything other than macro definitions, corresponding "using" directives 1518 * must also be added to <locale.h>. 1519 */ 1520 1521 1522 1523 1524 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1525 /* 1526 * CDDL HEADER START 1527 * 1528 * The contents of this file are subject to the terms of the 1529 * Common Development and Distribution License (the "License"). 1530 * You may not use this file except in compliance with the License. 1531 * 1532 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1533 * or http://www.opensolaris.org/os/licensing. 1534 * See the License for the specific language governing permissions 1535 * and limitations under the License. 1536 * 1537 * When distributing Covered Code, include this CDDL HEADER in each 1538 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1539 * If applicable, add the following below this CDDL HEADER, with the 1540 * fields enclosed by brackets "[]" replaced with your own identifying 1541 * information: Portions Copyright [yyyy] [name of copyright owner] 1542 * 1543 * CDDL HEADER END 1544 */ 1545 1546 /* 1547 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1548 * Copyright 2016 Joyent, Inc. 1549 * 1550 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1551 * Use is subject to license terms. 1552 */ 1553 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1554 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 1555 /* 1556 * This file and its contents are supplied under the terms of the 1557 * Common Development and Distribution License ("CDDL"), version 1.0. 1558 * You may only use this file in accordance with the terms of version 1559 * 1.0 of the CDDL. 1560 * 1561 * A full copy of the text of the CDDL should have accompanied this 1562 * source. A copy of the CDDL is also available via the Internet at 1563 * http://www.illumos.org/license/CDDL. 1564 */ 1565 1566 /* 1567 * Copyright 2014-2016 PALO, Richard. 1568 */ 1569 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 1570 1571 1572 1573 1574 1575 unsigned char __mb_cur_max(void); 1576 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1577 typedef struct { 1578 int quot; 1579 int rem; 1580 } div_t; 1581 1582 typedef struct { 1583 long quot; 1584 long rem; 1585 } ldiv_t; 1586 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1587 /* 1588 * wchar_t is a built-in type in standard C++ and as such is not 1589 * defined here when using standard C++. However, the GNU compiler 1590 * fixincludes utility nonetheless creates its own version of this 1591 * header for use by gcc and g++. In that version it adds a redundant 1592 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 1593 * header we need to include the following magic comment: 1594 * 1595 * we must use the C++ compiler's type 1596 * 1597 * The above comment should not be removed or changed until GNU 1598 * gcc/fixinc/inclhack.def is updated to bypass this header. 1599 */ 1600 1601 1602 1603 1604 typedef int wchar_t; 1605 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1606 extern void abort(void) __attribute__((__noreturn__)); 1607 extern int abs(int); 1608 extern int atexit(void (*)(void)); 1609 extern double atof(const char *); 1610 extern int atoi(const char *); 1611 extern long int atol(const char *); 1612 extern void *bsearch(const void *, const void *, size_t, size_t, 1613 int (*)(const void *, const void *)); 1614 1615 1616 1617 1618 1619 1620 extern void *calloc(size_t, size_t); 1621 extern div_t div(int, int); 1622 extern void exit(int) 1623 __attribute__((__noreturn__)); 1624 extern void free(void *); 1625 extern char *getenv(const char *); 1626 extern long int labs(long); 1627 extern ldiv_t ldiv(long, long); 1628 extern void *malloc(size_t); 1629 extern int mblen(const char *, size_t); 1630 extern size_t mbstowcs(wchar_t *, const char *, 1631 size_t); 1632 extern int mbtowc(wchar_t *, const char *, size_t); 1633 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); 1634 1635 1636 1637 1638 1639 extern int rand(void); 1640 extern void *realloc(void *, size_t); 1641 extern void srand(unsigned int); 1642 extern double strtod(const char *, char **); 1643 extern long int strtol(const char *, char **, int); 1644 extern unsigned long int strtoul(const char *, 1645 char **, int); 1646 extern int system(const char *); 1647 extern int wctomb(char *, wchar_t); 1648 extern size_t wcstombs(char *, const wchar_t *, 1649 size_t); 1650 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1651 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 1652 /* 1653 * CDDL HEADER START 1654 * 1655 * The contents of this file are subject to the terms of the 1656 * Common Development and Distribution License, Version 1.0 only 1657 * (the "License"). You may not use this file except in compliance 1658 * with the License. 1659 * 1660 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1661 * or http://www.opensolaris.org/os/licensing. 1662 * See the License for the specific language governing permissions 1663 * and limitations under the License. 1664 * 1665 * When distributing Covered Code, include this CDDL HEADER in each 1666 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1667 * If applicable, add the following below this CDDL HEADER, with the 1668 * fields enclosed by brackets "[]" replaced with your own identifying 1669 * information: Portions Copyright [yyyy] [name of copyright owner] 1670 * 1671 * CDDL HEADER END 1672 */ 1673 /* 1674 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1675 * 1676 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1677 * Use is subject to license terms. 1678 */ 1679 1680 /* 1681 * An application should not include this header directly. Instead it 1682 * should be included only through the inclusion of other Sun headers. 1683 * 1684 * The contents of this header is limited to identifiers specified in 1685 * the C99 standard and in conflict with the C++ implementation of the 1686 * standard header. The C++ standard may adopt the C99 standard at 1687 * which point it is expected that the symbols included here will 1688 * become part of the C++ std namespace. 1689 */ 1690 1691 1692 1693 1694 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1695 /* 1696 * CDDL HEADER START 1697 * 1698 * The contents of this file are subject to the terms of the 1699 * Common Development and Distribution License (the "License"). 1700 * You may not use this file except in compliance with the License. 1701 * 1702 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1703 * or http://www.opensolaris.org/os/licensing. 1704 * See the License for the specific language governing permissions 1705 * and limitations under the License. 1706 * 1707 * When distributing Covered Code, include this CDDL HEADER in each 1708 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1709 * If applicable, add the following below this CDDL HEADER, with the 1710 * fields enclosed by brackets "[]" replaced with your own identifying 1711 * information: Portions Copyright [yyyy] [name of copyright owner] 1712 * 1713 * CDDL HEADER END 1714 */ 1715 1716 /* 1717 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1718 * Copyright 2016 Joyent, Inc. 1719 * 1720 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1721 * Use is subject to license terms. 1722 */ 1723 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 1724 1725 1726 1727 1728 1729 /* 1730 * The following have been added as a result of the ISO/IEC 9899:1999 1731 * standard. For a strictly conforming C application, visibility is 1732 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1733 * For non-strictly conforming C applications, there are no restrictions 1734 * on the C namespace. 1735 */ 1736 1737 1738 typedef struct { 1739 long long quot; 1740 long long rem; 1741 } lldiv_t; 1742 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1743 extern void _Exit(int); 1744 extern float strtof(const char *, char **); 1745 extern long double strtold(const char *, char **); 1746 1747 1748 extern long long atoll(const char *); 1749 extern long long llabs(long long); 1750 extern lldiv_t lldiv(long long, long long); 1751 extern long long strtoll(const char *, char **, 1752 int); 1753 extern unsigned long long strtoull(const char *, 1754 char **, int); 1755 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1756 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 1757 /* 1758 * This file and its contents are supplied under the terms of the 1759 * Common Development and Distribution License ("CDDL"), version 1.0. 1760 * You may only use this file in accordance with the terms of version 1761 * 1.0 of the CDDL. 1762 * 1763 * A full copy of the text of the CDDL should have accompanied this 1764 * source. A copy of the CDDL is also available via the Internet at 1765 * http://www.illumos.org/license/CDDL. 1766 */ 1767 1768 /* 1769 * Copyright 2016 Joyent, Inc. 1770 */ 1771 1772 /* 1773 * An application should not include this header directly. Instead it 1774 * should be included only through the inclusion of other illumos headers. 1775 * 1776 * The contents of this header is limited to identifiers specified in 1777 * the C11 standard and in conflict with the C++ implementation of the 1778 * standard header. The C++ standard may adopt the C11 standard at 1779 * which point it is expected that the symbols included here will 1780 * become part of the C++ std namespace. 1781 */ 1782 1783 1784 1785 1786 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1787 /* 1788 * CDDL HEADER START 1789 * 1790 * The contents of this file are subject to the terms of the 1791 * Common Development and Distribution License (the "License"). 1792 * You may not use this file except in compliance with the License. 1793 * 1794 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1795 * or http://www.opensolaris.org/os/licensing. 1796 * See the License for the specific language governing permissions 1797 * and limitations under the License. 1798 * 1799 * When distributing Covered Code, include this CDDL HEADER in each 1800 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1801 * If applicable, add the following below this CDDL HEADER, with the 1802 * fields enclosed by brackets "[]" replaced with your own identifying 1803 * information: Portions Copyright [yyyy] [name of copyright owner] 1804 * 1805 * CDDL HEADER END 1806 */ 1807 1808 /* 1809 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1810 * Copyright 2016 Joyent, Inc. 1811 * 1812 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1813 * Use is subject to license terms. 1814 */ 1815 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 1816 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1817 /* 1818 * The following have been added as a result of the ISO/IEC 9899:2011 1819 * standard. For a strictly conforming C application, visibility is 1820 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 1821 * For non-strictly conforming C applications, there are no restrictions 1822 * on the C namespace. 1823 */ 1824 1825 /* 1826 * Work around fix-includes and other bad actors with using multiple headers. 1827 */ 1828 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1829 extern void *aligned_alloc(size_t, size_t); 1830 extern int at_quick_exit(void (*)(void)); 1831 extern void quick_exit(int); 1832 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 1833 1834 1835 1836 1837 1838 /* 1839 * Allow global visibility for symbols defined in 1840 * C++ "std" namespace in <iso/stdlib_iso.h>. 1841 */ 1842 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1843 /* 1844 * Allow global visibility for symbols defined in 1845 * C++ "std" namespace in <iso/stdlib_c11.h>. 1846 */ 1847 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1848 typedef unsigned int uid_t; /* UID type */ 1849 1850 1851 /* large file compilation environment setup */ 1852 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1853 /* In the LP64 compilation environment, all APIs are already large file */ 1854 1855 1856 1857 1858 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1859 #pragma redefine_extname mkstemp64 mkstemp 1860 # 125 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1861 1862 1863 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1864 #pragma redefine_extname mkstemps64 mkstemps 1865 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1866 1867 1868 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1869 #pragma redefine_extname mkostemp64 mkostemp 1870 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1871 1872 1873 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1874 #pragma redefine_extname mkostemps64 mkostemps 1875 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1876 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1877 extern int rand_r(unsigned int *); 1878 1879 1880 extern void _exithandle(void); 1881 1882 1883 1884 1885 extern double drand48(void); 1886 extern double erand48(unsigned short *); 1887 extern long jrand48(unsigned short *); 1888 extern void lcong48(unsigned short *); 1889 extern long lrand48(void); 1890 extern long mrand48(void); 1891 extern long nrand48(unsigned short *); 1892 extern unsigned short *seed48(unsigned short *); 1893 extern void srand48(long); 1894 extern int putenv(char *); 1895 extern void setkey(const char *); 1896 1897 1898 /* 1899 * swab() has historically been in <stdlib.h> as delivered from AT&T 1900 * and continues to be visible in the default compilation environment. 1901 * As of Issue 4 of the X/Open Portability Guides, swab() was declared 1902 * in <unistd.h>. As a result, with respect to X/Open namespace the 1903 * swab() declaration in this header is only visible for the XPG3 1904 * environment. 1905 */ 1906 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1907 extern void swab(const char *, char *, ssize_t); 1908 1909 1910 1911 1912 1913 extern int mkstemp(char *); 1914 1915 extern int mkstemps(char *, int); 1916 1917 1918 1919 1920 1921 extern int mkstemp64(char *); 1922 1923 extern int mkstemps64(char *, int); 1924 1925 1926 1927 1928 extern char *mkdtemp(char *); 1929 1930 1931 1932 extern int mkostemp(char *, int); 1933 extern int mkostemps(char *, int, int); 1934 1935 1936 extern int mkostemp64(char *, int); 1937 extern int mkostemps64(char *, int, int); 1938 1939 1940 1941 1942 1943 1944 extern long a64l(const char *); 1945 extern char *ecvt(double, int, int *, int *); 1946 extern char *fcvt(double, int, int *, int *); 1947 extern char *gcvt(double, int, char *); 1948 extern int getsubopt(char **, char *const *, char **); 1949 extern int grantpt(int); 1950 extern char *initstate(unsigned, char *, size_t); 1951 extern char *l64a(long); 1952 extern char *mktemp(char *); 1953 extern char *ptsname(int); 1954 extern long random(void); 1955 extern char *realpath(const char *, char *); 1956 extern char *setstate(const char *); 1957 extern void srandom(unsigned); 1958 extern int unlockpt(int); 1959 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 1960 1961 extern int ttyslot(void); 1962 extern void *valloc(size_t); 1963 1964 1965 1966 1967 1968 1969 extern int posix_memalign(void **, size_t, size_t); 1970 extern int posix_openpt(int); 1971 extern int setenv(const char *, const char *, int); 1972 extern int unsetenv(const char *); 1973 1974 1975 1976 1977 extern char *canonicalize_file_name(const char *); 1978 extern int clearenv(void); 1979 extern void closefrom(int); 1980 extern int daemon(int, int); 1981 extern int dup2(int, int); 1982 extern int dup3(int, int, int); 1983 extern int fdwalk(int (*)(void *, int), void *); 1984 extern char *qecvt(long double, int, int *, int *); 1985 extern char *qfcvt(long double, int, int *, int *); 1986 extern char *qgcvt(long double, int, char *); 1987 extern char *getcwd(char *, size_t); 1988 extern const char *getexecname(void); 1989 1990 1991 1992 1993 1994 1995 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1996 #pragma redefine_extname getlogin getloginx 1997 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1998 1999 2000 2001 2002 2003 2004 extern char *getlogin(void); 2005 2006 2007 extern int getopt(int, char *const *, const char *); 2008 extern char *optarg; 2009 extern int optind, opterr, optopt; 2010 extern char *getpass(const char *); 2011 extern char *getpassphrase(const char *); 2012 extern int getpw(uid_t, char *); 2013 extern int isatty(int); 2014 extern void *memalign(size_t, size_t); 2015 extern char *ttyname(int); 2016 extern char *mkdtemp(char *); 2017 extern const char *getprogname(void); 2018 extern void setprogname(const char *); 2019 2020 2021 extern char *lltostr(long long, char *); 2022 extern char *ulltostr(unsigned long long, char *); 2023 2024 2025 2026 2027 /* OpenBSD compatibility functions */ 2028 2029 2030 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 2031 /* 2032 * CDDL HEADER START 2033 * 2034 * The contents of this file are subject to the terms of the 2035 * Common Development and Distribution License, Version 1.0 only 2036 * (the "License"). You may not use this file except in compliance 2037 * with the License. 2038 * 2039 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2040 * or http://www.opensolaris.org/os/licensing. 2041 * See the License for the specific language governing permissions 2042 * and limitations under the License. 2043 * 2044 * When distributing Covered Code, include this CDDL HEADER in each 2045 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2046 * If applicable, add the following below this CDDL HEADER, with the 2047 * fields enclosed by brackets "[]" replaced with your own identifying 2048 * information: Portions Copyright [yyyy] [name of copyright owner] 2049 * 2050 * CDDL HEADER END 2051 */ 2052 /* 2053 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2054 * 2055 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2056 * Use is subject to license terms. 2057 */ 2058 2059 2060 2061 2062 /* 2063 * This file, <inttypes.h>, is specified by the ISO C standard, 2064 * standard, ISO/IEC 9899:1999 Programming language - C and is 2065 * also defined by SUSv3. 2066 * 2067 * ISO International Organization for Standardization. 2068 * SUSv3 Single Unix Specification, Version 3 2069 */ 2070 2071 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2072 /* 2073 * CDDL HEADER START 2074 * 2075 * The contents of this file are subject to the terms of the 2076 * Common Development and Distribution License (the "License"). 2077 * You may not use this file except in compliance with the License. 2078 * 2079 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2080 * or http://www.opensolaris.org/os/licensing. 2081 * See the License for the specific language governing permissions 2082 * and limitations under the License. 2083 * 2084 * When distributing Covered Code, include this CDDL HEADER in each 2085 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2086 * If applicable, add the following below this CDDL HEADER, with the 2087 * fields enclosed by brackets "[]" replaced with your own identifying 2088 * information: Portions Copyright [yyyy] [name of copyright owner] 2089 * 2090 * CDDL HEADER END 2091 */ 2092 2093 /* 2094 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2095 * Copyright 2016 Joyent, Inc. 2096 * 2097 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2098 * Use is subject to license terms. 2099 */ 2100 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2101 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 2102 /* 2103 * CDDL HEADER START 2104 * 2105 * The contents of this file are subject to the terms of the 2106 * Common Development and Distribution License, Version 1.0 only 2107 * (the "License"). You may not use this file except in compliance 2108 * with the License. 2109 * 2110 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2111 * or http://www.opensolaris.org/os/licensing. 2112 * See the License for the specific language governing permissions 2113 * and limitations under the License. 2114 * 2115 * When distributing Covered Code, include this CDDL HEADER in each 2116 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2117 * If applicable, add the following below this CDDL HEADER, with the 2118 * fields enclosed by brackets "[]" replaced with your own identifying 2119 * information: Portions Copyright [yyyy] [name of copyright owner] 2120 * 2121 * CDDL HEADER END 2122 */ 2123 /* 2124 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2125 * Use is subject to license terms. 2126 */ 2127 2128 2129 2130 2131 #pragma ident "%Z%%M% %I% %E% SMI" 2132 2133 /* 2134 * This header, <sys/inttypes.h>, contains (through nested inclusion) the 2135 * vast majority of the facilities specified for <inttypes.h> as defined 2136 * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2137 * 2138 * Kernel/Driver developers are encouraged to include this file to access 2139 * the fixed size types, limits and utility macros. Application developers 2140 * should use the standard defined header <inttypes.h>. 2141 */ 2142 2143 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2144 /* 2145 * CDDL HEADER START 2146 * 2147 * The contents of this file are subject to the terms of the 2148 * Common Development and Distribution License (the "License"). 2149 * You may not use this file except in compliance with the License. 2150 * 2151 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2152 * or http://www.opensolaris.org/os/licensing. 2153 * See the License for the specific language governing permissions 2154 * and limitations under the License. 2155 * 2156 * When distributing Covered Code, include this CDDL HEADER in each 2157 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2158 * If applicable, add the following below this CDDL HEADER, with the 2159 * fields enclosed by brackets "[]" replaced with your own identifying 2160 * information: Portions Copyright [yyyy] [name of copyright owner] 2161 * 2162 * CDDL HEADER END 2163 */ 2164 2165 /* 2166 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2167 * Copyright 2016 Joyent, Inc. 2168 * 2169 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2170 * Use is subject to license terms. 2171 */ 2172 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2173 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2174 /* 2175 * CDDL HEADER START 2176 * 2177 * The contents of this file are subject to the terms of the 2178 * Common Development and Distribution License, Version 1.0 only 2179 * (the "License"). You may not use this file except in compliance 2180 * with the License. 2181 * 2182 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2183 * or http://www.opensolaris.org/os/licensing. 2184 * See the License for the specific language governing permissions 2185 * and limitations under the License. 2186 * 2187 * When distributing Covered Code, include this CDDL HEADER in each 2188 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2189 * If applicable, add the following below this CDDL HEADER, with the 2190 * fields enclosed by brackets "[]" replaced with your own identifying 2191 * information: Portions Copyright [yyyy] [name of copyright owner] 2192 * 2193 * CDDL HEADER END 2194 */ 2195 /* 2196 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2197 * 2198 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2199 * Use is subject to license terms. 2200 */ 2201 2202 2203 2204 2205 /* 2206 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 2207 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 2208 * Programming language - C. 2209 * 2210 * Programs/Modules should not directly include this file. Access to the 2211 * types defined in this file should be through the inclusion of one of the 2212 * following files: 2213 * 2214 * <sys/types.h> Provides only the "_t" types defined in this 2215 * file which is a subset of the contents of 2216 * <inttypes.h>. (This can be appropriate for 2217 * all programs/modules except those claiming 2218 * ANSI-C conformance.) 2219 * 2220 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2221 * components of <inttypes.h>. 2222 * 2223 * <inttypes.h> For use by applications. 2224 * 2225 * See these files for more details. 2226 */ 2227 2228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2229 /* 2230 * CDDL HEADER START 2231 * 2232 * The contents of this file are subject to the terms of the 2233 * Common Development and Distribution License (the "License"). 2234 * You may not use this file except in compliance with the License. 2235 * 2236 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2237 * or http://www.opensolaris.org/os/licensing. 2238 * See the License for the specific language governing permissions 2239 * and limitations under the License. 2240 * 2241 * When distributing Covered Code, include this CDDL HEADER in each 2242 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2243 * If applicable, add the following below this CDDL HEADER, with the 2244 * fields enclosed by brackets "[]" replaced with your own identifying 2245 * information: Portions Copyright [yyyy] [name of copyright owner] 2246 * 2247 * CDDL HEADER END 2248 */ 2249 2250 /* 2251 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2252 * Copyright 2016 Joyent, Inc. 2253 * 2254 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2255 * Use is subject to license terms. 2256 */ 2257 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 2258 2259 2260 2261 2262 2263 /* 2264 * Basic / Extended integer types 2265 * 2266 * The following defines the basic fixed-size integer types. 2267 * 2268 * Implementations are free to typedef them to Standard C integer types or 2269 * extensions that they support. If an implementation does not support one 2270 * of the particular integer data types below, then it should not define the 2271 * typedefs and macros corresponding to that data type. Note that int8_t 2272 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 2273 * as an unsigned entity because there is no way to define an eight bit 2274 * signed integral. 2275 */ 2276 2277 typedef char int8_t; 2278 2279 2280 2281 typedef short int16_t; 2282 typedef int int32_t; 2283 2284 2285 typedef long int64_t; 2286 2287 2288 2289 2290 2291 2292 2293 typedef unsigned char uint8_t; 2294 typedef unsigned short uint16_t; 2295 typedef unsigned int uint32_t; 2296 2297 typedef unsigned long uint64_t; 2298 2299 2300 2301 2302 2303 2304 /* 2305 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 2306 * and unsigned integer types supported by the implementation. 2307 */ 2308 2309 typedef int64_t intmax_t; 2310 typedef uint64_t uintmax_t; 2311 2312 2313 2314 2315 2316 /* 2317 * intptr_t and uintptr_t are signed and unsigned integer types large enough 2318 * to hold any data pointer; that is, data pointers can be assigned into or 2319 * from these integer types without losing precision. 2320 */ 2321 2322 typedef long intptr_t; 2323 typedef unsigned long uintptr_t; 2324 2325 2326 2327 2328 2329 /* 2330 * The following define the fastest integer types that can hold the 2331 * specified number of bits. 2332 */ 2333 2334 typedef char int_fast8_t; 2335 2336 2337 2338 typedef int int_fast16_t; 2339 typedef int int_fast32_t; 2340 2341 typedef long int_fast64_t; 2342 2343 2344 2345 2346 2347 2348 typedef unsigned char uint_fast8_t; 2349 typedef unsigned int uint_fast16_t; 2350 typedef unsigned int uint_fast32_t; 2351 2352 typedef unsigned long uint_fast64_t; 2353 2354 2355 2356 2357 2358 2359 /* 2360 * The following define the smallest integer types that can hold the 2361 * specified number of bits. 2362 */ 2363 2364 typedef char int_least8_t; 2365 2366 2367 2368 typedef short int_least16_t; 2369 typedef int int_least32_t; 2370 2371 typedef long int_least64_t; 2372 2373 2374 2375 2376 2377 2378 /* 2379 * If these are changed, please update char16_t and char32_t in head/uchar.h. 2380 */ 2381 typedef unsigned char uint_least8_t; 2382 typedef unsigned short uint_least16_t; 2383 typedef unsigned int uint_least32_t; 2384 2385 typedef unsigned long uint_least64_t; 2386 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2387 2388 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2389 /* 2390 * CDDL HEADER START 2391 * 2392 * The contents of this file are subject to the terms of the 2393 * Common Development and Distribution License, Version 1.0 only 2394 * (the "License"). You may not use this file except in compliance 2395 * with the License. 2396 * 2397 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2398 * or http://www.opensolaris.org/os/licensing. 2399 * See the License for the specific language governing permissions 2400 * and limitations under the License. 2401 * 2402 * When distributing Covered Code, include this CDDL HEADER in each 2403 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2404 * If applicable, add the following below this CDDL HEADER, with the 2405 * fields enclosed by brackets "[]" replaced with your own identifying 2406 * information: Portions Copyright [yyyy] [name of copyright owner] 2407 * 2408 * CDDL HEADER END 2409 */ 2410 /* 2411 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2412 * 2413 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2414 * Use is subject to license terms. 2415 */ 2416 2417 2418 2419 2420 /* 2421 * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation 2422 * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999 2423 * Programming language - C. 2424 * 2425 * Programs/Modules should not directly include this file. Access to the 2426 * types defined in this file should be through the inclusion of one of the 2427 * following files: 2428 * 2429 * <limits.h> This nested inclusion is disabled for strictly 2430 * ANSI-C conforming compilations. The *_MIN 2431 * definitions are not visible to POSIX or XPG 2432 * conforming applications (due to what may be 2433 * a bug in the specification - this is under 2434 * investigation) 2435 * 2436 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2437 * components of <inttypes.h>. 2438 * 2439 * <inttypes.h> For use by applications. 2440 * 2441 * See these files for more details. 2442 */ 2443 2444 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2445 /* 2446 * CDDL HEADER START 2447 * 2448 * The contents of this file are subject to the terms of the 2449 * Common Development and Distribution License (the "License"). 2450 * You may not use this file except in compliance with the License. 2451 * 2452 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2453 * or http://www.opensolaris.org/os/licensing. 2454 * See the License for the specific language governing permissions 2455 * and limitations under the License. 2456 * 2457 * When distributing Covered Code, include this CDDL HEADER in each 2458 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2459 * If applicable, add the following below this CDDL HEADER, with the 2460 * fields enclosed by brackets "[]" replaced with your own identifying 2461 * information: Portions Copyright [yyyy] [name of copyright owner] 2462 * 2463 * CDDL HEADER END 2464 */ 2465 2466 /* 2467 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2468 * Copyright 2016 Joyent, Inc. 2469 * 2470 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2471 * Use is subject to license terms. 2472 */ 2473 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 2474 2475 2476 2477 2478 2479 /* 2480 * Limits 2481 * 2482 * The following define the limits for the types defined in <sys/int_types.h>. 2483 * 2484 * INTMAX_MIN (minimum value of the largest supported signed integer type), 2485 * INTMAX_MAX (maximum value of the largest supported signed integer type), 2486 * and UINTMAX_MAX (maximum value of the largest supported unsigned integer 2487 * type) can be set to implementation defined limits. 2488 * 2489 * NOTE : A programmer can test to see whether an implementation supports 2490 * a particular size of integer by testing if the macro that gives the 2491 * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX 2492 * tests false, the implementation does not support unsigned 64 bit integers. 2493 * 2494 * The type of these macros is intentionally unspecified. 2495 * 2496 * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs 2497 * where the ABI specifies "char" as unsigned when the translation mode is 2498 * not ANSI-C. 2499 */ 2500 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2501 /* 2502 * The following 2 macros are provided for testing whether the types 2503 * intptr_t and uintptr_t (integers large enough to hold a void *) are 2504 * defined in this header. They are needed in case the architecture can't 2505 * represent a pointer in any standard integral type. 2506 */ 2507 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2508 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */ 2509 2510 2511 2512 2513 2514 2515 /* 2516 * Maximum value of a "size_t". SIZE_MAX was previously defined 2517 * in <limits.h>, however, the standards specify it be defined 2518 * in <stdint.h>. The <stdint.h> headers includes this header as 2519 * does <limits.h>. The value of SIZE_MAX should not deviate 2520 * from the value of ULONG_MAX defined <sys/types.h>. 2521 */ 2522 2523 2524 2525 2526 2527 2528 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */ 2529 2530 2531 2532 2533 /* 2534 * Maximum limit of wchar_t. The WCHAR_* macros are also 2535 * defined in <iso/wchar_iso.h>, but inclusion of that header 2536 * will break ISO/IEC C namespace. 2537 */ 2538 2539 2540 2541 2542 /* Maximum limit of wint_t */ 2543 2544 2545 2546 2547 /* 2548 * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that 2549 * when including <limits.h> that the suffix _MAX is reserved but not the 2550 * suffix _MIN. However, until that issue is resolved.... 2551 */ 2552 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2553 /* Minimum value of a pointer-holding signed integer type */ 2554 2555 2556 2557 2558 2559 2560 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */ 2561 2562 2563 2564 2565 2566 2567 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */ 2568 2569 2570 2571 2572 /* 2573 * Minimum limit of wchar_t. The WCHAR_* macros are also 2574 * defined in <iso/wchar_iso.h>, but inclusion of that header 2575 * will break ISO/IEC C namespace. 2576 */ 2577 2578 2579 2580 2581 /* Minimum limit of wint_t */ 2582 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2583 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2584 /* 2585 * CDDL HEADER START 2586 * 2587 * The contents of this file are subject to the terms of the 2588 * Common Development and Distribution License, Version 1.0 only 2589 * (the "License"). You may not use this file except in compliance 2590 * with the License. 2591 * 2592 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2593 * or http://www.opensolaris.org/os/licensing. 2594 * See the License for the specific language governing permissions 2595 * and limitations under the License. 2596 * 2597 * When distributing Covered Code, include this CDDL HEADER in each 2598 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2599 * If applicable, add the following below this CDDL HEADER, with the 2600 * fields enclosed by brackets "[]" replaced with your own identifying 2601 * information: Portions Copyright [yyyy] [name of copyright owner] 2602 * 2603 * CDDL HEADER END 2604 */ 2605 /* 2606 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2607 * 2608 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2609 * Use is subject to license terms. 2610 */ 2611 2612 2613 2614 2615 /* 2616 * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation 2617 * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working 2618 * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 2619 * Programming language - C. 2620 * 2621 * Programs/Modules should not directly include this file. Access to the 2622 * types defined in this file should be through the inclusion of one of the 2623 * following files: 2624 * 2625 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2626 * components of <inttypes.h>. 2627 * 2628 * <inttypes.h> For use by applications. 2629 * 2630 * See these files for more details. 2631 * 2632 * Use at your own risk. This file will track the evolution of the revision 2633 * of the current ISO C standard. As of February 1996, the committee is 2634 * squarely behind the fixed sized types. 2635 */ 2636 2637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2638 /* 2639 * CDDL HEADER START 2640 * 2641 * The contents of this file are subject to the terms of the 2642 * Common Development and Distribution License (the "License"). 2643 * You may not use this file except in compliance with the License. 2644 * 2645 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2646 * or http://www.opensolaris.org/os/licensing. 2647 * See the License for the specific language governing permissions 2648 * and limitations under the License. 2649 * 2650 * When distributing Covered Code, include this CDDL HEADER in each 2651 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2652 * If applicable, add the following below this CDDL HEADER, with the 2653 * fields enclosed by brackets "[]" replaced with your own identifying 2654 * information: Portions Copyright [yyyy] [name of copyright owner] 2655 * 2656 * CDDL HEADER END 2657 */ 2658 2659 /* 2660 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2661 * Copyright 2016 Joyent, Inc. 2662 * 2663 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2664 * Use is subject to license terms. 2665 */ 2666 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 2667 2668 2669 2670 2671 2672 /* 2673 * Constants 2674 * 2675 * The following macros create constants of the types defined in 2676 * <sys/int_types.h>. The intent is that: 2677 * Constants defined using these macros have a specific size and 2678 * signedness. The suffix used for int64_t and uint64_t (ll and ull) 2679 * are for examples only. Implementations are permitted to use other 2680 * suffixes. 2681 * 2682 * The "CSTYLED" comments are flags to an internal code style analysis tool 2683 * telling it to silently accept the line which follows. This internal 2684 * standard requires a space between arguments, but the historical, 2685 * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. 2686 */ 2687 /* CSTYLED */ 2688 2689 2690 2691 2692 2693 2694 /* CSTYLED */ 2695 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2696 /* CSTYLED */ 2697 2698 /* CSTYLED */ 2699 2700 /* CSTYLED */ 2701 2702 2703 /* CSTYLED */ 2704 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2705 /* CSTYLED */ 2706 2707 /* CSTYLED */ 2708 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2709 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 2710 /* 2711 * CDDL HEADER START 2712 * 2713 * The contents of this file are subject to the terms of the 2714 * Common Development and Distribution License, Version 1.0 only 2715 * (the "License"). You may not use this file except in compliance 2716 * with the License. 2717 * 2718 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2719 * or http://www.opensolaris.org/os/licensing. 2720 * See the License for the specific language governing permissions 2721 * and limitations under the License. 2722 * 2723 * When distributing Covered Code, include this CDDL HEADER in each 2724 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2725 * If applicable, add the following below this CDDL HEADER, with the 2726 * fields enclosed by brackets "[]" replaced with your own identifying 2727 * information: Portions Copyright [yyyy] [name of copyright owner] 2728 * 2729 * CDDL HEADER END 2730 */ 2731 /* 2732 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2733 * 2734 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2735 * Use is subject to license terms. 2736 */ 2737 2738 2739 2740 2741 /* 2742 * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation 2743 * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999 2744 * Programming language - C. 2745 * 2746 * ISO International Organization for Standardization. 2747 * 2748 * Programs/Modules should not directly include this file. Access to the 2749 * types defined in this file should be through the inclusion of one of the 2750 * following files: 2751 * 2752 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 2753 * components of <inttypes.h>. 2754 * 2755 * <inttypes.h> For use by applications. 2756 * 2757 * See these files for more details. 2758 */ 2759 2760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2761 /* 2762 * CDDL HEADER START 2763 * 2764 * The contents of this file are subject to the terms of the 2765 * Common Development and Distribution License (the "License"). 2766 * You may not use this file except in compliance with the License. 2767 * 2768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2769 * or http://www.opensolaris.org/os/licensing. 2770 * See the License for the specific language governing permissions 2771 * and limitations under the License. 2772 * 2773 * When distributing Covered Code, include this CDDL HEADER in each 2774 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2775 * If applicable, add the following below this CDDL HEADER, with the 2776 * fields enclosed by brackets "[]" replaced with your own identifying 2777 * information: Portions Copyright [yyyy] [name of copyright owner] 2778 * 2779 * CDDL HEADER END 2780 */ 2781 2782 /* 2783 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2784 * Copyright 2016 Joyent, Inc. 2785 * 2786 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2787 * Use is subject to license terms. 2788 */ 2789 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 2790 2791 2792 2793 2794 2795 /* 2796 * Formatted I/O 2797 * 2798 * The following macros can be used even when an implementation has not 2799 * extended the printf/scanf family of functions. 2800 * 2801 * The form of the names of the macros is either "PRI" for printf specifiers 2802 * or "SCN" for scanf specifiers, followed by the conversion specifier letter 2803 * followed by the datatype size. For example, PRId32 is the macro for 2804 * the printf d conversion specifier with the flags for 32 bit datatype. 2805 * 2806 * An example using one of these macros: 2807 * 2808 * uint64_t u; 2809 * printf("u = %016" PRIx64 "\n", u); 2810 * 2811 * For the purpose of example, the definitions of the printf/scanf macros 2812 * below have the values appropriate for a machine with 8 bit shorts, 16 2813 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation 2814 * mode, and 64 bit long longs. 2815 */ 2816 2817 /* 2818 * fprintf macros for signed integers 2819 */ 2820 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2821 /* 2822 * fprintf macros for unsigned integers 2823 */ 2824 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2825 /* 2826 * fprintf macros for pointers 2827 */ 2828 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2829 /* 2830 * fscanf macros for signed integers 2831 */ 2832 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2833 /* 2834 * fscanf macros for unsigned integers 2835 */ 2836 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2837 /* 2838 * The following macros define I/O formats for intmax_t and uintmax_t. 2839 */ 2840 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 2841 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2842 2843 2844 2845 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 2846 /* 2847 * CDDL HEADER START 2848 * 2849 * The contents of this file are subject to the terms of the 2850 * Common Development and Distribution License, Version 1.0 only 2851 * (the "License"). You may not use this file except in compliance 2852 * with the License. 2853 * 2854 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2855 * or http://www.opensolaris.org/os/licensing. 2856 * See the License for the specific language governing permissions 2857 * and limitations under the License. 2858 * 2859 * When distributing Covered Code, include this CDDL HEADER in each 2860 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2861 * If applicable, add the following below this CDDL HEADER, with the 2862 * fields enclosed by brackets "[]" replaced with your own identifying 2863 * information: Portions Copyright [yyyy] [name of copyright owner] 2864 * 2865 * CDDL HEADER END 2866 */ 2867 /* 2868 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 2869 * Use is subject to license terms. 2870 */ 2871 2872 2873 2874 2875 #pragma ident "%Z%%M% %I% %E% SMI" 2876 2877 /* 2878 * This header is included by <stdint.h> which was introduced by 2879 * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 2880 * The header is a subset of the <inttypes.h> header. 2881 */ 2882 2883 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 2884 /* 2885 * CDDL HEADER START 2886 * 2887 * The contents of this file are subject to the terms of the 2888 * Common Development and Distribution License, Version 1.0 only 2889 * (the "License"). You may not use this file except in compliance 2890 * with the License. 2891 * 2892 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2893 * or http://www.opensolaris.org/os/licensing. 2894 * See the License for the specific language governing permissions 2895 * and limitations under the License. 2896 * 2897 * When distributing Covered Code, include this CDDL HEADER in each 2898 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2899 * If applicable, add the following below this CDDL HEADER, with the 2900 * fields enclosed by brackets "[]" replaced with your own identifying 2901 * information: Portions Copyright [yyyy] [name of copyright owner] 2902 * 2903 * CDDL HEADER END 2904 */ 2905 /* 2906 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2907 * 2908 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2909 * Use is subject to license terms. 2910 */ 2911 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2912 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 2913 /* 2914 * CDDL HEADER START 2915 * 2916 * The contents of this file are subject to the terms of the 2917 * Common Development and Distribution License, Version 1.0 only 2918 * (the "License"). You may not use this file except in compliance 2919 * with the License. 2920 * 2921 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2922 * or http://www.opensolaris.org/os/licensing. 2923 * See the License for the specific language governing permissions 2924 * and limitations under the License. 2925 * 2926 * When distributing Covered Code, include this CDDL HEADER in each 2927 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2928 * If applicable, add the following below this CDDL HEADER, with the 2929 * fields enclosed by brackets "[]" replaced with your own identifying 2930 * information: Portions Copyright [yyyy] [name of copyright owner] 2931 * 2932 * CDDL HEADER END 2933 */ 2934 /* 2935 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2936 * 2937 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2938 * Use is subject to license terms. 2939 */ 2940 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2941 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 2942 /* 2943 * CDDL HEADER START 2944 * 2945 * The contents of this file are subject to the terms of the 2946 * Common Development and Distribution License, Version 1.0 only 2947 * (the "License"). You may not use this file except in compliance 2948 * with the License. 2949 * 2950 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2951 * or http://www.opensolaris.org/os/licensing. 2952 * See the License for the specific language governing permissions 2953 * and limitations under the License. 2954 * 2955 * When distributing Covered Code, include this CDDL HEADER in each 2956 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2957 * If applicable, add the following below this CDDL HEADER, with the 2958 * fields enclosed by brackets "[]" replaced with your own identifying 2959 * information: Portions Copyright [yyyy] [name of copyright owner] 2960 * 2961 * CDDL HEADER END 2962 */ 2963 /* 2964 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2965 * 2966 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2967 * Use is subject to license terms. 2968 */ 2969 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 2970 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 2971 2972 2973 2974 2975 2976 2977 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */ 2978 2979 /* 2980 * wchar_t is a built-in type in standard C++ and as such is not 2981 * defined here when using standard C++. However, the GNU compiler 2982 * fixincludes utility nonetheless creates its own version of this 2983 * header for use by gcc and g++. In that version it adds a redundant 2984 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 2985 * header we need to include the following magic comment: 2986 * 2987 * we must use the C++ compiler's type 2988 * 2989 * The above comment should not be removed or changed until GNU 2990 * gcc/fixinc/inclhack.def is updated to bypass this header. 2991 */ 2992 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2993 typedef struct { 2994 intmax_t quot; 2995 intmax_t rem; 2996 } imaxdiv_t; 2997 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2998 extern intmax_t imaxabs(intmax_t); 2999 extern imaxdiv_t imaxdiv(intmax_t, intmax_t); 3000 extern intmax_t strtoimax(const char *, char **, 3001 int); 3002 extern uintmax_t strtoumax(const char *, char **, 3003 int); 3004 extern intmax_t wcstoimax(const wchar_t *, 3005 wchar_t **, int); 3006 extern uintmax_t wcstoumax(const wchar_t *, 3007 wchar_t **, int); 3008 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 3009 extern uint32_t arc4random(void); 3010 extern void arc4random_buf(void *, size_t); 3011 extern uint32_t arc4random_uniform(uint32_t); 3012 extern void freezero(void *, size_t); 3013 extern void *recallocarray(void *, size_t, size_t, size_t); 3014 # 52 "../common/zones_str.c" 2 3015 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 3016 /* 3017 * CDDL HEADER START 3018 * 3019 * The contents of this file are subject to the terms of the 3020 * Common Development and Distribution License (the "License"). 3021 * You may not use this file except in compliance with the License. 3022 * 3023 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3024 * or http://www.opensolaris.org/os/licensing. 3025 * See the License for the specific language governing permissions 3026 * and limitations under the License. 3027 * 3028 * When distributing Covered Code, include this CDDL HEADER in each 3029 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3030 * If applicable, add the following below this CDDL HEADER, with the 3031 * fields enclosed by brackets "[]" replaced with your own identifying 3032 * information: Portions Copyright [yyyy] [name of copyright owner] 3033 * 3034 * CDDL HEADER END 3035 */ 3036 3037 /* 3038 * Copyright 2014 PALO, Richard. 3039 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3040 * Copyright (c) 2013 Gary Mills 3041 * 3042 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3043 */ 3044 3045 /* Copyright (c) 1988 AT&T */ 3046 /* All Rights Reserved */ 3047 3048 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 3049 3050 3051 3052 3053 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3054 /* 3055 * CDDL HEADER START 3056 * 3057 * The contents of this file are subject to the terms of the 3058 * Common Development and Distribution License (the "License"). 3059 * You may not use this file except in compliance with the License. 3060 * 3061 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3062 * or http://www.opensolaris.org/os/licensing. 3063 * See the License for the specific language governing permissions 3064 * and limitations under the License. 3065 * 3066 * When distributing Covered Code, include this CDDL HEADER in each 3067 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3068 * If applicable, add the following below this CDDL HEADER, with the 3069 * fields enclosed by brackets "[]" replaced with your own identifying 3070 * information: Portions Copyright [yyyy] [name of copyright owner] 3071 * 3072 * CDDL HEADER END 3073 */ 3074 3075 /* 3076 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3077 * Copyright 2016 Joyent, Inc. 3078 * 3079 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3080 * Use is subject to license terms. 3081 */ 3082 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3083 3084 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 3085 /* 3086 * This file and its contents are supplied under the terms of the 3087 * Common Development and Distribution License ("CDDL"), version 1.0. 3088 * You may only use this file in accordance with the terms of version 3089 * 1.0 of the CDDL. 3090 * 3091 * A full copy of the text of the CDDL should have accompanied this 3092 * source. A copy of the CDDL is also available via the Internet at 3093 * http://www.illumos.org/license/CDDL. 3094 */ 3095 3096 /* 3097 * Copyright 2014-2016 PALO, Richard. 3098 */ 3099 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 3100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3101 /* 3102 * CDDL HEADER START 3103 * 3104 * The contents of this file are subject to the terms of the 3105 * Common Development and Distribution License (the "License"). 3106 * You may not use this file except in compliance with the License. 3107 * 3108 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3109 * or http://www.opensolaris.org/os/licensing. 3110 * See the License for the specific language governing permissions 3111 * and limitations under the License. 3112 * 3113 * When distributing Covered Code, include this CDDL HEADER in each 3114 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3115 * If applicable, add the following below this CDDL HEADER, with the 3116 * fields enclosed by brackets "[]" replaced with your own identifying 3117 * information: Portions Copyright [yyyy] [name of copyright owner] 3118 * 3119 * CDDL HEADER END 3120 */ 3121 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3122 /* All Rights Reserved */ 3123 3124 3125 /* 3126 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3127 * Use is subject to license terms. 3128 * 3129 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3130 * Copyright 2016 Joyent, Inc. 3131 */ 3132 3133 3134 3135 3136 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3137 /* 3138 * CDDL HEADER START 3139 * 3140 * The contents of this file are subject to the terms of the 3141 * Common Development and Distribution License (the "License"). 3142 * You may not use this file except in compliance with the License. 3143 * 3144 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3145 * or http://www.opensolaris.org/os/licensing. 3146 * See the License for the specific language governing permissions 3147 * and limitations under the License. 3148 * 3149 * When distributing Covered Code, include this CDDL HEADER in each 3150 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3151 * If applicable, add the following below this CDDL HEADER, with the 3152 * fields enclosed by brackets "[]" replaced with your own identifying 3153 * information: Portions Copyright [yyyy] [name of copyright owner] 3154 * 3155 * CDDL HEADER END 3156 */ 3157 3158 /* 3159 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3160 * Copyright 2016 Joyent, Inc. 3161 * 3162 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3163 * Use is subject to license terms. 3164 */ 3165 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3166 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 3167 /* 3168 * CDDL HEADER START 3169 * 3170 * The contents of this file are subject to the terms of the 3171 * Common Development and Distribution License (the "License"). 3172 * You may not use this file except in compliance with the License. 3173 * 3174 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3175 * or http://www.opensolaris.org/os/licensing. 3176 * See the License for the specific language governing permissions 3177 * and limitations under the License. 3178 * 3179 * 3180 * When distributing Covered Code, include this CDDL HEADER in each 3181 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3182 * If applicable, add the following below this CDDL HEADER, with the 3183 * fields enclosed by brackets "[]" replaced with your own identifying 3184 * information: Portions Copyright [yyyy] [name of copyright owner] 3185 * 3186 * CDDL HEADER END 3187 */ 3188 3189 /* 3190 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3191 * Use is subject to license terms. 3192 * Copyright 2016 Joyent, Inc. 3193 */ 3194 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3195 3196 /* 3197 * Machine dependent definitions moved to <sys/machtypes.h>. 3198 */ 3199 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 3200 /* 3201 * CDDL HEADER START 3202 * 3203 * The contents of this file are subject to the terms of the 3204 * Common Development and Distribution License, Version 1.0 only 3205 * (the "License"). You may not use this file except in compliance 3206 * with the License. 3207 * 3208 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3209 * or http://www.opensolaris.org/os/licensing. 3210 * See the License for the specific language governing permissions 3211 * and limitations under the License. 3212 * 3213 * When distributing Covered Code, include this CDDL HEADER in each 3214 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3215 * If applicable, add the following below this CDDL HEADER, with the 3216 * fields enclosed by brackets "[]" replaced with your own identifying 3217 * information: Portions Copyright [yyyy] [name of copyright owner] 3218 * 3219 * CDDL HEADER END 3220 */ 3221 /* 3222 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3223 * Use is subject to license terms. 3224 */ 3225 3226 3227 3228 3229 #pragma ident "%Z%%M% %I% %E% SMI" 3230 3231 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3232 /* 3233 * CDDL HEADER START 3234 * 3235 * The contents of this file are subject to the terms of the 3236 * Common Development and Distribution License (the "License"). 3237 * You may not use this file except in compliance with the License. 3238 * 3239 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3240 * or http://www.opensolaris.org/os/licensing. 3241 * See the License for the specific language governing permissions 3242 * and limitations under the License. 3243 * 3244 * When distributing Covered Code, include this CDDL HEADER in each 3245 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3246 * If applicable, add the following below this CDDL HEADER, with the 3247 * fields enclosed by brackets "[]" replaced with your own identifying 3248 * information: Portions Copyright [yyyy] [name of copyright owner] 3249 * 3250 * CDDL HEADER END 3251 */ 3252 3253 /* 3254 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3255 * Copyright 2016 Joyent, Inc. 3256 * 3257 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3258 * Use is subject to license terms. 3259 */ 3260 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3261 3262 3263 3264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 3265 /* 3266 * CDDL HEADER START 3267 * 3268 * The contents of this file are subject to the terms of the 3269 * Common Development and Distribution License (the "License"). 3270 * You may not use this file except in compliance with the License. 3271 * 3272 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3273 * or http://www.opensolaris.org/os/licensing. 3274 * See the License for the specific language governing permissions 3275 * and limitations under the License. 3276 * 3277 * When distributing Covered Code, include this CDDL HEADER in each 3278 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3279 * If applicable, add the following below this CDDL HEADER, with the 3280 * fields enclosed by brackets "[]" replaced with your own identifying 3281 * information: Portions Copyright [yyyy] [name of copyright owner] 3282 * 3283 * CDDL HEADER END 3284 */ 3285 /* 3286 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3287 * Use is subject to license terms. 3288 */ 3289 3290 3291 3292 3293 #pragma ident "%Z%%M% %I% %E% SMI" 3294 3295 3296 3297 3298 3299 /* 3300 * Machine dependent types: 3301 * 3302 * intel ia32 Version 3303 */ 3304 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 3305 typedef struct _label_t { long val[8]; } label_t; 3306 3307 3308 3309 typedef unsigned char lock_t; /* lock work for busy wait */ 3310 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 3311 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3312 3313 /* 3314 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 3315 * committee's working draft for the revision of the current ISO C standard, 3316 * ISO/IEC 9899:1990 Programming language - C. These are not currently 3317 * required by any standard but constitute a useful, general purpose set 3318 * of type definitions which is namespace clean with respect to all standards. 3319 */ 3320 3321 3322 3323 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 3324 /* 3325 * CDDL HEADER START 3326 * 3327 * The contents of this file are subject to the terms of the 3328 * Common Development and Distribution License, Version 1.0 only 3329 * (the "License"). You may not use this file except in compliance 3330 * with the License. 3331 * 3332 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3333 * or http://www.opensolaris.org/os/licensing. 3334 * See the License for the specific language governing permissions 3335 * and limitations under the License. 3336 * 3337 * When distributing Covered Code, include this CDDL HEADER in each 3338 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3339 * If applicable, add the following below this CDDL HEADER, with the 3340 * fields enclosed by brackets "[]" replaced with your own identifying 3341 * information: Portions Copyright [yyyy] [name of copyright owner] 3342 * 3343 * CDDL HEADER END 3344 */ 3345 /* 3346 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3347 * 3348 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3349 * Use is subject to license terms. 3350 */ 3351 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 3352 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3353 /* 3354 * Strictly conforming ANSI C environments prior to the 1999 3355 * revision of the C Standard (ISO/IEC 9899:1999) do not have 3356 * the long long data type. 3357 */ 3358 3359 typedef long long longlong_t; 3360 typedef unsigned long long u_longlong_t; 3361 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3362 /* 3363 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 3364 * to use them instead of int32_t and uint32_t because DEC had 3365 * shipped 64-bit wide. 3366 */ 3367 3368 typedef int32_t t_scalar_t; 3369 typedef uint32_t t_uscalar_t; 3370 3371 3372 3373 3374 3375 /* 3376 * POSIX Extensions 3377 */ 3378 typedef unsigned char uchar_t; 3379 typedef unsigned short ushort_t; 3380 typedef unsigned int uint_t; 3381 typedef unsigned long ulong_t; 3382 3383 typedef char *caddr_t; /* ?<core address> type */ 3384 typedef long daddr_t; /* <disk address> type */ 3385 typedef short cnt_t; /* ?<count> type */ 3386 3387 3388 3389 3390 typedef long ptrdiff_t; /* pointer difference */ 3391 3392 3393 3394 3395 3396 /* 3397 * VM-related types 3398 */ 3399 typedef ulong_t pfn_t; /* page frame number */ 3400 typedef ulong_t pgcnt_t; /* number of pages */ 3401 typedef long spgcnt_t; /* signed number of pages */ 3402 3403 typedef uchar_t use_t; /* use count for swap. */ 3404 typedef short sysid_t; 3405 typedef short index_t; 3406 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 3407 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 3408 3409 /* 3410 * The size of off_t and related types depends on the setting of 3411 * _FILE_OFFSET_BITS. (Note that other system headers define other types 3412 * related to those defined here.) 3413 * 3414 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 3415 * explicitly 64 bits wide become available. 3416 */ 3417 # 160 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3418 typedef ulong_t ino_t; /* expanded inode type */ 3419 typedef long blkcnt_t; /* count of file blocks */ 3420 typedef ulong_t fsblkcnt_t; /* count of file system blocks */ 3421 typedef ulong_t fsfilcnt_t; /* count of files */ 3422 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3423 typedef ino_t ino64_t; /* expanded inode type */ 3424 typedef blkcnt_t blkcnt64_t; /* count of file blocks */ 3425 typedef fsblkcnt_t fsblkcnt64_t; /* count of file system blocks */ 3426 typedef fsfilcnt_t fsfilcnt64_t; /* count of files */ 3427 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3428 typedef int blksize_t; /* used for block sizes */ 3429 3430 3431 3432 3433 3434 3435 3436 typedef enum { B_FALSE, B_TRUE } boolean_t; 3437 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3438 /* 3439 * The {u,}pad64_t types can be used in structures such that those structures 3440 * may be accessed by code produced by compilation environments which don't 3441 * support a 64 bit integral datatype. The intention is not to allow 3442 * use of these fields in such environments, but to maintain the alignment 3443 * and offsets of the structure. 3444 * 3445 * Similar comments for {u,}pad128_t. 3446 * 3447 * Note that these types do NOT generate any stronger alignment constraints 3448 * than those available in the underlying ABI. See <sys/isa_defs.h> 3449 */ 3450 3451 typedef int64_t pad64_t; 3452 typedef uint64_t upad64_t; 3453 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3454 typedef union { 3455 long double _q; 3456 int32_t _l[4]; 3457 } pad128_t; 3458 3459 typedef union { 3460 long double _q; 3461 uint32_t _l[4]; 3462 } upad128_t; 3463 3464 typedef longlong_t offset_t; 3465 typedef u_longlong_t u_offset_t; 3466 typedef u_longlong_t len_t; 3467 typedef u_longlong_t diskaddr_t; 3468 3469 3470 3471 3472 /* 3473 * Definitions remaining from previous partial support for 64-bit file 3474 * offsets. This partial support for devices greater than 2gb requires 3475 * compiler support for long long. 3476 */ 3477 3478 typedef union { 3479 offset_t _f; /* Full 64 bit offset value */ 3480 struct { 3481 int32_t _l; /* lower 32 bits of offset value */ 3482 int32_t _u; /* upper 32 bits of offset value */ 3483 } _p; 3484 } lloff_t; 3485 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3486 typedef union { 3487 longlong_t _f; /* Full 64 bit disk address value */ 3488 struct { 3489 int32_t _l; /* lower 32 bits of disk address value */ 3490 int32_t _u; /* upper 32 bits of disk address value */ 3491 } _p; 3492 } lldaddr_t; 3493 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3494 typedef uint_t k_fltset_t; /* kernel fault set type */ 3495 3496 /* 3497 * The following type is for various kinds of identifiers. The 3498 * actual type must be the same for all since some system calls 3499 * (such as sigsend) take arguments that may be any of these 3500 * types. The enumeration type idtype_t defined in sys/procset.h 3501 * is used to indicate what type of id is being specified -- 3502 * a process id, process group id, session id, scheduling class id, 3503 * user id, group id, project id, task id or zone id. 3504 */ 3505 3506 typedef int id_t; 3507 3508 3509 3510 3511 typedef id_t lgrp_id_t; /* lgroup ID */ 3512 3513 /* 3514 * Type useconds_t is an unsigned integral type capable of storing 3515 * values at least in the range of zero to 1,000,000. 3516 */ 3517 typedef uint_t useconds_t; /* Time, in microseconds */ 3518 3519 3520 3521 typedef long suseconds_t; /* signed # of microseconds */ 3522 3523 3524 /* 3525 * Typedefs for dev_t components. 3526 */ 3527 3528 typedef uint_t major_t; /* major part of device number */ 3529 typedef uint_t minor_t; /* minor part of device number */ 3530 3531 3532 3533 3534 3535 /* 3536 * The data type of a thread priority. 3537 */ 3538 typedef short pri_t; 3539 3540 /* 3541 * The data type for a CPU flags field. (Can be extended to larger unsigned 3542 * types, if needed, limited by ability to update atomically.) 3543 */ 3544 typedef ushort_t cpu_flag_t; 3545 3546 /* 3547 * For compatibility reasons the following typedefs (prefixed o_) 3548 * can't grow regardless of the EFT definition. Although, 3549 * applications should not explicitly use these typedefs 3550 * they may be included via a system header definition. 3551 * WARNING: These typedefs may be removed in a future 3552 * release. 3553 * ex. the definitions in s5inode.h (now obsoleted) 3554 * remained small to preserve compatibility 3555 * in the S5 file system type. 3556 */ 3557 typedef ushort_t o_mode_t; /* old file attribute type */ 3558 typedef short o_dev_t; /* old device type */ 3559 typedef ushort_t o_uid_t; /* old UID type */ 3560 typedef o_uid_t o_gid_t; /* old GID type */ 3561 typedef short o_nlink_t; /* old file link type */ 3562 typedef short o_pid_t; /* old process id type */ 3563 typedef ushort_t o_ino_t; /* old inode type */ 3564 3565 3566 /* 3567 * POSIX and XOPEN Declarations 3568 */ 3569 typedef int key_t; /* IPC key type */ 3570 3571 typedef uint_t mode_t; /* file attribute type */ 3572 # 382 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3573 typedef uid_t gid_t; /* GID type */ 3574 3575 typedef uint32_t datalink_id_t; 3576 typedef uint32_t vrid_t; 3577 3578 typedef id_t taskid_t; 3579 typedef id_t projid_t; 3580 typedef id_t poolid_t; 3581 typedef id_t zoneid_t; 3582 typedef id_t ctid_t; 3583 3584 /* 3585 * POSIX definitions are same as defined in thread.h and synch.h. 3586 * Any changes made to here should be reflected in corresponding 3587 * files as described in comments. 3588 */ 3589 typedef uint_t pthread_t; /* = thread_t in thread.h */ 3590 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 3591 3592 /* "Magic numbers" tagging synchronization object types */ 3593 3594 3595 3596 3597 3598 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 3599 struct { 3600 uint16_t __pthread_mutex_flag1; 3601 uint8_t __pthread_mutex_flag2; 3602 uint8_t __pthread_mutex_ceiling; 3603 uint16_t __pthread_mutex_type; 3604 uint16_t __pthread_mutex_magic; 3605 } __pthread_mutex_flags; 3606 union { 3607 struct { 3608 uint8_t __pthread_mutex_pad[8]; 3609 } __pthread_mutex_lock64; 3610 struct { 3611 uint32_t __pthread_ownerpid; 3612 uint32_t __pthread_lockword; 3613 } __pthread_mutex_lock32; 3614 upad64_t __pthread_mutex_owner64; 3615 } __pthread_mutex_lock; 3616 upad64_t __pthread_mutex_data; 3617 } pthread_mutex_t; 3618 3619 typedef struct _pthread_cond { /* = cond_t in synch.h */ 3620 struct { 3621 uint8_t __pthread_cond_flag[4]; 3622 uint16_t __pthread_cond_type; 3623 uint16_t __pthread_cond_magic; 3624 } __pthread_cond_flags; 3625 upad64_t __pthread_cond_data; 3626 } pthread_cond_t; 3627 3628 /* 3629 * UNIX 98 Extension 3630 */ 3631 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 3632 int32_t __pthread_rwlock_readers; 3633 uint16_t __pthread_rwlock_type; 3634 uint16_t __pthread_rwlock_magic; 3635 pthread_mutex_t __pthread_rwlock_mutex; 3636 pthread_cond_t __pthread_rwlock_readercv; 3637 pthread_cond_t __pthread_rwlock_writercv; 3638 } pthread_rwlock_t; 3639 3640 /* 3641 * SUSV3 3642 */ 3643 typedef struct { 3644 uint32_t __pthread_barrier_count; 3645 uint32_t __pthread_barrier_current; 3646 upad64_t __pthread_barrier_cycle; 3647 upad64_t __pthread_barrier_reserved; 3648 pthread_mutex_t __pthread_barrier_lock; 3649 pthread_cond_t __pthread_barrier_cond; 3650 } pthread_barrier_t; 3651 3652 typedef pthread_mutex_t pthread_spinlock_t; 3653 3654 /* 3655 * attributes for threads, dynamically allocated by library 3656 */ 3657 typedef struct _pthread_attr { 3658 void *__pthread_attrp; 3659 } pthread_attr_t; 3660 3661 /* 3662 * attributes for mutex, dynamically allocated by library 3663 */ 3664 typedef struct _pthread_mutexattr { 3665 void *__pthread_mutexattrp; 3666 } pthread_mutexattr_t; 3667 3668 /* 3669 * attributes for cond, dynamically allocated by library 3670 */ 3671 typedef struct _pthread_condattr { 3672 void *__pthread_condattrp; 3673 } pthread_condattr_t; 3674 3675 /* 3676 * pthread_once 3677 */ 3678 typedef struct _once { 3679 upad64_t __pthread_once_pad[4]; 3680 } pthread_once_t; 3681 3682 /* 3683 * UNIX 98 Extensions 3684 * attributes for rwlock, dynamically allocated by library 3685 */ 3686 typedef struct _pthread_rwlockattr { 3687 void *__pthread_rwlockattrp; 3688 } pthread_rwlockattr_t; 3689 3690 /* 3691 * SUSV3 3692 * attributes for pthread_barrier_t, dynamically allocated by library 3693 */ 3694 typedef struct { 3695 void *__pthread_barrierattrp; 3696 } pthread_barrierattr_t; 3697 3698 typedef ulong_t dev_t; /* expanded device type */ 3699 3700 3701 typedef uint_t nlink_t; /* file link type */ 3702 typedef int pid_t; /* process id type */ 3703 # 537 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3704 typedef long time_t; /* time of day in seconds */ 3705 3706 3707 3708 3709 typedef long clock_t; /* relative time in a specified resolution */ 3710 3711 3712 3713 3714 typedef int clockid_t; /* clock identifier type */ 3715 3716 3717 3718 3719 typedef int timer_t; /* timer identifier type */ 3720 3721 3722 3723 3724 /* BEGIN CSTYLED */ 3725 typedef unsigned char unchar; 3726 typedef unsigned short ushort; 3727 typedef unsigned int uint; 3728 typedef unsigned long ulong; 3729 /* END CSTYLED */ 3730 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3731 /* 3732 * The following is the value of type id_t to use to indicate the 3733 * caller's current id. See procset.h for the type idtype_t 3734 * which defines which kind of id is being specified. 3735 */ 3736 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 3737 /* 3738 * The following value of type pfn_t is used to indicate 3739 * invalid page frame number. 3740 */ 3741 3742 3743 3744 /* BEGIN CSTYLED */ 3745 typedef unsigned char u_char; 3746 typedef unsigned short u_short; 3747 typedef unsigned int u_int; 3748 typedef unsigned long u_long; 3749 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 3750 typedef quad_t quad; /* used by UFS */ 3751 /* END CSTYLED */ 3752 3753 /* 3754 * Nested include for BSD/sockets source compatibility. 3755 * (The select macros used to be defined here). 3756 */ 3757 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 3758 /* 3759 * CDDL HEADER START 3760 * 3761 * The contents of this file are subject to the terms of the 3762 * Common Development and Distribution License (the "License"). 3763 * You may not use this file except in compliance with the License. 3764 * 3765 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3766 * or http://www.opensolaris.org/os/licensing. 3767 * See the License for the specific language governing permissions 3768 * and limitations under the License. 3769 * 3770 * When distributing Covered Code, include this CDDL HEADER in each 3771 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3772 * If applicable, add the following below this CDDL HEADER, with the 3773 * fields enclosed by brackets "[]" replaced with your own identifying 3774 * information: Portions Copyright [yyyy] [name of copyright owner] 3775 * 3776 * CDDL HEADER END 3777 */ 3778 3779 /* 3780 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3781 * 3782 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3783 * 3784 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 3785 * Use is subject to license terms. 3786 */ 3787 3788 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3789 /* All Rights Reserved */ 3790 3791 /* 3792 * University Copyright- Copyright (c) 1982, 1986, 1988 3793 * The Regents of the University of California 3794 * All Rights Reserved 3795 * 3796 * University Acknowledgment- Portions of this document are derived from 3797 * software developed by the University of California, Berkeley, and its 3798 * contributors. 3799 */ 3800 3801 3802 3803 3804 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3805 /* 3806 * CDDL HEADER START 3807 * 3808 * The contents of this file are subject to the terms of the 3809 * Common Development and Distribution License (the "License"). 3810 * You may not use this file except in compliance with the License. 3811 * 3812 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3813 * or http://www.opensolaris.org/os/licensing. 3814 * See the License for the specific language governing permissions 3815 * and limitations under the License. 3816 * 3817 * When distributing Covered Code, include this CDDL HEADER in each 3818 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3819 * If applicable, add the following below this CDDL HEADER, with the 3820 * fields enclosed by brackets "[]" replaced with your own identifying 3821 * information: Portions Copyright [yyyy] [name of copyright owner] 3822 * 3823 * CDDL HEADER END 3824 */ 3825 3826 /* 3827 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3828 * Copyright 2016 Joyent, Inc. 3829 * 3830 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3831 * Use is subject to license terms. 3832 */ 3833 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3834 3835 3836 3837 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 3838 /* 3839 * CDDL HEADER START 3840 * 3841 * The contents of this file are subject to the terms of the 3842 * Common Development and Distribution License, Version 1.0 only 3843 * (the "License"). You may not use this file except in compliance 3844 * with the License. 3845 * 3846 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3847 * or http://www.opensolaris.org/os/licensing. 3848 * See the License for the specific language governing permissions 3849 * and limitations under the License. 3850 * 3851 * When distributing Covered Code, include this CDDL HEADER in each 3852 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3853 * If applicable, add the following below this CDDL HEADER, with the 3854 * fields enclosed by brackets "[]" replaced with your own identifying 3855 * information: Portions Copyright [yyyy] [name of copyright owner] 3856 * 3857 * CDDL HEADER END 3858 */ 3859 /* 3860 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3861 * Use is subject to license terms. 3862 */ 3863 3864 /* 3865 * Implementation-private. This header should not be included 3866 * directly by an application. The application should instead 3867 * include <time.h> which includes this header conditionally 3868 * depending on which feature test macros are defined. By default, 3869 * this header is included by <time.h>. X/Open and POSIX 3870 * standards requirements result in this header being included 3871 * by <time.h> only under a restricted set of conditions. 3872 */ 3873 3874 3875 3876 3877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3878 /* 3879 * CDDL HEADER START 3880 * 3881 * The contents of this file are subject to the terms of the 3882 * Common Development and Distribution License (the "License"). 3883 * You may not use this file except in compliance with the License. 3884 * 3885 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3886 * or http://www.opensolaris.org/os/licensing. 3887 * See the License for the specific language governing permissions 3888 * and limitations under the License. 3889 * 3890 * When distributing Covered Code, include this CDDL HEADER in each 3891 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3892 * If applicable, add the following below this CDDL HEADER, with the 3893 * fields enclosed by brackets "[]" replaced with your own identifying 3894 * information: Portions Copyright [yyyy] [name of copyright owner] 3895 * 3896 * CDDL HEADER END 3897 */ 3898 3899 /* 3900 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3901 * Copyright 2016 Joyent, Inc. 3902 * 3903 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3904 * Use is subject to license terms. 3905 */ 3906 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 3907 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3908 /* 3909 * Time expressed in seconds and nanoseconds 3910 */ 3911 3912 typedef struct timespec { /* definition per POSIX.4 */ 3913 time_t tv_sec; /* seconds */ 3914 long tv_nsec; /* and nanoseconds */ 3915 } timespec_t; 3916 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 3917 typedef struct timespec timestruc_t; /* definition per SVr4 */ 3918 3919 /* 3920 * The following has been left in for backward compatibility. Portable 3921 * applications should not use the structure name timestruc. 3922 */ 3923 3924 3925 3926 3927 3928 /* 3929 * Timer specification 3930 */ 3931 typedef struct itimerspec { /* definition per POSIX.4 */ 3932 struct timespec it_interval; /* timer period */ 3933 struct timespec it_value; /* timer expiration */ 3934 } itimerspec_t; 3935 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 3936 3937 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 3938 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3939 /* All Rights Reserved */ 3940 3941 3942 /* 3943 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 3944 * All rights reserved. The Berkeley software License Agreement 3945 * specifies the terms and conditions for redistribution. 3946 */ 3947 3948 /* 3949 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3950 * 3951 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3952 * Use is subject to license terms. 3953 * 3954 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3955 */ 3956 3957 /* 3958 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 3959 */ 3960 3961 3962 3963 3964 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3965 /* 3966 * CDDL HEADER START 3967 * 3968 * The contents of this file are subject to the terms of the 3969 * Common Development and Distribution License (the "License"). 3970 * You may not use this file except in compliance with the License. 3971 * 3972 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3973 * or http://www.opensolaris.org/os/licensing. 3974 * See the License for the specific language governing permissions 3975 * and limitations under the License. 3976 * 3977 * When distributing Covered Code, include this CDDL HEADER in each 3978 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3979 * If applicable, add the following below this CDDL HEADER, with the 3980 * fields enclosed by brackets "[]" replaced with your own identifying 3981 * information: Portions Copyright [yyyy] [name of copyright owner] 3982 * 3983 * CDDL HEADER END 3984 */ 3985 3986 /* 3987 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3988 * Copyright 2016 Joyent, Inc. 3989 * 3990 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3991 * Use is subject to license terms. 3992 */ 3993 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 3994 3995 /* 3996 * Structure returned by gettimeofday(2) system call, 3997 * and used in other calls. 3998 */ 3999 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4000 struct timeval { 4001 time_t tv_sec; /* seconds */ 4002 suseconds_t tv_usec; /* and microseconds */ 4003 }; 4004 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4005 struct timezone { 4006 int tz_minuteswest; /* minutes west of Greenwich */ 4007 int tz_dsttime; /* type of dst correction */ 4008 }; 4009 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4010 /* 4011 * Needed for longlong_t type. Placement of this due to <sys/types.h> 4012 * including <sys/select.h> which relies on the presense of the itimerval 4013 * structure. 4014 */ 4015 4016 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4017 /* 4018 * CDDL HEADER START 4019 * 4020 * The contents of this file are subject to the terms of the 4021 * Common Development and Distribution License (the "License"). 4022 * You may not use this file except in compliance with the License. 4023 * 4024 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4025 * or http://www.opensolaris.org/os/licensing. 4026 * See the License for the specific language governing permissions 4027 * and limitations under the License. 4028 * 4029 * When distributing Covered Code, include this CDDL HEADER in each 4030 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4031 * If applicable, add the following below this CDDL HEADER, with the 4032 * fields enclosed by brackets "[]" replaced with your own identifying 4033 * information: Portions Copyright [yyyy] [name of copyright owner] 4034 * 4035 * CDDL HEADER END 4036 */ 4037 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4038 /* All Rights Reserved */ 4039 4040 4041 /* 4042 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4043 * Use is subject to license terms. 4044 * 4045 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4046 * Copyright 2016 Joyent, Inc. 4047 */ 4048 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4049 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4050 /* 4051 * Operations on timevals. 4052 */ 4053 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4054 /* 4055 * Names of the interval timers, and structure 4056 * defining a timer setting. 4057 */ 4058 4059 4060 4061 /* time and when system is running on */ 4062 /* behalf of the process. */ 4063 4064 /* time profiling of multithreaded */ 4065 /* programs. */ 4066 4067 4068 struct itimerval { 4069 struct timeval it_interval; /* timer interval */ 4070 struct timeval it_value; /* current value */ 4071 }; 4072 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4073 /* 4074 * Definitions for commonly used resolutions. 4075 */ 4076 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4077 /* 4078 * Time expressed as a 64-bit nanosecond counter. 4079 */ 4080 typedef longlong_t hrtime_t; 4081 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4082 int adjtime(struct timeval *, struct timeval *); 4083 4084 4085 4086 4087 int futimesat(int, const char *, const struct timeval *); 4088 4089 4090 4091 4092 4093 int getitimer(int, struct itimerval *); 4094 int utimes(const char *, const struct timeval *); 4095 4096 4097 4098 4099 int setitimer(int, struct itimerval *, 4100 struct itimerval *); 4101 4102 4103 4104 4105 /* 4106 * gettimeofday() and settimeofday() were included in SVr4 due to their 4107 * common use in BSD based applications. They were to be included exactly 4108 * as in BSD, with two parameters. However, AT&T/USL noted that the second 4109 * parameter was unused and deleted it, thereby making a routine included 4110 * for compatibility, incompatible. 4111 * 4112 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 4113 * parameters. 4114 * 4115 * This has caused general disagreement in the application community as to 4116 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 4117 * The flag _SVID_GETTOD may be used to force the SVID version. 4118 */ 4119 4120 4121 4122 4123 4124 int settimeofday(struct timeval *, void *); 4125 4126 hrtime_t gethrtime(void); 4127 hrtime_t gethrvtime(void); 4128 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 4129 int gettimeofday(struct timeval *, void *); 4130 4131 4132 4133 4134 /* 4135 * The inclusion of <time.h> is historical and was added for 4136 * backward compatibility in delta 1.2 when a number of definitions 4137 * were moved out of <sys/time.h>. More recently, the timespec and 4138 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 4139 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 4140 * which is now included by <time.h>. This change was due to POSIX 4141 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 4142 * non-X/Open applications, including this header will still make 4143 * visible these definitions. 4144 */ 4145 4146 4147 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 4148 /* 4149 * CDDL HEADER START 4150 * 4151 * The contents of this file are subject to the terms of the 4152 * Common Development and Distribution License (the "License"). 4153 * You may not use this file except in compliance with the License. 4154 * 4155 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4156 * or http://www.opensolaris.org/os/licensing. 4157 * See the License for the specific language governing permissions 4158 * and limitations under the License. 4159 * 4160 * When distributing Covered Code, include this CDDL HEADER in each 4161 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4162 * If applicable, add the following below this CDDL HEADER, with the 4163 * fields enclosed by brackets "[]" replaced with your own identifying 4164 * information: Portions Copyright [yyyy] [name of copyright owner] 4165 * 4166 * CDDL HEADER END 4167 */ 4168 /* Copyright (c) 1988 AT&T */ 4169 /* All Rights Reserved */ 4170 4171 4172 /* 4173 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4174 * 4175 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 4176 * Use is subject to license terms. 4177 */ 4178 /* 4179 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 4180 * Copyright 2016 Joyent, Inc. 4181 */ 4182 4183 4184 4185 4186 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4187 /* 4188 * CDDL HEADER START 4189 * 4190 * The contents of this file are subject to the terms of the 4191 * Common Development and Distribution License (the "License"). 4192 * You may not use this file except in compliance with the License. 4193 * 4194 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4195 * or http://www.opensolaris.org/os/licensing. 4196 * See the License for the specific language governing permissions 4197 * and limitations under the License. 4198 * 4199 * When distributing Covered Code, include this CDDL HEADER in each 4200 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4201 * If applicable, add the following below this CDDL HEADER, with the 4202 * fields enclosed by brackets "[]" replaced with your own identifying 4203 * information: Portions Copyright [yyyy] [name of copyright owner] 4204 * 4205 * CDDL HEADER END 4206 */ 4207 4208 /* 4209 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4210 * Copyright 2016 Joyent, Inc. 4211 * 4212 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4213 * Use is subject to license terms. 4214 */ 4215 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4216 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 4217 /* 4218 * CDDL HEADER START 4219 * 4220 * The contents of this file are subject to the terms of the 4221 * Common Development and Distribution License, Version 1.0 only 4222 * (the "License"). You may not use this file except in compliance 4223 * with the License. 4224 * 4225 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4226 * or http://www.opensolaris.org/os/licensing. 4227 * See the License for the specific language governing permissions 4228 * and limitations under the License. 4229 * 4230 * When distributing Covered Code, include this CDDL HEADER in each 4231 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4232 * If applicable, add the following below this CDDL HEADER, with the 4233 * fields enclosed by brackets "[]" replaced with your own identifying 4234 * information: Portions Copyright [yyyy] [name of copyright owner] 4235 * 4236 * CDDL HEADER END 4237 */ 4238 /* Copyright (c) 1988 AT&T */ 4239 /* All Rights Reserved */ 4240 4241 /* 4242 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4243 * Copyright 2014 PALO, Richard. 4244 * 4245 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 4246 * Use is subject to license terms. 4247 */ 4248 4249 /* 4250 * An application should not include this header directly. Instead it 4251 * should be included only through the inclusion of other Sun headers. 4252 * 4253 * The contents of this header is limited to identifiers specified in the 4254 * C Standard. Any new identifiers specified in future amendments to the 4255 * C Standard must be placed in this header. If these new identifiers 4256 * are required to also be in the C++ Standard "std" namespace, then for 4257 * anything other than macro definitions, corresponding "using" directives 4258 * must also be added to <time.h.h>. 4259 */ 4260 4261 4262 4263 4264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4265 /* 4266 * CDDL HEADER START 4267 * 4268 * The contents of this file are subject to the terms of the 4269 * Common Development and Distribution License (the "License"). 4270 * You may not use this file except in compliance with the License. 4271 * 4272 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4273 * or http://www.opensolaris.org/os/licensing. 4274 * See the License for the specific language governing permissions 4275 * and limitations under the License. 4276 * 4277 * When distributing Covered Code, include this CDDL HEADER in each 4278 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4279 * If applicable, add the following below this CDDL HEADER, with the 4280 * fields enclosed by brackets "[]" replaced with your own identifying 4281 * information: Portions Copyright [yyyy] [name of copyright owner] 4282 * 4283 * CDDL HEADER END 4284 */ 4285 4286 /* 4287 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4288 * Copyright 2016 Joyent, Inc. 4289 * 4290 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4291 * Use is subject to license terms. 4292 */ 4293 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4294 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 4295 /* 4296 * This file and its contents are supplied under the terms of the 4297 * Common Development and Distribution License ("CDDL"), version 1.0. 4298 * You may only use this file in accordance with the terms of version 4299 * 1.0 of the CDDL. 4300 * 4301 * A full copy of the text of the CDDL should have accompanied this 4302 * source. A copy of the CDDL is also available via the Internet at 4303 * http://www.illumos.org/license/CDDL. 4304 */ 4305 4306 /* 4307 * Copyright 2014-2016 PALO, Richard. 4308 */ 4309 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 4310 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 4311 struct tm { /* see ctime(3) */ 4312 int tm_sec; 4313 int tm_min; 4314 int tm_hour; 4315 int tm_mday; 4316 int tm_mon; 4317 int tm_year; 4318 int tm_wday; 4319 int tm_yday; 4320 int tm_isdst; 4321 }; 4322 4323 4324 extern char *asctime(const struct tm *); 4325 extern clock_t clock(void); 4326 extern char *ctime(const time_t *); 4327 extern double difftime(time_t, time_t); 4328 extern struct tm *gmtime(const time_t *); 4329 extern struct tm *localtime(const time_t *); 4330 extern time_t mktime(struct tm *); 4331 extern time_t time(time_t *); 4332 extern size_t strftime(char *, size_t, const char *, 4333 const struct tm *); 4334 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4335 /* 4336 * C11 requires sys/time_impl.h for the definition of the struct timespec. 4337 */ 4338 4339 4340 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4341 /* 4342 * CDDL HEADER START 4343 * 4344 * The contents of this file are subject to the terms of the 4345 * Common Development and Distribution License (the "License"). 4346 * You may not use this file except in compliance with the License. 4347 * 4348 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4349 * or http://www.opensolaris.org/os/licensing. 4350 * See the License for the specific language governing permissions 4351 * and limitations under the License. 4352 * 4353 * When distributing Covered Code, include this CDDL HEADER in each 4354 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4355 * If applicable, add the following below this CDDL HEADER, with the 4356 * fields enclosed by brackets "[]" replaced with your own identifying 4357 * information: Portions Copyright [yyyy] [name of copyright owner] 4358 * 4359 * CDDL HEADER END 4360 */ 4361 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4362 /* All Rights Reserved */ 4363 4364 4365 /* 4366 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4367 * Use is subject to license terms. 4368 * 4369 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4370 * Copyright 2016 Joyent, Inc. 4371 */ 4372 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4373 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 4374 /* 4375 * CDDL HEADER START 4376 * 4377 * The contents of this file are subject to the terms of the 4378 * Common Development and Distribution License, Version 1.0 only 4379 * (the "License"). You may not use this file except in compliance 4380 * with the License. 4381 * 4382 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4383 * or http://www.opensolaris.org/os/licensing. 4384 * See the License for the specific language governing permissions 4385 * and limitations under the License. 4386 * 4387 * When distributing Covered Code, include this CDDL HEADER in each 4388 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4389 * If applicable, add the following below this CDDL HEADER, with the 4390 * fields enclosed by brackets "[]" replaced with your own identifying 4391 * information: Portions Copyright [yyyy] [name of copyright owner] 4392 * 4393 * CDDL HEADER END 4394 */ 4395 /* 4396 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 4397 * Use is subject to license terms. 4398 */ 4399 4400 /* 4401 * Implementation-private. This header should not be included 4402 * directly by an application. The application should instead 4403 * include <time.h> which includes this header conditionally 4404 * depending on which feature test macros are defined. By default, 4405 * this header is included by <time.h>. X/Open and POSIX 4406 * standards requirements result in this header being included 4407 * by <time.h> only under a restricted set of conditions. 4408 */ 4409 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 4410 4411 4412 /* 4413 * Allow global visibility for symbols defined in 4414 * C++ "std" namespace in <iso/time_iso.h>. 4415 */ 4416 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4417 extern struct tm *gmtime_r(const time_t *, 4418 struct tm *); 4419 extern struct tm *localtime_r(const time_t *, 4420 struct tm *); 4421 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4422 extern char *strptime(const char *, const char *, 4423 struct tm *); 4424 4425 4426 4427 4428 4429 /* 4430 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 4431 * definition of the sigevent structure. Both require the inclusion 4432 * of <signal.h> and <time.h> when using the timer_create() function. 4433 * However, X/Open also specifies that the sigevent structure be defined 4434 * in <time.h> as described in the header <signal.h>. This prevents 4435 * compiler warnings for applications that only include <time.h> and not 4436 * also <signal.h>. The sigval union and the sigevent structure is 4437 * therefore defined both here and in <sys/siginfo.h> which gets included 4438 * via inclusion of <signal.h>. 4439 */ 4440 4441 4442 union sigval { 4443 int sival_int; /* integer value */ 4444 void *sival_ptr; /* pointer value */ 4445 }; 4446 4447 4448 4449 4450 struct sigevent { 4451 int sigev_notify; /* notification mode */ 4452 int sigev_signo; /* signal number */ 4453 union sigval sigev_value; /* signal value */ 4454 void (*sigev_notify_function)(union sigval); 4455 pthread_attr_t *sigev_notify_attributes; 4456 int __sigev_pad2; 4457 }; 4458 4459 4460 extern int clock_getres(clockid_t, struct timespec *); 4461 extern int clock_gettime(clockid_t, struct timespec *); 4462 extern int clock_settime(clockid_t, const struct timespec *); 4463 extern int timer_create(clockid_t, struct sigevent *, 4464 timer_t *); 4465 extern int timer_delete(timer_t); 4466 extern int timer_getoverrun(timer_t); 4467 extern int timer_gettime(timer_t, struct itimerspec *); 4468 extern int timer_settime(timer_t, int, const struct itimerspec *, 4469 struct itimerspec *); 4470 4471 extern int nanosleep(const struct timespec *, struct timespec *); 4472 extern int clock_nanosleep(clockid_t, int, 4473 const struct timespec *, struct timespec *); 4474 4475 4476 4477 4478 4479 4480 extern void tzset(void); 4481 extern char *tzname[2]; 4482 4483 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 4484 4485 4486 extern long _sysconf(int); /* System Private interface to sysconf() */ 4487 4488 /* 3 is _SC_CLK_TCK */ 4489 4490 4491 4492 4493 4494 extern long timezone; 4495 extern int daylight; 4496 4497 4498 4499 4500 4501 4502 extern time_t timegm(struct tm *); 4503 extern int cftime(char *, char *, const time_t *); 4504 extern int ascftime(char *, const char *, const struct tm *); 4505 extern long altzone; 4506 4507 4508 4509 4510 extern struct tm *getdate(const char *); 4511 4512 4513 4514 4515 4516 extern int getdate_err; 4517 4518 4519 4520 /* 4521 * ctime_r() & asctime_r() prototypes are defined here. 4522 */ 4523 4524 /* 4525 * Previous releases of Solaris, starting at 2.3, provided definitions of 4526 * various functions as specified in POSIX.1c, Draft 6. For some of these 4527 * functions, the final POSIX 1003.1c standard had a different number of 4528 * arguments and return values. 4529 * 4530 * The following segment of this header provides support for the standard 4531 * interfaces while supporting applications written under earlier 4532 * releases. The application defines appropriate values of the feature 4533 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 4534 * whether it was written to expect the Draft 6 or standard versions of 4535 * these interfaces, before including this header. This header then 4536 * provides a mapping from the source version of the interface to an 4537 * appropriate binary interface. Such mappings permit an application 4538 * to be built from libraries and objects which have mixed expectations 4539 * of the definitions of these functions. 4540 * 4541 * For applications using the Draft 6 definitions, the binary symbol is the 4542 * same as the source symbol, and no explicit mapping is needed. For the 4543 * standard interface, the function func() is mapped to the binary symbol 4544 * _posix_func(). The preferred mechanism for the remapping is a compiler 4545 * #pragma. If the compiler does not provide such a #pragma, the header file 4546 * defines a static function func() which calls the _posix_func() version; 4547 * this has to be done instead of #define since POSIX specifies that an 4548 * application can #undef the symbol and still be bound to the correct 4549 * implementation. Unfortunately, the statics confuse lint so we fallback to 4550 * #define in that case. 4551 * 4552 * NOTE: Support for the Draft 6 definitions is provided for compatibility 4553 * only. New applications/libraries should use the standard definitions. 4554 */ 4555 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4556 extern char *asctime_r(const struct tm *, char *, int); 4557 extern char *ctime_r(const time_t *, char *, int); 4558 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 4559 typedef struct _locale *locale_t; 4560 4561 4562 extern size_t strftime_l(char *, size_t, 4563 const char *, const struct tm *, locale_t); 4564 4565 4566 4567 4568 4569 /* 4570 * Note, the C11 standard requires that all the various base values that are 4571 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 4572 */ 4573 4574 4575 extern int timespec_get(struct timespec *, int); 4576 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4577 4578 4579 /* 4580 * The inclusion of <sys/select.h> is needed for the FD_CLR, 4581 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 4582 * select() prototype defined in the XOpen specifications 4583 * beginning with XSH4v2. Placement required after definition 4584 * for itimerval. 4585 */ 4586 4587 4588 4589 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 4590 /* 4591 * CDDL HEADER START 4592 * 4593 * The contents of this file are subject to the terms of the 4594 * Common Development and Distribution License (the "License"). 4595 * You may not use this file except in compliance with the License. 4596 * 4597 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4598 * or http://www.opensolaris.org/os/licensing. 4599 * See the License for the specific language governing permissions 4600 * and limitations under the License. 4601 * 4602 * When distributing Covered Code, include this CDDL HEADER in each 4603 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4604 * If applicable, add the following below this CDDL HEADER, with the 4605 * fields enclosed by brackets "[]" replaced with your own identifying 4606 * information: Portions Copyright [yyyy] [name of copyright owner] 4607 * 4608 * CDDL HEADER END 4609 */ 4610 4611 /* 4612 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4613 * 4614 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4615 * 4616 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4617 * Use is subject to license terms. 4618 */ 4619 4620 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4621 /* All Rights Reserved */ 4622 4623 /* 4624 * University Copyright- Copyright (c) 1982, 1986, 1988 4625 * The Regents of the University of California 4626 * All Rights Reserved 4627 * 4628 * University Acknowledgment- Portions of this document are derived from 4629 * software developed by the University of California, Berkeley, and its 4630 * contributors. 4631 */ 4632 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 4633 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 4634 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4635 /* 4636 * The sigset_t type is defined in <sys/signal.h> and duplicated 4637 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 4638 * now allows the visibility of signal.h in this header, however 4639 * an order of inclusion problem occurs as a result of inclusion 4640 * of <sys/select.h> in <signal.h> under certain conditions. 4641 * Rather than include <sys/signal.h> here, we've duplicated 4642 * the sigset_t type instead. This type is required for the XPG6 4643 * introduced pselect() function also declared in this header. 4644 */ 4645 4646 4647 typedef struct { /* signal set type */ 4648 unsigned int __sigbits[4]; 4649 } sigset_t; 4650 4651 4652 4653 4654 /* 4655 * Select uses bit masks of file descriptors in longs. 4656 * These macros manipulate such bit fields. 4657 * FD_SETSIZE may be defined by the user, but the default here 4658 * should be >= NOFILE (param.h). 4659 */ 4660 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4661 typedef long fd_mask; 4662 4663 typedef long fds_mask; 4664 4665 /* 4666 * The value of _NBBY needs to be consistant with the value 4667 * of NBBY in <sys/param.h>. 4668 */ 4669 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4670 typedef struct fd_set { 4671 4672 4673 4674 long fds_bits[(((65536)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 4675 } fd_set; 4676 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 4677 extern int select(int, fd_set *, fd_set *, 4678 fd_set *, struct timeval *); 4679 4680 4681 extern int pselect(int, fd_set *, fd_set *, 4682 fd_set *, const struct timespec *, 4683 const sigset_t *); 4684 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 4685 4686 4687 4688 /* 4689 * _VOID was defined to be either void or char but this is not 4690 * required because previous SunOS compilers have accepted the void 4691 * type. However, because many system header and source files use the 4692 * void keyword, the volatile keyword, and ANSI C function prototypes, 4693 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 4694 * should therefore not be used and remains for source compatibility 4695 * only. 4696 */ 4697 /* CSTYLED */ 4698 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4699 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 4700 /* 4701 * CDDL HEADER START 4702 * 4703 * The contents of this file are subject to the terms of the 4704 * Common Development and Distribution License (the "License"). 4705 * You may not use this file except in compliance with the License. 4706 * 4707 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4708 * or http://www.opensolaris.org/os/licensing. 4709 * See the License for the specific language governing permissions 4710 * and limitations under the License. 4711 * 4712 * When distributing Covered Code, include this CDDL HEADER in each 4713 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4714 * If applicable, add the following below this CDDL HEADER, with the 4715 * fields enclosed by brackets "[]" replaced with your own identifying 4716 * information: Portions Copyright [yyyy] [name of copyright owner] 4717 * 4718 * CDDL HEADER END 4719 */ 4720 4721 /* 4722 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 4723 * All Rights Reserved 4724 * 4725 */ 4726 4727 /* 4728 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4729 * Use is subject to license terms. 4730 */ 4731 4732 /* 4733 * WARNING: This is an implementation-specific header, 4734 * its contents are not guaranteed. Applications 4735 * should include <unistd.h> and not this header. 4736 */ 4737 4738 4739 4740 4741 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4742 /* 4743 * CDDL HEADER START 4744 * 4745 * The contents of this file are subject to the terms of the 4746 * Common Development and Distribution License (the "License"). 4747 * You may not use this file except in compliance with the License. 4748 * 4749 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4750 * or http://www.opensolaris.org/os/licensing. 4751 * See the License for the specific language governing permissions 4752 * and limitations under the License. 4753 * 4754 * When distributing Covered Code, include this CDDL HEADER in each 4755 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4756 * If applicable, add the following below this CDDL HEADER, with the 4757 * fields enclosed by brackets "[]" replaced with your own identifying 4758 * information: Portions Copyright [yyyy] [name of copyright owner] 4759 * 4760 * CDDL HEADER END 4761 */ 4762 4763 /* 4764 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4765 * Copyright 2016 Joyent, Inc. 4766 * 4767 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4768 * Use is subject to license terms. 4769 */ 4770 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 4771 4772 4773 4774 4775 4776 /* command names for confstr */ 4777 4778 4779 4780 /* 4781 * command names for large file configuration information 4782 */ 4783 /* large file compilation environment configuration */ 4784 4785 4786 4787 4788 /* transitional large file interface configuration */ 4789 4790 4791 4792 4793 4794 /* UNIX 98 */ 4795 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4796 /* UNIX 03 */ 4797 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4798 /* command names for POSIX sysconf */ 4799 4800 /* POSIX.1 names */ 4801 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4802 /* SVR4 names */ 4803 4804 4805 4806 4807 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 4808 4809 4810 4811 4812 /* POSIX.4 names */ 4813 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4814 /* XPG4 names */ 4815 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4816 /* additional XSH4/XCU4 command names for sysconf */ 4817 4818 4819 4820 /* additional XPG4v2 (UNIX 95) command names */ 4821 4822 4823 4824 4825 4826 /* defined for XTI (XNS Issue 5) */ 4827 4828 4829 4830 4831 4832 4833 4834 /* 4835 * Hardware specific items 4836 * Note that not all items are supported on all architectures 4837 */ 4838 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4839 /* 4840 * POSIX.1c (pthreads) names. These values are defined above 4841 * the sub-500 range. See psarc case 1995/257. 4842 */ 4843 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4844 /* UNIX 98 */ 4845 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4846 /* UNIX 03 */ 4847 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4848 /* command names for POSIX pathconf */ 4849 4850 /* POSIX.1 names */ 4851 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4852 /* POSIX.4 names */ 4853 4854 4855 4856 /* UNIX 03 names */ 4857 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4858 /* UNIX 08 names */ 4859 4860 4861 /* 4862 * Large File Summit names 4863 * 4864 * This value matches the MIPS ABI choice, but leaves a large gap in the 4865 * value space. 4866 */ 4867 4868 4869 /* 4870 * Extended attributes 4871 */ 4872 4873 4874 4875 /* 4876 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 4877 */ 4878 4879 4880 /* 4881 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 4882 */ 4883 4884 4885 4886 /* 4887 * The value of 0 is returned when 4888 * ACL's are not supported 4889 */ 4890 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4891 /* 4892 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 4893 * should not rely on this value, it has been aligned with the current 4894 * standard to avoid confusion if used. 4895 */ 4896 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 4897 /* UNIX 03 names */ 4898 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 4899 4900 4901 4902 4903 4904 /* Symbolic constants for the "access" routine: */ 4905 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4906 /* Symbolic constants for the "lseek" routine: */ 4907 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4908 /* Path names: */ 4909 4910 4911 4912 4913 /* 4914 * compile-time symbolic constants, 4915 * Support does not mean the feature is enabled. 4916 * Use pathconf/sysconf to obtain actual configuration value. 4917 */ 4918 4919 /* Values unchanged in UNIX 03 */ 4920 4921 4922 4923 4924 4925 /* 4926 * POSIX.1b compile-time symbolic constants. 4927 */ 4928 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4929 /* 4930 * POSIX.1c compile-time symbolic constants. 4931 */ 4932 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4933 /* New in UNIX 03 */ 4934 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4935 /* 4936 * Support for the POSIX.1 mutex protocol attribute. For realtime applications 4937 * which need mutexes to support priority inheritance/ceiling. 4938 */ 4939 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4940 /* 4941 * Large File Summit-related announcement macros. The system supports both 4942 * the additional and transitional Large File Summit interfaces. (The final 4943 * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) 4944 */ 4945 4946 4947 4948 4949 4950 /* large file compilation environment setup */ 4951 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4952 /* In the LP64 compilation environment, the APIs are already large file */ 4953 4954 4955 4956 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4957 #pragma redefine_extname ftruncate64 ftruncate 4958 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4959 4960 4961 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4962 #pragma redefine_extname lseek64 lseek 4963 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4964 4965 4966 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4967 #pragma redefine_extname pread64 pread 4968 # 223 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4969 4970 4971 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4972 #pragma redefine_extname pwrite64 pwrite 4973 # 224 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4974 4975 4976 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4977 #pragma redefine_extname truncate64 truncate 4978 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4979 4980 4981 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4982 #pragma redefine_extname lockf64 lockf 4983 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4984 4985 4986 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4987 #pragma redefine_extname tell64 tell 4988 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4989 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 4990 extern int access(const char *, int); 4991 4992 extern int acct(const char *); 4993 4994 extern unsigned alarm(unsigned); 4995 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 4996 4997 4998 extern int brk(void *); 4999 5000 extern int chdir(const char *); 5001 extern int chown(const char *, uid_t, gid_t); 5002 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5003 5004 5005 extern int chroot(const char *); 5006 5007 extern int close(int); 5008 5009 5010 5011 5012 5013 5014 extern char *ctermid(char *); 5015 5016 5017 extern char *ctermid_r(char *); 5018 5019 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5020 5021 extern char *cuserid(char *); 5022 5023 extern int dup(int); 5024 extern int dup2(int, int); 5025 extern int dup3(int, int, int); 5026 5027 5028 5029 5030 extern void endusershell(void); 5031 5032 extern int execl(const char *, const char *, ...); 5033 extern int execle(const char *, const char *, ...); 5034 extern int execlp(const char *, const char *, ...); 5035 extern int execv(const char *, char *const *); 5036 extern int execve(const char *, char *const *, char *const *); 5037 extern int execvp(const char *, char *const *); 5038 extern void _exit(int) 5039 __attribute__((__noreturn__)); 5040 /* 5041 * The following fattach prototype is duplicated in <stropts.h>. The 5042 * duplication is necessitated by XPG4.2 which requires the prototype 5043 * be defined in <stropts.h>. 5044 */ 5045 5046 extern int fattach(int, const char *); 5047 5048 5049 extern int fchdir(int); 5050 extern int fchown(int, uid_t, gid_t); 5051 5052 5053 extern int fchroot(int); 5054 5055 5056 5057 extern int fdatasync(int); 5058 5059 /* 5060 * The following fdetach prototype is duplicated in <stropts.h>. The 5061 * duplication is necessitated by XPG4.2 which requires the prototype 5062 * be defined in <stropts.h>. 5063 */ 5064 5065 extern int fdetach(const char *); 5066 5067 extern pid_t fork(void); 5068 5069 extern pid_t fork1(void); 5070 extern pid_t forkall(void); 5071 5072 extern long fpathconf(int, int); 5073 5074 5075 extern int fsync(int); 5076 5077 5078 5079 5080 extern int ftruncate(int, off_t); 5081 5082 extern char *getcwd(char *, size_t); 5083 5084 5085 extern int getdtablesize(void); 5086 5087 extern gid_t getegid(void); 5088 extern uid_t geteuid(void); 5089 extern gid_t getgid(void); 5090 extern int getgroups(int, gid_t *); 5091 5092 extern long gethostid(void); 5093 5094 5095 5096 5097 extern int gethostname(char *, int); 5098 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5099 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 5100 5101 extern int getpagesize(void); 5102 5103 extern pid_t getpgid(pid_t); 5104 5105 extern pid_t getpid(void); 5106 extern pid_t getppid(void); 5107 extern pid_t getpgrp(void); 5108 5109 5110 char *gettxt(const char *, const char *); 5111 5112 5113 extern pid_t getsid(pid_t); 5114 5115 extern uid_t getuid(void); 5116 5117 extern char *getusershell(void); 5118 5119 /* 5120 * The following ioctl prototype is duplicated in <stropts.h>. The 5121 * duplication is necessitated by XPG4.2 which requires the prototype 5122 * be defined in <stropts.h>. 5123 */ 5124 5125 extern int ioctl(int, int, ...); 5126 extern int isaexec(const char *, char *const *, char *const *); 5127 extern int issetugid(void); 5128 5129 extern int isatty(int); 5130 5131 extern int lchown(const char *, uid_t, gid_t); 5132 5133 extern int link(const char *, const char *); 5134 5135 extern offset_t llseek(int, offset_t, int); 5136 5137 5138 5139 5140 extern int lockf(int, int, off_t); 5141 5142 extern off_t lseek(int, off_t, int); 5143 5144 5145 extern int nice(int); 5146 5147 5148 extern int mincore(caddr_t, size_t, char *); 5149 5150 extern long pathconf(const char *, int); 5151 extern int pause(void); 5152 extern int pipe(int *); 5153 extern int pipe2(int *, int); 5154 5155 5156 5157 extern ssize_t pread(int, void *, size_t, off_t); 5158 5159 5160 extern void profil(unsigned short *, size_t, unsigned long, unsigned int); 5161 5162 /* 5163 * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The 5164 * declarations are identical. A change to either one may also require 5165 * appropriate namespace updates in order to avoid redeclaration 5166 * warnings in the case where both prototypes are exposed via inclusion 5167 * of both <pthread.h> and <unistd.h>. 5168 */ 5169 5170 5171 5172 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); 5173 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5174 extern ssize_t pwrite(int, const void *, size_t, off_t); 5175 5176 5177 /* per RFC 3542; This is also defined in netdb.h */ 5178 extern int rcmd_af(char **, unsigned short, const char *, const char *, 5179 const char *, int *, int); 5180 5181 extern ssize_t read(int, void *, size_t); 5182 5183 5184 extern ssize_t readlink(const char *, char *, 5185 size_t); 5186 5187 5188 5189 5190 5191 5192 extern int rename(const char *, const char *); 5193 5194 5195 5196 5197 5198 5199 5200 extern int resolvepath(const char *, char *, size_t); 5201 /* per RFC 3542; This is also defined in netdb.h */ 5202 extern int rexec_af(char **, unsigned short, const char *, const char *, 5203 const char *, int *, int); 5204 5205 extern int rmdir(const char *); 5206 5207 /* per RFC 3542; This is also defined in netdb.h */ 5208 extern int rresvport_af(int *, int); 5209 5210 5211 5212 5213 extern void *sbrk(intptr_t); 5214 5215 5216 extern int setegid(gid_t); 5217 extern int seteuid(uid_t); 5218 5219 extern int setgid(gid_t); 5220 5221 extern int setgroups(int, const gid_t *); 5222 extern int sethostname(char *, int); 5223 5224 extern int setpgid(pid_t, pid_t); 5225 5226 extern pid_t setpgrp(void); 5227 extern int setregid(gid_t, gid_t); 5228 extern int setreuid(uid_t, uid_t); 5229 5230 extern pid_t setsid(void); 5231 extern int setuid(uid_t); 5232 5233 extern void setusershell(void); 5234 5235 extern unsigned sleep(unsigned); 5236 5237 extern int stime(const time_t *); 5238 5239 5240 5241 5242 5243 5244 extern int symlink(const char *, const char *); 5245 extern void sync(void); 5246 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5247 extern long sysconf(int); 5248 extern pid_t tcgetpgrp(int); 5249 extern int tcsetpgrp(int, pid_t); 5250 5251 5252 5253 extern off_t tell(int); 5254 5255 5256 5257 5258 extern int truncate(const char *, off_t); 5259 5260 extern char *ttyname(int); 5261 5262 extern useconds_t ualarm(useconds_t, useconds_t); 5263 5264 extern int unlink(const char *); 5265 5266 extern char *getwd(char *); 5267 extern int usleep(useconds_t); 5268 extern pid_t vfork(void) __attribute__((__returns_twice__)); 5269 #pragma unknown_control_flow(vfork) 5270 5271 5272 extern void vhangup(void); 5273 5274 extern ssize_t write(int, const void *, size_t); 5275 5276 extern void yield(void); 5277 5278 5279 5280 5281 /* || defined(_XPG7) */ 5282 extern int faccessat(int, const char *, int, int); 5283 extern int fchownat(int, const char *, uid_t, gid_t, int); 5284 extern int linkat(int, const char *, int, const char *, int); 5285 extern ssize_t readlinkat(int, const char *, 5286 char *, size_t); 5287 extern int renameat(int, const char *, int, const char *); 5288 extern int symlinkat(const char *, int, const char *); 5289 extern int unlinkat(int, const char *, int); 5290 5291 5292 extern int get_nprocs(void); 5293 extern int get_nprocs_conf(void); 5294 5295 5296 /* transitional large file interface versions */ 5297 5298 5299 extern int ftruncate64(int, off64_t); 5300 extern off64_t lseek64(int, off64_t, int); 5301 extern ssize_t pread64(int, void *, size_t, off64_t); 5302 extern ssize_t pwrite64(int, const void *, size_t, off64_t); 5303 extern off64_t tell64(int); 5304 extern int truncate64(const char *, off64_t); 5305 extern int lockf64(int, int, off64_t); 5306 5307 5308 /* 5309 * getlogin_r() & ttyname_r() prototypes are defined here. 5310 */ 5311 5312 /* 5313 * Previous releases of Solaris, starting at 2.3, provided definitions of 5314 * various functions as specified in POSIX.1c, Draft 6. For some of these 5315 * functions, the final POSIX 1003.1c standard had a different number of 5316 * arguments and return values. 5317 * 5318 * The following segment of this header provides support for the standard 5319 * interfaces while supporting applications written under earlier 5320 * releases. The application defines appropriate values of the feature 5321 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 5322 * whether it was written to expect the Draft 6 or standard versions of 5323 * these interfaces, before including this header. This header then 5324 * provides a mapping from the source version of the interface to an 5325 * appropriate binary interface. Such mappings permit an application 5326 * to be built from libraries and objects which have mixed expectations 5327 * of the definitions of these functions. 5328 * 5329 * For applications using the Draft 6 definitions, the binary symbol is the 5330 * same as the source symbol, and no explicit mapping is needed. For the 5331 * standard interface, the function func() is mapped to the binary symbol 5332 * _posix_func(). The preferred mechanism for the remapping is a compiler 5333 * #pragma. If the compiler does not provide such a #pragma, the header file 5334 * defines a static function func() which calls the _posix_func() version; 5335 * this has to be done instead of #define since POSIX specifies that an 5336 * application can #undef the symbol and still be bound to the correct 5337 * implementation. Unfortunately, the statics confuse lint so we fallback to 5338 * #define in that case. 5339 * 5340 * NOTE: Support for the Draft 6 definitions is provided for compatibility 5341 * only. New applications/libraries should use the standard definitions. 5342 */ 5343 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5344 5345 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5346 #pragma redefine_extname getlogin_r getloginx_r 5347 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 5348 5349 5350 5351 5352 5353 5354 extern char *getlogin_r(char *, int); 5355 5356 extern char *ttyname_r(int, char *, int); 5357 5358 5359 5360 5361 5362 5363 extern int getentropy(void *, size_t); 5364 # 53 "../common/zones_str.c" 2 5365 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1 5366 /* 5367 * CDDL HEADER START 5368 * 5369 * The contents of this file are subject to the terms of the 5370 * Common Development and Distribution License, Version 1.0 only 5371 * (the "License"). You may not use this file except in compliance 5372 * with the License. 5373 * 5374 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5375 * or http://www.opensolaris.org/os/licensing. 5376 * See the License for the specific language governing permissions 5377 * and limitations under the License. 5378 * 5379 * When distributing Covered Code, include this CDDL HEADER in each 5380 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5381 * If applicable, add the following below this CDDL HEADER, with the 5382 * fields enclosed by brackets "[]" replaced with your own identifying 5383 * information: Portions Copyright [yyyy] [name of copyright owner] 5384 * 5385 * CDDL HEADER END 5386 */ 5387 /* Copyright (c) 1988 AT&T */ 5388 /* All Rights Reserved */ 5389 5390 5391 /* 5392 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5393 * 5394 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5395 * Use is subject to license terms. 5396 */ 5397 5398 5399 5400 5401 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1 5402 /* 5403 * CDDL HEADER START 5404 * 5405 * The contents of this file are subject to the terms of the 5406 * Common Development and Distribution License, Version 1.0 only 5407 * (the "License"). You may not use this file except in compliance 5408 * with the License. 5409 * 5410 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5411 * or http://www.opensolaris.org/os/licensing. 5412 * See the License for the specific language governing permissions 5413 * and limitations under the License. 5414 * 5415 * When distributing Covered Code, include this CDDL HEADER in each 5416 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5417 * If applicable, add the following below this CDDL HEADER, with the 5418 * fields enclosed by brackets "[]" replaced with your own identifying 5419 * information: Portions Copyright [yyyy] [name of copyright owner] 5420 * 5421 * CDDL HEADER END 5422 */ 5423 /* Copyright (c) 1988 AT&T */ 5424 /* All Rights Reserved */ 5425 5426 /* 5427 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5428 * 5429 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5430 * Use is subject to license terms. 5431 */ 5432 5433 /* 5434 * An application should not include this header directly. Instead it 5435 * should be included only through the inclusion of other Sun headers. 5436 * 5437 * The contents of this header is limited to identifiers specified in the 5438 * C Standard. Any new identifiers specified in future amendments to the 5439 * C Standard must be placed in this header. If these new identifiers 5440 * are required to also be in the C++ Standard "std" namespace, then for 5441 * anything other than macro definitions, corresponding "using" directives 5442 * must also be added to <ctype.h>. 5443 */ 5444 5445 5446 5447 5448 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5449 /* 5450 * CDDL HEADER START 5451 * 5452 * The contents of this file are subject to the terms of the 5453 * Common Development and Distribution License (the "License"). 5454 * You may not use this file except in compliance with the License. 5455 * 5456 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5457 * or http://www.opensolaris.org/os/licensing. 5458 * See the License for the specific language governing permissions 5459 * and limitations under the License. 5460 * 5461 * When distributing Covered Code, include this CDDL HEADER in each 5462 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5463 * If applicable, add the following below this CDDL HEADER, with the 5464 * fields enclosed by brackets "[]" replaced with your own identifying 5465 * information: Portions Copyright [yyyy] [name of copyright owner] 5466 * 5467 * CDDL HEADER END 5468 */ 5469 5470 /* 5471 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5472 * Copyright 2016 Joyent, Inc. 5473 * 5474 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5475 * Use is subject to license terms. 5476 */ 5477 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2 5478 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 5479 extern unsigned char __ctype[]; 5480 extern unsigned int *__ctype_mask; 5481 extern int *__trans_upper; 5482 extern int *__trans_lower; 5483 5484 5485 5486 5487 5488 /* 5489 * These used to be macros, which while more efficient, precludes operation 5490 * with thread specific locales. The old macros will still work, but new 5491 * code compiles to use functions. This is specifically permitted by the 5492 * various standards. Only _tolower and _toupper were required to be 5493 * delivered in macro form. 5494 */ 5495 extern int isalnum(int); 5496 extern int isalpha(int); 5497 extern int iscntrl(int); 5498 extern int isdigit(int); 5499 extern int isgraph(int); 5500 extern int islower(int); 5501 extern int isprint(int); 5502 extern int ispunct(int); 5503 extern int isspace(int); 5504 extern int isupper(int); 5505 extern int isxdigit(int); 5506 5507 extern int isblank(int); 5508 5509 5510 extern int tolower(int); 5511 extern int toupper(int); 5512 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2 5513 5514 /* 5515 * Allow global visibility for symbols defined in 5516 * C++ "std" namespace in <iso/ctype_iso.h>. 5517 */ 5518 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5519 extern int isascii(int); 5520 extern int toascii(int); 5521 extern int _tolower(int); 5522 extern int _toupper(int); 5523 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 5524 extern int isalnum_l(int, locale_t); 5525 extern int isalpha_l(int, locale_t); 5526 extern int isblank_l(int, locale_t); 5527 extern int iscntrl_l(int, locale_t); 5528 extern int isdigit_l(int, locale_t); 5529 extern int isgraph_l(int, locale_t); 5530 extern int islower_l(int, locale_t); 5531 extern int isprint_l(int, locale_t); 5532 extern int ispunct_l(int, locale_t); 5533 extern int isspace_l(int, locale_t); 5534 extern int isupper_l(int, locale_t); 5535 extern int isxdigit_l(int, locale_t); 5536 extern int tolower_l(int, locale_t); 5537 extern int toupper_l(int, locale_t); 5538 # 54 "../common/zones_str.c" 2 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 # 55 "../common/zones_str.c" 2 5572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 5573 /* 5574 * CDDL HEADER START 5575 * 5576 * The contents of this file are subject to the terms of the 5577 * Common Development and Distribution License (the "License"). 5578 * You may not use this file except in compliance with the License. 5579 * 5580 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5581 * or http://www.opensolaris.org/os/licensing. 5582 * See the License for the specific language governing permissions 5583 * and limitations under the License. 5584 * 5585 * When distributing Covered Code, include this CDDL HEADER in each 5586 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5587 * If applicable, add the following below this CDDL HEADER, with the 5588 * fields enclosed by brackets "[]" replaced with your own identifying 5589 * information: Portions Copyright [yyyy] [name of copyright owner] 5590 * 5591 * CDDL HEADER END 5592 */ 5593 5594 /* 5595 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 5596 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 5597 */ 5598 5599 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 5600 /* All Rights Reserved */ 5601 5602 /* 5603 * University Copyright- Copyright (c) 1982, 1986, 1988 5604 * The Regents of the University of California 5605 * All Rights Reserved 5606 * 5607 * University Acknowledgment- Portions of this document are derived from 5608 * software developed by the University of California, Berkeley, and its 5609 * contributors. 5610 */ 5611 5612 5613 5614 5615 5616 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5617 /* 5618 * CDDL HEADER START 5619 * 5620 * The contents of this file are subject to the terms of the 5621 * Common Development and Distribution License (the "License"). 5622 * You may not use this file except in compliance with the License. 5623 * 5624 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5625 * or http://www.opensolaris.org/os/licensing. 5626 * See the License for the specific language governing permissions 5627 * and limitations under the License. 5628 * 5629 * When distributing Covered Code, include this CDDL HEADER in each 5630 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5631 * If applicable, add the following below this CDDL HEADER, with the 5632 * fields enclosed by brackets "[]" replaced with your own identifying 5633 * information: Portions Copyright [yyyy] [name of copyright owner] 5634 * 5635 * CDDL HEADER END 5636 */ 5637 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5638 /* All Rights Reserved */ 5639 5640 5641 /* 5642 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5643 * Use is subject to license terms. 5644 * 5645 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5646 * Copyright 2016 Joyent, Inc. 5647 */ 5648 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5649 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 5650 /* 5651 * CDDL HEADER START 5652 * 5653 * The contents of this file are subject to the terms of the 5654 * Common Development and Distribution License (the "License"). 5655 * You may not use this file except in compliance with the License. 5656 * 5657 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5658 * or http://www.opensolaris.org/os/licensing. 5659 * See the License for the specific language governing permissions 5660 * and limitations under the License. 5661 * 5662 * 5663 * When distributing Covered Code, include this CDDL HEADER in each 5664 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5665 * If applicable, add the following below this CDDL HEADER, with the 5666 * fields enclosed by brackets "[]" replaced with your own identifying 5667 * information: Portions Copyright [yyyy] [name of copyright owner] 5668 * 5669 * CDDL HEADER END 5670 */ 5671 5672 /* 5673 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5674 * Use is subject to license terms. 5675 * Copyright 2016 Joyent, Inc. 5676 */ 5677 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5678 5679 5680 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 5681 /* 5682 * This file and its contents are supplied under the terms of the 5683 * Common Development and Distribution License ("CDDL"), version 1.0. 5684 * You may only use this file in accordance with the terms of version 5685 * 1.0 of the CDDL. 5686 * 5687 * A full copy of the text of the CDDL should have accompanied this 5688 * source. A copy of the CDDL is also available via the Internet at 5689 * http://www.illumos.org/license/CDDL. 5690 */ 5691 5692 /* 5693 * Copyright 2014-2016 PALO, Richard. 5694 */ 5695 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5696 5697 5698 5699 5700 5701 /* 5702 * Fundamental variables; don't change too often. 5703 */ 5704 5705 /* 5706 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 5707 * an early merge with AT&T source. It has also historically been defined 5708 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 5709 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 5710 * Subsequent versions of the IEEE Standard as well as the X/Open 5711 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 5712 * while still allowing for it's existence in other headers. With the 5713 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 5714 */ 5715 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5716 /* compatibility purposes only */ 5717 /* and will be removed in a */ 5718 /* later release */ 5719 5720 /* 5721 * These define the maximum and minimum allowable values of the 5722 * configurable parameter NGROUPS_MAX. 5723 */ 5724 5725 5726 5727 5728 /* 5729 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 5730 */ 5731 5732 5733 /* 5734 * Default process priority. Keep it in sync with limits.h. 5735 */ 5736 5737 5738 /* 5739 * Fundamental constants of the implementation--cannot be changed easily. 5740 */ 5741 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5742 /* REMOTE -- whether machine is primary, secondary, or regular */ 5743 5744 5745 5746 /* 5747 * MAXPATHLEN defines the longest permissible path length, 5748 * including the terminating null, after expanding symbolic links. 5749 * TYPICALMAXPATHLEN is used in a few places as an optimization 5750 * with a local buffer on the stack to avoid kmem_alloc(). 5751 * MAXSYMLINKS defines the maximum number of symbolic links 5752 * that may be expanded in a path name. It should be set high 5753 * enough to allow all legitimate uses, but halt infinite loops 5754 * reasonably quickly. 5755 * MAXNAMELEN is the length (including the terminating null) of 5756 * the longest permissible file (component) name. 5757 */ 5758 5759 5760 5761 5762 5763 /* 5764 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 5765 * including the terminating NUL. Note that this must not be larger 5766 * than related networking constants such as LIFNAMSIZ. 5767 */ 5768 5769 5770 5771 5772 5773 5774 /* 5775 * The following are defined to be the same as 5776 * defined in /usr/include/limits.h. They are 5777 * needed for pipe and FIFO compatibility. 5778 */ 5779 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5780 /* macros replacing interleaving functions */ 5781 5782 5783 5784 /* 5785 * File system parameters and macros. 5786 * 5787 * The file system is made out of blocks of at most MAXBSIZE units, 5788 * with smaller units (fragments) only in the last direct block. 5789 * MAXBSIZE primarily determines the size of buffers in the buffer 5790 * pool. It may be made larger without any effect on existing 5791 * file systems; however making it smaller make make some file 5792 * systems unmountable. 5793 * 5794 * Note that the blocked devices are assumed to have DEV_BSIZE 5795 * "sectors" and that fragments must be some multiple of this size. 5796 */ 5797 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5798 /* 64 bit versions of btodb and dbtob */ 5799 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5800 /* 5801 * Size of arg list passed in by user. 5802 */ 5803 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5804 /* 5805 * Scale factor for scaled integers used to count 5806 * %cpu time and load averages. 5807 */ 5808 5809 5810 5811 /* 5812 * Delay units are in microseconds. 5813 * 5814 * XXX These macros are not part of the DDI! 5815 */ 5816 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5817 /* 5818 * The following is to free utilities from machine dependencies within 5819 * an architecture. Must be included after definition of DEV_BSIZE. 5820 */ 5821 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5822 /* 5823 * The following are assorted machine dependent values which can be 5824 * obtained in a machine independent manner through sysconf(2) or 5825 * sysinfo(2). In order to guarantee that these provide the expected 5826 * value at all times, the System Private interface (leading underscore) 5827 * is used. 5828 */ 5829 5830 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 5831 /* 5832 * CDDL HEADER START 5833 * 5834 * The contents of this file are subject to the terms of the 5835 * Common Development and Distribution License (the "License"). 5836 * You may not use this file except in compliance with the License. 5837 * 5838 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5839 * or http://www.opensolaris.org/os/licensing. 5840 * See the License for the specific language governing permissions 5841 * and limitations under the License. 5842 * 5843 * When distributing Covered Code, include this CDDL HEADER in each 5844 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5845 * If applicable, add the following below this CDDL HEADER, with the 5846 * fields enclosed by brackets "[]" replaced with your own identifying 5847 * information: Portions Copyright [yyyy] [name of copyright owner] 5848 * 5849 * CDDL HEADER END 5850 */ 5851 5852 /* 5853 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 5854 * All Rights Reserved 5855 * 5856 */ 5857 5858 /* 5859 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5860 * Use is subject to license terms. 5861 */ 5862 5863 /* 5864 * WARNING: This is an implementation-specific header, 5865 * its contents are not guaranteed. Applications 5866 * should include <unistd.h> and not this header. 5867 */ 5868 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5869 5870 5871 5872 5873 5874 5875 extern long _sysconf(int); /* System Private interface to sysconf() */ 5876 # 56 "../common/zones_str.c" 2 5877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 5878 /* 5879 * CDDL HEADER START 5880 * 5881 * The contents of this file are subject to the terms of the 5882 * Common Development and Distribution License (the "License"). 5883 * You may not use this file except in compliance with the License. 5884 * 5885 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5886 * or http://www.opensolaris.org/os/licensing. 5887 * See the License for the specific language governing permissions 5888 * and limitations under the License. 5889 * 5890 * When distributing Covered Code, include this CDDL HEADER in each 5891 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5892 * If applicable, add the following below this CDDL HEADER, with the 5893 * fields enclosed by brackets "[]" replaced with your own identifying 5894 * information: Portions Copyright [yyyy] [name of copyright owner] 5895 * 5896 * CDDL HEADER END 5897 */ 5898 5899 /* 5900 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5901 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 5902 */ 5903 5904 /* Copyright (c) 1988 AT&T */ 5905 /* All Rights Reserved */ 5906 5907 5908 5909 5910 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 5911 /* 5912 * CDDL HEADER START 5913 * 5914 * The contents of this file are subject to the terms of the 5915 * Common Development and Distribution License, Version 1.0 only 5916 * (the "License"). You may not use this file except in compliance 5917 * with the License. 5918 * 5919 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5920 * or http://www.opensolaris.org/os/licensing. 5921 * See the License for the specific language governing permissions 5922 * and limitations under the License. 5923 * 5924 * When distributing Covered Code, include this CDDL HEADER in each 5925 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5926 * If applicable, add the following below this CDDL HEADER, with the 5927 * fields enclosed by brackets "[]" replaced with your own identifying 5928 * information: Portions Copyright [yyyy] [name of copyright owner] 5929 * 5930 * CDDL HEADER END 5931 */ 5932 /* Copyright (c) 1988 AT&T */ 5933 /* All Rights Reserved */ 5934 5935 5936 /* 5937 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5938 * Copyright 2014 PALO, Richard. 5939 * 5940 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5941 * Use is subject to license terms. 5942 */ 5943 5944 /* 5945 * An application should not include this header directly. Instead it 5946 * should be included only through the inclusion of other Sun headers. 5947 * 5948 * The contents of this header is limited to identifiers specified in the 5949 * C Standard. Any new identifiers specified in future amendments to the 5950 * C Standard must be placed in this header. If these new identifiers 5951 * are required to also be in the C++ Standard "std" namespace, then for 5952 * anything other than macro definitions, corresponding "using" directives 5953 * must also be added to <string.h>. 5954 */ 5955 5956 5957 5958 5959 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5960 /* 5961 * CDDL HEADER START 5962 * 5963 * The contents of this file are subject to the terms of the 5964 * Common Development and Distribution License (the "License"). 5965 * You may not use this file except in compliance with the License. 5966 * 5967 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5968 * or http://www.opensolaris.org/os/licensing. 5969 * See the License for the specific language governing permissions 5970 * and limitations under the License. 5971 * 5972 * When distributing Covered Code, include this CDDL HEADER in each 5973 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5974 * If applicable, add the following below this CDDL HEADER, with the 5975 * fields enclosed by brackets "[]" replaced with your own identifying 5976 * information: Portions Copyright [yyyy] [name of copyright owner] 5977 * 5978 * CDDL HEADER END 5979 */ 5980 5981 /* 5982 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5983 * Copyright 2016 Joyent, Inc. 5984 * 5985 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5986 * Use is subject to license terms. 5987 */ 5988 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 5989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 5990 /* 5991 * This file and its contents are supplied under the terms of the 5992 * Common Development and Distribution License ("CDDL"), version 1.0. 5993 * You may only use this file in accordance with the terms of version 5994 * 1.0 of the CDDL. 5995 * 5996 * A full copy of the text of the CDDL should have accompanied this 5997 * source. A copy of the CDDL is also available via the Internet at 5998 * http://www.illumos.org/license/CDDL. 5999 */ 6000 6001 /* 6002 * Copyright 2014-2016 PALO, Richard. 6003 */ 6004 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 6005 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6006 extern int memcmp(const void *, const void *, size_t); 6007 extern void *memcpy(void *, const void *, size_t); 6008 extern void *memmove(void *, const void *, size_t); 6009 extern void *memset(void *, int, size_t); 6010 extern char *strcat(char *, const char *); 6011 extern int strcmp(const char *, const char *); 6012 extern char *strcpy(char *, const char *); 6013 extern int strcoll(const char *, const char *); 6014 extern size_t strcspn(const char *, const char *); 6015 extern char *strerror(int); 6016 extern size_t strlen(const char *); 6017 extern char *strncat(char *, const char *, size_t); 6018 extern int strncmp(const char *, const char *, size_t); 6019 extern char *strncpy(char *, const char *, size_t); 6020 extern size_t strspn(const char *, const char *); 6021 extern char *strtok(char *, const char *); 6022 extern size_t strxfrm(char *, const char *, size_t); 6023 6024 /* 6025 * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the 6026 * function signatures for the following functions be replaced by 6027 * two declarations, both of which have the same behavior. 6028 */ 6029 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 6030 extern void *memchr(const void *, int, size_t); 6031 extern char *strchr(const char *, int); 6032 extern char *strpbrk(const char *, const char *); 6033 extern char *strrchr(const char *, int); 6034 extern char *strstr(const char *, const char *); 6035 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 6036 6037 /* 6038 * Allow global visibility for symbols defined in 6039 * C++ "std" namespace in <iso/string_iso.h>. 6040 */ 6041 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 6042 extern int strerror_r(int, char *, size_t); 6043 6044 6045 6046 6047 6048 extern char *strtok_r(char *, const char *, 6049 char **); 6050 6051 6052 6053 6054 extern void *memccpy(void *, const void *, 6055 int, size_t); 6056 6057 6058 6059 6060 extern char *stpcpy(char *, const char *); 6061 extern char *stpncpy(char *, const char *, size_t); 6062 extern char *strndup(const char *, size_t); 6063 extern size_t strnlen(const char *, size_t); 6064 extern char *strsignal(int); 6065 6066 6067 6068 6069 6070 6071 extern int strcoll_l(const char *, const char *, locale_t); 6072 extern size_t strxfrm_l(char *, const char *, 6073 size_t, locale_t); 6074 extern int strcasecmp_l(const char *, const char *, locale_t); 6075 extern int strncasecmp_l(const char *, const char *, size_t, locale_t); 6076 extern char *strerror_l(int, locale_t); 6077 6078 6079 6080 6081 6082 /* Note that some of these are also declared in strings.h for XPG4_2+ */ 6083 extern void explicit_bzero(void *, size_t); 6084 extern int uucopy(const void *, void *, size_t); 6085 extern int uucopystr(const void *, void *, size_t); 6086 extern int ffs(int); 6087 extern int ffsl(long); 6088 extern int ffsll(long long); 6089 extern int fls(int); 6090 extern int flsl(long); 6091 extern int flsll(long long); 6092 extern void *memmem(const void *, size_t, const void *, size_t); 6093 extern char *strcasestr(const char *, const char *); 6094 extern char *strnstr(const char *, const char *, size_t); 6095 extern size_t strlcpy(char *, const char *, size_t); 6096 extern size_t strlcat(char *, const char *, size_t); 6097 extern char *strsep(char **stringp, const char *delim); 6098 extern char *strchrnul(const char *, int); 6099 extern char *strcasestr_l(const char *, const char *, locale_t); 6100 extern int strcasecmp(const char *, const char *); 6101 extern int strncasecmp(const char *, const char *, size_t); 6102 6103 6104 6105 6106 6107 extern char *strdup(const char *); 6108 6109 6110 6111 6112 6113 6114 /* 6115 * gcc provides this inlining facility but Studio C does not. 6116 * We should use it exclusively once Studio C also provides it. 6117 */ 6118 extern void *__builtin_alloca(size_t); 6119 # 57 "../common/zones_str.c" 2 6120 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 1 6121 /* 6122 * CDDL HEADER START 6123 * 6124 * The contents of this file are subject to the terms of the 6125 * Common Development and Distribution License, Version 1.0 only 6126 * (the "License"). You may not use this file except in compliance 6127 * with the License. 6128 * 6129 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6130 * or http://www.opensolaris.org/os/licensing. 6131 * See the License for the specific language governing permissions 6132 * and limitations under the License. 6133 * 6134 * When distributing Covered Code, include this CDDL HEADER in each 6135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6136 * If applicable, add the following below this CDDL HEADER, with the 6137 * fields enclosed by brackets "[]" replaced with your own identifying 6138 * information: Portions Copyright [yyyy] [name of copyright owner] 6139 * 6140 * CDDL HEADER END 6141 */ 6142 /* 6143 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6144 * 6145 * Copyright (c) 1995, 1996, by Sun Microsystems, Inc. 6146 * All rights reserved. 6147 */ 6148 6149 6150 6151 6152 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 6153 /* 6154 * CDDL HEADER START 6155 * 6156 * The contents of this file are subject to the terms of the 6157 * Common Development and Distribution License (the "License"). 6158 * You may not use this file except in compliance with the License. 6159 * 6160 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6161 * or http://www.opensolaris.org/os/licensing. 6162 * See the License for the specific language governing permissions 6163 * and limitations under the License. 6164 * 6165 * When distributing Covered Code, include this CDDL HEADER in each 6166 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6167 * If applicable, add the following below this CDDL HEADER, with the 6168 * fields enclosed by brackets "[]" replaced with your own identifying 6169 * information: Portions Copyright [yyyy] [name of copyright owner] 6170 * 6171 * CDDL HEADER END 6172 */ 6173 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6174 /* All Rights Reserved */ 6175 6176 6177 /* 6178 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 6179 * Use is subject to license terms. 6180 * 6181 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 6182 * Copyright 2016 Joyent, Inc. 6183 */ 6184 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6185 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6186 /* 6187 * CDDL HEADER START 6188 * 6189 * The contents of this file are subject to the terms of the 6190 * Common Development and Distribution License (the "License"). 6191 * You may not use this file except in compliance with the License. 6192 * 6193 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6194 * or http://www.opensolaris.org/os/licensing. 6195 * See the License for the specific language governing permissions 6196 * and limitations under the License. 6197 * 6198 * When distributing Covered Code, include this CDDL HEADER in each 6199 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6200 * If applicable, add the following below this CDDL HEADER, with the 6201 * fields enclosed by brackets "[]" replaced with your own identifying 6202 * information: Portions Copyright [yyyy] [name of copyright owner] 6203 * 6204 * CDDL HEADER END 6205 */ 6206 6207 /* 6208 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6209 * Copyright 2016 Joyent, Inc. 6210 * 6211 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6212 * Use is subject to license terms. 6213 */ 6214 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6215 6216 6217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 6218 /* 6219 * CDDL HEADER START 6220 * 6221 * The contents of this file are subject to the terms of the 6222 * Common Development and Distribution License (the "License"). 6223 * You may not use this file except in compliance with the License. 6224 * 6225 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6226 * or http://www.opensolaris.org/os/licensing. 6227 * See the License for the specific language governing permissions 6228 * and limitations under the License. 6229 * 6230 * When distributing Covered Code, include this CDDL HEADER in each 6231 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6232 * If applicable, add the following below this CDDL HEADER, with the 6233 * fields enclosed by brackets "[]" replaced with your own identifying 6234 * information: Portions Copyright [yyyy] [name of copyright owner] 6235 * 6236 * CDDL HEADER END 6237 */ 6238 6239 /* 6240 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6241 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6242 */ 6243 6244 /* Copyright (c) 1988 AT&T */ 6245 /* All Rights Reserved */ 6246 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/strings.h" 2 6247 6248 6249 6250 6251 6252 6253 extern int bcmp(const void *, const void *, size_t); 6254 extern void bcopy(const void *, void *, size_t); 6255 extern void bzero(void *, size_t); 6256 6257 extern char *index(const char *, int); 6258 extern char *rindex(const char *, int); 6259 6260 /* 6261 * X/Open System Interfaces and Headers, Issue 4, Version 2, defines 6262 * both <string.h> and <strings.h>. The namespace requirements 6263 * do not permit the visibility of anything other than what is 6264 * specifically defined for each of these headers. As a result, 6265 * inclusion of <string.h> would result in declarations not allowed 6266 * in <strings.h>, and making the following prototypes visible for 6267 * anything other than X/Open UNIX Extension would result in 6268 * conflicts with what is now in <string.h>. 6269 */ 6270 # 58 "../common/zones_str.c" 2 6271 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 6272 /* 6273 * CDDL HEADER START 6274 * 6275 * The contents of this file are subject to the terms of the 6276 * Common Development and Distribution License, Version 1.0 only 6277 * (the "License"). You may not use this file except in compliance 6278 * with the License. 6279 * 6280 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6281 * or http://www.opensolaris.org/os/licensing. 6282 * See the License for the specific language governing permissions 6283 * and limitations under the License. 6284 * 6285 * When distributing Covered Code, include this CDDL HEADER in each 6286 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6287 * If applicable, add the following below this CDDL HEADER, with the 6288 * fields enclosed by brackets "[]" replaced with your own identifying 6289 * information: Portions Copyright [yyyy] [name of copyright owner] 6290 * 6291 * CDDL HEADER END 6292 */ 6293 /* Copyright (c) 1988 AT&T */ 6294 /* All Rights Reserved */ 6295 6296 /* 6297 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6298 * 6299 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6300 * Use is subject to license terms. 6301 */ 6302 6303 6304 6305 6306 /* 6307 * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 6308 * variable argument definitions. For legacy support, it also defines 6309 * the pre-standard variable argument definitions. 6310 * 6311 * The varargs definitions within this header are defined in terms of 6312 * implementation definitions. These implementation definitions reside 6313 * in <sys/va_list.h>. This organization enables protected use of 6314 * the implementation by other standard headers without introducing 6315 * names into the users' namespace. 6316 */ 6317 6318 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 6319 /* 6320 * CDDL HEADER START 6321 * 6322 * The contents of this file are subject to the terms of the 6323 * Common Development and Distribution License, Version 1.0 only 6324 * (the "License"). You may not use this file except in compliance 6325 * with the License. 6326 * 6327 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6328 * or http://www.opensolaris.org/os/licensing. 6329 * See the License for the specific language governing permissions 6330 * and limitations under the License. 6331 * 6332 * When distributing Covered Code, include this CDDL HEADER in each 6333 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6334 * If applicable, add the following below this CDDL HEADER, with the 6335 * fields enclosed by brackets "[]" replaced with your own identifying 6336 * information: Portions Copyright [yyyy] [name of copyright owner] 6337 * 6338 * CDDL HEADER END 6339 */ 6340 /* Copyright (c) 1988 AT&T */ 6341 /* All Rights Reserved */ 6342 6343 6344 /* 6345 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6346 * Use is subject to license terms. 6347 */ 6348 6349 /* 6350 * An application should not include this header directly. Instead it 6351 * should be included only through the inclusion of other Sun headers. 6352 * 6353 * The contents of this header is limited to identifiers specified in the 6354 * C Standard. Any new identifiers specified in future amendments to the 6355 * C Standard must be placed in this header. If these new identifiers 6356 * are required to also be in the C++ Standard "std" namespace, then for 6357 * anything other than macro definitions, corresponding "using" directives 6358 * must also be added to <stdarg.h>. 6359 */ 6360 6361 6362 6363 6364 #pragma ident "%Z%%M% %I% %E% SMI" 6365 6366 /* 6367 * This header defines the ISO C 1989 and ISO C++ 1998 variable 6368 * argument definitions. 6369 * 6370 * The varargs definitions within this header are defined in terms of 6371 * implementation definitions. These implementation definitions reside 6372 * in <sys/va_impl.h>. This organization enables protected use of 6373 * the implementation by other standard headers without introducing 6374 * names into the users' namespace. 6375 */ 6376 6377 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.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, Version 1.0 only 6383 * (the "License"). You may not use this file except in compliance 6384 * with the License. 6385 * 6386 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6387 * or http://www.opensolaris.org/os/licensing. 6388 * See the License for the specific language governing permissions 6389 * and limitations under the License. 6390 * 6391 * When distributing Covered Code, include this CDDL HEADER in each 6392 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6393 * If applicable, add the following below this CDDL HEADER, with the 6394 * fields enclosed by brackets "[]" replaced with your own identifying 6395 * information: Portions Copyright [yyyy] [name of copyright owner] 6396 * 6397 * CDDL HEADER END 6398 */ 6399 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6400 /* All Rights Reserved */ 6401 6402 6403 /* 6404 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6405 * 6406 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6407 * Use is subject to license terms. 6408 */ 6409 6410 6411 6412 6413 /* 6414 * An application should not include this header directly. Instead it 6415 * should be included only through the inclusion of other Sun headers, 6416 * specifically <stdarg.h> and <varargs.h>. 6417 * 6418 * This header serves two purposes. 6419 * 6420 * First, it provides a common set of definitions that implementations 6421 * of the various standards for variable argument lists may use. These 6422 * various standards are implemented in <varargs.h>, <stdarg.h>, 6423 * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>. 6424 * 6425 * Second, it provides varying implementations of the common definitions, 6426 * depending upon the compiler. 6427 */ 6428 6429 /* 6430 * The common definitions exported by this header or compilers using 6431 * this header are: 6432 * 6433 * the macro __va_start(list, name) starting the list iteration 6434 * the macro __va_arg(list, type) getting the current arg and iterating 6435 * the macro __va_copy(to, from) to bookmark the list iteration 6436 * the macro __va_end(list) to end the iteration 6437 * 6438 * In addition, the following are exported via inclusion of <sys/va_list.h>: 6439 * 6440 * the identifier __builtin_va_alist for the variable list pseudo parameter 6441 * the type __va_alist_type for the variable list pseudo parameter 6442 * the type __va_list defining the type of the variable list iterator 6443 */ 6444 6445 /* 6446 * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and 6447 * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor 6448 * macros (e.g. __sparc) to determine the protocol appropriate to the 6449 * current compilation. It is intended that the compilation system 6450 * define the feature, processor, and compiler macros, not the user of 6451 * the system. 6452 */ 6453 6454 /* 6455 * Many compilation systems depend upon the use of special functions 6456 * built into the the compilation system to handle variable argument 6457 * lists. These built-in symbols may include one or more of the 6458 * following: 6459 * 6460 * __builtin_va_alist 6461 * __builtin_va_start 6462 * __builtin_va_arg_incr 6463 * __builtin_stdarg_start 6464 * __builtin_va_end 6465 * __builtin_va_arg 6466 * __builtin_va_copy 6467 */ 6468 6469 /* 6470 * The following are defined in <sys/va_list.h>: 6471 * 6472 * __va_alist_type 6473 * __va_void() 6474 * __va_ptr_base 6475 * ISA definitions via inclusion of <sys/isa_defs.h> 6476 * 6477 * Inclusion of this header also makes visible the symbols in <sys/va_list.h>. 6478 * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h> 6479 * via inclusion of <iso/stdarg_iso.h>. 6480 */ 6481 6482 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 6483 /* 6484 * CDDL HEADER START 6485 * 6486 * The contents of this file are subject to the terms of the 6487 * Common Development and Distribution License, Version 1.0 only 6488 * (the "License"). You may not use this file except in compliance 6489 * with the License. 6490 * 6491 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6492 * or http://www.opensolaris.org/os/licensing. 6493 * See the License for the specific language governing permissions 6494 * and limitations under the License. 6495 * 6496 * When distributing Covered Code, include this CDDL HEADER in each 6497 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6498 * If applicable, add the following below this CDDL HEADER, with the 6499 * fields enclosed by brackets "[]" replaced with your own identifying 6500 * information: Portions Copyright [yyyy] [name of copyright owner] 6501 * 6502 * CDDL HEADER END 6503 */ 6504 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6505 /* All Rights Reserved */ 6506 6507 6508 /* 6509 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6510 * 6511 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6512 * Use is subject to license terms. 6513 */ 6514 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 6515 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 6516 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 6517 typedef __va_list va_list; 6518 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 6519 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 6520 /* 6521 * CDDL HEADER START 6522 * 6523 * The contents of this file are subject to the terms of the 6524 * Common Development and Distribution License, Version 1.0 only 6525 * (the "License"). You may not use this file except in compliance 6526 * with the License. 6527 * 6528 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6529 * or http://www.opensolaris.org/os/licensing. 6530 * See the License for the specific language governing permissions 6531 * and limitations under the License. 6532 * 6533 * When distributing Covered Code, include this CDDL HEADER in each 6534 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6535 * If applicable, add the following below this CDDL HEADER, with the 6536 * fields enclosed by brackets "[]" replaced with your own identifying 6537 * information: Portions Copyright [yyyy] [name of copyright owner] 6538 * 6539 * CDDL HEADER END 6540 */ 6541 /* Copyright (c) 1988 AT&T */ 6542 /* All Rights Reserved */ 6543 6544 6545 /* 6546 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6547 * Use is subject to license terms. 6548 */ 6549 6550 6551 6552 6553 #pragma ident "%Z%%M% %I% %E% SMI" 6554 6555 /* 6556 * An application should not include this header directly. Instead it 6557 * should be included only through the inclusion of other Sun headers. 6558 * 6559 * This header defines the va_copy variable argument macro, which is 6560 * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ 6561 * 1998. Because this macro is a long-standing Solaris extension, it 6562 * is also permitted in other contexts. 6563 * 6564 * The varargs definitions within this header are defined in terms of 6565 * implementation definitions. These implementation definitions reside 6566 * in <sys/va_list.h>. This organization enables protected use of 6567 * the implementation by other standard headers without introducing 6568 * names into the users' namespace. 6569 */ 6570 6571 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6572 /* 6573 * CDDL HEADER START 6574 * 6575 * The contents of this file are subject to the terms of the 6576 * Common Development and Distribution License (the "License"). 6577 * You may not use this file except in compliance with the License. 6578 * 6579 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6580 * or http://www.opensolaris.org/os/licensing. 6581 * See the License for the specific language governing permissions 6582 * and limitations under the License. 6583 * 6584 * When distributing Covered Code, include this CDDL HEADER in each 6585 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6586 * If applicable, add the following below this CDDL HEADER, with the 6587 * fields enclosed by brackets "[]" replaced with your own identifying 6588 * information: Portions Copyright [yyyy] [name of copyright owner] 6589 * 6590 * CDDL HEADER END 6591 */ 6592 6593 /* 6594 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6595 * Copyright 2016 Joyent, Inc. 6596 * 6597 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6598 * Use is subject to license terms. 6599 */ 6600 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 6601 6602 6603 6604 6605 6606 /* 6607 * va_copy was initially a Solaris extension to provide a portable 6608 * way to perform a variable argument list ``bookmarking'' function. 6609 * It is now specified in the ISO/IEC 9899:1999 standard. 6610 */ 6611 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 6612 6613 /* 6614 * Allow global visibility for symbols defined in 6615 * C++ "std" namespace in <iso/stdarg_iso.h>. 6616 */ 6617 # 59 "../common/zones_str.c" 2 6618 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 6619 /* 6620 * CDDL HEADER START 6621 * 6622 * The contents of this file are subject to the terms of the 6623 * Common Development and Distribution License (the "License"). 6624 * You may not use this file except in compliance with the License. 6625 * 6626 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6627 * or http://www.opensolaris.org/os/licensing. 6628 * See the License for the specific language governing permissions 6629 * and limitations under the License. 6630 * 6631 * When distributing Covered Code, include this CDDL HEADER in each 6632 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6633 * If applicable, add the following below this CDDL HEADER, with the 6634 * fields enclosed by brackets "[]" replaced with your own identifying 6635 * information: Portions Copyright [yyyy] [name of copyright owner] 6636 * 6637 * CDDL HEADER END 6638 */ 6639 6640 /* 6641 * Copyright (c) 2013 Gary Mills 6642 * 6643 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6644 * Use is subject to license terms. 6645 */ 6646 6647 /* Copyright (c) 1988 AT&T */ 6648 /* All Rights Reserved */ 6649 6650 6651 6652 6653 6654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6655 /* 6656 * CDDL HEADER START 6657 * 6658 * The contents of this file are subject to the terms of the 6659 * Common Development and Distribution License (the "License"). 6660 * You may not use this file except in compliance with the License. 6661 * 6662 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6663 * or http://www.opensolaris.org/os/licensing. 6664 * See the License for the specific language governing permissions 6665 * and limitations under the License. 6666 * 6667 * When distributing Covered Code, include this CDDL HEADER in each 6668 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6669 * If applicable, add the following below this CDDL HEADER, with the 6670 * fields enclosed by brackets "[]" replaced with your own identifying 6671 * information: Portions Copyright [yyyy] [name of copyright owner] 6672 * 6673 * CDDL HEADER END 6674 */ 6675 6676 /* 6677 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6678 * Copyright 2016 Joyent, Inc. 6679 * 6680 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6681 * Use is subject to license terms. 6682 */ 6683 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 6684 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6685 /* 6686 * CDDL HEADER START 6687 * 6688 * The contents of this file are subject to the terms of the 6689 * Common Development and Distribution License (the "License"). 6690 * You may not use this file except in compliance with the License. 6691 * 6692 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6693 * or http://www.opensolaris.org/os/licensing. 6694 * See the License for the specific language governing permissions 6695 * and limitations under the License. 6696 * 6697 * 6698 * When distributing Covered Code, include this CDDL HEADER in each 6699 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6700 * If applicable, add the following below this CDDL HEADER, with the 6701 * fields enclosed by brackets "[]" replaced with your own identifying 6702 * information: Portions Copyright [yyyy] [name of copyright owner] 6703 * 6704 * CDDL HEADER END 6705 */ 6706 6707 /* 6708 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6709 * Use is subject to license terms. 6710 * Copyright 2016 Joyent, Inc. 6711 */ 6712 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 6713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 6714 /* 6715 * CDDL HEADER START 6716 * 6717 * The contents of this file are subject to the terms of the 6718 * Common Development and Distribution License, Version 1.0 only 6719 * (the "License"). You may not use this file except in compliance 6720 * with the License. 6721 * 6722 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6723 * or http://www.opensolaris.org/os/licensing. 6724 * See the License for the specific language governing permissions 6725 * and limitations under the License. 6726 * 6727 * When distributing Covered Code, include this CDDL HEADER in each 6728 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6729 * If applicable, add the following below this CDDL HEADER, with the 6730 * fields enclosed by brackets "[]" replaced with your own identifying 6731 * information: Portions Copyright [yyyy] [name of copyright owner] 6732 * 6733 * CDDL HEADER END 6734 */ 6735 /* 6736 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 6737 * Use is subject to license terms. 6738 */ 6739 6740 /* Copyright (c) 1988 AT&T */ 6741 /* All Rights Reserved */ 6742 6743 6744 /* 6745 * An application should not include this header directly. Instead it 6746 * should be included only through the inclusion of other Sun headers. 6747 * 6748 * The contents of this header is limited to identifiers specified in the 6749 * C Standard. Any new identifiers specified in future amendments to the 6750 * C Standard must be placed in this header. If these new identifiers 6751 * are required to also be in the C++ Standard "std" namespace, then for 6752 * anything other than macro definitions, corresponding "using" directives 6753 * must also be added to <limits.h>. 6754 */ 6755 6756 6757 6758 6759 #pragma ident "%Z%%M% %I% %E% SMI" 6760 6761 6762 6763 6764 6765 /* 6766 * Sizes of integral types 6767 */ 6768 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 6769 /* min value of a "long int" */ 6770 6771 /* max value of a "long int" */ 6772 6773 /* max value of "unsigned long int" */ 6774 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 6775 /* min value of a long long */ 6776 6777 /* max value of a long long */ 6778 6779 /* max value of "unsigned long long */ 6780 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 6781 6782 /* 6783 * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C 6784 * committee's working draft for the revision of the current ISO C standard, 6785 * ISO/IEC 9899:1990 Programming language - C. These are not currently 6786 * required by any standard but constitute a useful, general purpose set 6787 * of type definitions and limits which is namespace clean with respect to 6788 * all standards. 6789 */ 6790 6791 6792 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 6793 /* 6794 * CDDL HEADER START 6795 * 6796 * The contents of this file are subject to the terms of the 6797 * Common Development and Distribution License, Version 1.0 only 6798 * (the "License"). You may not use this file except in compliance 6799 * with the License. 6800 * 6801 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6802 * or http://www.opensolaris.org/os/licensing. 6803 * See the License for the specific language governing permissions 6804 * and limitations under the License. 6805 * 6806 * When distributing Covered Code, include this CDDL HEADER in each 6807 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6808 * If applicable, add the following below this CDDL HEADER, with the 6809 * fields enclosed by brackets "[]" replaced with your own identifying 6810 * information: Portions Copyright [yyyy] [name of copyright owner] 6811 * 6812 * CDDL HEADER END 6813 */ 6814 /* 6815 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6816 * 6817 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6818 * Use is subject to license terms. 6819 */ 6820 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 6821 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6822 /* 6823 * ARG_MAX is calculated as follows: 6824 * NCARGS - space for other stuff on initial stack 6825 * like aux vectors, saved registers, etc.. 6826 */ 6827 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6828 /* 6829 * POSIX conformant definitions - An implementation may define 6830 * other symbols which reflect the actual implementation. Alternate 6831 * definitions may not be as restrictive as the POSIX definitions. 6832 */ 6833 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6834 /* POSIX.1c conformant */ 6835 6836 6837 6838 6839 6840 /* UNIX 03 conformant */ 6841 6842 6843 6844 6845 6846 /* 6847 * POSIX.2 and XPG4-XSH4 conformant definitions 6848 */ 6849 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6850 /* UNIX 03 conformant */ 6851 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6852 /* 6853 * For dual definitions for PASS_MAX and sysconf.c 6854 */ 6855 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6856 /* NLS printf() and scanf() */ 6857 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6858 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ 6859 6860 6861 6862 /* of a double */ 6863 6864 6865 /* of a "float" */ 6866 6867 6868 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ 6869 6870 6871 /* of a double */ 6872 6873 /* of a float */ 6874 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6875 /* 6876 * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the 6877 * related text states: 6878 * 6879 * A definition of one of the values from Table 2-5 shall be omitted from the 6880 * <limits.h> on specific implementations where the corresponding value is 6881 * equal to or greater than the stated minimum, but where the value can vary 6882 * depending on the file to which it is applied. The actual value supported for 6883 * a specific pathname shall be provided by the pathconf() (5.7.1) function. 6884 * 6885 * This is clear that any machine supporting multiple file system types 6886 * and/or a network can not include this define, regardless of protection 6887 * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. 6888 * 6889 * #define NAME_MAX 14 6890 */ 6891 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 6892 /* Increased for illumos */ 6893 # 60 "../common/zones_str.c" 2 6894 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 1 6895 /* 6896 * CDDL HEADER START 6897 * 6898 * The contents of this file are subject to the terms of the 6899 * Common Development and Distribution License, Version 1.0 only 6900 * (the "License"). You may not use this file except in compliance 6901 * with the License. 6902 * 6903 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6904 * or http://www.opensolaris.org/os/licensing. 6905 * See the License for the specific language governing permissions 6906 * and limitations under the License. 6907 * 6908 * When distributing Covered Code, include this CDDL HEADER in each 6909 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6910 * If applicable, add the following below this CDDL HEADER, with the 6911 * fields enclosed by brackets "[]" replaced with your own identifying 6912 * information: Portions Copyright [yyyy] [name of copyright owner] 6913 * 6914 * CDDL HEADER END 6915 */ 6916 /* Copyright (c) 1988 AT&T */ 6917 /* All Rights Reserved */ 6918 6919 /* 6920 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6921 * 6922 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 6923 * Use is subject to license terms. 6924 */ 6925 6926 6927 6928 6929 /* 6930 * Streams user options definitions. 6931 */ 6932 6933 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6934 /* 6935 * CDDL HEADER START 6936 * 6937 * The contents of this file are subject to the terms of the 6938 * Common Development and Distribution License (the "License"). 6939 * You may not use this file except in compliance with the License. 6940 * 6941 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6942 * or http://www.opensolaris.org/os/licensing. 6943 * See the License for the specific language governing permissions 6944 * and limitations under the License. 6945 * 6946 * When distributing Covered Code, include this CDDL HEADER in each 6947 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6948 * If applicable, add the following below this CDDL HEADER, with the 6949 * fields enclosed by brackets "[]" replaced with your own identifying 6950 * information: Portions Copyright [yyyy] [name of copyright owner] 6951 * 6952 * CDDL HEADER END 6953 */ 6954 6955 /* 6956 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6957 * Copyright 2016 Joyent, Inc. 6958 * 6959 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6960 * Use is subject to license terms. 6961 */ 6962 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 6963 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 1 6964 /* 6965 * CDDL HEADER START 6966 * 6967 * The contents of this file are subject to the terms of the 6968 * Common Development and Distribution License (the "License"). 6969 * You may not use this file except in compliance with the License. 6970 * 6971 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6972 * or http://www.opensolaris.org/os/licensing. 6973 * See the License for the specific language governing permissions 6974 * and limitations under the License. 6975 * 6976 * When distributing Covered Code, include this CDDL HEADER in each 6977 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6978 * If applicable, add the following below this CDDL HEADER, with the 6979 * fields enclosed by brackets "[]" replaced with your own identifying 6980 * information: Portions Copyright [yyyy] [name of copyright owner] 6981 * 6982 * CDDL HEADER END 6983 */ 6984 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6985 /* All Rights Reserved */ 6986 6987 6988 /* 6989 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6990 * Use is subject to license terms. 6991 */ 6992 6993 6994 6995 6996 #pragma ident "%Z%%M% %I% %E% SMI" 6997 6998 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6999 /* 7000 * CDDL HEADER START 7001 * 7002 * The contents of this file are subject to the terms of the 7003 * Common Development and Distribution License (the "License"). 7004 * You may not use this file except in compliance with the License. 7005 * 7006 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7007 * or http://www.opensolaris.org/os/licensing. 7008 * See the License for the specific language governing permissions 7009 * and limitations under the License. 7010 * 7011 * When distributing Covered Code, include this CDDL HEADER in each 7012 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7013 * If applicable, add the following below this CDDL HEADER, with the 7014 * fields enclosed by brackets "[]" replaced with your own identifying 7015 * information: Portions Copyright [yyyy] [name of copyright owner] 7016 * 7017 * CDDL HEADER END 7018 */ 7019 7020 /* 7021 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7022 * Copyright 2016 Joyent, Inc. 7023 * 7024 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7025 * Use is subject to license terms. 7026 */ 7027 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 7028 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7029 /* 7030 * CDDL HEADER START 7031 * 7032 * The contents of this file are subject to the terms of the 7033 * Common Development and Distribution License (the "License"). 7034 * You may not use this file except in compliance with the License. 7035 * 7036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7037 * or http://www.opensolaris.org/os/licensing. 7038 * See the License for the specific language governing permissions 7039 * and limitations under the License. 7040 * 7041 * When distributing Covered Code, include this CDDL HEADER in each 7042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7043 * If applicable, add the following below this CDDL HEADER, with the 7044 * fields enclosed by brackets "[]" replaced with your own identifying 7045 * information: Portions Copyright [yyyy] [name of copyright owner] 7046 * 7047 * CDDL HEADER END 7048 */ 7049 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7050 /* All Rights Reserved */ 7051 7052 7053 /* 7054 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7055 * Use is subject to license terms. 7056 * 7057 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7058 * Copyright 2016 Joyent, Inc. 7059 */ 7060 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 7061 /* 7062 * For FMNAMESZ define. 7063 */ 7064 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 1 7065 /* 7066 * CDDL HEADER START 7067 * 7068 * The contents of this file are subject to the terms of the 7069 * Common Development and Distribution License (the "License"). 7070 * You may not use this file except in compliance with the License. 7071 * 7072 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7073 * or http://www.opensolaris.org/os/licensing. 7074 * See the License for the specific language governing permissions 7075 * and limitations under the License. 7076 * 7077 * When distributing Covered Code, include this CDDL HEADER in each 7078 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7079 * If applicable, add the following below this CDDL HEADER, with the 7080 * fields enclosed by brackets "[]" replaced with your own identifying 7081 * information: Portions Copyright [yyyy] [name of copyright owner] 7082 * 7083 * CDDL HEADER END 7084 */ 7085 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7086 /* All Rights Reserved */ 7087 7088 /* 7089 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7090 * Use is subject to license terms. 7091 */ 7092 7093 7094 7095 7096 7097 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7098 /* 7099 * CDDL HEADER START 7100 * 7101 * The contents of this file are subject to the terms of the 7102 * Common Development and Distribution License (the "License"). 7103 * You may not use this file except in compliance with the License. 7104 * 7105 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7106 * or http://www.opensolaris.org/os/licensing. 7107 * See the License for the specific language governing permissions 7108 * and limitations under the License. 7109 * 7110 * When distributing Covered Code, include this CDDL HEADER in each 7111 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7112 * If applicable, add the following below this CDDL HEADER, with the 7113 * fields enclosed by brackets "[]" replaced with your own identifying 7114 * information: Portions Copyright [yyyy] [name of copyright owner] 7115 * 7116 * CDDL HEADER END 7117 */ 7118 7119 /* 7120 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7121 * Copyright 2016 Joyent, Inc. 7122 * 7123 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7124 * Use is subject to license terms. 7125 */ 7126 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 7127 7128 7129 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 7130 /* 7131 * CDDL HEADER START 7132 * 7133 * The contents of this file are subject to the terms of the 7134 * Common Development and Distribution License, Version 1.0 only 7135 * (the "License"). You may not use this file except in compliance 7136 * with the License. 7137 * 7138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7139 * or http://www.opensolaris.org/os/licensing. 7140 * See the License for the specific language governing permissions 7141 * and limitations under the License. 7142 * 7143 * When distributing Covered Code, include this CDDL HEADER in each 7144 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7145 * If applicable, add the following below this CDDL HEADER, with the 7146 * fields enclosed by brackets "[]" replaced with your own identifying 7147 * information: Portions Copyright [yyyy] [name of copyright owner] 7148 * 7149 * CDDL HEADER END 7150 */ 7151 /* 7152 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 7153 * All rights reserved. 7154 */ 7155 7156 /* 7157 * t_lock.h: Prototypes for disp_locks, plus include files 7158 * that describe the interfaces to kernel synch. 7159 * objects. 7160 */ 7161 7162 7163 7164 7165 #pragma ident "%Z%%M% %I% %E% SMI" 7166 7167 7168 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 7169 /* 7170 * CDDL HEADER START 7171 * 7172 * The contents of this file are subject to the terms of the 7173 * Common Development and Distribution License (the "License"). 7174 * You may not use this file except in compliance with the License. 7175 * 7176 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7177 * or http://www.opensolaris.org/os/licensing. 7178 * See the License for the specific language governing permissions 7179 * and limitations under the License. 7180 * 7181 * When distributing Covered Code, include this CDDL HEADER in each 7182 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7183 * If applicable, add the following below this CDDL HEADER, with the 7184 * fields enclosed by brackets "[]" replaced with your own identifying 7185 * information: Portions Copyright [yyyy] [name of copyright owner] 7186 * 7187 * CDDL HEADER END 7188 */ 7189 /* 7190 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 7191 * Use is subject to license terms. 7192 * Copyright 2016 Joyent, Inc. 7193 */ 7194 7195 7196 7197 7198 #pragma ident "%Z%%M% %I% %E% SMI" 7199 7200 7201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7202 /* 7203 * CDDL HEADER START 7204 * 7205 * The contents of this file are subject to the terms of the 7206 * Common Development and Distribution License (the "License"). 7207 * You may not use this file except in compliance with the License. 7208 * 7209 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7210 * or http://www.opensolaris.org/os/licensing. 7211 * See the License for the specific language governing permissions 7212 * and limitations under the License. 7213 * 7214 * When distributing Covered Code, include this CDDL HEADER in each 7215 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7216 * If applicable, add the following below this CDDL HEADER, with the 7217 * fields enclosed by brackets "[]" replaced with your own identifying 7218 * information: Portions Copyright [yyyy] [name of copyright owner] 7219 * 7220 * CDDL HEADER END 7221 */ 7222 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7223 /* All Rights Reserved */ 7224 7225 7226 /* 7227 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7228 * Use is subject to license terms. 7229 * 7230 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7231 * Copyright 2016 Joyent, Inc. 7232 */ 7233 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 7234 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 7235 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7236 /* All Rights Reserved */ 7237 7238 7239 /* 7240 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 7241 * All rights reserved. The Berkeley software License Agreement 7242 * specifies the terms and conditions for redistribution. 7243 */ 7244 7245 /* 7246 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7247 * 7248 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7249 * Use is subject to license terms. 7250 * 7251 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7252 */ 7253 7254 /* 7255 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 7256 */ 7257 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 7258 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 7259 typedef lock_t disp_lock_t; /* dispatcher lock type */ 7260 7261 /* 7262 * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or 7263 * an adaptive mutex, depending on what interrupt levels use it. 7264 */ 7265 7266 7267 /* 7268 * Macro to control loops which spin on a lock and then check state 7269 * periodically. Its passed an integer, and returns a boolean value 7270 * that if true indicates its a good time to get the scheduler lock and 7271 * check the state of the current owner of the lock. 7272 */ 7273 7274 7275 /* 7276 * Externs for CLOCK_LOCK and clock resolution 7277 */ 7278 extern volatile uint32_t hres_lock; 7279 extern hrtime_t hrtime_base; 7280 extern int clock_res; 7281 7282 7283 7284 /* 7285 * The definitions of the symbolic interrupt levels: 7286 * 7287 * CLOCK_LEVEL => The level at which one must be to block the clock. 7288 * 7289 * LOCK_LEVEL => The highest level at which one may block (and thus the 7290 * highest level at which one may acquire adaptive locks) 7291 * Also the highest level at which one may be preempted. 7292 * 7293 * DISP_LEVEL => The level at which one must be to perform dispatcher 7294 * operations. 7295 * 7296 * The constraints on the platform: 7297 * 7298 * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL 7299 * - LOCK_LEVEL must be less than DISP_LEVEL 7300 * - DISP_LEVEL should be as close to LOCK_LEVEL as possible 7301 * 7302 * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; 7303 * changing this relationship is probably possible but not advised. 7304 * 7305 */ 7306 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 7307 /* 7308 * The following mask is for the cpu_intr_actv bits corresponding to 7309 * high-level PILs. It should equal: 7310 * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) 7311 */ 7312 7313 7314 /* 7315 * The semaphore code depends on being able to represent a lock plus 7316 * owner in a single 32-bit word. (Mutexes used to have a similar 7317 * dependency, but no longer.) Thus the owner must contain at most 7318 * 24 significant bits. At present only threads and semaphores 7319 * must be aware of this vile constraint. Different ISAs may handle this 7320 * differently depending on their capabilities (e.g. compare-and-swap) 7321 * and limitations (e.g. constraints on alignment and/or KERNELBASE). 7322 */ 7323 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7324 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 7325 /* 7326 * CDDL HEADER START 7327 * 7328 * The contents of this file are subject to the terms of the 7329 * Common Development and Distribution License (the "License"). 7330 * You may not use this file except in compliance with the License. 7331 * 7332 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7333 * or http://www.opensolaris.org/os/licensing. 7334 * See the License for the specific language governing permissions 7335 * and limitations under the License. 7336 * 7337 * When distributing Covered Code, include this CDDL HEADER in each 7338 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7339 * If applicable, add the following below this CDDL HEADER, with the 7340 * fields enclosed by brackets "[]" replaced with your own identifying 7341 * information: Portions Copyright [yyyy] [name of copyright owner] 7342 * 7343 * CDDL HEADER END 7344 */ 7345 7346 /* 7347 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 7348 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 7349 */ 7350 7351 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 7352 /* All Rights Reserved */ 7353 7354 /* 7355 * University Copyright- Copyright (c) 1982, 1986, 1988 7356 * The Regents of the University of California 7357 * All Rights Reserved 7358 * 7359 * University Acknowledgment- Portions of this document are derived from 7360 * software developed by the University of California, Berkeley, and its 7361 * contributors. 7362 */ 7363 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7364 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 7365 /* 7366 * CDDL HEADER START 7367 * 7368 * The contents of this file are subject to the terms of the 7369 * Common Development and Distribution License (the "License"). 7370 * You may not use this file except in compliance with the License. 7371 * 7372 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7373 * or http://www.opensolaris.org/os/licensing. 7374 * See the License for the specific language governing permissions 7375 * and limitations under the License. 7376 * 7377 * When distributing Covered Code, include this CDDL HEADER in each 7378 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7379 * If applicable, add the following below this CDDL HEADER, with the 7380 * fields enclosed by brackets "[]" replaced with your own identifying 7381 * information: Portions Copyright [yyyy] [name of copyright owner] 7382 * 7383 * CDDL HEADER END 7384 */ 7385 /* 7386 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 7387 */ 7388 7389 7390 7391 7392 7393 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7394 /* 7395 * CDDL HEADER START 7396 * 7397 * The contents of this file are subject to the terms of the 7398 * Common Development and Distribution License (the "License"). 7399 * You may not use this file except in compliance with the License. 7400 * 7401 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7402 * or http://www.opensolaris.org/os/licensing. 7403 * See the License for the specific language governing permissions 7404 * and limitations under the License. 7405 * 7406 * When distributing Covered Code, include this CDDL HEADER in each 7407 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7408 * If applicable, add the following below this CDDL HEADER, with the 7409 * fields enclosed by brackets "[]" replaced with your own identifying 7410 * information: Portions Copyright [yyyy] [name of copyright owner] 7411 * 7412 * CDDL HEADER END 7413 */ 7414 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7415 /* All Rights Reserved */ 7416 7417 7418 /* 7419 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7420 * Use is subject to license terms. 7421 * 7422 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7423 * Copyright 2016 Joyent, Inc. 7424 */ 7425 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 7426 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 7427 /* 7428 * Public interface to mutual exclusion locks. See mutex(9F) for details. 7429 * 7430 * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used 7431 * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking 7432 * and must be used in interrupt handlers above LOCK_LEVEL. The iblock 7433 * cookie argument to mutex_init() encodes the interrupt level to block. 7434 * The iblock cookie must be NULL for adaptive locks. 7435 * 7436 * MUTEX_DEFAULT is the type usually specified (except in drivers) to 7437 * mutex_init(). It is identical to MUTEX_ADAPTIVE. 7438 * 7439 * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to 7440 * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. 7441 * 7442 * Mutex statistics can be gathered on the fly, without rebooting or 7443 * recompiling the kernel, via the lockstat driver (lockstat(7D)). 7444 */ 7445 typedef enum { 7446 MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ 7447 MUTEX_SPIN = 1, /* block interrupts and spin */ 7448 MUTEX_DRIVER = 4, /* driver (DDI) mutex */ 7449 MUTEX_DEFAULT = 6 /* kernel default mutex */ 7450 } kmutex_type_t; 7451 7452 typedef struct mutex { 7453 7454 void *_opaque[1]; 7455 7456 7457 7458 } kmutex_t; 7459 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7460 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 7461 /* 7462 * CDDL HEADER START 7463 * 7464 * The contents of this file are subject to the terms of the 7465 * Common Development and Distribution License (the "License"). 7466 * You may not use this file except in compliance with the License. 7467 * 7468 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7469 * or http://www.opensolaris.org/os/licensing. 7470 * See the License for the specific language governing permissions 7471 * and limitations under the License. 7472 * 7473 * When distributing Covered Code, include this CDDL HEADER in each 7474 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7475 * If applicable, add the following below this CDDL HEADER, with the 7476 * fields enclosed by brackets "[]" replaced with your own identifying 7477 * information: Portions Copyright [yyyy] [name of copyright owner] 7478 * 7479 * CDDL HEADER END 7480 */ 7481 /* 7482 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 7483 * Use is subject to license terms. 7484 */ 7485 7486 /* 7487 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 7488 */ 7489 7490 7491 7492 7493 /* 7494 * Public interface to readers/writer locks. See rwlock(9F) for details. 7495 */ 7496 7497 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7498 /* 7499 * CDDL HEADER START 7500 * 7501 * The contents of this file are subject to the terms of the 7502 * Common Development and Distribution License (the "License"). 7503 * You may not use this file except in compliance with the License. 7504 * 7505 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7506 * or http://www.opensolaris.org/os/licensing. 7507 * See the License for the specific language governing permissions 7508 * and limitations under the License. 7509 * 7510 * When distributing Covered Code, include this CDDL HEADER in each 7511 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7512 * If applicable, add the following below this CDDL HEADER, with the 7513 * fields enclosed by brackets "[]" replaced with your own identifying 7514 * information: Portions Copyright [yyyy] [name of copyright owner] 7515 * 7516 * CDDL HEADER END 7517 */ 7518 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7519 /* All Rights Reserved */ 7520 7521 7522 /* 7523 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7524 * Use is subject to license terms. 7525 * 7526 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7527 * Copyright 2016 Joyent, Inc. 7528 */ 7529 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 7530 7531 7532 7533 7534 7535 7536 7537 typedef enum { 7538 RW_DRIVER = 2, /* driver (DDI) rwlock */ 7539 RW_DEFAULT = 4 /* kernel default rwlock */ 7540 } krw_type_t; 7541 7542 typedef enum { 7543 RW_WRITER, 7544 RW_READER, 7545 RW_READER_STARVEWRITER 7546 } krw_t; 7547 7548 typedef struct _krwlock { 7549 void *_opaque[1]; 7550 } krwlock_t; 7551 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7552 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 7553 /* 7554 * CDDL HEADER START 7555 * 7556 * The contents of this file are subject to the terms of the 7557 * Common Development and Distribution License, Version 1.0 only 7558 * (the "License"). You may not use this file except in compliance 7559 * with the License. 7560 * 7561 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7562 * or http://www.opensolaris.org/os/licensing. 7563 * See the License for the specific language governing permissions 7564 * and limitations under the License. 7565 * 7566 * When distributing Covered Code, include this CDDL HEADER in each 7567 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7568 * If applicable, add the following below this CDDL HEADER, with the 7569 * fields enclosed by brackets "[]" replaced with your own identifying 7570 * information: Portions Copyright [yyyy] [name of copyright owner] 7571 * 7572 * CDDL HEADER END 7573 */ 7574 /* 7575 * Copyright (c) 1993-1998 by Sun Microsystems, Inc. 7576 * All rights reserved. 7577 */ 7578 7579 7580 7581 7582 #pragma ident "%Z%%M% %I% %E% SMI" 7583 7584 /* 7585 * Public interface to semaphores. See semaphore(9F) for details. 7586 */ 7587 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 7588 typedef enum { 7589 SEMA_DEFAULT, 7590 SEMA_DRIVER 7591 } ksema_type_t; 7592 7593 typedef struct _ksema { 7594 void * _opaque[2]; /* 2 words on 4 byte alignment */ 7595 } ksema_t; 7596 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7597 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1 7598 /* 7599 * CDDL HEADER START 7600 * 7601 * The contents of this file are subject to the terms of the 7602 * Common Development and Distribution License (the "License"). 7603 * You may not use this file except in compliance with the License. 7604 * 7605 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7606 * or http://www.opensolaris.org/os/licensing. 7607 * See the License for the specific language governing permissions 7608 * and limitations under the License. 7609 * 7610 * When distributing Covered Code, include this CDDL HEADER in each 7611 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7612 * If applicable, add the following below this CDDL HEADER, with the 7613 * fields enclosed by brackets "[]" replaced with your own identifying 7614 * information: Portions Copyright [yyyy] [name of copyright owner] 7615 * 7616 * CDDL HEADER END 7617 */ 7618 /* 7619 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7620 * Use is subject to license terms. 7621 */ 7622 7623 /* 7624 * Copyright (c) 2012 by Delphix. All rights reserved. 7625 */ 7626 7627 /* 7628 * condvar.h: 7629 * 7630 * definitions for thread synchronization primitives: condition variables 7631 * This is the public part of the interface to condition variables. The 7632 * private (implementation-specific) part is in <arch>/sys/condvar_impl.h. 7633 */ 7634 7635 7636 7637 7638 7639 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 7640 /* 7641 * CDDL HEADER START 7642 * 7643 * The contents of this file are subject to the terms of the 7644 * Common Development and Distribution License (the "License"). 7645 * You may not use this file except in compliance with the License. 7646 * 7647 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7648 * or http://www.opensolaris.org/os/licensing. 7649 * See the License for the specific language governing permissions 7650 * and limitations under the License. 7651 * 7652 * When distributing Covered Code, include this CDDL HEADER in each 7653 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7654 * If applicable, add the following below this CDDL HEADER, with the 7655 * fields enclosed by brackets "[]" replaced with your own identifying 7656 * information: Portions Copyright [yyyy] [name of copyright owner] 7657 * 7658 * CDDL HEADER END 7659 */ 7660 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7661 /* All Rights Reserved */ 7662 7663 7664 /* 7665 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7666 * Use is subject to license terms. 7667 * 7668 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7669 * Copyright 2016 Joyent, Inc. 7670 */ 7671 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 7672 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 7673 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 7674 /* All Rights Reserved */ 7675 7676 7677 /* 7678 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 7679 * All rights reserved. The Berkeley software License Agreement 7680 * specifies the terms and conditions for redistribution. 7681 */ 7682 7683 /* 7684 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7685 * 7686 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 7687 * Use is subject to license terms. 7688 * 7689 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 7690 */ 7691 7692 /* 7693 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 7694 */ 7695 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 7696 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 7697 /* 7698 * Condtion variables. 7699 */ 7700 7701 typedef struct _kcondvar { 7702 ushort_t _opaque; 7703 } kcondvar_t; 7704 7705 typedef enum { 7706 CV_DEFAULT, 7707 CV_DRIVER 7708 } kcv_type_t; 7709 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 7710 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 7711 /* 7712 * Mutual exclusion locks described in common/sys/mutex.h. 7713 * 7714 * Semaphores described in common/sys/semaphore.h. 7715 * 7716 * Readers/Writer locks described in common/sys/rwlock.h. 7717 * 7718 * Condition variables described in common/sys/condvar.h 7719 */ 7720 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 2 7721 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 7722 /* 7723 * Device flags. 7724 * 7725 * Bit 0 to bit 15 are reserved for kernel. 7726 * Bit 16 to bit 31 are reserved for different machines. 7727 */ 7728 7729 7730 7731 7732 7733 /* 7734 * MT-safety level (in DDI portion of flags). 7735 * 7736 * All drivers must be MT-safe, and must advertise this by specifying D_MP. 7737 * 7738 * The remainder of the flags apply only to STREAMS modules and drivers. 7739 * 7740 * A STREAMS driver or module can optionally select inner and outer perimeters. 7741 * The four mutually exclusive options that define the presence and scope 7742 * of the inner perimeter are: 7743 * D_MTPERMOD - per module single threaded. 7744 * D_MTQPAIR - per queue-pair single threaded. 7745 * D_MTPERQ - per queue instance single threaded. 7746 * (none of the above) - no inner perimeter restricting concurrency 7747 * 7748 * The presence of the outer perimeter is declared with: 7749 * D_MTOUTPERIM - a per-module outer perimeter. Can be combined with 7750 * D_MTPERQ, D_MTQPAIR, and D_MP. 7751 * 7752 * The concurrency when entering the different STREAMS entry points can be 7753 * modified with: 7754 * D_MTPUTSHARED - modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 7755 * specifying that the put procedures should not be 7756 * single-threaded at the inner perimeter. 7757 * _D_MTOCSHARED - EXPERIMENTAL - will be removed in a future release. 7758 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 7759 * specifying that the open and close procedures should not be 7760 * single-threaded at the inner perimeter. 7761 * _D_MTCBSHARED - EXPERIMENTAL - will be removed in a future release. 7762 * Modifier for D_MTPERQ, D_MTQPAIR, and D_MTPERMOD 7763 * specifying that the callback i.e qtimeout() procedures should 7764 * not be single-threaded at the inner perimeter. 7765 * _D_MTSVCSHARED - EXPERIMENTAL - will be removed in a future release. 7766 * Modifier for D_MTPERMOD only. Specifies that the service 7767 * procedure should not be single-threaded at the inner perimeter. 7768 * However only a single instance of the service thread can run on 7769 * any given queue. 7770 * D_MTOCEXCL - modifier for D_MTOUTPERIM specifying that the open and 7771 * close procedures should be single-threaded at the outer 7772 * perimeter. 7773 */ 7774 7775 7776 7777 /* 0x100 - see below */ 7778 /* 0x200 - see below */ 7779 /* 0x400 - see below */ 7780 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 7781 /* The inner perimeter scope bits */ 7782 7783 7784 /* Inner perimeter modification bits */ 7785 7786 7787 7788 /* Outer perimeter modification bits */ 7789 7790 7791 /* All the MT flags */ 7792 # 212 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/conf.h" 7793 /* extended qinit structure */ 7794 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 2 7795 7796 7797 7798 7799 7800 /* 7801 * Write options 7802 */ 7803 7804 7805 /* putmsg if sd_werror is set */ 7806 7807 /* 7808 * Read options 7809 */ 7810 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7811 /* 7812 * These next three read options are added for the sake of 7813 * user-level transparency. RPROTDAT will cause the stream head 7814 * to treat the contents of M_PROTO and M_PCPROTO message blocks 7815 * as data. RPROTDIS will prevent the stream head from failing 7816 * a read with EBADMSG if an M_PROTO or M_PCPROTO message is on 7817 * the front of the stream head read queue. Rather, the protocol 7818 * blocks will be silently discarded and the data associated with 7819 * the message (in linked M_DATA blocks), if any, will be delivered 7820 * to the user. RPROTNORM sets the default behavior, where read 7821 * will fail with EBADMSG if an M_PROTO or M_PCPROTO are at the 7822 * stream head. 7823 */ 7824 7825 7826 /* read data portion */ 7827 7828 7829 7830 7831 7832 /* 7833 * The next read option is used so that a TPI aware module can tell the 7834 * stream head to not flush M_PCPROTO messages when processing a read side 7835 * flush. This will avoid problems where a flush removes a T_OK_ACK. 7836 */ 7837 7838 7839 7840 7841 7842 7843 /* 7844 * Error options 7845 */ 7846 7847 /* 7848 * Error options to adjust the stream head error behavior with respect 7849 * to M_ERROR message for read and write side errors respectively. 7850 * The normal case is that the read/write side error is 7851 * persistent and these options allow the application or streams module/driver 7852 * to specify that errors are nonpersistent. In this case the error is cleared 7853 * after having been returned to read(), getmsg(), ioctl(), write(), putmsg(), 7854 * etc. 7855 */ 7856 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7857 /* 7858 * Flush options 7859 */ 7860 7861 7862 7863 7864 7865 /* in next byte */ 7866 /* 7867 * Copy options for M_SETOPS/SO_COPYOPT 7868 */ 7869 7870 7871 /* pages instead of bcopy */ 7872 7873 7874 7875 7876 /* 7877 * Events for which the SIGPOLL signal is to be sent. 7878 */ 7879 # 154 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7880 /* SIGURG instead of SIGPOLL */ 7881 7882 /* 7883 * Flags for getmsg() and putmsg() syscall arguments. 7884 * "RS" stands for recv/send. The system calls were originally called 7885 * recv() and send(), but were renamed to avoid confusion with the BSD 7886 * calls of the same name. A value of zero will cause getmsg() to return 7887 * the first message on the stream head read queue and putmsg() to send 7888 * a normal priority message. 7889 * 7890 * Flags for strmakemsg() arguments (should define strmakemsg() flags). 7891 * Used to determine the message type of the control part of a message, 7892 * if RS_HIPRI, M_PCPROTO, else M_PROTO. 7893 */ 7894 7895 7896 7897 7898 /* 7899 * Flags for getpmsg() and putpmsg() syscall arguments. 7900 */ 7901 7902 /* 7903 * These are settable by the user and will be set on return 7904 * to indicate the priority of message received. 7905 */ 7906 7907 7908 7909 7910 /* 7911 * This is a private flag passed by libc to kernel to 7912 * identify that it is a XPG4_2 application. No 7913 * applications need to know about this flag. 7914 */ 7915 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7916 /* 7917 * Flags returned as value of getmsg() and getpmsg() syscall. 7918 */ 7919 7920 7921 7922 /* 7923 * Define to indicate that all multiplexors beneath a stream should 7924 * be unlinked. 7925 */ 7926 7927 7928 /* 7929 * Flag definitions for the I_ATMARK ioctl. 7930 */ 7931 7932 7933 7934 /* 7935 * Stream Ioctl defines 7936 */ 7937 7938 /* (STR|000) in use */ 7939 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7940 /* (STR|016) in use */ 7941 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7942 /* 7943 * IOCTLs (STR|050) - (STR|055) are available for use. 7944 */ 7945 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7946 /* 7947 * User level ioctl format for ioctls that go downstream (I_STR) 7948 */ 7949 struct strioctl { 7950 int ic_cmd; /* command */ 7951 int ic_timout; /* timeout value */ 7952 int ic_len; /* length of data */ 7953 char *ic_dp; /* pointer to data */ 7954 }; 7955 # 308 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7956 /* 7957 * Value for timeouts (ioctl, select) that denotes infinity 7958 */ 7959 7960 7961 7962 7963 7964 7965 /* 7966 * For _I_CMD: similar to strioctl, but with included buffer (to avoid copyin/ 7967 * copyout from another address space). NOTE: the size of this structure must 7968 * be less than libproc.h`MAXARGL for pr_ioctl() to handle it. 7969 */ 7970 7971 typedef struct strcmd { 7972 int sc_cmd; /* ioctl command */ 7973 int sc_timeout; /* timeout value (in seconds) */ 7974 int sc_len; /* length of data */ 7975 int sc_pad; 7976 char sc_buf[2048]; /* data buffer */ 7977 } strcmd_t; 7978 7979 7980 /* 7981 * Stream buffer structure for putmsg and getmsg system calls 7982 */ 7983 struct strbuf { 7984 int maxlen; /* no. of bytes in buffer */ 7985 int len; /* no. of bytes returned */ 7986 caddr_t buf; /* pointer to data */ 7987 }; 7988 # 350 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7989 /* 7990 * Stream I_PEEK ioctl format 7991 */ 7992 struct strpeek { 7993 struct strbuf ctlbuf; 7994 struct strbuf databuf; 7995 t_uscalar_t flags; 7996 }; 7997 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 7998 /* 7999 * Stream I_FDINSERT ioctl format 8000 */ 8001 struct strfdinsert { 8002 struct strbuf ctlbuf; 8003 struct strbuf databuf; 8004 t_uscalar_t flags; 8005 int fildes; 8006 int offset; 8007 }; 8008 # 392 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8009 /* 8010 * Receive file descriptor structure 8011 */ 8012 # 426 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8013 struct strrecvfd { 8014 int fd; 8015 uid_t uid; 8016 gid_t gid; 8017 8018 8019 8020 char fill[8]; 8021 8022 }; 8023 8024 8025 /* 8026 * For I_LIST ioctl. 8027 */ 8028 struct str_mlist { 8029 char l_name[8 +1]; 8030 }; 8031 8032 struct str_list { 8033 int sl_nmods; 8034 struct str_mlist *sl_modlist; 8035 }; 8036 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8037 /* 8038 * Private, for _I_INSERT/_I_REMOVE ioctl. 8039 */ 8040 struct strmodconf { 8041 int pos; /* Position to be inserted/removed. */ 8042 caddr_t mod_name; /* Name of module. */ 8043 }; 8044 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stropts.h" 8045 /* 8046 * For I_FLUSHBAND ioctl. Describes the priority 8047 * band for which the operation applies. 8048 */ 8049 struct bandinfo { 8050 unsigned char bi_pri; 8051 int bi_flag; 8052 }; 8053 8054 8055 /* 8056 * The argument for I_ESETSIG and I_EGETSIG ioctls. 8057 */ 8058 8059 struct strsigset { 8060 pid_t ss_pid; /* pgrp if negative */ 8061 int ss_events; /* S_ events */ 8062 }; 8063 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stropts.h" 2 8064 8065 8066 8067 8068 8069 extern int isastream(int); 8070 8071 extern int getmsg(int, struct strbuf *, 8072 struct strbuf *, int *); 8073 extern int putmsg(int, const struct strbuf *, const struct strbuf *, int); 8074 8075 extern int getpmsg(int, struct strbuf *, 8076 struct strbuf *, int *, 8077 int *); 8078 extern int putpmsg(int, const struct strbuf *, const struct strbuf *, int, int); 8079 8080 /* 8081 * These three routines are duplicated in unistd.h; duplication necessitated 8082 * by XPG4.2 compliance/namespace issues. 8083 */ 8084 extern int ioctl(int, int, ...); 8085 extern int fattach(int, const char *); 8086 extern int fdetach(const char *); 8087 # 61 "../common/zones_str.c" 2 8088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 8089 /* 8090 * CDDL HEADER START 8091 * 8092 * The contents of this file are subject to the terms of the 8093 * Common Development and Distribution License (the "License"). 8094 * You may not use this file except in compliance with the License. 8095 * 8096 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8097 * or http://www.opensolaris.org/os/licensing. 8098 * See the License for the specific language governing permissions 8099 * and limitations under the License. 8100 * 8101 * When distributing Covered Code, include this CDDL HEADER in each 8102 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8103 * If applicable, add the following below this CDDL HEADER, with the 8104 * fields enclosed by brackets "[]" replaced with your own identifying 8105 * information: Portions Copyright [yyyy] [name of copyright owner] 8106 * 8107 * CDDL HEADER END 8108 */ 8109 /* 8110 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8111 * 8112 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8113 * Use is subject to license terms. 8114 */ 8115 8116 8117 8118 8119 8120 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 8121 /* 8122 * CDDL HEADER START 8123 * 8124 * The contents of this file are subject to the terms of the 8125 * Common Development and Distribution License (the "License"). 8126 * You may not use this file except in compliance with the License. 8127 * 8128 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8129 * or http://www.opensolaris.org/os/licensing. 8130 * See the License for the specific language governing permissions 8131 * and limitations under the License. 8132 * 8133 * 8134 * When distributing Covered Code, include this CDDL HEADER in each 8135 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8136 * If applicable, add the following below this CDDL HEADER, with the 8137 * fields enclosed by brackets "[]" replaced with your own identifying 8138 * information: Portions Copyright [yyyy] [name of copyright owner] 8139 * 8140 * CDDL HEADER END 8141 */ 8142 8143 /* 8144 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8145 * Use is subject to license terms. 8146 * Copyright 2016 Joyent, Inc. 8147 */ 8148 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 8149 8150 8151 8152 8153 8154 /* 8155 * wchar_t is a built-in type in standard C++ and as such is not 8156 * defined here when using standard C++. However, the GNU compiler 8157 * fixincludes utility nonetheless creates its own version of this 8158 * header for use by gcc and g++. In that version it adds a redundant 8159 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 8160 * header we need to include the following magic comment: 8161 * 8162 * we must use the C++ compiler's type 8163 * 8164 * The above comment should not be removed or changed until GNU 8165 * gcc/fixinc/inclhack.def is updated to bypass this header. 8166 */ 8167 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 8168 extern char *dcgettext(const char *, const char *, const int); 8169 extern char *dgettext(const char *, const char *); 8170 extern char *gettext(const char *); 8171 extern char *textdomain(const char *); 8172 extern char *bindtextdomain(const char *, const char *); 8173 8174 /* 8175 * LI18NUX 2000 Globalization Specification Version 1.0 8176 * with Amendment 2 8177 */ 8178 extern char *dcngettext(const char *, const char *, 8179 const char *, unsigned long int, int); 8180 extern char *dngettext(const char *, const char *, 8181 const char *, unsigned long int); 8182 extern char *ngettext(const char *, const char *, unsigned long int); 8183 extern char *bind_textdomain_codeset(const char *, const char *); 8184 8185 /* Word handling functions --- requires dynamic linking */ 8186 /* Warning: these are experimental and subject to change. */ 8187 extern int wdinit(void); 8188 extern int wdchkind(wchar_t); 8189 extern int wdbindf(wchar_t, wchar_t, int); 8190 extern wchar_t *wddelim(wchar_t, wchar_t, int); 8191 extern wchar_t mcfiller(void); 8192 extern int mcwrap(void); 8193 # 62 "../common/zones_str.c" 2 8194 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1 8195 /* 8196 * CDDL HEADER START 8197 * 8198 * The contents of this file are subject to the terms of the 8199 * Common Development and Distribution License, Version 1.0 only 8200 * (the "License"). You may not use this file except in compliance 8201 * with the License. 8202 * 8203 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8204 * or http://www.opensolaris.org/os/licensing. 8205 * See the License for the specific language governing permissions 8206 * and limitations under the License. 8207 * 8208 * When distributing Covered Code, include this CDDL HEADER in each 8209 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8210 * If applicable, add the following below this CDDL HEADER, with the 8211 * fields enclosed by brackets "[]" replaced with your own identifying 8212 * information: Portions Copyright [yyyy] [name of copyright owner] 8213 * 8214 * CDDL HEADER END 8215 */ 8216 /* 8217 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8218 * Use is subject to license terms. 8219 */ 8220 8221 /* 8222 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8223 * 8224 * Portions of this file developed by Garrett D'Amore are licensed 8225 * under the terms of the Common Development and Distribution License (CDDL) 8226 * version 1.0 only. The use of subsequent versions of the License are 8227 * is specifically prohibited unless those terms are not in conflict with 8228 * version 1.0 of the License. You can find this license on-line at 8229 * http://www.illumos.org/license/CDDL 8230 */ 8231 8232 8233 8234 8235 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1 8236 /* 8237 * CDDL HEADER START 8238 * 8239 * The contents of this file are subject to the terms of the 8240 * Common Development and Distribution License, Version 1.0 only 8241 * (the "License"). You may not use this file except in compliance 8242 * with the License. 8243 * 8244 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8245 * or http://www.opensolaris.org/os/licensing. 8246 * See the License for the specific language governing permissions 8247 * and limitations under the License. 8248 * 8249 * When distributing Covered Code, include this CDDL HEADER in each 8250 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8251 * If applicable, add the following below this CDDL HEADER, with the 8252 * fields enclosed by brackets "[]" replaced with your own identifying 8253 * information: Portions Copyright [yyyy] [name of copyright owner] 8254 * 8255 * CDDL HEADER END 8256 */ 8257 /* 8258 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8259 * Copyright 2014 PALO, Richard. 8260 * 8261 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8262 * Use is subject to license terms. 8263 */ 8264 8265 /* Copyright (c) 1988 AT&T */ 8266 /* All Rights Reserved */ 8267 8268 8269 /* 8270 * An application should not include this header directly. Instead it 8271 * should be included only through the inclusion of other Sun headers. 8272 * 8273 * The contents of this header is limited to identifiers specified in the 8274 * C Standard. Any new identifiers specified in future amendments to the 8275 * C Standard must be placed in this header. If these new identifiers 8276 * are required to also be in the C++ Standard "std" namespace, then for 8277 * anything other than macro definitions, corresponding "using" directives 8278 * must also be added to <locale.h>. 8279 */ 8280 8281 8282 8283 8284 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8285 /* 8286 * CDDL HEADER START 8287 * 8288 * The contents of this file are subject to the terms of the 8289 * Common Development and Distribution License (the "License"). 8290 * You may not use this file except in compliance with the License. 8291 * 8292 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8293 * or http://www.opensolaris.org/os/licensing. 8294 * See the License for the specific language governing permissions 8295 * and limitations under the License. 8296 * 8297 * When distributing Covered Code, include this CDDL HEADER in each 8298 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8299 * If applicable, add the following below this CDDL HEADER, with the 8300 * fields enclosed by brackets "[]" replaced with your own identifying 8301 * information: Portions Copyright [yyyy] [name of copyright owner] 8302 * 8303 * CDDL HEADER END 8304 */ 8305 8306 /* 8307 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8308 * Copyright 2016 Joyent, Inc. 8309 * 8310 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8311 * Use is subject to license terms. 8312 */ 8313 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 8314 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 8315 /* 8316 * This file and its contents are supplied under the terms of the 8317 * Common Development and Distribution License ("CDDL"), version 1.0. 8318 * You may only use this file in accordance with the terms of version 8319 * 1.0 of the CDDL. 8320 * 8321 * A full copy of the text of the CDDL should have accompanied this 8322 * source. A copy of the CDDL is also available via the Internet at 8323 * http://www.illumos.org/license/CDDL. 8324 */ 8325 8326 /* 8327 * Copyright 2014-2016 PALO, Richard. 8328 */ 8329 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 8330 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8331 struct lconv { 8332 char *decimal_point; 8333 char *thousands_sep; 8334 char *grouping; 8335 char *int_curr_symbol; 8336 char *currency_symbol; 8337 char *mon_decimal_point; 8338 char *mon_thousands_sep; 8339 char *mon_grouping; 8340 char *positive_sign; 8341 char *negative_sign; 8342 char int_frac_digits; 8343 char frac_digits; 8344 char p_cs_precedes; 8345 char p_sep_by_space; 8346 char n_cs_precedes; 8347 char n_sep_by_space; 8348 char p_sign_posn; 8349 char n_sign_posn; 8350 8351 /* 8352 * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999 8353 * standard. Namespace and binary compatibility dictate that visibility 8354 * of these new members be limited. Visibility is limited to a strictly 8355 * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined. 8356 */ 8357 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8358 }; 8359 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 8360 extern char *setlocale(int, const char *); 8361 extern struct lconv *localeconv(void); 8362 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 8363 8364 8365 8366 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 8367 /* 8368 * CDDL HEADER START 8369 * 8370 * The contents of this file are subject to the terms of the 8371 * Common Development and Distribution License (the "License"). 8372 * You may not use this file except in compliance with the License. 8373 * 8374 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8375 * or http://www.opensolaris.org/os/licensing. 8376 * See the License for the specific language governing permissions 8377 * and limitations under the License. 8378 * 8379 * When distributing Covered Code, include this CDDL HEADER in each 8380 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8381 * If applicable, add the following below this CDDL HEADER, with the 8382 * fields enclosed by brackets "[]" replaced with your own identifying 8383 * information: Portions Copyright [yyyy] [name of copyright owner] 8384 * 8385 * CDDL HEADER END 8386 */ 8387 /* 8388 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8389 * 8390 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 8391 * Use is subject to license terms. 8392 */ 8393 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 8394 8395 8396 /* 8397 * Allow global visibility for symbols defined in 8398 * C++ "std" namespace in <iso/locale_iso.h>. 8399 */ 8400 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 8401 /* 8402 * These were added in POSIX 2008 as part of the newlocale() specification. 8403 */ 8404 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 8405 extern locale_t duplocale(locale_t); 8406 extern void freelocale(locale_t); 8407 extern locale_t newlocale(int, const char *, locale_t); 8408 extern locale_t uselocale(locale_t); 8409 8410 8411 extern locale_t __global_locale(void); 8412 # 63 "../common/zones_str.c" 2 8413 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 1 8414 /* 8415 * CDDL HEADER START 8416 * 8417 * The contents of this file are subject to the terms of the 8418 * Common Development and Distribution License, Version 1.0 only 8419 * (the "License"). You may not use this file except in compliance 8420 * with the License. 8421 * 8422 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8423 * or http://www.opensolaris.org/os/licensing. 8424 * See the License for the specific language governing permissions 8425 * and limitations under the License. 8426 * 8427 * When distributing Covered Code, include this CDDL HEADER in each 8428 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8429 * If applicable, add the following below this CDDL HEADER, with the 8430 * fields enclosed by brackets "[]" replaced with your own identifying 8431 * information: Portions Copyright [yyyy] [name of copyright owner] 8432 * 8433 * CDDL HEADER END 8434 */ 8435 /* Copyright (c) 1988 AT&T */ 8436 /* All Rights Reserved */ 8437 8438 /* 8439 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8440 * Copyright 2016 Joyent, Inc. 8441 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 8442 * 8443 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 8444 * Use is subject to license terms. 8445 */ 8446 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 8447 extern void __assert(const char *, const char *, int); 8448 8449 8450 /* 8451 * In C11 the static_assert macro is always defined, unlike the assert macro. 8452 */ 8453 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/assert.h" 8454 /* 8455 * Note that the ANSI C Standard requires all headers to be idempotent except 8456 * <assert.h> which is explicitly required not to be idempotent (section 4.1.2). 8457 * Therefore, it is by intent that the header guards (#ifndef _ASSERT_H) do 8458 * not span this entire file. 8459 */ 8460 # 64 "../common/zones_str.c" 2 8461 8462 /* 8463 * local includes 8464 */ 8465 8466 # 1 "../common/instzones_lib.h" 1 8467 /* 8468 * CDDL HEADER START 8469 * 8470 * The contents of this file are subject to the terms of the 8471 * Common Development and Distribution License (the "License"). 8472 * You may not use this file except in compliance with the License. 8473 * 8474 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8475 * or http://www.opensolaris.org/os/licensing. 8476 * See the License for the specific language governing permissions 8477 * and limitations under the License. 8478 * 8479 * When distributing Covered Code, include this CDDL HEADER in each 8480 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8481 * If applicable, add the following below this CDDL HEADER, with the 8482 * fields enclosed by brackets "[]" replaced with your own identifying 8483 * information: Portions Copyright [yyyy] [name of copyright owner] 8484 * 8485 * CDDL HEADER END 8486 */ 8487 /* 8488 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 8489 */ 8490 8491 8492 8493 8494 8495 8496 8497 /* 8498 * Module: instzones_lib.h 8499 * Group: libinstzones 8500 * Description: This module contains the libinstzones internal data structures, 8501 * constants, and function prototypes. This include should not be 8502 * needed by any external code (consumers of this library). 8503 */ 8504 8505 /* 8506 * required includes 8507 */ 8508 8509 /* System includes */ 8510 8511 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 8512 /* 8513 * CDDL HEADER START 8514 * 8515 * The contents of this file are subject to the terms of the 8516 * Common Development and Distribution License (the "License"). 8517 * You may not use this file except in compliance with the License. 8518 * 8519 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8520 * or http://www.opensolaris.org/os/licensing. 8521 * See the License for the specific language governing permissions 8522 * and limitations under the License. 8523 * 8524 * When distributing Covered Code, include this CDDL HEADER in each 8525 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8526 * If applicable, add the following below this CDDL HEADER, with the 8527 * fields enclosed by brackets "[]" replaced with your own identifying 8528 * information: Portions Copyright [yyyy] [name of copyright owner] 8529 * 8530 * CDDL HEADER END 8531 */ 8532 /* 8533 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8534 * Use is subject to license terms. 8535 */ 8536 8537 8538 8539 8540 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8541 /* 8542 * CDDL HEADER START 8543 * 8544 * The contents of this file are subject to the terms of the 8545 * Common Development and Distribution License (the "License"). 8546 * You may not use this file except in compliance with the License. 8547 * 8548 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8549 * or http://www.opensolaris.org/os/licensing. 8550 * See the License for the specific language governing permissions 8551 * and limitations under the License. 8552 * 8553 * When distributing Covered Code, include this CDDL HEADER in each 8554 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8555 * If applicable, add the following below this CDDL HEADER, with the 8556 * fields enclosed by brackets "[]" replaced with your own identifying 8557 * information: Portions Copyright [yyyy] [name of copyright owner] 8558 * 8559 * CDDL HEADER END 8560 */ 8561 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8562 /* All Rights Reserved */ 8563 8564 8565 /* 8566 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8567 * Use is subject to license terms. 8568 * 8569 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8570 * Copyright 2016 Joyent, Inc. 8571 */ 8572 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 8573 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 8574 /* 8575 * CDDL HEADER START 8576 * 8577 * The contents of this file are subject to the terms of the 8578 * Common Development and Distribution License (the "License"). 8579 * You may not use this file except in compliance with the License. 8580 * 8581 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8582 * or http://www.opensolaris.org/os/licensing. 8583 * See the License for the specific language governing permissions 8584 * and limitations under the License. 8585 * 8586 * When distributing Covered Code, include this CDDL HEADER in each 8587 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8588 * If applicable, add the following below this CDDL HEADER, with the 8589 * fields enclosed by brackets "[]" replaced with your own identifying 8590 * information: Portions Copyright [yyyy] [name of copyright owner] 8591 * 8592 * CDDL HEADER END 8593 */ 8594 /* 8595 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 8596 * Copyright 2013, Joyent, Inc. All rights reserved. 8597 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 8598 * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>. 8599 */ 8600 8601 8602 8603 8604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8605 /* 8606 * CDDL HEADER START 8607 * 8608 * The contents of this file are subject to the terms of the 8609 * Common Development and Distribution License (the "License"). 8610 * You may not use this file except in compliance with the License. 8611 * 8612 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8613 * or http://www.opensolaris.org/os/licensing. 8614 * See the License for the specific language governing permissions 8615 * and limitations under the License. 8616 * 8617 * When distributing Covered Code, include this CDDL HEADER in each 8618 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8619 * If applicable, add the following below this CDDL HEADER, with the 8620 * fields enclosed by brackets "[]" replaced with your own identifying 8621 * information: Portions Copyright [yyyy] [name of copyright owner] 8622 * 8623 * CDDL HEADER END 8624 */ 8625 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8626 /* All Rights Reserved */ 8627 8628 8629 /* 8630 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8631 * Use is subject to license terms. 8632 * 8633 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8634 * Copyright 2016 Joyent, Inc. 8635 */ 8636 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 8637 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 8638 /* 8639 * CDDL HEADER START 8640 * 8641 * The contents of this file are subject to the terms of the 8642 * Common Development and Distribution License (the "License"). 8643 * You may not use this file except in compliance with the License. 8644 * 8645 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8646 * or http://www.opensolaris.org/os/licensing. 8647 * See the License for the specific language governing permissions 8648 * and limitations under the License. 8649 * 8650 * When distributing Covered Code, include this CDDL HEADER in each 8651 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8652 * If applicable, add the following below this CDDL HEADER, with the 8653 * fields enclosed by brackets "[]" replaced with your own identifying 8654 * information: Portions Copyright [yyyy] [name of copyright owner] 8655 * 8656 * CDDL HEADER END 8657 */ 8658 /* 8659 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 8660 */ 8661 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 8662 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 8663 /* 8664 * CDDL HEADER START 8665 * 8666 * The contents of this file are subject to the terms of the 8667 * Common Development and Distribution License (the "License"). 8668 * You may not use this file except in compliance with the License. 8669 * 8670 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8671 * or http://www.opensolaris.org/os/licensing. 8672 * See the License for the specific language governing permissions 8673 * and limitations under the License. 8674 * 8675 * When distributing Covered Code, include this CDDL HEADER in each 8676 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8677 * If applicable, add the following below this CDDL HEADER, with the 8678 * fields enclosed by brackets "[]" replaced with your own identifying 8679 * information: Portions Copyright [yyyy] [name of copyright owner] 8680 * 8681 * CDDL HEADER END 8682 */ 8683 8684 /* 8685 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 8686 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 8687 */ 8688 8689 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 8690 /* All Rights Reserved */ 8691 8692 /* 8693 * University Copyright- Copyright (c) 1982, 1986, 1988 8694 * The Regents of the University of California 8695 * All Rights Reserved 8696 * 8697 * University Acknowledgment- Portions of this document are derived from 8698 * software developed by the University of California, Berkeley, and its 8699 * contributors. 8700 */ 8701 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 8702 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 8703 /* 8704 * CDDL HEADER START 8705 * 8706 * The contents of this file are subject to the terms of the 8707 * Common Development and Distribution License (the "License"). 8708 * You may not use this file except in compliance with the License. 8709 * 8710 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8711 * or http://www.opensolaris.org/os/licensing. 8712 * See the License for the specific language governing permissions 8713 * and limitations under the License. 8714 * 8715 * When distributing Covered Code, include this CDDL HEADER in each 8716 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8717 * If applicable, add the following below this CDDL HEADER, with the 8718 * fields enclosed by brackets "[]" replaced with your own identifying 8719 * information: Portions Copyright [yyyy] [name of copyright owner] 8720 * 8721 * CDDL HEADER END 8722 */ 8723 /* 8724 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 8725 */ 8726 8727 8728 8729 8730 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 8731 /* 8732 * CDDL HEADER START 8733 * 8734 * The contents of this file are subject to the terms of the 8735 * Common Development and Distribution License (the "License"). 8736 * You may not use this file except in compliance with the License. 8737 * 8738 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8739 * or http://www.opensolaris.org/os/licensing. 8740 * See the License for the specific language governing permissions 8741 * and limitations under the License. 8742 * 8743 * When distributing Covered Code, include this CDDL HEADER in each 8744 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8745 * If applicable, add the following below this CDDL HEADER, with the 8746 * fields enclosed by brackets "[]" replaced with your own identifying 8747 * information: Portions Copyright [yyyy] [name of copyright owner] 8748 * 8749 * CDDL HEADER END 8750 */ 8751 8752 /* 8753 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 8754 * Copyright (c) 2012 by Delphix. All rights reserved. 8755 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8756 */ 8757 8758 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8759 /* All Rights Reserved */ 8760 8761 8762 8763 8764 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8765 /* 8766 * CDDL HEADER START 8767 * 8768 * The contents of this file are subject to the terms of the 8769 * Common Development and Distribution License (the "License"). 8770 * You may not use this file except in compliance with the License. 8771 * 8772 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8773 * or http://www.opensolaris.org/os/licensing. 8774 * See the License for the specific language governing permissions 8775 * and limitations under the License. 8776 * 8777 * When distributing Covered Code, include this CDDL HEADER in each 8778 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8779 * If applicable, add the following below this CDDL HEADER, with the 8780 * fields enclosed by brackets "[]" replaced with your own identifying 8781 * information: Portions Copyright [yyyy] [name of copyright owner] 8782 * 8783 * CDDL HEADER END 8784 */ 8785 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8786 /* All Rights Reserved */ 8787 8788 8789 /* 8790 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8791 * Use is subject to license terms. 8792 * 8793 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8794 * Copyright 2016 Joyent, Inc. 8795 */ 8796 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 8797 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.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 (the "License"). 8803 * You may not use this file except in compliance with the License. 8804 * 8805 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8806 * or http://www.opensolaris.org/os/licensing. 8807 * See the License for the specific language governing permissions 8808 * and limitations under the License. 8809 * 8810 * When distributing Covered Code, include this CDDL HEADER in each 8811 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8812 * If applicable, add the following below this CDDL HEADER, with the 8813 * fields enclosed by brackets "[]" replaced with your own identifying 8814 * information: Portions Copyright [yyyy] [name of copyright owner] 8815 * 8816 * CDDL HEADER END 8817 */ 8818 /* 8819 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 8820 * Copyright (c) 2012 by Delphix. All rights reserved. 8821 */ 8822 8823 8824 8825 8826 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8827 /* 8828 * CDDL HEADER START 8829 * 8830 * The contents of this file are subject to the terms of the 8831 * Common Development and Distribution License (the "License"). 8832 * You may not use this file except in compliance with the License. 8833 * 8834 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8835 * or http://www.opensolaris.org/os/licensing. 8836 * See the License for the specific language governing permissions 8837 * and limitations under the License. 8838 * 8839 * When distributing Covered Code, include this CDDL HEADER in each 8840 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8841 * If applicable, add the following below this CDDL HEADER, with the 8842 * fields enclosed by brackets "[]" replaced with your own identifying 8843 * information: Portions Copyright [yyyy] [name of copyright owner] 8844 * 8845 * CDDL HEADER END 8846 */ 8847 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8848 /* All Rights Reserved */ 8849 8850 8851 /* 8852 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8853 * Use is subject to license terms. 8854 * 8855 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8856 * Copyright 2016 Joyent, Inc. 8857 */ 8858 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 8859 8860 8861 8862 8863 8864 8865 /* 8866 * Per-allocation flags 8867 */ 8868 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 8869 /* 8870 * The following flags are restricted for use only within the kernel. 8871 * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. 8872 * VM_NORELOC is used by the kernel when static VA->PA mappings are required. 8873 */ 8874 8875 8876 /* 8877 * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags 8878 * and forgo reaping if the allocation or attempted import, fails. This 8879 * flag is a segkmem-specific flag, and should not be used by anyone else. 8880 */ 8881 8882 8883 /* 8884 * VM_ENDALLOC requests that large addresses be preferred in allocations. 8885 * Has no effect if VM_NEXTFIT is active. 8886 */ 8887 8888 8889 8890 8891 /* 8892 * Arena creation flags 8893 */ 8894 8895 8896 8897 8898 /* 8899 * internal use only; the import function uses the vmem_ximport_t interface 8900 * and may increase the request size if it so desires. 8901 * VMC_XALIGN, for use with vmem_xcreate, specifies that 8902 * the address returned by the import function will be 8903 * aligned according to the alignment argument. 8904 */ 8905 8906 8907 8908 8909 /* 8910 * Public segment types 8911 */ 8912 8913 8914 8915 /* 8916 * Implementation-private segment types 8917 */ 8918 8919 8920 8921 8922 /* 8923 * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may 8924 * call back into the arena being walked, so vmem_walk() must drop the 8925 * arena lock before each callback. The caveat is that since the arena 8926 * isn't locked, its state can change. Therefore it is up to the callback 8927 * routine to handle cases where the segment isn't of the expected type. 8928 * For example, we use this to walk heap_arena when generating a crash dump; 8929 * see segkmem_dump() for sample usage. 8930 */ 8931 8932 8933 typedef struct vmem vmem_t; 8934 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); 8935 typedef void (vmem_free_t)(vmem_t *, void *, size_t); 8936 8937 /* 8938 * Alternate import style; the requested size is passed in a pointer, 8939 * which can be increased by the import function if desired. 8940 */ 8941 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); 8942 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 8943 extern vmem_t *vmem_create(const char *, void *, size_t, size_t, 8944 vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); 8945 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, 8946 vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); 8947 extern void vmem_destroy(vmem_t *); 8948 extern void *vmem_alloc(vmem_t *, size_t, int); 8949 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, 8950 void *, void *, int); 8951 extern void vmem_free(vmem_t *, void *, size_t); 8952 extern void vmem_xfree(vmem_t *, void *, size_t); 8953 extern void *vmem_add(vmem_t *, void *, size_t, int); 8954 extern int vmem_contains(vmem_t *, void *, size_t); 8955 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); 8956 extern size_t vmem_size(vmem_t *, int); 8957 extern void vmem_qcache_reap(vmem_t *vmp); 8958 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 8959 8960 8961 8962 8963 8964 /* 8965 * Kernel memory allocator: DDI interfaces. 8966 * See kmem_alloc(9F) for details. 8967 */ 8968 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 8969 /* 8970 * Kernel memory allocator: private interfaces. 8971 * These interfaces are still evolving. 8972 * Do not use them in unbundled drivers. 8973 */ 8974 8975 /* 8976 * Flags for kmem_cache_create() 8977 */ 8978 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 8979 struct kmem_cache; /* cache structure is opaque to kmem clients */ 8980 8981 typedef struct kmem_cache kmem_cache_t; 8982 8983 /* Client response to kmem move callback */ 8984 typedef enum kmem_cbrc { 8985 KMEM_CBRC_YES, 8986 KMEM_CBRC_NO, 8987 KMEM_CBRC_LATER, 8988 KMEM_CBRC_DONT_NEED, 8989 KMEM_CBRC_DONT_KNOW 8990 } kmem_cbrc_t; 8991 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 8992 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 8993 /* 8994 * CDDL HEADER START 8995 * 8996 * The contents of this file are subject to the terms of the 8997 * Common Development and Distribution License (the "License"). 8998 * You may not use this file except in compliance with the License. 8999 * 9000 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9001 * or http://www.opensolaris.org/os/licensing. 9002 * See the License for the specific language governing permissions 9003 * and limitations under the License. 9004 * 9005 * When distributing Covered Code, include this CDDL HEADER in each 9006 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9007 * If applicable, add the following below this CDDL HEADER, with the 9008 * fields enclosed by brackets "[]" replaced with your own identifying 9009 * information: Portions Copyright [yyyy] [name of copyright owner] 9010 * 9011 * CDDL HEADER END 9012 */ 9013 /* 9014 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 9015 * 9016 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9017 * Use is subject to license terms. 9018 */ 9019 9020 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9021 /* All Rights Reserved */ 9022 9023 /* 9024 * University Copyright- Copyright (c) 1982, 1986, 1988 9025 * The Regents of the University of California 9026 * All Rights Reserved 9027 * 9028 * University Acknowledgment- Portions of this document are derived from 9029 * software developed by the University of California, Berkeley, and its 9030 * contributors. 9031 */ 9032 9033 9034 9035 9036 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9037 /* 9038 * CDDL HEADER START 9039 * 9040 * The contents of this file are subject to the terms of the 9041 * Common Development and Distribution License (the "License"). 9042 * You may not use this file except in compliance with the License. 9043 * 9044 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9045 * or http://www.opensolaris.org/os/licensing. 9046 * See the License for the specific language governing permissions 9047 * and limitations under the License. 9048 * 9049 * When distributing Covered Code, include this CDDL HEADER in each 9050 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9051 * If applicable, add the following below this CDDL HEADER, with the 9052 * fields enclosed by brackets "[]" replaced with your own identifying 9053 * information: Portions Copyright [yyyy] [name of copyright owner] 9054 * 9055 * CDDL HEADER END 9056 */ 9057 9058 /* 9059 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9060 * Copyright 2016 Joyent, Inc. 9061 * 9062 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9063 * Use is subject to license terms. 9064 */ 9065 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9066 9067 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9068 /* 9069 * CDDL HEADER START 9070 * 9071 * The contents of this file are subject to the terms of the 9072 * Common Development and Distribution License (the "License"). 9073 * You may not use this file except in compliance with the License. 9074 * 9075 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9076 * or http://www.opensolaris.org/os/licensing. 9077 * See the License for the specific language governing permissions 9078 * and limitations under the License. 9079 * 9080 * When distributing Covered Code, include this CDDL HEADER in each 9081 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9082 * If applicable, add the following below this CDDL HEADER, with the 9083 * fields enclosed by brackets "[]" replaced with your own identifying 9084 * information: Portions Copyright [yyyy] [name of copyright owner] 9085 * 9086 * CDDL HEADER END 9087 */ 9088 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9089 /* All Rights Reserved */ 9090 9091 9092 /* 9093 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9094 * Use is subject to license terms. 9095 * 9096 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9097 * Copyright 2016 Joyent, Inc. 9098 */ 9099 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9100 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 9101 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9102 /* All Rights Reserved */ 9103 9104 9105 /* 9106 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 9107 * All rights reserved. The Berkeley software License Agreement 9108 * specifies the terms and conditions for redistribution. 9109 */ 9110 9111 /* 9112 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9113 * 9114 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9115 * Use is subject to license terms. 9116 * 9117 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9118 */ 9119 9120 /* 9121 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 9122 */ 9123 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 9124 9125 9126 9127 9128 9129 /* 9130 * Process priority specifications 9131 */ 9132 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9133 /* 9134 * Resource limits 9135 */ 9136 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9137 typedef unsigned long rlim_t; 9138 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9139 struct rlimit { 9140 rlim_t rlim_cur; /* current limit */ 9141 rlim_t rlim_max; /* maximum value for rlim_cur */ 9142 }; 9143 9144 /* transitional large file interface versions */ 9145 9146 9147 typedef u_longlong_t rlim64_t; 9148 9149 9150 9151 9152 9153 struct rlimit64 { 9154 rlim64_t rlim_cur; /* current limit */ 9155 rlim64_t rlim_max; /* maximum value for rlim_cur */ 9156 }; 9157 9158 9159 9160 /* 9161 * Although the saved rlimits were initially introduced by the large file API, 9162 * they are now available for all resource limits on the 64-bit kernel and for 9163 * cpu time and file size limits on the 32-bit kernel. 9164 */ 9165 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9166 struct rusage { 9167 struct timeval ru_utime; /* user time used */ 9168 struct timeval ru_stime; /* system time used */ 9169 long ru_maxrss; /* <unimp> */ 9170 long ru_ixrss; /* <unimp> */ 9171 long ru_idrss; /* <unimp> */ 9172 long ru_isrss; /* <unimp> */ 9173 long ru_minflt; /* any page faults not requiring I/O */ 9174 long ru_majflt; /* any page faults requiring I/O */ 9175 long ru_nswap; /* swaps */ 9176 long ru_inblock; /* block input operations */ 9177 long ru_oublock; /* block output operations */ 9178 long ru_msgsnd; /* streams messsages sent */ 9179 long ru_msgrcv; /* streams messages received */ 9180 long ru_nsignals; /* signals received */ 9181 long ru_nvcsw; /* voluntary context switches */ 9182 long ru_nivcsw; /* involuntary " */ 9183 }; 9184 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9185 /* 9186 * In the LP64 compilation environment, map large file interfaces 9187 * back to native versions where possible. 9188 */ 9189 9190 9191 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9192 #pragma redefine_extname setrlimit64 setrlimit 9193 # 252 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9194 9195 9196 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9197 #pragma redefine_extname getrlimit64 getrlimit 9198 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9199 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 9200 extern int setrlimit(int, const struct rlimit *); 9201 extern int getrlimit(int, struct rlimit *); 9202 9203 /* transitional large file interfaces */ 9204 9205 9206 extern int setrlimit64(int, const struct rlimit64 *); 9207 extern int getrlimit64(int, struct rlimit64 *); 9208 9209 9210 extern int getpriority(int, id_t); 9211 extern int setpriority(int, id_t, int); 9212 extern int getrusage(int, struct rusage *); 9213 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 9214 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9215 /* 9216 * CDDL HEADER START 9217 * 9218 * The contents of this file are subject to the terms of the 9219 * Common Development and Distribution License (the "License"). 9220 * You may not use this file except in compliance with the License. 9221 * 9222 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9223 * or http://www.opensolaris.org/os/licensing. 9224 * See the License for the specific language governing permissions 9225 * and limitations under the License. 9226 * 9227 * When distributing Covered Code, include this CDDL HEADER in each 9228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9229 * If applicable, add the following below this CDDL HEADER, with the 9230 * fields enclosed by brackets "[]" replaced with your own identifying 9231 * information: Portions Copyright [yyyy] [name of copyright owner] 9232 * 9233 * CDDL HEADER END 9234 */ 9235 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9236 /* All Rights Reserved */ 9237 9238 9239 /* 9240 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9241 * Use is subject to license terms. 9242 * 9243 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9244 * Copyright 2016 Joyent, Inc. 9245 */ 9246 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 9247 9248 9249 9250 9251 9252 /* 9253 * Available local actions and flags. 9254 */ 9255 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9256 /* 9257 * Available global actions and flags. 9258 */ 9259 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9260 /* 9261 * getrctl(2) flag values 9262 */ 9263 9264 9265 9266 9267 /* 9268 * setrctl(2) flag values 9269 */ 9270 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 9271 /* 9272 * rctl_priv_t: rctl privilege defined values 9273 * A large amount of space has been deliberately left between these privileges 9274 * to permit future enrichment of the control privilege value. 9275 */ 9276 9277 9278 9279 9280 typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ 9281 typedef int rctl_priv_t; 9282 9283 typedef struct rctlblk rctlblk_t; 9284 9285 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); 9286 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); 9287 9288 typedef enum { 9289 RCENTITY_PROCESS, 9290 RCENTITY_TASK, 9291 RCENTITY_PROJECT, 9292 RCENTITY_ZONE 9293 } rctl_entity_t; 9294 9295 9296 9297 9298 typedef struct rctl_set rctl_set_t; 9299 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9300 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 9301 /* 9302 * CDDL HEADER START 9303 * 9304 * The contents of this file are subject to the terms of the 9305 * Common Development and Distribution License (the "License"). 9306 * You may not use this file except in compliance with the License. 9307 * 9308 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9309 * or http://www.opensolaris.org/os/licensing. 9310 * See the License for the specific language governing permissions 9311 * and limitations under the License. 9312 * 9313 * When distributing Covered Code, include this CDDL HEADER in each 9314 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9315 * If applicable, add the following below this CDDL HEADER, with the 9316 * fields enclosed by brackets "[]" replaced with your own identifying 9317 * information: Portions Copyright [yyyy] [name of copyright owner] 9318 * 9319 * CDDL HEADER END 9320 */ 9321 /* 9322 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9323 * Use is subject to license terms. 9324 */ 9325 9326 9327 9328 9329 #pragma ident "%Z%%M% %I% %E% SMI" 9330 9331 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 9332 /* 9333 * CDDL HEADER START 9334 * 9335 * The contents of this file are subject to the terms of the 9336 * Common Development and Distribution License (the "License"). 9337 * You may not use this file except in compliance with the License. 9338 * 9339 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9340 * or http://www.opensolaris.org/os/licensing. 9341 * See the License for the specific language governing permissions 9342 * and limitations under the License. 9343 * 9344 * When distributing Covered Code, include this CDDL HEADER in each 9345 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9346 * If applicable, add the following below this CDDL HEADER, with the 9347 * fields enclosed by brackets "[]" replaced with your own identifying 9348 * information: Portions Copyright [yyyy] [name of copyright owner] 9349 * 9350 * CDDL HEADER END 9351 */ 9352 /* 9353 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 9354 */ 9355 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 9356 9357 9358 9359 9360 9361 typedef struct ipc_rqty { /* datum protected by: */ 9362 rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ 9363 rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ 9364 rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ 9365 } ipc_rqty_t; 9366 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 9367 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 9368 /* 9369 * CDDL HEADER START 9370 * 9371 * The contents of this file are subject to the terms of the 9372 * Common Development and Distribution License (the "License"). 9373 * You may not use this file except in compliance with the License. 9374 * 9375 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9376 * or http://www.opensolaris.org/os/licensing. 9377 * See the License for the specific language governing permissions 9378 * and limitations under the License. 9379 * 9380 * When distributing Covered Code, include this CDDL HEADER in each 9381 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9382 * If applicable, add the following below this CDDL HEADER, with the 9383 * fields enclosed by brackets "[]" replaced with your own identifying 9384 * information: Portions Copyright [yyyy] [name of copyright owner] 9385 * 9386 * CDDL HEADER END 9387 */ 9388 /* 9389 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9390 * 9391 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9392 * Use is subject to license terms. 9393 */ 9394 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 9395 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9396 /* 9397 * CDDL HEADER START 9398 * 9399 * The contents of this file are subject to the terms of the 9400 * Common Development and Distribution License (the "License"). 9401 * You may not use this file except in compliance with the License. 9402 * 9403 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9404 * or http://www.opensolaris.org/os/licensing. 9405 * See the License for the specific language governing permissions 9406 * and limitations under the License. 9407 * 9408 * When distributing Covered Code, include this CDDL HEADER in each 9409 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9410 * If applicable, add the following below this CDDL HEADER, with the 9411 * fields enclosed by brackets "[]" replaced with your own identifying 9412 * information: Portions Copyright [yyyy] [name of copyright owner] 9413 * 9414 * CDDL HEADER END 9415 */ 9416 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9417 /* All Rights Reserved */ 9418 9419 9420 /* 9421 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9422 * Use is subject to license terms. 9423 * 9424 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9425 * Copyright 2016 Joyent, Inc. 9426 */ 9427 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 9428 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 9429 /* 9430 * CDDL HEADER START 9431 * 9432 * The contents of this file are subject to the terms of the 9433 * Common Development and Distribution License (the "License"). 9434 * You may not use this file except in compliance with the License. 9435 * 9436 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9437 * or http://www.opensolaris.org/os/licensing. 9438 * See the License for the specific language governing permissions 9439 * and limitations under the License. 9440 * 9441 * When distributing Covered Code, include this CDDL HEADER in each 9442 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9443 * If applicable, add the following below this CDDL HEADER, with the 9444 * fields enclosed by brackets "[]" replaced with your own identifying 9445 * information: Portions Copyright [yyyy] [name of copyright owner] 9446 * 9447 * CDDL HEADER END 9448 */ 9449 /* 9450 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 9451 * All Rights Reserved 9452 * 9453 */ 9454 9455 /* 9456 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9457 * 9458 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 9459 * Use is subject to license terms. 9460 */ 9461 9462 9463 9464 9465 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9466 /* 9467 * CDDL HEADER START 9468 * 9469 * The contents of this file are subject to the terms of the 9470 * Common Development and Distribution License (the "License"). 9471 * You may not use this file except in compliance with the License. 9472 * 9473 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9474 * or http://www.opensolaris.org/os/licensing. 9475 * See the License for the specific language governing permissions 9476 * and limitations under the License. 9477 * 9478 * When distributing Covered Code, include this CDDL HEADER in each 9479 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9480 * If applicable, add the following below this CDDL HEADER, with the 9481 * fields enclosed by brackets "[]" replaced with your own identifying 9482 * information: Portions Copyright [yyyy] [name of copyright owner] 9483 * 9484 * CDDL HEADER END 9485 */ 9486 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9487 /* All Rights Reserved */ 9488 9489 9490 /* 9491 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9492 * Use is subject to license terms. 9493 * 9494 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9495 * Copyright 2016 Joyent, Inc. 9496 */ 9497 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 9498 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 9499 /* 9500 * CDDL HEADER START 9501 * 9502 * The contents of this file are subject to the terms of the 9503 * Common Development and Distribution License, Version 1.0 only 9504 * (the "License"). You may not use this file except in compliance 9505 * with the License. 9506 * 9507 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9508 * or http://www.opensolaris.org/os/licensing. 9509 * See the License for the specific language governing permissions 9510 * and limitations under the License. 9511 * 9512 * When distributing Covered Code, include this CDDL HEADER in each 9513 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9514 * If applicable, add the following below this CDDL HEADER, with the 9515 * fields enclosed by brackets "[]" replaced with your own identifying 9516 * information: Portions Copyright [yyyy] [name of copyright owner] 9517 * 9518 * CDDL HEADER END 9519 */ 9520 /* 9521 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9522 * Use is subject to license terms. 9523 */ 9524 9525 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9526 /* All Rights Reserved */ 9527 9528 9529 9530 9531 9532 #pragma ident "%Z%%M% %I% %E% SMI" 9533 9534 9535 9536 9537 9538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9539 /* 9540 * CDDL HEADER START 9541 * 9542 * The contents of this file are subject to the terms of the 9543 * Common Development and Distribution License (the "License"). 9544 * You may not use this file except in compliance with the License. 9545 * 9546 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9547 * or http://www.opensolaris.org/os/licensing. 9548 * See the License for the specific language governing permissions 9549 * and limitations under the License. 9550 * 9551 * When distributing Covered Code, include this CDDL HEADER in each 9552 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9553 * If applicable, add the following below this CDDL HEADER, with the 9554 * fields enclosed by brackets "[]" replaced with your own identifying 9555 * information: Portions Copyright [yyyy] [name of copyright owner] 9556 * 9557 * CDDL HEADER END 9558 */ 9559 9560 /* 9561 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9562 * Copyright 2016 Joyent, Inc. 9563 * 9564 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9565 * Use is subject to license terms. 9566 */ 9567 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 9568 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9569 /* 9570 * CDDL HEADER START 9571 * 9572 * The contents of this file are subject to the terms of the 9573 * Common Development and Distribution License (the "License"). 9574 * You may not use this file except in compliance with the License. 9575 * 9576 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9577 * or http://www.opensolaris.org/os/licensing. 9578 * See the License for the specific language governing permissions 9579 * and limitations under the License. 9580 * 9581 * When distributing Covered Code, include this CDDL HEADER in each 9582 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9583 * If applicable, add the following below this CDDL HEADER, with the 9584 * fields enclosed by brackets "[]" replaced with your own identifying 9585 * information: Portions Copyright [yyyy] [name of copyright owner] 9586 * 9587 * CDDL HEADER END 9588 */ 9589 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9590 /* All Rights Reserved */ 9591 9592 9593 /* 9594 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9595 * Use is subject to license terms. 9596 * 9597 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9598 * Copyright 2016 Joyent, Inc. 9599 */ 9600 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 9601 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 9602 /* 9603 * CDDL HEADER START 9604 * 9605 * The contents of this file are subject to the terms of the 9606 * Common Development and Distribution License (the "License"). 9607 * You may not use this file except in compliance with the License. 9608 * 9609 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9610 * or http://www.opensolaris.org/os/licensing. 9611 * See the License for the specific language governing permissions 9612 * and limitations under the License. 9613 * 9614 * When distributing Covered Code, include this CDDL HEADER in each 9615 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9616 * If applicable, add the following below this CDDL HEADER, with the 9617 * fields enclosed by brackets "[]" replaced with your own identifying 9618 * information: Portions Copyright [yyyy] [name of copyright owner] 9619 * 9620 * CDDL HEADER END 9621 */ 9622 9623 /* 9624 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9625 * Use is subject to license terms. 9626 */ 9627 9628 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9629 /* All Rights Reserved */ 9630 9631 /* 9632 * University Copyright- Copyright (c) 1982, 1986, 1988 9633 * The Regents of the University of California 9634 * All Rights Reserved 9635 * 9636 * University Acknowledgment- Portions of this document are derived from 9637 * software developed by the University of California, Berkeley, and its 9638 * contributors. 9639 */ 9640 9641 9642 9643 9644 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9645 /* 9646 * CDDL HEADER START 9647 * 9648 * The contents of this file are subject to the terms of the 9649 * Common Development and Distribution License (the "License"). 9650 * You may not use this file except in compliance with the License. 9651 * 9652 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9653 * or http://www.opensolaris.org/os/licensing. 9654 * See the License for the specific language governing permissions 9655 * and limitations under the License. 9656 * 9657 * When distributing Covered Code, include this CDDL HEADER in each 9658 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9659 * If applicable, add the following below this CDDL HEADER, with the 9660 * fields enclosed by brackets "[]" replaced with your own identifying 9661 * information: Portions Copyright [yyyy] [name of copyright owner] 9662 * 9663 * CDDL HEADER END 9664 */ 9665 9666 /* 9667 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9668 * Copyright 2016 Joyent, Inc. 9669 * 9670 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9671 * Use is subject to license terms. 9672 */ 9673 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 9674 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 9675 /* 9676 * CDDL HEADER START 9677 * 9678 * The contents of this file are subject to the terms of the 9679 * Common Development and Distribution License (the "License"). 9680 * You may not use this file except in compliance with the License. 9681 * 9682 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9683 * or http://www.opensolaris.org/os/licensing. 9684 * See the License for the specific language governing permissions 9685 * and limitations under the License. 9686 * 9687 * When distributing Covered Code, include this CDDL HEADER in each 9688 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9689 * If applicable, add the following below this CDDL HEADER, with the 9690 * fields enclosed by brackets "[]" replaced with your own identifying 9691 * information: Portions Copyright [yyyy] [name of copyright owner] 9692 * 9693 * CDDL HEADER END 9694 */ 9695 9696 /* 9697 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9698 * Use is subject to license terms. 9699 */ 9700 9701 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9702 /* All Rights Reserved */ 9703 9704 /* 9705 * An application should not include this header directly. Instead it 9706 * should be included only through the inclusion of other Sun headers. 9707 * 9708 * The contents of this header is limited to identifiers specified in the 9709 * C Standard. Any new identifiers specified in future amendments to the 9710 * C Standard must be placed in this header. If these new identifiers 9711 * are required to also be in the C++ Standard "std" namespace, then for 9712 * anything other than macro definitions, corresponding "using" directives 9713 * must also be added to <sys/signal.h.h>. 9714 */ 9715 9716 9717 9718 9719 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 9720 /* 9721 * CDDL HEADER START 9722 * 9723 * The contents of this file are subject to the terms of the 9724 * Common Development and Distribution License (the "License"). 9725 * You may not use this file except in compliance with the License. 9726 * 9727 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9728 * or http://www.opensolaris.org/os/licensing. 9729 * See the License for the specific language governing permissions 9730 * and limitations under the License. 9731 * 9732 * When distributing Covered Code, include this CDDL HEADER in each 9733 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9734 * If applicable, add the following below this CDDL HEADER, with the 9735 * fields enclosed by brackets "[]" replaced with your own identifying 9736 * information: Portions Copyright [yyyy] [name of copyright owner] 9737 * 9738 * CDDL HEADER END 9739 */ 9740 9741 /* 9742 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 9743 * All Rights Reserved 9744 * 9745 */ 9746 9747 /* 9748 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9749 * Use is subject to license terms. 9750 */ 9751 9752 /* 9753 * WARNING: This is an implementation-specific header, 9754 * its contents are not guaranteed. Applications 9755 * should include <unistd.h> and not this header. 9756 */ 9757 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 9758 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 9759 /* insert new signals here, and move _SIGRTM* appropriately */ 9760 9761 9762 extern long _sysconf(int); /* System Private interface to sysconf() */ 9763 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 9764 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 9765 /* 9766 * We need <sys/siginfo.h> for the declaration of siginfo_t. 9767 */ 9768 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 9769 /* 9770 * CDDL HEADER START 9771 * 9772 * The contents of this file are subject to the terms of the 9773 * Common Development and Distribution License, Version 1.0 only 9774 * (the "License"). You may not use this file except in compliance 9775 * with the License. 9776 * 9777 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9778 * or http://www.opensolaris.org/os/licensing. 9779 * See the License for the specific language governing permissions 9780 * and limitations under the License. 9781 * 9782 * When distributing Covered Code, include this CDDL HEADER in each 9783 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9784 * If applicable, add the following below this CDDL HEADER, with the 9785 * fields enclosed by brackets "[]" replaced with your own identifying 9786 * information: Portions Copyright [yyyy] [name of copyright owner] 9787 * 9788 * CDDL HEADER END 9789 */ 9790 /* 9791 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9792 * Use is subject to license terms. 9793 */ 9794 9795 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9796 /* All Rights Reserved */ 9797 9798 9799 9800 9801 #pragma ident "%Z%%M% %I% %E% SMI" 9802 9803 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9804 /* 9805 * CDDL HEADER START 9806 * 9807 * The contents of this file are subject to the terms of the 9808 * Common Development and Distribution License (the "License"). 9809 * You may not use this file except in compliance with the License. 9810 * 9811 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9812 * or http://www.opensolaris.org/os/licensing. 9813 * See the License for the specific language governing permissions 9814 * and limitations under the License. 9815 * 9816 * When distributing Covered Code, include this CDDL HEADER in each 9817 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9818 * If applicable, add the following below this CDDL HEADER, with the 9819 * fields enclosed by brackets "[]" replaced with your own identifying 9820 * information: Portions Copyright [yyyy] [name of copyright owner] 9821 * 9822 * CDDL HEADER END 9823 */ 9824 9825 /* 9826 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9827 * Copyright 2016 Joyent, Inc. 9828 * 9829 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9830 * Use is subject to license terms. 9831 */ 9832 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9833 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9834 /* 9835 * CDDL HEADER START 9836 * 9837 * The contents of this file are subject to the terms of the 9838 * Common Development and Distribution License (the "License"). 9839 * You may not use this file except in compliance with the License. 9840 * 9841 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9842 * or http://www.opensolaris.org/os/licensing. 9843 * See the License for the specific language governing permissions 9844 * and limitations under the License. 9845 * 9846 * When distributing Covered Code, include this CDDL HEADER in each 9847 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9848 * If applicable, add the following below this CDDL HEADER, with the 9849 * fields enclosed by brackets "[]" replaced with your own identifying 9850 * information: Portions Copyright [yyyy] [name of copyright owner] 9851 * 9852 * CDDL HEADER END 9853 */ 9854 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9855 /* All Rights Reserved */ 9856 9857 9858 /* 9859 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9860 * Use is subject to license terms. 9861 * 9862 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9863 * Copyright 2016 Joyent, Inc. 9864 */ 9865 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9866 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9867 /* 9868 * The union sigval is also defined in <time.h> as per X/Open and 9869 * POSIX requirements. 9870 */ 9871 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9872 /* 9873 * The sigevent structure is also defined in <time.h> as per X/Open and 9874 * POSIX requirements. 9875 */ 9876 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9877 /* values of sigev_notify */ 9878 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9879 /* 9880 * negative signal codes are reserved for future use for user generated 9881 * signals 9882 */ 9883 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9884 /* 9885 * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and 9886 * SIGBUS) from <sys/machsig.h> 9887 */ 9888 9889 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 9890 /* 9891 * CDDL HEADER START 9892 * 9893 * The contents of this file are subject to the terms of the 9894 * Common Development and Distribution License, Version 1.0 only 9895 * (the "License"). You may not use this file except in compliance 9896 * with the License. 9897 * 9898 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9899 * or http://www.opensolaris.org/os/licensing. 9900 * See the License for the specific language governing permissions 9901 * and limitations under the License. 9902 * 9903 * When distributing Covered Code, include this CDDL HEADER in each 9904 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9905 * If applicable, add the following below this CDDL HEADER, with the 9906 * fields enclosed by brackets "[]" replaced with your own identifying 9907 * information: Portions Copyright [yyyy] [name of copyright owner] 9908 * 9909 * CDDL HEADER END 9910 */ 9911 /* 9912 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 9913 * Use is subject to license terms. 9914 */ 9915 9916 /* Copyright (c) 1988 AT&T */ 9917 /* All Rights Reserved */ 9918 9919 9920 9921 9922 9923 #pragma ident "%Z%%M% %I% %E% SMI" 9924 9925 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9926 /* 9927 * CDDL HEADER START 9928 * 9929 * The contents of this file are subject to the terms of the 9930 * Common Development and Distribution License (the "License"). 9931 * You may not use this file except in compliance with the License. 9932 * 9933 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9934 * or http://www.opensolaris.org/os/licensing. 9935 * See the License for the specific language governing permissions 9936 * and limitations under the License. 9937 * 9938 * When distributing Covered Code, include this CDDL HEADER in each 9939 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9940 * If applicable, add the following below this CDDL HEADER, with the 9941 * fields enclosed by brackets "[]" replaced with your own identifying 9942 * information: Portions Copyright [yyyy] [name of copyright owner] 9943 * 9944 * CDDL HEADER END 9945 */ 9946 9947 /* 9948 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9949 * Copyright 2016 Joyent, Inc. 9950 * 9951 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9952 * Use is subject to license terms. 9953 */ 9954 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 9955 9956 9957 9958 9959 9960 /* 9961 * machsig.h is the machine dependent portion of siginfo.h (and is 9962 * included by siginfo.h). A version of machsig.h should exist for 9963 * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS 9964 * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and 9965 * SIGPOLL are architecture independent and may be found in siginfo.h. 9966 */ 9967 9968 9969 9970 9971 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 9972 /* 9973 * CDDL HEADER START 9974 * 9975 * The contents of this file are subject to the terms of the 9976 * Common Development and Distribution License (the "License"). 9977 * You may not use this file except in compliance with the License. 9978 * 9979 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9980 * or http://www.opensolaris.org/os/licensing. 9981 * See the License for the specific language governing permissions 9982 * and limitations under the License. 9983 * 9984 * When distributing Covered Code, include this CDDL HEADER in each 9985 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9986 * If applicable, add the following below this CDDL HEADER, with the 9987 * fields enclosed by brackets "[]" replaced with your own identifying 9988 * information: Portions Copyright [yyyy] [name of copyright owner] 9989 * 9990 * CDDL HEADER END 9991 */ 9992 /* 9993 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 9994 * Use is subject to license terms. 9995 */ 9996 9997 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9998 /* All Rights Reserved */ 9999 10000 /* 10001 * University Copyright- Copyright (c) 1982, 1986, 1988 10002 * The Regents of the University of California 10003 * All Rights Reserved 10004 * 10005 * University Acknowledgment- Portions of this document are derived from 10006 * software developed by the University of California, Berkeley, and its 10007 * contributors. 10008 */ 10009 10010 10011 10012 10013 #pragma ident "%Z%%M% %I% %E% SMI" 10014 10015 10016 10017 10018 10019 /* 10020 * This file describes the data type returned by vm routines 10021 * which handle faults. 10022 * 10023 * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value 10024 * returned by the underlying object mapped at the fault address. 10025 */ 10026 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 10027 typedef int faultcode_t; /* type returned by vm fault routines */ 10028 10029 extern int fc_decode(faultcode_t); 10030 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 10031 10032 10033 /* 10034 * SIGILL signal codes 10035 */ 10036 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 10037 /* 10038 * SIGEMT signal codes 10039 */ 10040 10041 10042 10043 10044 10045 10046 /* 10047 * SIGFPE signal codes 10048 */ 10049 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 10050 /* 10051 * SIGSEGV signal codes 10052 */ 10053 10054 10055 10056 10057 10058 10059 10060 /* 10061 * SIGBUS signal codes 10062 */ 10063 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10064 10065 /* 10066 * SIGTRAP signal codes 10067 */ 10068 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10069 /* 10070 * SIGCLD signal codes 10071 */ 10072 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10073 /* 10074 * SIGPOLL signal codes 10075 */ 10076 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10077 /* 10078 * SIGPROF signal codes 10079 */ 10080 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10081 /* 10082 * Inclusion of <sys/time_impl.h> is needed for the declaration of 10083 * timestruc_t. However, since inclusion of <sys/time_impl.h> results 10084 * in X/Open and POSIX namespace pollution, the definition for 10085 * timestruct_t has been duplicated in a standards namespace safe header 10086 * <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure 10087 * name, tag, and member names, as well as the type itself, all have 10088 * leading underscores to protect namespace. 10089 */ 10090 10091 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 10092 /* 10093 * CDDL HEADER START 10094 * 10095 * The contents of this file are subject to the terms of the 10096 * Common Development and Distribution License, Version 1.0 only 10097 * (the "License"). You may not use this file except in compliance 10098 * with the License. 10099 * 10100 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10101 * or http://www.opensolaris.org/os/licensing. 10102 * See the License for the specific language governing permissions 10103 * and limitations under the License. 10104 * 10105 * When distributing Covered Code, include this CDDL HEADER in each 10106 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10107 * If applicable, add the following below this CDDL HEADER, with the 10108 * fields enclosed by brackets "[]" replaced with your own identifying 10109 * information: Portions Copyright [yyyy] [name of copyright owner] 10110 * 10111 * CDDL HEADER END 10112 */ 10113 /* 10114 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 10115 * Use is subject to license terms. 10116 */ 10117 10118 /* 10119 * Implementation-private. This header should not be included 10120 * directly by an application. The application should instead 10121 * include <time.h> which includes this header conditionally 10122 * depending on which feature test macros are defined. By default, 10123 * this header is included by <time.h>. X/Open and POSIX 10124 * standards requirements result in this header being included 10125 * by <time.h> only under a restricted set of conditions. 10126 */ 10127 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10128 10129 10130 10131 10132 /* 10133 * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc. 10134 * Placement here is due to a dependency in <sys/select.h> which is included 10135 * by <sys/types.h> for the sigevent structure. Hence this inclusion must 10136 * follow that definition. 10137 */ 10138 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10139 /* 10140 * CDDL HEADER START 10141 * 10142 * The contents of this file are subject to the terms of the 10143 * Common Development and Distribution License (the "License"). 10144 * You may not use this file except in compliance with the License. 10145 * 10146 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10147 * or http://www.opensolaris.org/os/licensing. 10148 * See the License for the specific language governing permissions 10149 * and limitations under the License. 10150 * 10151 * When distributing Covered Code, include this CDDL HEADER in each 10152 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10153 * If applicable, add the following below this CDDL HEADER, with the 10154 * fields enclosed by brackets "[]" replaced with your own identifying 10155 * information: Portions Copyright [yyyy] [name of copyright owner] 10156 * 10157 * CDDL HEADER END 10158 */ 10159 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10160 /* All Rights Reserved */ 10161 10162 10163 /* 10164 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10165 * Use is subject to license terms. 10166 * 10167 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10168 * Copyright 2016 Joyent, Inc. 10169 */ 10170 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 10171 10172 10173 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ 10174 10175 10176 10177 int si_signo; /* signal from signal.h */ 10178 int si_code; /* code from above */ 10179 int si_errno; /* error from errno.h */ 10180 10181 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 10182 10183 union { 10184 10185 int __pad[((256 / sizeof (int)) - 4)]; /* for future growth */ 10186 10187 struct { /* kill(), SIGCLD, siqqueue() */ 10188 pid_t __pid; /* process ID */ 10189 union { 10190 struct { 10191 uid_t __uid; 10192 10193 10194 union sigval __value; 10195 10196 10197 10198 } __kill; 10199 struct { 10200 clock_t __utime; 10201 int __status; 10202 clock_t __stime; 10203 } __cld; 10204 } __pdata; 10205 ctid_t __ctid; /* contract ID */ 10206 zoneid_t __zoneid; /* zone ID */ 10207 } __proc; 10208 10209 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 10210 void *__addr; /* faulting address */ 10211 int __trapno; /* illegal trap number */ 10212 caddr_t __pc; /* instruction address */ 10213 } __fault; 10214 10215 struct { /* SIGPOLL, SIGXFSZ */ 10216 /* fd not currently available for SIGPOLL */ 10217 int __fd; /* file descriptor */ 10218 long __band; 10219 } __file; 10220 10221 struct { /* SIGPROF */ 10222 caddr_t __faddr; /* last fault address */ 10223 10224 timestruc_t __tstamp; /* real time stamp */ 10225 10226 10227 10228 short __syscall; /* current syscall */ 10229 char __nsysarg; /* number of arguments */ 10230 char __fault; /* last fault type */ 10231 long __sysarg[8]; /* syscall arguments */ 10232 int __mstate[10]; /* see <sys/msacct.h> */ 10233 } __prof; 10234 10235 struct { /* SI_RCTL */ 10236 int32_t __entity; /* type of entity exceeding */ 10237 } __rctl; 10238 } __data; 10239 10240 } siginfo_t; 10241 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 10242 /* 10243 * XXX -- internal version is identical to siginfo_t but without the padding. 10244 * This must be maintained in sync with it. 10245 */ 10246 10247 10248 10249 typedef struct k_siginfo { 10250 int si_signo; /* signal from signal.h */ 10251 int si_code; /* code from above */ 10252 int si_errno; /* error from errno.h */ 10253 10254 int si_pad; /* _LP64 union starts on an 8-byte boundary */ 10255 10256 union { 10257 struct { /* kill(), SIGCLD, siqqueue() */ 10258 pid_t __pid; /* process ID */ 10259 union { 10260 struct { 10261 uid_t __uid; 10262 union sigval __value; 10263 } __kill; 10264 struct { 10265 clock_t __utime; 10266 int __status; 10267 clock_t __stime; 10268 } __cld; 10269 } __pdata; 10270 ctid_t __ctid; /* contract ID */ 10271 zoneid_t __zoneid; /* zone ID */ 10272 } __proc; 10273 10274 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 10275 void *__addr; /* faulting address */ 10276 int __trapno; /* illegal trap number */ 10277 caddr_t __pc; /* instruction address */ 10278 } __fault; 10279 10280 struct { /* SIGPOLL, SIGXFSZ */ 10281 /* fd not currently available for SIGPOLL */ 10282 int __fd; /* file descriptor */ 10283 long __band; 10284 } __file; 10285 10286 struct { /* SIGPROF */ 10287 caddr_t __faddr; /* last fault address */ 10288 10289 10290 timestruc_t __tstamp; /* real time stamp */ 10291 10292 10293 10294 short __syscall; /* current syscall */ 10295 char __nsysarg; /* number of arguments */ 10296 char __fault; /* last fault type */ 10297 /* these are omitted to keep k_siginfo_t small */ 10298 /* long __sysarg[8]; */ 10299 /* int __mstate[10]; */ 10300 } __prof; 10301 10302 struct { /* SI_RCTL */ 10303 int32_t __entity; /* type of entity exceeding */ 10304 } __rctl; 10305 10306 } __data; 10307 10308 } k_siginfo_t; 10309 10310 typedef struct sigqueue { 10311 struct sigqueue *sq_next; 10312 k_siginfo_t sq_info; 10313 void (*sq_func)(struct sigqueue *); /* destructor function */ 10314 void *sq_backptr; /* pointer to the data structure */ 10315 /* associated by sq_func() */ 10316 int sq_external; /* comes from outside the contract */ 10317 } sigqueue_t; 10318 10319 /* indication whether to queue the signal or not */ 10320 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 10321 10322 10323 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */ 10324 10325 10326 10327 10328 10329 10330 10331 typedef struct { 10332 unsigned int __sigbits[3]; 10333 } k_sigset_t; 10334 10335 /* 10336 * The signal handler routine can have either one or three arguments. 10337 * Existing C code has used either form so not specifing the arguments 10338 * neatly finesses the problem. C++ doesn't accept this. To C++ 10339 * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would 10340 * specify this as "(*sa_handler)(void)"). One or the other form must be 10341 * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow 10342 * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" 10343 * can be used for the three argument form. 10344 */ 10345 10346 /* 10347 * Note: storage overlap by sa_handler and sa_sigaction 10348 */ 10349 struct sigaction { 10350 int sa_flags; 10351 union { 10352 10353 10354 10355 void (*_handler)(); 10356 10357 10358 10359 10360 void (*_sigaction)(int, siginfo_t *, void *); 10361 10362 } _funcptr; 10363 sigset_t sa_mask; 10364 10365 10366 10367 }; 10368 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10369 /* this is only valid for SIGCLD */ 10370 10371 10372 10373 10374 10375 10376 10377 /* non-conformant ANSI compilation */ 10378 10379 /* definitions for the sa_flags field */ 10380 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10381 /* this is only valid for SIGCLD */ 10382 10383 10384 10385 /* 10386 * use of these symbols by applications is injurious 10387 * to binary compatibility 10388 */ 10389 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10390 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */ 10391 10392 10393 10394 typedef struct sigaltstack { 10395 10396 10397 10398 void *ss_sp; 10399 size_t ss_size; 10400 int ss_flags; 10401 } stack_t; 10402 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10403 /* signotify id used only by libc for mq_notify()/aio_notify() */ 10404 typedef struct signotify_id { /* signotify id struct */ 10405 pid_t sn_pid; /* pid of proc to be notified */ 10406 int sn_index; /* index in preallocated pool */ 10407 int sn_pad; /* reserved */ 10408 } signotify_id_t; 10409 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10410 /* Command codes for sig_notify call */ 10411 10412 10413 10414 10415 10416 10417 10418 /* Added as per XPG4v2 */ 10419 10420 10421 10422 struct sigstack { 10423 void *ss_sp; 10424 int ss_onstack; 10425 }; 10426 10427 10428 /* 10429 * For definition of ucontext_t; must follow struct definition 10430 * for sigset_t 10431 */ 10432 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10433 10434 /* 10435 * This file defines the data needed to specify a set of 10436 * processes. These types are used by the sigsend, sigsendset, 10437 * priocntl, priocntlset, waitid, evexit, and evexitset system 10438 * calls. 10439 */ 10440 10441 10442 10443 10444 10445 /* 10446 * The following defines the values for an identifier type. It 10447 * specifies the interpretation of an id value. An idtype and 10448 * id together define a simple set of processes. 10449 */ 10450 typedef enum 10451 10452 idtype /* pollutes XPG4.2 namespace */ 10453 10454 { 10455 P_PID, /* A process identifier. */ 10456 P_PPID, /* A parent process identifier. */ 10457 P_PGID, /* A process group (job control group) */ 10458 /* identifier. */ 10459 P_SID, /* A session identifier. */ 10460 P_CID, /* A scheduling class identifier. */ 10461 P_UID, /* A user identifier. */ 10462 P_GID, /* A group identifier. */ 10463 P_ALL, /* All processes. */ 10464 P_LWPID, /* An LWP identifier. */ 10465 P_TASKID, /* A task identifier. */ 10466 P_PROJID, /* A project identifier. */ 10467 P_POOLID, /* A pool identifier. */ 10468 P_ZONEID, /* A zone identifier. */ 10469 P_CTID, /* A (process) contract identifier. */ 10470 P_CPUID, /* CPU identifier. */ 10471 P_PSETID /* Processor set identifier */ 10472 } idtype_t; 10473 10474 10475 /* 10476 * The following defines the operations which can be performed to 10477 * combine two simple sets of processes to form another set of 10478 * processes. 10479 */ 10480 10481 typedef enum idop { 10482 POP_DIFF, /* Set difference. The processes which */ 10483 /* are in the left operand set and not */ 10484 /* in the right operand set. */ 10485 POP_AND, /* Set disjunction. The processes */ 10486 /* which are in both the left and right */ 10487 /* operand sets. */ 10488 POP_OR, /* Set conjunction. The processes */ 10489 /* which are in either the left or the */ 10490 /* right operand sets (or both). */ 10491 POP_XOR /* Set exclusive or. The processes */ 10492 /* which are in either the left or */ 10493 /* right operand sets but not in both. */ 10494 } idop_t; 10495 10496 10497 /* 10498 * The following structure is used to define a set of processes. 10499 * The set is defined in terms of two simple sets of processes 10500 * and an operator which operates on these two operand sets. 10501 */ 10502 typedef struct procset { 10503 idop_t p_op; /* The operator connection the */ 10504 /* following two operands each */ 10505 /* of which is a simple set of */ 10506 /* processes. */ 10507 10508 idtype_t p_lidtype; 10509 /* The type of the left operand */ 10510 /* simple set. */ 10511 id_t p_lid; /* The id of the left operand. */ 10512 10513 idtype_t p_ridtype; 10514 /* The type of the right */ 10515 /* operand simple set. */ 10516 id_t p_rid; /* The id of the right operand. */ 10517 } procset_t; 10518 10519 /* 10520 * The following macro can be used to initialize a procset_t 10521 * structure. 10522 */ 10523 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 10524 10525 10526 10527 10528 10529 /* 10530 * Definitions for p_online, processor_info & lgrp system calls. 10531 */ 10532 10533 /* 10534 * Type for an lgrpid 10535 */ 10536 typedef uint16_t lgrpid_t; 10537 10538 /* 10539 * Type for processor name (CPU number). 10540 */ 10541 typedef int processorid_t; 10542 typedef int chipid_t; 10543 10544 /* 10545 * Flags and return values for p_online(2), and pi_state for processor_info(2). 10546 * These flags are *not* for in-kernel examination of CPU states. 10547 * See <sys/cpuvar.h> for appropriate informational functions. 10548 */ 10549 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 10550 /* 10551 * String names for processor states defined above. 10552 */ 10553 10554 10555 10556 10557 10558 10559 10560 /* 10561 * Structure filled in by processor_info(2). This structure 10562 * SHOULD NOT BE MODIFIED. Changes to the structure would 10563 * negate ABI compatibility. 10564 * 10565 * The string fields are guaranteed to contain a NULL. 10566 * 10567 * The pi_fputypes field contains a (possibly empty) comma-separated 10568 * list of floating point identifier strings. 10569 */ 10570 10571 10572 10573 typedef struct { 10574 int pi_state; /* processor state, see above */ 10575 char pi_processor_type[16]; /* ASCII CPU type */ 10576 char pi_fputypes[32]; /* ASCII FPU types */ 10577 int pi_clock; /* CPU clock freq in MHz */ 10578 } processor_info_t; 10579 10580 /* 10581 * Binding values for processor_bind(2) 10582 */ 10583 10584 10585 10586 10587 10588 10589 /* 10590 * User-level system call interface prototypes 10591 */ 10592 10593 10594 extern int p_online(processorid_t processorid, int flag); 10595 extern int processor_info(processorid_t processorid, 10596 processor_info_t *infop); 10597 extern int processor_bind(idtype_t idtype, id_t id, 10598 processorid_t processorid, processorid_t *obind); 10599 extern processorid_t getcpuid(void); 10600 extern lgrpid_t gethomelgroup(void); 10601 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 10602 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 10603 /* 10604 * CDDL HEADER START 10605 * 10606 * The contents of this file are subject to the terms of the 10607 * Common Development and Distribution License, Version 1.0 only 10608 * (the "License"). You may not use this file except in compliance 10609 * with the License. 10610 * 10611 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10612 * or http://www.opensolaris.org/os/licensing. 10613 * See the License for the specific language governing permissions 10614 * and limitations under the License. 10615 * 10616 * When distributing Covered Code, include this CDDL HEADER in each 10617 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10618 * If applicable, add the following below this CDDL HEADER, with the 10619 * fields enclosed by brackets "[]" replaced with your own identifying 10620 * information: Portions Copyright [yyyy] [name of copyright owner] 10621 * 10622 * CDDL HEADER END 10623 */ 10624 /* 10625 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10626 * Use is subject to license terms. 10627 */ 10628 10629 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10630 /* All Rights Reserved */ 10631 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 10632 10633 typedef int psetid_t; 10634 10635 /* special processor set id's */ 10636 10637 10638 10639 10640 10641 10642 10643 /* types of processor sets */ 10644 10645 10646 10647 10648 10649 extern int pset_create(psetid_t *); 10650 extern int pset_destroy(psetid_t); 10651 extern int pset_assign(psetid_t, processorid_t, psetid_t *); 10652 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); 10653 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); 10654 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); 10655 extern int pset_getloadavg(psetid_t, double [], int); 10656 extern int pset_list(psetid_t *, uint_t *); 10657 extern int pset_setattr(psetid_t, uint_t); 10658 extern int pset_getattr(psetid_t, uint_t *); 10659 10660 10661 10662 10663 10664 /* system call subcodes */ 10665 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 10666 /* attribute bits */ 10667 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 10668 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 10669 /* 10670 * CDDL HEADER START 10671 * 10672 * The contents of this file are subject to the terms of the 10673 * Common Development and Distribution License (the "License"). 10674 * You may not use this file except in compliance with the License. 10675 * 10676 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10677 * or http://www.opensolaris.org/os/licensing. 10678 * See the License for the specific language governing permissions 10679 * and limitations under the License. 10680 * 10681 * When distributing Covered Code, include this CDDL HEADER in each 10682 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10683 * If applicable, add the following below this CDDL HEADER, with the 10684 * fields enclosed by brackets "[]" replaced with your own identifying 10685 * information: Portions Copyright [yyyy] [name of copyright owner] 10686 * 10687 * CDDL HEADER END 10688 */ 10689 /* 10690 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10691 * Use is subject to license terms. 10692 */ 10693 10694 10695 10696 10697 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10698 /* 10699 * CDDL HEADER START 10700 * 10701 * The contents of this file are subject to the terms of the 10702 * Common Development and Distribution License (the "License"). 10703 * You may not use this file except in compliance with the License. 10704 * 10705 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10706 * or http://www.opensolaris.org/os/licensing. 10707 * See the License for the specific language governing permissions 10708 * and limitations under the License. 10709 * 10710 * When distributing Covered Code, include this CDDL HEADER in each 10711 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10712 * If applicable, add the following below this CDDL HEADER, with the 10713 * fields enclosed by brackets "[]" replaced with your own identifying 10714 * information: Portions Copyright [yyyy] [name of copyright owner] 10715 * 10716 * CDDL HEADER END 10717 */ 10718 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10719 /* All Rights Reserved */ 10720 10721 10722 /* 10723 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10724 * Use is subject to license terms. 10725 * 10726 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10727 * Copyright 2016 Joyent, Inc. 10728 */ 10729 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 10730 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 10731 /* 10732 * types of label comparison 10733 */ 10734 10735 10736 10737 /* Manifest human readable label names */ 10738 10739 10740 10741 /* Binary Label Structure Definitions */ 10742 10743 typedef struct _mac_label_impl m_label_t; 10744 10745 typedef m_label_t blevel_t, /* compatibility */ 10746 bslabel_t, /* Sensitivity Label */ 10747 bclear_t; /* Clearance */ 10748 10749 typedef struct _tsol_binary_level_lrange { /* Level Range */ 10750 m_label_t *lower_bound; 10751 m_label_t *upper_bound; 10752 } m_range_t; 10753 10754 typedef m_range_t blrange_t; 10755 10756 typedef struct tsol_mlp_s { 10757 uchar_t mlp_ipp; 10758 uint16_t mlp_port; 10759 uint16_t mlp_port_upper; 10760 } tsol_mlp_t; 10761 10762 /* Procedure Interface Definitions available to user and kernel */ 10763 10764 extern int bltype(const void *, uint8_t); 10765 extern int blequal(const m_label_t *, const m_label_t *); 10766 extern int bldominates(const m_label_t *, const m_label_t *); 10767 extern int blstrictdom(const m_label_t *, const m_label_t *); 10768 extern int blinrange(const m_label_t *, const m_range_t *); 10769 extern void blmaximum(m_label_t *, const m_label_t *); 10770 extern void blminimum(m_label_t *, const m_label_t *); 10771 extern void bsllow(m_label_t *); 10772 extern void bslhigh(m_label_t *); 10773 extern void bclearlow(m_label_t *); 10774 extern void bclearhigh(m_label_t *); 10775 extern void bslundef(m_label_t *); 10776 extern void bclearundef(m_label_t *); 10777 extern void setbltype(void *, uint8_t); 10778 extern boolean_t bisinvalid(const void *); 10779 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 10780 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 10781 /* 10782 * CDDL HEADER START 10783 * 10784 * The contents of this file are subject to the terms of the 10785 * Common Development and Distribution License (the "License"). 10786 * You may not use this file except in compliance with the License. 10787 * 10788 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10789 * or http://www.opensolaris.org/os/licensing. 10790 * See the License for the specific language governing permissions 10791 * and limitations under the License. 10792 * 10793 * When distributing Covered Code, include this CDDL HEADER in each 10794 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10795 * If applicable, add the following below this CDDL HEADER, with the 10796 * fields enclosed by brackets "[]" replaced with your own identifying 10797 * information: Portions Copyright [yyyy] [name of copyright owner] 10798 * 10799 * CDDL HEADER END 10800 */ 10801 /* 10802 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10803 * Use is subject to license terms. 10804 */ 10805 10806 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 10807 /* All Rights Reserved */ 10808 10809 /* 10810 * Portions of this source code were derived from Berkeley 4.3 BSD 10811 * under license from the Regents of the University of California. 10812 */ 10813 10814 10815 10816 10817 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10818 /* 10819 * CDDL HEADER START 10820 * 10821 * The contents of this file are subject to the terms of the 10822 * Common Development and Distribution License (the "License"). 10823 * You may not use this file except in compliance with the License. 10824 * 10825 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10826 * or http://www.opensolaris.org/os/licensing. 10827 * See the License for the specific language governing permissions 10828 * and limitations under the License. 10829 * 10830 * When distributing Covered Code, include this CDDL HEADER in each 10831 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10832 * If applicable, add the following below this CDDL HEADER, with the 10833 * fields enclosed by brackets "[]" replaced with your own identifying 10834 * information: Portions Copyright [yyyy] [name of copyright owner] 10835 * 10836 * CDDL HEADER END 10837 */ 10838 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10839 /* All Rights Reserved */ 10840 10841 10842 /* 10843 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10844 * Use is subject to license terms. 10845 * 10846 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10847 * Copyright 2016 Joyent, Inc. 10848 */ 10849 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 10850 10851 10852 10853 10854 10855 /* 10856 * The credential is an opaque kernel private data structure defined in 10857 * <sys/cred_impl.h>. 10858 */ 10859 10860 typedef struct cred cred_t; 10861 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 10862 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 10863 /* 10864 * CDDL HEADER START 10865 * 10866 * The contents of this file are subject to the terms of the 10867 * Common Development and Distribution License (the "License"). 10868 * You may not use this file except in compliance with the License. 10869 * 10870 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10871 * or http://www.opensolaris.org/os/licensing. 10872 * See the License for the specific language governing permissions 10873 * and limitations under the License. 10874 * 10875 * When distributing Covered Code, include this CDDL HEADER in each 10876 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10877 * If applicable, add the following below this CDDL HEADER, with the 10878 * fields enclosed by brackets "[]" replaced with your own identifying 10879 * information: Portions Copyright [yyyy] [name of copyright owner] 10880 * 10881 * CDDL HEADER END 10882 */ 10883 10884 /* 10885 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10886 * Use is subject to license terms. 10887 */ 10888 10889 10890 10891 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 10892 /* 10893 * CDDL HEADER START 10894 * 10895 * The contents of this file are subject to the terms of the 10896 * Common Development and Distribution License (the "License"). 10897 * You may not use this file except in compliance with the License. 10898 * 10899 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10900 * or http://www.opensolaris.org/os/licensing. 10901 * See the License for the specific language governing permissions 10902 * and limitations under the License. 10903 * 10904 * When distributing Covered Code, include this CDDL HEADER in each 10905 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10906 * If applicable, add the following below this CDDL HEADER, with the 10907 * fields enclosed by brackets "[]" replaced with your own identifying 10908 * information: Portions Copyright [yyyy] [name of copyright owner] 10909 * 10910 * CDDL HEADER END 10911 */ 10912 /* 10913 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10914 * Use is subject to license terms. 10915 * 10916 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 10917 */ 10918 10919 10920 10921 10922 /* 10923 * Definition of general kernel statistics structures and /dev/kstat ioctls 10924 */ 10925 10926 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10927 /* 10928 * CDDL HEADER START 10929 * 10930 * The contents of this file are subject to the terms of the 10931 * Common Development and Distribution License (the "License"). 10932 * You may not use this file except in compliance with the License. 10933 * 10934 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10935 * or http://www.opensolaris.org/os/licensing. 10936 * See the License for the specific language governing permissions 10937 * and limitations under the License. 10938 * 10939 * When distributing Covered Code, include this CDDL HEADER in each 10940 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10941 * If applicable, add the following below this CDDL HEADER, with the 10942 * fields enclosed by brackets "[]" replaced with your own identifying 10943 * information: Portions Copyright [yyyy] [name of copyright owner] 10944 * 10945 * CDDL HEADER END 10946 */ 10947 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10948 /* All Rights Reserved */ 10949 10950 10951 /* 10952 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10953 * Use is subject to license terms. 10954 * 10955 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10956 * Copyright 2016 Joyent, Inc. 10957 */ 10958 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 10959 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 10960 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10961 /* All Rights Reserved */ 10962 10963 10964 /* 10965 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 10966 * All rights reserved. The Berkeley software License Agreement 10967 * specifies the terms and conditions for redistribution. 10968 */ 10969 10970 /* 10971 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10972 * 10973 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10974 * Use is subject to license terms. 10975 * 10976 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10977 */ 10978 10979 /* 10980 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 10981 */ 10982 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 10983 10984 10985 10986 10987 10988 typedef int kid_t; /* unique kstat id */ 10989 10990 /* 10991 * Kernel statistics driver (/dev/kstat) ioctls 10992 */ 10993 10994 10995 10996 10997 10998 10999 11000 /* 11001 * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): 11002 * 11003 * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); 11004 * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); 11005 * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); 11006 */ 11007 11008 11009 11010 /* 11011 * The generic kstat header 11012 */ 11013 11014 typedef struct kstat { 11015 /* 11016 * Fields relevant to both kernel and user 11017 */ 11018 hrtime_t ks_crtime; /* creation time (from gethrtime()) */ 11019 struct kstat *ks_next; /* kstat chain linkage */ 11020 kid_t ks_kid; /* unique kstat ID */ 11021 char ks_module[31]; /* provider module name */ 11022 uchar_t ks_resv; /* reserved, currently just padding */ 11023 int ks_instance; /* provider module's instance */ 11024 char ks_name[31]; /* kstat name */ 11025 uchar_t ks_type; /* kstat data type */ 11026 char ks_class[31]; /* kstat class */ 11027 uchar_t ks_flags; /* kstat flags */ 11028 void *ks_data; /* kstat type-specific data */ 11029 uint_t ks_ndata; /* # of type-specific data records */ 11030 size_t ks_data_size; /* total size of kstat data section */ 11031 hrtime_t ks_snaptime; /* time of last data shapshot */ 11032 /* 11033 * Fields relevant to kernel only 11034 */ 11035 int (*ks_update)(struct kstat *, int); /* dynamic update */ 11036 void *ks_private; /* arbitrary provider-private data */ 11037 int (*ks_snapshot)(struct kstat *, void *, int); 11038 void *ks_lock; /* protects this kstat's data */ 11039 } kstat_t; 11040 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11041 /* 11042 * kstat structure and locking strategy 11043 * 11044 * Each kstat consists of a header section (a kstat_t) and a data section. 11045 * The system maintains a set of kstats, protected by kstat_chain_lock. 11046 * kstat_chain_lock protects all additions to/deletions from this set, 11047 * as well as all changes to kstat headers. kstat data sections are 11048 * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, 11049 * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their 11050 * operations on that kstat. It is up to the kstat provider to decide whether 11051 * guaranteeing consistent data to kstat clients is sufficiently important 11052 * to justify the locking cost. Note, however, that most statistic updates 11053 * already occur under one of the provider's mutexes, so if the provider sets 11054 * ks_lock to point to that mutex, then kstat data locking is free. 11055 * 11056 * NOTE: variable-size kstats MUST employ kstat data locking, to prevent 11057 * data-size races with kstat clients. 11058 * 11059 * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) 11060 * in the kstat header so that users don't have to be exposed to all of the 11061 * kernel's lock-related data structures. 11062 */ 11063 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11064 /* 11065 * kstat time 11066 * 11067 * All times associated with kstats (e.g. creation time, snapshot time, 11068 * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, 11069 * as returned by gethrtime(). The accuracy of these timestamps is machine 11070 * dependent, but the precision (units) is the same across all platforms. 11071 */ 11072 11073 /* 11074 * kstat identity (KID) 11075 * 11076 * Each kstat is assigned a unique KID (kstat ID) when it is added to the 11077 * global kstat chain. The KID is used as a cookie by /dev/kstat to 11078 * request information about the corresponding kstat. There is also 11079 * an identity associated with the entire kstat chain, kstat_chain_id, 11080 * which is bumped each time a kstat is added or deleted. /dev/kstat uses 11081 * the chain ID to detect changes in the kstat chain (e.g., a new disk 11082 * coming online) between ioctl()s. 11083 */ 11084 11085 /* 11086 * kstat module, kstat instance 11087 * 11088 * ks_module and ks_instance contain the name and instance of the module 11089 * that created the kstat. In cases where there can only be one instance, 11090 * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its 11091 * module name. 11092 */ 11093 11094 /* 11095 * kstat name 11096 * 11097 * ks_name gives a meaningful name to a kstat. The full kstat namespace 11098 * is module.instance.name, so the name only need be unique within a 11099 * module. kstat_create() will fail if you try to create a kstat with 11100 * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are 11101 * allowed in kstat names, but strongly discouraged, since they hinder 11102 * awk-style processing at user level. 11103 */ 11104 11105 /* 11106 * kstat type 11107 * 11108 * The kstat mechanism provides several flavors of kstat data, defined 11109 * below. The "raw" kstat type is just treated as an array of bytes; you 11110 * can use this to export any kind of data you want. 11111 * 11112 * Some kstat types allow multiple data structures per kstat, e.g. 11113 * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each 11114 * kstat data type. 11115 * 11116 * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To 11117 * get this information, read out the standard system kstat "kstat_types". 11118 */ 11119 11120 11121 /* ks_ndata >= 1 */ 11122 11123 /* ks_ndata >= 1 */ 11124 11125 /* ks_ndata == 1 */ 11126 11127 /* ks_ndata == 1 */ 11128 11129 /* ks_ndata >= 1 */ 11130 11131 11132 11133 /* 11134 * kstat class 11135 * 11136 * Each kstat can be characterized as belonging to some broad class 11137 * of statistics, e.g. disk, tape, net, vm, streams, etc. This field 11138 * can be used as a filter to extract related kstats. The following 11139 * values are currently in use: disk, tape, net, controller, vm, kvm, 11140 * hat, streams, kstat, and misc. (The kstat class encompasses things 11141 * like kstat_types.) 11142 */ 11143 11144 /* 11145 * kstat flags 11146 * 11147 * Any of the following flags may be passed to kstat_create(). They are 11148 * all zero by default. 11149 * 11150 * KSTAT_FLAG_VIRTUAL: 11151 * 11152 * Tells kstat_create() not to allocate memory for the 11153 * kstat data section; instead, you will set the ks_data 11154 * field to point to the data you wish to export. This 11155 * provides a convenient way to export existing data 11156 * structures. 11157 * 11158 * KSTAT_FLAG_VAR_SIZE: 11159 * 11160 * The size of the kstat you are creating will vary over time. 11161 * For example, you may want to use the kstat mechanism to 11162 * export a linked list. NOTE: The kstat framework does not 11163 * manage the data section, so all variable-size kstats must be 11164 * virtual kstats. Moreover, variable-size kstats MUST employ 11165 * kstat data locking to prevent data-size races with kstat 11166 * clients. See the section on "kstat snapshot" for details. 11167 * 11168 * KSTAT_FLAG_WRITABLE: 11169 * 11170 * Makes the kstat's data section writable by root. 11171 * The ks_snapshot routine (see below) does not need to check for 11172 * this; permission checking is handled in the kstat driver. 11173 * 11174 * KSTAT_FLAG_PERSISTENT: 11175 * 11176 * Indicates that this kstat is to be persistent over time. 11177 * For persistent kstats, kstat_delete() simply marks the 11178 * kstat as dormant; a subsequent kstat_create() reactivates 11179 * the kstat. This feature is provided so that statistics 11180 * are not lost across driver close/open (e.g., raw disk I/O 11181 * on a disk with no mounted partitions.) 11182 * NOTE: Persistent kstats cannot be virtual, since ks_data 11183 * points to garbage as soon as the driver goes away. 11184 * 11185 * The following flags are maintained by the kstat framework: 11186 * 11187 * KSTAT_FLAG_DORMANT: 11188 * 11189 * For persistent kstats, indicates that the kstat is in the 11190 * dormant state (e.g., the corresponding device is closed). 11191 * 11192 * KSTAT_FLAG_INVALID: 11193 * 11194 * This flag is set when a kstat is in a transitional state, 11195 * e.g. between kstat_create() and kstat_install(). 11196 * kstat clients must not attempt to access the kstat's data 11197 * if this flag is set. 11198 * 11199 * KSTAT_FLAG_LONGSTRINGS: 11200 * 11201 * Indicates that this kstat contains long strings (which 11202 * are stored outside of the kstat data section). When copied 11203 * out to user space the string data will be held in the data 11204 * section provided by the user. 11205 */ 11206 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11207 /* 11208 * Dynamic update support 11209 * 11210 * The kstat mechanism allows for an optional ks_update function to update 11211 * kstat data. This is useful for drivers where the underlying device 11212 * keeps cheap hardware stats, but extraction is expensive. Instead of 11213 * constantly keeping the kstat data section up to date, you can supply a 11214 * ks_update function which updates the kstat's data section on demand. 11215 * To take advantage of this feature, simply set the ks_update field before 11216 * calling kstat_install(). 11217 * 11218 * The ks_update function, if supplied, must have the following structure: 11219 * 11220 * int 11221 * foo_kstat_update(kstat_t *ksp, int rw) 11222 * { 11223 * if (rw == KSTAT_WRITE) { 11224 * ... update the native stats from ksp->ks_data; 11225 * return EACCES if you don't support this 11226 * } else { 11227 * ... update ksp->ks_data from the native stats 11228 * } 11229 * } 11230 * 11231 * The ks_update return codes are: 0 for success, EACCES if you don't allow 11232 * KSTAT_WRITE, and EIO for any other type of error. 11233 * 11234 * In general, the ks_update function may need to refer to provider-private 11235 * data; for example, it may need a pointer to the provider's raw statistics. 11236 * The ks_private field is available for this purpose. Its use is entirely 11237 * at the provider's discretion. 11238 * 11239 * All variable-size kstats MUST supply a ks_update routine, which computes 11240 * and sets ks_data_size (and ks_ndata if that is meaningful), since these 11241 * are needed to perform kstat snapshots (see below). 11242 * 11243 * No kstat locking should be done inside the ks_update routine. The caller 11244 * will already be holding the kstat's ks_lock (to ensure consistent data). 11245 */ 11246 11247 11248 11249 11250 /* 11251 * Kstat snapshot 11252 * 11253 * In order to get a consistent view of a kstat's data, clients must obey 11254 * the kstat's locking strategy. However, these clients may need to perform 11255 * operations on the data which could cause a fault (e.g. copyout()), or 11256 * operations which are simply expensive. Doing so could cause deadlock 11257 * (e.g. if you're holding a disk's kstat lock which is ultimately required 11258 * to resolve a copyout() fault), performance degradation (since the providers' 11259 * activity is serialized at the kstat lock), device timing problems, etc. 11260 * 11261 * To avoid these problems, kstat data is provided via snapshots. Taking 11262 * a snapshot is a simple process: allocate a wired-down kernel buffer, 11263 * acquire the kstat's data lock, copy the data into the buffer ("take the 11264 * snapshot"), and release the lock. This ensures that the kstat's data lock 11265 * will be held as briefly as possible, and that no faults will occur while 11266 * the lock is held. 11267 * 11268 * Normally, the snapshot is taken by default_kstat_snapshot(), which 11269 * timestamps the data (sets ks_snaptime), copies it, and does a little 11270 * massaging to deal with incomplete transactions on i/o kstats. However, 11271 * this routine only works for kstats with contiguous data (the typical case). 11272 * If you create a kstat whose data is, say, a linked list, you must provide 11273 * your own ks_snapshot routine. The routine you supply must have the 11274 * following prototype (replace "foo" with something appropriate): 11275 * 11276 * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); 11277 * 11278 * The minimal snapshot routine -- one which copies contiguous data that 11279 * doesn't need any massaging -- would be this: 11280 * 11281 * ksp->ks_snaptime = gethrtime(); 11282 * if (rw == KSTAT_WRITE) 11283 * bcopy(buf, ksp->ks_data, ksp->ks_data_size); 11284 * else 11285 * bcopy(ksp->ks_data, buf, ksp->ks_data_size); 11286 * return (0); 11287 * 11288 * A more illuminating example is taking a snapshot of a linked list: 11289 * 11290 * ksp->ks_snaptime = gethrtime(); 11291 * if (rw == KSTAT_WRITE) 11292 * return (EACCES); ... See below ... 11293 * for (foo = first_foo; foo; foo = foo->next) { 11294 * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); 11295 * buf = ((struct foo *) buf) + 1; 11296 * } 11297 * return (0); 11298 * 11299 * In the example above, we have decided that we don't want to allow 11300 * KSTAT_WRITE access, so we return EACCES if this is attempted. 11301 * 11302 * The key points are: 11303 * 11304 * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. 11305 * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, 11306 * and from the buffer to the kstat on KSTAT_WRITE. 11307 * (3) ks_snapshot return values are: 0 for success, EACCES if you 11308 * don't allow KSTAT_WRITE, and EIO for any other type of error. 11309 * 11310 * Named kstats (see section on "Named statistics" below) containing long 11311 * strings (KSTAT_DATA_STRING) need special handling. The kstat driver 11312 * assumes that all strings are copied into the buffer after the array of 11313 * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point 11314 * into the copy within the buffer. The default snapshot routine does this, 11315 * but overriding routines should contain at least the following: 11316 * 11317 * if (rw == KSTAT_READ) { 11318 * kstat_named_t *knp = buf; 11319 * char *end = knp + ksp->ks_ndata; 11320 * uint_t i; 11321 * 11322 * ... Do the regular copy ... 11323 * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); 11324 * 11325 * for (i = 0; i < ksp->ks_ndata; i++, knp++) { 11326 * if (knp[i].data_type == KSTAT_DATA_STRING && 11327 * KSTAT_NAMED_STR_PTR(knp) != NULL) { 11328 * bcopy(KSTAT_NAMED_STR_PTR(knp), end, 11329 * KSTAT_NAMED_STR_BUFLEN(knp)); 11330 * KSTAT_NAMED_STR_PTR(knp) = end; 11331 * end += KSTAT_NAMED_STR_BUFLEN(knp); 11332 * } 11333 * } 11334 */ 11335 11336 /* 11337 * Named statistics. 11338 * 11339 * List of arbitrary name=value statistics. 11340 */ 11341 11342 typedef struct kstat_named { 11343 char name[31]; /* name of counter */ 11344 uchar_t data_type; /* data type */ 11345 union { 11346 char c[16]; /* enough for 128-bit ints */ 11347 int32_t i32; 11348 uint32_t ui32; 11349 struct { 11350 union { 11351 char *ptr; /* NULL-term string */ 11352 11353 11354 11355 char __pad[8]; /* 64-bit padding */ 11356 } addr; 11357 uint32_t len; /* # bytes for strlen + '\0' */ 11358 } str; 11359 /* 11360 * The int64_t and uint64_t types are not valid for a maximally conformant 11361 * 32-bit compilation environment (cc -Xc) using compilers prior to the 11362 * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). 11363 * In these cases, the visibility of i64 and ui64 is only permitted for 11364 * 64-bit compilation environments or 32-bit non-maximally conformant 11365 * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the 11366 * C99 ANSI C compilation environment, the long long type is supported. 11367 * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). 11368 */ 11369 11370 int64_t i64; 11371 uint64_t ui64; 11372 11373 long l; 11374 ulong_t ul; 11375 11376 /* These structure members are obsolete */ 11377 11378 longlong_t ll; 11379 u_longlong_t ull; 11380 float f; 11381 double d; 11382 } value; /* value of counter */ 11383 } kstat_named_t; 11384 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11385 /* 11386 * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) 11387 * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof 11388 * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the 11389 * amount of space required to store the strings (ie, the sum of 11390 * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the 11391 * space required to store the kstat_named_t's. 11392 * 11393 * The default update routine will update ks_data_size automatically for 11394 * variable-length kstats containing long strings (using the default update 11395 * routine only makes sense if the string is the only thing that is changing 11396 * in size, and ks_ndata is constant). Fixed-length kstats containing long 11397 * strings must explicitly change ks_data_size (after creation but before 11398 * initialization) to reflect the correct amount of space required for the 11399 * long strings and the kstat_named_t's. 11400 */ 11401 11402 11403 /* These types are obsolete */ 11404 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11405 /* 11406 * Retrieve the pointer of the string contained in the given named kstat. 11407 */ 11408 11409 11410 /* 11411 * Retrieve the length of the buffer required to store the string in the given 11412 * named kstat. 11413 */ 11414 11415 11416 /* 11417 * Interrupt statistics. 11418 * 11419 * An interrupt is a hard interrupt (sourced from the hardware device 11420 * itself), a soft interrupt (induced by the system via the use of 11421 * some system interrupt source), a watchdog interrupt (induced by 11422 * a periodic timer call), spurious (an interrupt entry point was 11423 * entered but there was no interrupt condition to service), 11424 * or multiple service (an interrupt condition was detected and 11425 * serviced just prior to returning from any of the other types). 11426 * 11427 * Measurement of the spurious class of interrupts is useful for 11428 * autovectored devices in order to pinpoint any interrupt latency 11429 * problems in a particular system configuration. 11430 * 11431 * Devices that have more than one interrupt of the same 11432 * type should use multiple structures. 11433 */ 11434 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 11435 typedef struct kstat_intr { 11436 uint_t intrs[5]; /* interrupt counters */ 11437 } kstat_intr_t; 11438 11439 11440 11441 /* 11442 * I/O statistics. 11443 */ 11444 11445 typedef struct kstat_io { 11446 11447 /* 11448 * Basic counters. 11449 * 11450 * The counters should be updated at the end of service 11451 * (e.g., just prior to calling biodone()). 11452 */ 11453 11454 u_longlong_t nread; /* number of bytes read */ 11455 u_longlong_t nwritten; /* number of bytes written */ 11456 uint_t reads; /* number of read operations */ 11457 uint_t writes; /* number of write operations */ 11458 11459 /* 11460 * Accumulated time and queue length statistics. 11461 * 11462 * Accumulated time statistics are kept as a running sum 11463 * of "active" time. Queue length statistics are kept as a 11464 * running sum of the product of queue length and elapsed time 11465 * at that length -- i.e., a Riemann sum for queue length 11466 * integrated against time. (You can also think of the active time 11467 * as a Riemann sum, for the boolean function (queue_length > 0) 11468 * integrated against time, or you can think of it as the 11469 * Lebesgue measure of the set on which queue_length > 0.) 11470 * 11471 * ^ 11472 * | _________ 11473 * 8 | i4 | 11474 * | | | 11475 * Queue 6 | | 11476 * Length | _________ | | 11477 * 4 | i2 |_______| | 11478 * | | i3 | 11479 * 2_______| | 11480 * | i1 | 11481 * |_______________________________| 11482 * Time-> t1 t2 t3 t4 11483 * 11484 * At each change of state (entry or exit from the queue), 11485 * we add the elapsed time (since the previous state change) 11486 * to the active time if the queue length was non-zero during 11487 * that interval; and we add the product of the elapsed time 11488 * times the queue length to the running length*time sum. 11489 * 11490 * This method is generalizable to measuring residency 11491 * in any defined system: instead of queue lengths, think 11492 * of "outstanding RPC calls to server X". 11493 * 11494 * A large number of I/O subsystems have at least two basic 11495 * "lists" of transactions they manage: one for transactions 11496 * that have been accepted for processing but for which processing 11497 * has yet to begin, and one for transactions which are actively 11498 * being processed (but not done). For this reason, two cumulative 11499 * time statistics are defined here: wait (pre-service) time, 11500 * and run (service) time. 11501 * 11502 * All times are 64-bit nanoseconds (hrtime_t), as returned by 11503 * gethrtime(). 11504 * 11505 * The units of cumulative busy time are accumulated nanoseconds. 11506 * The units of cumulative length*time products are elapsed time 11507 * times queue length. 11508 * 11509 * Updates to the fields below are performed implicitly by calls to 11510 * these five functions: 11511 * 11512 * kstat_waitq_enter() 11513 * kstat_waitq_exit() 11514 * kstat_runq_enter() 11515 * kstat_runq_exit() 11516 * 11517 * kstat_waitq_to_runq() (see below) 11518 * kstat_runq_back_to_waitq() (see below) 11519 * 11520 * Since kstat_waitq_exit() is typically followed immediately 11521 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() 11522 * function which performs both operations. This is a performance 11523 * win since only one timestamp is required. 11524 * 11525 * In some instances, it may be necessary to move a request from 11526 * the run queue back to the wait queue, e.g. for write throttling. 11527 * For these situations, call kstat_runq_back_to_waitq(). 11528 * 11529 * These fields should never be updated by any other means. 11530 */ 11531 11532 hrtime_t wtime; /* cumulative wait (pre-service) time */ 11533 hrtime_t wlentime; /* cumulative wait length*time product */ 11534 hrtime_t wlastupdate; /* last time wait queue changed */ 11535 hrtime_t rtime; /* cumulative run (service) time */ 11536 hrtime_t rlentime; /* cumulative run length*time product */ 11537 hrtime_t rlastupdate; /* last time run queue changed */ 11538 11539 uint_t wcnt; /* count of elements in wait state */ 11540 uint_t rcnt; /* count of elements in run state */ 11541 11542 } kstat_io_t; 11543 11544 11545 11546 /* 11547 * Event timer statistics - cumulative elapsed time and number of events. 11548 * 11549 * Updates to these fields are performed implicitly by calls to 11550 * kstat_timer_start() and kstat_timer_stop(). 11551 */ 11552 11553 typedef struct kstat_timer { 11554 char name[31]; /* event name */ 11555 uchar_t resv; /* reserved */ 11556 u_longlong_t num_events; /* number of events */ 11557 hrtime_t elapsed_time; /* cumulative elapsed time */ 11558 hrtime_t min_time; /* shortest event duration */ 11559 hrtime_t max_time; /* longest event duration */ 11560 hrtime_t start_time; /* previous event start time */ 11561 hrtime_t stop_time; /* previous event stop time */ 11562 } kstat_timer_t; 11563 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 11564 11565 11566 11567 11568 11569 /* 11570 * This allows various pieces in and around IP to have a separate instance 11571 * for each instance of IP. This is used to support zones that have an 11572 * exclusive stack. 11573 * Pieces of software far removed from IP (e.g., kernel software 11574 * sitting on top of TCP or UDP) probably should not use the netstack 11575 * support; if such software wants to support separate zones it 11576 * can do that using the zones framework (zone_key_create() etc) 11577 * whether there is a shared IP stack or and exclusive IP stack underneath. 11578 */ 11579 11580 /* 11581 * Each netstack has an identifier. We reuse the zoneid allocation for 11582 * this but have a separate typedef. Thus the shared stack (used by 11583 * the global zone and other shared stack zones) have a zero ID, and 11584 * the exclusive stacks have a netstackid that is the same as their zoneid. 11585 */ 11586 typedef id_t netstackid_t; 11587 11588 11589 11590 /* 11591 * One for each module which uses netstack support. 11592 * Used in netstack_register(). 11593 * 11594 * The order of these is important for some modules both for 11595 * the creation (which done in ascending order) and destruction (which is 11596 * done in in decending order). 11597 */ 11598 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 11599 /* 11600 * State maintained for each module which tracks the state of 11601 * the create, shutdown and destroy callbacks. 11602 * 11603 * Keeps track of pending actions to avoid holding locks when 11604 * calling into the create/shutdown/destroy functions in the module. 11605 */ 11606 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 11607 /* User-level compile like IP Filter needs a netstack_t. Dummy */ 11608 typedef uint_t nm_state_t; 11609 11610 11611 /* 11612 * One for every netstack in the system. 11613 * We use a union so that the compilar and lint can provide type checking - 11614 * in principle we could have 11615 * #define netstack_arp netstack_modules[NS_ARP] 11616 * etc, but that would imply void * types hence no type checking by the 11617 * compiler. 11618 * 11619 * All the fields in netstack_t except netstack_next are protected by 11620 * netstack_lock. netstack_next is protected by netstack_g_lock. 11621 */ 11622 struct netstack { 11623 union { 11624 void *nu_modules[(18 +1)]; 11625 struct { 11626 struct dls_stack *nu_dls; 11627 struct iptun_stack *nu_iptun; 11628 struct str_stack *nu_str; 11629 struct hook_stack *nu_hook; 11630 struct neti_stack *nu_neti; 11631 struct arp_stack *nu_arp; 11632 struct ip_stack *nu_ip; 11633 struct icmp_stack *nu_icmp; 11634 struct udp_stack *nu_udp; 11635 struct tcp_stack *nu_tcp; 11636 struct sctp_stack *nu_sctp; 11637 struct rts_stack *nu_rts; 11638 struct ipsec_stack *nu_ipsec; 11639 struct keysock_stack *nu_keysock; 11640 struct spd_stack *nu_spdsock; 11641 struct ipsecah_stack *nu_ipsecah; 11642 struct ipsecesp_stack *nu_ipsecesp; 11643 struct ipnet_stack *nu_ipnet; 11644 struct ilb_stack *nu_ilb; 11645 } nu_s; 11646 } netstack_u; 11647 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 11648 nm_state_t netstack_m_state[(18 +1)]; /* module state */ 11649 11650 kmutex_t netstack_lock; 11651 struct netstack *netstack_next; 11652 netstackid_t netstack_stackid; 11653 int netstack_numzones; /* Number of zones using this */ 11654 int netstack_refcnt; /* Number of hold-rele */ 11655 int netstack_flags; /* See below */ 11656 11657 11658 11659 11660 11661 }; 11662 typedef struct netstack netstack_t; 11663 11664 /* netstack_flags values */ 11665 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 11666 /* 11667 * One for each of the NS_* values. 11668 */ 11669 struct netstack_registry { 11670 int nr_flags; /* 0 if nothing registered */ 11671 void *(*nr_create)(netstackid_t, netstack_t *); 11672 void (*nr_shutdown)(netstackid_t, void *); 11673 void (*nr_destroy)(netstackid_t, void *); 11674 }; 11675 11676 /* nr_flags values */ 11677 11678 11679 11680 /* 11681 * To support kstat_create_netstack() using kstat_add_zone we need 11682 * to track both 11683 * - all zoneids that use the global/shared stack 11684 * - all kstats that have been added for the shared stack 11685 */ 11686 11687 extern void netstack_init(void); 11688 extern void netstack_hold(netstack_t *); 11689 extern void netstack_rele(netstack_t *); 11690 extern netstack_t *netstack_find_by_cred(const cred_t *); 11691 extern netstack_t *netstack_find_by_stackid(netstackid_t); 11692 extern netstack_t *netstack_find_by_zoneid(zoneid_t); 11693 11694 extern zoneid_t netstackid_to_zoneid(netstackid_t); 11695 extern zoneid_t netstack_get_zoneid(netstack_t *); 11696 extern netstackid_t zoneid_to_netstackid(zoneid_t); 11697 11698 extern netstack_t *netstack_get_current(void); 11699 11700 /* 11701 * Register interest in changes to the set of netstacks. 11702 * The createfn and destroyfn are required, but the shutdownfn can be 11703 * NULL. 11704 * Note that due to the current zsd implementation, when the create 11705 * function is called the zone isn't fully present, thus functions 11706 * like zone_find_by_* will fail, hence the create function can not 11707 * use many zones kernel functions including zcmn_err(). 11708 */ 11709 extern void netstack_register(int, 11710 void *(*)(netstackid_t, netstack_t *), 11711 void (*)(netstackid_t, void *), 11712 void (*)(netstackid_t, void *)); 11713 extern void netstack_unregister(int); 11714 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, 11715 uint_t, uchar_t, netstackid_t); 11716 extern void kstat_delete_netstack(kstat_t *, netstackid_t); 11717 11718 /* 11719 * Simple support for walking all the netstacks. 11720 * The caller of netstack_next() needs to call netstack_rele() when 11721 * done with a netstack. 11722 */ 11723 typedef int netstack_handle_t; 11724 11725 extern void netstack_next_init(netstack_handle_t *); 11726 extern void netstack_next_fini(netstack_handle_t *); 11727 extern netstack_t *netstack_next(netstack_handle_t *); 11728 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11729 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 11730 /* 11731 * CDDL HEADER START 11732 * 11733 * The contents of this file are subject to the terms of the 11734 * Common Development and Distribution License (the "License"). 11735 * You may not use this file except in compliance with the License. 11736 * 11737 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11738 * or http://www.opensolaris.org/os/licensing. 11739 * See the License for the specific language governing permissions 11740 * and limitations under the License. 11741 * 11742 * When distributing Covered Code, include this CDDL HEADER in each 11743 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11744 * If applicable, add the following below this CDDL HEADER, with the 11745 * fields enclosed by brackets "[]" replaced with your own identifying 11746 * information: Portions Copyright [yyyy] [name of copyright owner] 11747 * 11748 * CDDL HEADER END 11749 */ 11750 /* 11751 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11752 * 11753 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11754 * Use is subject to license terms. 11755 */ 11756 11757 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11758 /* All Rights Reserved */ 11759 11760 11761 11762 11763 11764 11765 11766 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11767 /* 11768 * CDDL HEADER START 11769 * 11770 * The contents of this file are subject to the terms of the 11771 * Common Development and Distribution License (the "License"). 11772 * You may not use this file except in compliance with the License. 11773 * 11774 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11775 * or http://www.opensolaris.org/os/licensing. 11776 * See the License for the specific language governing permissions 11777 * and limitations under the License. 11778 * 11779 * When distributing Covered Code, include this CDDL HEADER in each 11780 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11781 * If applicable, add the following below this CDDL HEADER, with the 11782 * fields enclosed by brackets "[]" replaced with your own identifying 11783 * information: Portions Copyright [yyyy] [name of copyright owner] 11784 * 11785 * CDDL HEADER END 11786 */ 11787 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11788 /* All Rights Reserved */ 11789 11790 11791 /* 11792 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11793 * Use is subject to license terms. 11794 * 11795 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11796 * Copyright 2016 Joyent, Inc. 11797 */ 11798 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 11799 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 11800 /* 11801 * CDDL HEADER START 11802 * 11803 * The contents of this file are subject to the terms of the 11804 * Common Development and Distribution License (the "License"). 11805 * You may not use this file except in compliance with the License. 11806 * 11807 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11808 * or http://www.opensolaris.org/os/licensing. 11809 * See the License for the specific language governing permissions 11810 * and limitations under the License. 11811 * 11812 * When distributing Covered Code, include this CDDL HEADER in each 11813 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11814 * If applicable, add the following below this CDDL HEADER, with the 11815 * fields enclosed by brackets "[]" replaced with your own identifying 11816 * information: Portions Copyright [yyyy] [name of copyright owner] 11817 * 11818 * CDDL HEADER END 11819 */ 11820 /* 11821 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11822 * Use is subject to license terms. 11823 */ 11824 11825 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 11826 /* All Rights Reserved */ 11827 11828 /* 11829 * Portions of this source code were derived from Berkeley 4.3 BSD 11830 * under license from the Regents of the University of California. 11831 */ 11832 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 11833 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 11834 /* 17-21 reserved for obsolete interface */ 11835 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 11836 /* 11837 * Functions reserved for A_FREEZE (may not be available on all platforms) 11838 * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete 11839 * The first two are succeeded by AD_SUSPEND_TO_DISK and 11840 * AD_CHECK_SUSPEND_TO_DISK respectively. 11841 * AD_FORCE should not be used by any new application 11842 * 11843 * We maintain compatibility with the earlier interfaces: 11844 * AD_COMPRESS and AD_CHECK, by preserving those values 11845 * in the corresponding new interfaces 11846 */ 11847 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 11848 /* 11849 * NOTE: the following defines comprise an Unstable interface. Their semantics 11850 * may change or they may be removed completely in a later release 11851 */ 11852 11853 11854 11855 11856 11857 11858 11859 /* 11860 * Functions of A_CONFIG. Unstable interface. 11861 */ 11862 11863 11864 /* 11865 * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, 11866 * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most 11867 * 256 characters. 11868 */ 11869 11870 11871 11872 /* 11873 * FMRI for boot-config service. 11874 */ 11875 11876 11877 11878 /* 11879 * Property group that contains all Fast Reboot configuration properties. 11880 */ 11881 11882 11883 /* 11884 * Property group that contains all Fast Reboot blacklisting information. 11885 */ 11886 11887 11888 /* 11889 * Non-persistent property group which contains all the properties that 11890 * will override settings in the BOOT_CONFIG_PG_PARAMS property group. 11891 */ 11892 11893 11894 11895 11896 /* 11897 * Flag representations of fastboot configuration. 11898 */ 11899 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 11900 extern int uadmin(int, int, uintptr_t); 11901 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11902 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 11903 /* 11904 * CDDL HEADER START 11905 * 11906 * The contents of this file are subject to the terms of the 11907 * Common Development and Distribution License, Version 1.0 only 11908 * (the "License"). You may not use this file except in compliance 11909 * with the License. 11910 * 11911 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11912 * or http://www.opensolaris.org/os/licensing. 11913 * See the License for the specific language governing permissions 11914 * and limitations under the License. 11915 * 11916 * When distributing Covered Code, include this CDDL HEADER in each 11917 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11918 * If applicable, add the following below this CDDL HEADER, with the 11919 * fields enclosed by brackets "[]" replaced with your own identifying 11920 * information: Portions Copyright [yyyy] [name of copyright owner] 11921 * 11922 * CDDL HEADER END 11923 */ 11924 /* 11925 * Copyright (c) 1991, Sun Microsystems, Inc. 11926 */ 11927 11928 /* 11929 * DKI/DDI MT synchronization primitives. 11930 */ 11931 11932 11933 11934 11935 #pragma ident "%Z%%M% %I% %E% SMI" 11936 11937 /* 11938 * The presence of this file is specified by the DKI/DDI. 11939 */ 11940 11941 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 11942 /* 11943 * CDDL HEADER START 11944 * 11945 * The contents of this file are subject to the terms of the 11946 * Common Development and Distribution License, Version 1.0 only 11947 * (the "License"). You may not use this file except in compliance 11948 * with the License. 11949 * 11950 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11951 * or http://www.opensolaris.org/os/licensing. 11952 * See the License for the specific language governing permissions 11953 * and limitations under the License. 11954 * 11955 * When distributing Covered Code, include this CDDL HEADER in each 11956 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11957 * If applicable, add the following below this CDDL HEADER, with the 11958 * fields enclosed by brackets "[]" replaced with your own identifying 11959 * information: Portions Copyright [yyyy] [name of copyright owner] 11960 * 11961 * CDDL HEADER END 11962 */ 11963 /* 11964 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 11965 * All rights reserved. 11966 */ 11967 11968 /* 11969 * t_lock.h: Prototypes for disp_locks, plus include files 11970 * that describe the interfaces to kernel synch. 11971 * objects. 11972 */ 11973 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 11974 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 11975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 11976 /* 11977 * CDDL HEADER START 11978 * 11979 * The contents of this file are subject to the terms of the 11980 * Common Development and Distribution License (the "License"). 11981 * You may not use this file except in compliance with the License. 11982 * 11983 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11984 * or http://www.opensolaris.org/os/licensing. 11985 * See the License for the specific language governing permissions 11986 * and limitations under the License. 11987 * 11988 * When distributing Covered Code, include this CDDL HEADER in each 11989 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11990 * If applicable, add the following below this CDDL HEADER, with the 11991 * fields enclosed by brackets "[]" replaced with your own identifying 11992 * information: Portions Copyright [yyyy] [name of copyright owner] 11993 * 11994 * CDDL HEADER END 11995 */ 11996 /* 11997 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11998 * Use is subject to license terms. 11999 */ 12000 12001 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12002 /* All Rights Reserved */ 12003 12004 /* 12005 * Portions of this source code were derived from Berkeley 4.3 BSD 12006 * under license from the Regents of the University of California. 12007 */ 12008 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 12009 typedef uint16_t sa_family_t; 12010 12011 12012 /* 12013 * Structure used by kernel to store most 12014 * addresses. 12015 */ 12016 struct sockaddr { 12017 sa_family_t sa_family; /* address family */ 12018 char sa_data[14]; /* up to 14 bytes of direct address */ 12019 }; 12020 12021 12022 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 12023 /* 12024 * CDDL HEADER START 12025 * 12026 * The contents of this file are subject to the terms of the 12027 * Common Development and Distribution License (the "License"). 12028 * You may not use this file except in compliance with the License. 12029 * 12030 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12031 * or http://www.opensolaris.org/os/licensing. 12032 * See the License for the specific language governing permissions 12033 * and limitations under the License. 12034 * 12035 * When distributing Covered Code, include this CDDL HEADER in each 12036 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12037 * If applicable, add the following below this CDDL HEADER, with the 12038 * fields enclosed by brackets "[]" replaced with your own identifying 12039 * information: Portions Copyright [yyyy] [name of copyright owner] 12040 * 12041 * CDDL HEADER END 12042 */ 12043 /* 12044 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 12045 */ 12046 12047 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12048 /* All Rights Reserved */ 12049 12050 /* 12051 * University Copyright- Copyright (c) 1982, 1986, 1988 12052 * The Regents of the University of California 12053 * All Rights Reserved 12054 * 12055 * University Acknowledgment- Portions of this document are derived from 12056 * software developed by the University of California, Berkeley, and its 12057 * contributors. 12058 */ 12059 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 12060 /* 12061 * Definitions for UNIX IPC domain. 12062 */ 12063 struct sockaddr_un { 12064 sa_family_t sun_family; /* AF_UNIX */ 12065 char sun_path[108]; /* path name (gag) */ 12066 }; 12067 12068 12069 12070 /* 12071 * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to 12072 * change. 12073 * 12074 * Also, include a strlen() prototype, and we have to protect it w.r.t. 12075 * UNIX{98,03}. And because there's strlen, we need size_t as well. 12076 */ 12077 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 12078 extern size_t strlen(const char *); 12079 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 12080 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 12081 /* 12082 * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. 12083 * Use is subject to license terms. 12084 */ 12085 /* 12086 * Copyright (c) 1990, 1993 12087 * The Regents of the University of California. All rights reserved. 12088 * 12089 * Redistribution and use in source and binary forms, with or without 12090 * modification, are permitted provided that the following conditions 12091 * are met: 12092 * 1. Redistributions of source code must retain the above copyright 12093 * notice, this list of conditions and the following disclaimer. 12094 * 2. Redistributions in binary form must reproduce the above copyright 12095 * notice, this list of conditions and the following disclaimer in the 12096 * documentation and/or other materials provided with the distribution. 12097 * 3. All advertising materials mentioning features or use of this software 12098 * must display the following acknowledgement: 12099 * This product includes software developed by the University of 12100 * California, Berkeley and its contributors. 12101 * 4. Neither the name of the University nor the names of its contributors 12102 * may be used to endorse or promote products derived from this software 12103 * without specific prior written permission. 12104 * 12105 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 12106 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 12107 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 12108 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 12109 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 12110 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 12111 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 12112 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 12113 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 12114 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 12115 * SUCH DAMAGE. 12116 */ 12117 12118 12119 12120 12121 #pragma ident "%Z%%M% %I% %E% SMI" 12122 /* from UCB 8.1 (Berkeley) 6/10/93 */ 12123 12124 12125 12126 12127 12128 /* 12129 * A Link-Level Sockaddr may specify the interface in one of two 12130 * ways: either by means of a system-provided index number (computed 12131 * anew and possibly differently on every reboot), or by a human-readable 12132 * string such as "il0" (for managerial convenience). 12133 * 12134 * Census taking actions, such as something akin to SIOCGCONF would return 12135 * both the index and the human name. 12136 * 12137 * High volume transactions (such as giving a link-level ``from'' address 12138 * in a recvfrom or recvmsg call) may be likely only to provide the indexed 12139 * form, (which requires fewer copy operations and less space). 12140 * 12141 * The form and interpretation of the link-level address is purely a matter 12142 * of convention between the device driver and its consumers; however, it is 12143 * expected that all drivers for an interface of a given if_type will agree. 12144 */ 12145 12146 /* 12147 * Structure of a Link-Level sockaddr: 12148 */ 12149 struct sockaddr_dl { 12150 ushort_t sdl_family; /* AF_LINK */ 12151 ushort_t sdl_index; /* if != 0, system given index for interface */ 12152 uchar_t sdl_type; /* interface type */ 12153 uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ 12154 uchar_t sdl_alen; /* link level address length */ 12155 uchar_t sdl_slen; /* link layer selector length */ 12156 char sdl_data[244]; /* contains both if name and ll address */ 12157 }; 12158 12159 12160 12161 12162 extern char *_link_ntoa(const unsigned char *, char *, int, int); 12163 extern unsigned char *_link_aton(const char *, int *); 12164 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 12165 12166 12167 12168 /* 12169 * sockaddr_storage: 12170 * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr 12171 * structures. Has sufficient size and alignment for those sockaddrs. 12172 */ 12173 12174 /* 12175 * Desired maximum size, alignment size and related types. 12176 */ 12177 12178 12179 /* 12180 * To represent desired sockaddr max alignment for platform, a 12181 * type is chosen which may depend on implementation platform architecture. 12182 * Type chosen based on alignment size restrictions from <sys/isa_defs.h>. 12183 * We desire to force up to (but no more than) 64-bit (8 byte) alignment, 12184 * on platforms where it is possible to do so. (e.g not possible on ia32). 12185 * For all currently supported platforms by our implementation 12186 * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64) 12187 * type "double" is suitable for that intent. 12188 * 12189 * Note: Type "double" is chosen over the more obvious integer type int64_t. 12190 * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. 12191 */ 12192 typedef double sockaddr_maxalign_t; 12193 12194 12195 12196 /* 12197 * Definitions used for sockaddr_storage structure paddings design. 12198 */ 12199 12200 12201 12202 12203 struct sockaddr_storage { 12204 sa_family_t ss_family; /* Address family */ 12205 /* Following fields are implementation specific */ 12206 char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; 12207 sockaddr_maxalign_t _ss_align; 12208 char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; 12209 }; 12210 12211 12212 /* 12213 * To be compatible with the Linux interfaces used, this structure is 12214 * placed in socket_impl.h so that an include for <sys/socket.h> will 12215 * pickup this structure. This structure is for use with PF_PACKET 12216 * sockets. 12217 */ 12218 struct sockaddr_ll { 12219 uint16_t sll_family; 12220 uint16_t sll_protocol; 12221 int32_t sll_ifindex; 12222 uint16_t sll_hatype; 12223 uint8_t sll_pkttype; 12224 uint8_t sll_halen; 12225 uint8_t sll_addr[8]; 12226 }; 12227 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 12228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 12229 /* 12230 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12231 * Use is subject to license terms. 12232 * 12233 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 12234 */ 12235 /* 12236 * Copyright (c) 1982, 1986 Regents of the University of California. 12237 * All rights reserved. 12238 * 12239 * Redistribution and use in source and binary forms are permitted 12240 * provided that this notice is preserved and that due credit is given 12241 * to the University of California at Berkeley. The name of the University 12242 * may not be used to endorse or promote products derived from this 12243 * software without specific prior written permission. This software 12244 * is provided ``as is'' without express or implied warranty. 12245 */ 12246 12247 /* 12248 * Constants and structures defined by the internet system, 12249 * according to following documents 12250 * 12251 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 12252 * http://www.iana.org/assignments/protocol-numbers 12253 * http://www.iana.org/assignments/port-numbers 12254 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 12255 * 12256 */ 12257 12258 12259 12260 12261 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12262 /* 12263 * CDDL HEADER START 12264 * 12265 * The contents of this file are subject to the terms of the 12266 * Common Development and Distribution License (the "License"). 12267 * You may not use this file except in compliance with the License. 12268 * 12269 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12270 * or http://www.opensolaris.org/os/licensing. 12271 * See the License for the specific language governing permissions 12272 * and limitations under the License. 12273 * 12274 * When distributing Covered Code, include this CDDL HEADER in each 12275 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12276 * If applicable, add the following below this CDDL HEADER, with the 12277 * fields enclosed by brackets "[]" replaced with your own identifying 12278 * information: Portions Copyright [yyyy] [name of copyright owner] 12279 * 12280 * CDDL HEADER END 12281 */ 12282 12283 /* 12284 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12285 * Copyright 2016 Joyent, Inc. 12286 * 12287 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12288 * Use is subject to license terms. 12289 */ 12290 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12291 12292 12293 12294 12295 12296 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 12297 /* 12298 * CDDL HEADER START 12299 * 12300 * The contents of this file are subject to the terms of the 12301 * Common Development and Distribution License (the "License"). 12302 * You may not use this file except in compliance with the License. 12303 * 12304 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12305 * or http://www.opensolaris.org/os/licensing. 12306 * See the License for the specific language governing permissions 12307 * and limitations under the License. 12308 * 12309 * When distributing Covered Code, include this CDDL HEADER in each 12310 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12311 * If applicable, add the following below this CDDL HEADER, with the 12312 * fields enclosed by brackets "[]" replaced with your own identifying 12313 * information: Portions Copyright [yyyy] [name of copyright owner] 12314 * 12315 * CDDL HEADER END 12316 */ 12317 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12318 /* All Rights Reserved */ 12319 12320 12321 /* 12322 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12323 * Use is subject to license terms. 12324 * 12325 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 12326 * Copyright 2016 Joyent, Inc. 12327 */ 12328 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12329 12330 12331 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 12332 /* 12333 * CDDL HEADER START 12334 * 12335 * The contents of this file are subject to the terms of the 12336 * Common Development and Distribution License (the "License"). 12337 * You may not use this file except in compliance with the License. 12338 * 12339 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12340 * or http://www.opensolaris.org/os/licensing. 12341 * See the License for the specific language governing permissions 12342 * and limitations under the License. 12343 * 12344 * When distributing Covered Code, include this CDDL HEADER in each 12345 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12346 * If applicable, add the following below this CDDL HEADER, with the 12347 * fields enclosed by brackets "[]" replaced with your own identifying 12348 * information: Portions Copyright [yyyy] [name of copyright owner] 12349 * 12350 * CDDL HEADER END 12351 */ 12352 /* 12353 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12354 * Use is subject to license terms. 12355 */ 12356 12357 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12358 /* All Rights Reserved */ 12359 12360 /* 12361 * Portions of this source code were derived from Berkeley 4.3 BSD 12362 * under license from the Regents of the University of California. 12363 */ 12364 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 12365 12366 12367 12368 12369 12370 /* 12371 * The socklen definitions are reproduced here from sys/socket.h so as to 12372 * not introduce that namespace into existing users of netinet/in.h. 12373 */ 12374 12375 12376 12377 typedef uint32_t socklen_t; 12378 12379 12380 12381 12382 12383 typedef void *Psocklen_t; 12384 12385 12386 12387 12388 12389 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 12390 /* 12391 * CDDL HEADER START 12392 * 12393 * The contents of this file are subject to the terms of the 12394 * Common Development and Distribution License (the "License"). 12395 * You may not use this file except in compliance with the License. 12396 * 12397 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12398 * or http://www.opensolaris.org/os/licensing. 12399 * See the License for the specific language governing permissions 12400 * and limitations under the License. 12401 * 12402 * When distributing Covered Code, include this CDDL HEADER in each 12403 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12404 * If applicable, add the following below this CDDL HEADER, with the 12405 * fields enclosed by brackets "[]" replaced with your own identifying 12406 * information: Portions Copyright [yyyy] [name of copyright owner] 12407 * 12408 * CDDL HEADER END 12409 */ 12410 /* 12411 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12412 * Use is subject to license terms. 12413 */ 12414 12415 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12416 /* All Rights Reserved */ 12417 12418 12419 12420 12421 12422 /* 12423 * For source compatibility 12424 */ 12425 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 12426 /* 12427 * CDDL HEADER START 12428 * 12429 * The contents of this file are subject to the terms of the 12430 * Common Development and Distribution License (the "License"). 12431 * You may not use this file except in compliance with the License. 12432 * 12433 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12434 * or http://www.opensolaris.org/os/licensing. 12435 * See the License for the specific language governing permissions 12436 * and limitations under the License. 12437 * 12438 * 12439 * When distributing Covered Code, include this CDDL HEADER in each 12440 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12441 * If applicable, add the following below this CDDL HEADER, with the 12442 * fields enclosed by brackets "[]" replaced with your own identifying 12443 * information: Portions Copyright [yyyy] [name of copyright owner] 12444 * 12445 * CDDL HEADER END 12446 */ 12447 12448 /* 12449 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 12450 * Use is subject to license terms. 12451 * Copyright 2016 Joyent, Inc. 12452 */ 12453 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12454 12455 12456 12457 12458 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 12459 /* 12460 * CDDL HEADER START 12461 * 12462 * The contents of this file are subject to the terms of the 12463 * Common Development and Distribution License, Version 1.0 only 12464 * (the "License"). You may not use this file except in compliance 12465 * with the License. 12466 * 12467 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12468 * or http://www.opensolaris.org/os/licensing. 12469 * See the License for the specific language governing permissions 12470 * and limitations under the License. 12471 * 12472 * When distributing Covered Code, include this CDDL HEADER in each 12473 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12474 * If applicable, add the following below this CDDL HEADER, with the 12475 * fields enclosed by brackets "[]" replaced with your own identifying 12476 * information: Portions Copyright [yyyy] [name of copyright owner] 12477 * 12478 * CDDL HEADER END 12479 */ 12480 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12481 /* All Rights Reserved */ 12482 12483 12484 /* 12485 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12486 * 12487 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. 12488 * All rights reserved. 12489 */ 12490 12491 /* 12492 * Copyright 2015, Joyent, Inc. 12493 */ 12494 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 12495 /* 12496 * Structure of file descriptor/event pairs supplied in 12497 * the poll arrays. 12498 */ 12499 typedef struct pollfd { 12500 int fd; /* file desc to poll */ 12501 short events; /* events of interest on fd */ 12502 short revents; /* events that occurred on fd */ 12503 } pollfd_t; 12504 12505 typedef unsigned long nfds_t; 12506 12507 /* 12508 * Testable select events 12509 */ 12510 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 12511 /* 12512 * Non-testable poll events (may not be specified in events field, 12513 * but may be returned in revents field). 12514 */ 12515 12516 12517 12518 12519 /* 12520 * These events will never be specified in revents, but may be specified in 12521 * events to control /dev/poll behavior. 12522 */ 12523 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 12524 int poll(struct pollfd *, nfds_t, int); 12525 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12526 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 12527 /* 12528 * CDDL HEADER START 12529 * 12530 * The contents of this file are subject to the terms of the 12531 * Common Development and Distribution License, Version 1.0 only 12532 * (the "License"). You may not use this file except in compliance 12533 * with the License. 12534 * 12535 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12536 * or http://www.opensolaris.org/os/licensing. 12537 * See the License for the specific language governing permissions 12538 * and limitations under the License. 12539 * 12540 * When distributing Covered Code, include this CDDL HEADER in each 12541 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12542 * If applicable, add the following below this CDDL HEADER, with the 12543 * fields enclosed by brackets "[]" replaced with your own identifying 12544 * information: Portions Copyright [yyyy] [name of copyright owner] 12545 * 12546 * CDDL HEADER END 12547 */ 12548 /* 12549 * Copyright (c) 1997-1998 by Sun Microsystems, Inc. 12550 * All rights reserved. 12551 */ 12552 12553 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12554 /* All Rights Reserved */ 12555 12556 12557 12558 12559 12560 #pragma ident "%Z%%M% %I% %E% SMI" 12561 12562 12563 12564 12565 12566 /* 12567 * This file contains all machine-dependent declarations 12568 * in STREAMS. 12569 */ 12570 12571 /* 12572 * Copy data from one data buffer to another. 12573 * The addresses must be word aligned - if not, use bcopy! 12574 */ 12575 12576 12577 /* 12578 * save the address of the calling function on the 3b2 to 12579 * enable tracking of who is allocating message blocks 12580 */ 12581 12582 12583 /* 12584 * macro to check pointer alignment 12585 * (true if alignment is sufficient for worst case) 12586 */ 12587 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12588 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 12589 /* 12590 * CDDL HEADER START 12591 * 12592 * The contents of this file are subject to the terms of the 12593 * Common Development and Distribution License (the "License"). 12594 * You may not use this file except in compliance with the License. 12595 * 12596 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12597 * or http://www.opensolaris.org/os/licensing. 12598 * See the License for the specific language governing permissions 12599 * and limitations under the License. 12600 * 12601 * When distributing Covered Code, include this CDDL HEADER in each 12602 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12603 * If applicable, add the following below this CDDL HEADER, with the 12604 * fields enclosed by brackets "[]" replaced with your own identifying 12605 * information: Portions Copyright [yyyy] [name of copyright owner] 12606 * 12607 * CDDL HEADER END 12608 */ 12609 /* 12610 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 12611 * Use is subject to license terms. 12612 */ 12613 12614 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 12615 /* All Rights Reserved */ 12616 12617 /* 12618 * Portions of this source code were derived from Berkeley 4.3 BSD 12619 * under license from the Regents of the University of California. 12620 */ 12621 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12622 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 12623 /* 12624 * CDDL HEADER START 12625 * 12626 * The contents of this file are subject to the terms of the 12627 * Common Development and Distribution License, Version 1.0 only 12628 * (the "License"). You may not use this file except in compliance 12629 * with the License. 12630 * 12631 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12632 * or http://www.opensolaris.org/os/licensing. 12633 * See the License for the specific language governing permissions 12634 * and limitations under the License. 12635 * 12636 * When distributing Covered Code, include this CDDL HEADER in each 12637 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12638 * If applicable, add the following below this CDDL HEADER, with the 12639 * fields enclosed by brackets "[]" replaced with your own identifying 12640 * information: Portions Copyright [yyyy] [name of copyright owner] 12641 * 12642 * CDDL HEADER END 12643 */ 12644 /* 12645 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 12646 * All rights reserved. 12647 */ 12648 12649 /* 12650 * t_lock.h: Prototypes for disp_locks, plus include files 12651 * that describe the interfaces to kernel synch. 12652 * objects. 12653 */ 12654 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12655 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 12656 /* 12657 * CDDL HEADER START 12658 * 12659 * The contents of this file are subject to the terms of the 12660 * Common Development and Distribution License, Version 1.0 only 12661 * (the "License"). You may not use this file except in compliance 12662 * with the License. 12663 * 12664 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12665 * or http://www.opensolaris.org/os/licensing. 12666 * See the License for the specific language governing permissions 12667 * and limitations under the License. 12668 * 12669 * When distributing Covered Code, include this CDDL HEADER in each 12670 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12671 * If applicable, add the following below this CDDL HEADER, with the 12672 * fields enclosed by brackets "[]" replaced with your own identifying 12673 * information: Portions Copyright [yyyy] [name of copyright owner] 12674 * 12675 * CDDL HEADER END 12676 */ 12677 /* 12678 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 12679 * Use is subject to license terms. 12680 */ 12681 12682 12683 12684 12685 #pragma ident "%Z%%M% %I% %E% SMI" 12686 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 12687 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 12688 /* 12689 * CDDL HEADER START 12690 * 12691 * The contents of this file are subject to the terms of the 12692 * Common Development and Distribution License (the "License"). 12693 * You may not use this file except in compliance with the License. 12694 * 12695 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12696 * or http://www.opensolaris.org/os/licensing. 12697 * See the License for the specific language governing permissions 12698 * and limitations under the License. 12699 * 12700 * 12701 * When distributing Covered Code, include this CDDL HEADER in each 12702 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12703 * If applicable, add the following below this CDDL HEADER, with the 12704 * fields enclosed by brackets "[]" replaced with your own identifying 12705 * information: Portions Copyright [yyyy] [name of copyright owner] 12706 * 12707 * CDDL HEADER END 12708 */ 12709 12710 /* 12711 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 12712 * Use is subject to license terms. 12713 * Copyright 2016 Joyent, Inc. 12714 */ 12715 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 12716 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 12717 /* 12718 * XXX Ick. This type needs to be visible outside the above guard because 12719 * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. 12720 * If we can make proc internals less visible, (which we obviously should) 12721 * then this can be invisible too. 12722 */ 12723 typedef unsigned int model_t; 12724 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 12725 12726 12727 12728 12729 12730 /* 12731 * Data queue. 12732 * 12733 * NOTE: The *only* public fields are documented in queue(9S). 12734 * Everything else is implementation-private. 12735 * 12736 * The locking rules for the queue_t structure are extremely subtle and vary 12737 * widely depending on the field in question. As such, each field is 12738 * annotated according to the following legend: 12739 * 12740 * Q9S: The field is documented in queue(9S) and may be accessed without 12741 * locks by a STREAMS module when inside an entry point (e.g., put(9E)). 12742 * However, no fields can be directly modified unless q_lock is held 12743 * (which is not possible in a DDI compliant STREAMS module), with the 12744 * following exceptions: 12745 * 12746 * - q_ptr: can be modified as per the rules of the STREAMS module. 12747 * The STREAMS framework ignores q_ptr and thus imposes *no* 12748 * locking rules on it. 12749 * - q_qinfo: can be modified before qprocson(). 12750 * 12751 * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the 12752 * rules of the STREAMS module. The STREAMS framework never 12753 * modifies these fields, and is tolerant of temporarily 12754 * stale field values. 12755 * 12756 * In general, the STREAMS framework employs one of the following 12757 * techniques to ensure STREAMS modules can safely access Q9S fields: 12758 * 12759 * - The field is only modified by the framework when the stream is 12760 * locked with strlock() (q_next). 12761 * 12762 * - The field is modified by the framework, but the modifies are 12763 * atomic, and temporarily stale values are harmless (q_count, 12764 * q_first, q_last). 12765 * 12766 * - The field is modified by the framework, but the field's visible 12767 * values are either constant or directly under the control 12768 * of the STREAMS module itself (q_flag). 12769 * 12770 * QLK: The field must be accessed or modified under q_lock, except when 12771 * the stream has been locked with strlock(). If multiple q_locks must 12772 * be acquired, q_locks at higher addresses must be taken first. 12773 * 12774 * STR: The field can be accessed without a lock, but must be modified under 12775 * strlock(). 12776 * 12777 * SQLK: The field must be accessed or modified under SQLOCK(). 12778 * 12779 * NOLK: The field can be accessed without a lock, but can only be modified 12780 * when the queue_t is not known to any other threads. 12781 * 12782 * SVLK: The field must be accessed or modified under the service_queue lock. 12783 * Note that service_lock must be taken after any needed q_locks, 12784 * and that no other lock should be taken while service_lock is held. 12785 * 12786 * In addition, it is always acceptable to modify a field that is not yet 12787 * known to any other threads -- and other special case exceptions exist in 12788 * the code. Also, q_lock is used with q_wait to implement a stream head 12789 * monitor for reads and writes. 12790 */ 12791 typedef struct queue { 12792 struct qinit *q_qinfo; /* Q9S: Q processing procedure */ 12793 struct msgb *q_first; /* Q9S: first message in Q */ 12794 struct msgb *q_last; /* Q9S: last message in Q */ 12795 struct queue *q_next; /* Q9S: next Q in stream */ 12796 struct queue *q_link; /* SVLK: next Q for scheduling */ 12797 void *q_ptr; /* Q9S: module-specific data */ 12798 size_t q_count; /* Q9S: number of bytes on Q */ 12799 uint_t q_flag; /* Q9S: Q state */ 12800 ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ 12801 ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ 12802 size_t q_hiwat; /* Q9S: Q high water mark */ 12803 size_t q_lowat; /* Q9S: Q low water mark */ 12804 struct qband *q_bandp; /* QLK: band flow information */ 12805 kmutex_t q_lock; /* NOLK: structure lock */ 12806 struct stdata *q_stream; /* NOLK: stream backpointer */ 12807 struct syncq *q_syncq; /* NOLK: associated syncq */ 12808 unsigned char q_nband; /* QLK: number of bands */ 12809 kcondvar_t q_wait; /* NOLK: read/write sleep CV */ 12810 struct queue *q_nfsrv; /* STR: next Q with svc routine */ 12811 ushort_t q_draining; /* QLK: Q is draining */ 12812 short q_struiot; /* QLK: sync streams Q UIO mode */ 12813 clock_t q_qtstamp; /* QLK: when Q was enabled */ 12814 size_t q_mblkcnt; /* QLK: mblk count */ 12815 uint_t q_syncqmsgs; /* QLK: syncq message count */ 12816 size_t q_rwcnt; /* QLK: # threads in rwnext() */ 12817 pri_t q_spri; /* QLK: Q scheduling priority */ 12818 12819 /* 12820 * Syncq scheduling 12821 */ 12822 struct msgb *q_sqhead; /* QLK: first syncq message */ 12823 struct msgb *q_sqtail; /* QLK: last syncq message */ 12824 struct queue *q_sqnext; /* SQLK: next Q on syncq list */ 12825 struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ 12826 uint_t q_sqflags; /* SQLK: syncq flags */ 12827 clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ 12828 12829 /* 12830 * NOLK: Reference to the queue's module's implementation 12831 * structure. This will be NULL for queues associated with drivers. 12832 */ 12833 struct fmodsw_impl *q_fp; 12834 } queue_t; 12835 12836 /* 12837 * Queue flags; unused flags not documented in queue(9S) can be recycled. 12838 */ 12839 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 12840 /* UNUSED 0x00000200 was QHLIST */ 12841 /* UNUSED 0x00000400 was QUNSAFE */ 12842 12843 12844 12845 12846 12847 12848 /* all MT type flags */ 12849 12850 12851 12852 12853 12854 12855 /* UNUSED 0x00400000 was QHOT */ 12856 /* UNUSED 0x00800000 was QNEXTHOT */ 12857 /* UNUSED 0x01000000 was _QNEXTLESS */ 12858 12859 12860 12861 12862 /* direct interface to/from sockfs */ 12863 12864 /* queue sqflags (protected by SQLOCK). */ 12865 12866 12867 /* This is also noted by the */ 12868 /* q_draining field, but this one is */ 12869 /* protected by SQLOCK */ 12870 12871 /* 12872 * Structure that describes the separate information 12873 * for each priority band in the queue. 12874 */ 12875 typedef struct qband { 12876 struct qband *qb_next; /* next band's info */ 12877 size_t qb_count; /* number of bytes in band */ 12878 struct msgb *qb_first; /* beginning of band's data */ 12879 struct msgb *qb_last; /* end of band's data */ 12880 size_t qb_hiwat; /* high water mark for band */ 12881 size_t qb_lowat; /* low water mark for band */ 12882 uint_t qb_flag; /* see below */ 12883 size_t qb_mblkcnt; /* mblk counter for runaway msgs */ 12884 } qband_t; 12885 12886 /* 12887 * qband flags 12888 */ 12889 12890 12891 12892 12893 /* 12894 * Maximum number of bands. 12895 */ 12896 12897 12898 /* 12899 * Fields that can be manipulated through strqset() and strqget(). 12900 */ 12901 typedef enum qfields { 12902 QHIWAT = 0, /* q_hiwat or qb_hiwat */ 12903 QLOWAT = 1, /* q_lowat or qb_lowat */ 12904 QMAXPSZ = 2, /* q_maxpsz */ 12905 QMINPSZ = 3, /* q_minpsz */ 12906 QCOUNT = 4, /* q_count or qb_count */ 12907 QFIRST = 5, /* q_first or qb_first */ 12908 QLAST = 6, /* q_last or qb_last */ 12909 QFLAG = 7, /* q_flag or qb_flag */ 12910 QSTRUIOT = 8, /* q_struiot */ 12911 QBAD = 9 12912 } qfields_t; 12913 12914 /* 12915 * Module information structure 12916 */ 12917 struct module_info { 12918 ushort_t mi_idnum; /* module id number */ 12919 char *mi_idname; /* module name */ 12920 ssize_t mi_minpsz; /* min packet size accepted */ 12921 ssize_t mi_maxpsz; /* max packet size accepted */ 12922 size_t mi_hiwat; /* hi-water mark */ 12923 size_t mi_lowat; /* lo-water mark */ 12924 }; 12925 12926 /* 12927 * queue information structure (with Synchronous STREAMS extensions) 12928 */ 12929 struct qinit { 12930 int (*qi_putp)(); /* put procedure */ 12931 int (*qi_srvp)(); /* service procedure */ 12932 int (*qi_qopen)(); /* called on startup */ 12933 int (*qi_qclose)(); /* called on finish */ 12934 int (*qi_qadmin)(); /* for future use */ 12935 struct module_info *qi_minfo; /* module information structure */ 12936 struct module_stat *qi_mstat; /* module statistics structure */ 12937 int (*qi_rwp)(); /* r/w procedure */ 12938 int (*qi_infop)(); /* information procedure */ 12939 int qi_struiot; /* stream uio type for struio() */ 12940 }; 12941 12942 /* 12943 * Values for qi_struiot and q_struiot: 12944 */ 12945 12946 12947 12948 12949 /* 12950 * Streamtab (used in cdevsw and fmodsw to point to module or driver) 12951 */ 12952 struct streamtab { 12953 struct qinit *st_rdinit; 12954 struct qinit *st_wrinit; 12955 struct qinit *st_muxrinit; 12956 struct qinit *st_muxwinit; 12957 }; 12958 12959 /* 12960 * Structure sent to mux drivers to indicate a link. 12961 */ 12962 struct linkblk { 12963 queue_t *l_qtop; /* lowest level write queue of upper stream */ 12964 /* (set to NULL for persistent links) */ 12965 queue_t *l_qbot; /* highest level write queue of lower stream */ 12966 int l_index; /* index for lower stream. */ 12967 }; 12968 12969 /* 12970 * Esballoc data buffer freeing routine 12971 */ 12972 typedef struct free_rtn { 12973 void (*free_func)(); 12974 caddr_t free_arg; 12975 } frtn_t; 12976 12977 /* 12978 * Data block descriptor 12979 * 12980 * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, 12981 * as described in datab(9S). Everything else is implementation-private. 12982 */ 12983 12984 12985 12986 typedef struct datab { 12987 frtn_t *db_frtnp; 12988 unsigned char *db_base; 12989 unsigned char *db_lim; 12990 unsigned char db_ref; 12991 unsigned char db_type; 12992 unsigned char db_flags; 12993 unsigned char db_struioflag; 12994 pid_t db_cpid; /* cached pid, needs verification */ 12995 void *db_cache; /* kmem cache descriptor */ 12996 struct msgb *db_mblk; 12997 void (*db_free)(struct msgb *, struct datab *); 12998 void (*db_lastfree)(struct msgb *, struct datab *); 12999 intptr_t db_cksumstart; 13000 intptr_t db_cksumend; 13001 intptr_t db_cksumstuff; 13002 union { 13003 double enforce_alignment; 13004 unsigned char data[8]; 13005 struct { 13006 union { 13007 uint32_t u32; 13008 uint16_t u16; 13009 } cksum_val; /* used to store calculated cksum */ 13010 uint16_t flags; 13011 uint16_t pad; 13012 } cksum; 13013 /* 13014 * Union used for future extensions (pointer to data ?). 13015 */ 13016 } db_struioun; 13017 struct fthdr *db_fthdr; 13018 cred_t *db_credp; /* credential */ 13019 } dblk_t; 13020 13021 13022 13023 13024 /* 13025 * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>). 13026 */ 13027 13028 13029 13030 /* 13031 * Used by GLDv2 to store the TCI information. 13032 */ 13033 13034 13035 /* 13036 * Message block descriptor 13037 */ 13038 typedef struct msgb { 13039 struct msgb *b_next; 13040 struct msgb *b_prev; 13041 struct msgb *b_cont; 13042 unsigned char *b_rptr; 13043 unsigned char *b_wptr; 13044 struct datab *b_datap; 13045 unsigned char b_band; 13046 unsigned char b_tag; 13047 unsigned short b_flag; 13048 queue_t *b_queue; /* for sync queues */ 13049 } mblk_t; 13050 13051 /* 13052 * bcache descriptor 13053 */ 13054 typedef struct bcache { 13055 kmutex_t mutex; 13056 struct kmem_cache *buffer_cache; 13057 struct kmem_cache *dblk_cache; 13058 int alloc; 13059 int destroy; 13060 size_t size; 13061 uint_t align; 13062 } bcache_t; 13063 13064 /* 13065 * db_flags values (all implementation private!) 13066 */ 13067 13068 13069 13070 13071 /* 13072 * db_struioflag values: 13073 */ 13074 13075 13076 13077 13078 13079 13080 /* 13081 * Message flags. These are interpreted by the stream head. 13082 */ 13083 13084 13085 /* write side of stream */ 13086 13087 /* UNUSED 0x08 was MSGNOGET (can be recycled) */ 13088 13089 13090 13091 13092 /* 13093 * Streams message types. 13094 */ 13095 13096 /* 13097 * Data and protocol messages (regular and priority) 13098 */ 13099 13100 13101 13102 13103 /* 13104 * Control messages (regular and priority) 13105 */ 13106 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13107 /* 13108 * Control messages (high priority; go to head of queue) 13109 */ 13110 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13111 /* 13112 * Queue message class definitions. 13113 */ 13114 13115 13116 13117 /* 13118 * IOCTL structure - this structure is the format of the M_IOCTL message type. 13119 */ 13120 13121 struct iocblk { 13122 int ioc_cmd; /* ioctl command type */ 13123 cred_t *ioc_cr; /* full credentials */ 13124 uint_t ioc_id; /* ioctl id */ 13125 uint_t ioc_flag; /* see below */ 13126 size_t ioc_count; /* count of bytes in data field */ 13127 int ioc_rval; /* return value */ 13128 int ioc_error; /* error code */ 13129 }; 13130 # 501 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13131 typedef struct iocblk *IOCP; 13132 13133 /* {ioc,cp}_flags values */ 13134 13135 13136 13137 13138 13139 13140 13141 /* 13142 * Is the ioctl data formatted for our native model? 13143 */ 13144 13145 13146 13147 /* 13148 * structure for the M_COPYIN and M_COPYOUT message types. 13149 */ 13150 13151 struct copyreq { 13152 int cq_cmd; /* ioctl command (from ioc_cmd) */ 13153 cred_t *cq_cr; /* full credentials (from ioc_cmd) */ 13154 uint_t cq_id; /* ioctl id (from ioc_id) */ 13155 uint_t cq_flag; /* must be zero */ 13156 mblk_t *cq_private; /* private state information */ 13157 caddr_t cq_addr; /* address to copy data to/from */ 13158 size_t cq_size; /* number of bytes to copy */ 13159 }; 13160 # 543 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13161 /* 13162 * structure for the M_IOCDATA message type. 13163 */ 13164 13165 struct copyresp { 13166 int cp_cmd; /* ioctl command (from ioc_cmd) */ 13167 cred_t *cp_cr; /* full credentials (from ioc_cmd) */ 13168 uint_t cp_id; /* ioctl id (from ioc_id) */ 13169 uint_t cp_flag; /* datamodel IOC_ flags; see above */ 13170 mblk_t *cp_private; /* private state information */ 13171 caddr_t cp_rval; /* status of request: 0 -> success */ 13172 /* non-zero -> failure */ 13173 }; 13174 # 571 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13175 /* 13176 * Since these structures are all intended to travel in the same message 13177 * at different stages of a STREAMS ioctl, this union is used to determine 13178 * the message size in strdoioctl(). 13179 */ 13180 union ioctypes { 13181 struct iocblk iocblk; 13182 struct copyreq copyreq; 13183 struct copyresp copyresp; 13184 }; 13185 13186 /* 13187 * Options structure for M_SETOPTS message. This is sent upstream 13188 * by a module or driver to set stream head options. 13189 */ 13190 struct stroptions { 13191 uint_t so_flags; /* options to set */ 13192 short so_readopt; /* read option */ 13193 ushort_t so_wroff; /* write offset */ 13194 ssize_t so_minpsz; /* minimum read packet size */ 13195 ssize_t so_maxpsz; /* maximum read packet size */ 13196 size_t so_hiwat; /* read queue high water mark */ 13197 size_t so_lowat; /* read queue low water mark */ 13198 unsigned char so_band; /* band for water marks */ 13199 ushort_t so_erropt; /* error option */ 13200 ssize_t so_maxblk; /* maximum message block size */ 13201 ushort_t so_copyopt; /* copy options (see stropts.h) */ 13202 ushort_t so_tail; /* space available at the end */ 13203 }; 13204 13205 /* flags for stream options set message */ 13206 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 13207 /* 13208 * Miscellaneous parameters and flags. 13209 */ 13210 13211 /* 13212 * Values for stream flag in open to indicate module open, clone open, 13213 * and the return value for failure. 13214 */ 13215 13216 13217 13218 13219 /* 13220 * Priority definitions for block allocation. 13221 */ 13222 13223 13224 13225 13226 /* 13227 * Value for packet size that denotes infinity 13228 */ 13229 13230 13231 /* 13232 * Flags for flushq() 13233 */ 13234 13235 13236 13237 /* 13238 * Flag for transparent ioctls 13239 */ 13240 13241 13242 /* 13243 * Stream head default high/low water marks 13244 */ 13245 13246 13247 13248 /* 13249 * qwriter perimeter types 13250 */ 13251 13252 13253 13254 /* 13255 * Definitions of Streams macros and function interfaces. 13256 */ 13257 13258 /* 13259 * canenable - check if queue can be enabled by putq(). 13260 */ 13261 13262 13263 /* 13264 * Test if data block type is one of the data messages (i.e. not a control 13265 * message). 13266 */ 13267 13268 13269 13270 13271 13272 13273 13274 /* 13275 * Extract queue class of message block. 13276 */ 13277 13278 13279 /* 13280 * Align address on next lower word boundary. 13281 */ 13282 13283 13284 /* 13285 * Find the max size of data block. 13286 */ 13287 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 13288 13289 /* 13290 * Symbols such as htonl() are required to be exposed through this file, 13291 * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h> 13292 */ 13293 13294 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 13295 /* 13296 * CDDL HEADER START 13297 * 13298 * The contents of this file are subject to the terms of the 13299 * Common Development and Distribution License (the "License"). 13300 * You may not use this file except in compliance with the License. 13301 * 13302 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13303 * or http://www.opensolaris.org/os/licensing. 13304 * See the License for the specific language governing permissions 13305 * and limitations under the License. 13306 * 13307 * When distributing Covered Code, include this CDDL HEADER in each 13308 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13309 * If applicable, add the following below this CDDL HEADER, with the 13310 * fields enclosed by brackets "[]" replaced with your own identifying 13311 * information: Portions Copyright [yyyy] [name of copyright owner] 13312 * 13313 * CDDL HEADER END 13314 */ 13315 13316 /* 13317 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13318 * Use is subject to license terms. 13319 */ 13320 13321 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 13322 /* All Rights Reserved */ 13323 13324 /* 13325 * University Copyright- Copyright (c) 1982, 1986, 1988 13326 * The Regents of the University of California 13327 * All Rights Reserved 13328 * 13329 * University Acknowledgment- Portions of this document are derived from 13330 * software developed by the University of California, Berkeley, and its 13331 * contributors. 13332 */ 13333 13334 13335 13336 13337 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13338 /* 13339 * CDDL HEADER START 13340 * 13341 * The contents of this file are subject to the terms of the 13342 * Common Development and Distribution License (the "License"). 13343 * You may not use this file except in compliance with the License. 13344 * 13345 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13346 * or http://www.opensolaris.org/os/licensing. 13347 * See the License for the specific language governing permissions 13348 * and limitations under the License. 13349 * 13350 * 13351 * When distributing Covered Code, include this CDDL HEADER in each 13352 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13353 * If applicable, add the following below this CDDL HEADER, with the 13354 * fields enclosed by brackets "[]" replaced with your own identifying 13355 * information: Portions Copyright [yyyy] [name of copyright owner] 13356 * 13357 * CDDL HEADER END 13358 */ 13359 13360 /* 13361 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13362 * Use is subject to license terms. 13363 * Copyright 2016 Joyent, Inc. 13364 */ 13365 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 13366 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 13367 /* 13368 * CDDL HEADER START 13369 * 13370 * The contents of this file are subject to the terms of the 13371 * Common Development and Distribution License, Version 1.0 only 13372 * (the "License"). You may not use this file except in compliance 13373 * with the License. 13374 * 13375 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13376 * or http://www.opensolaris.org/os/licensing. 13377 * See the License for the specific language governing permissions 13378 * and limitations under the License. 13379 * 13380 * When distributing Covered Code, include this CDDL HEADER in each 13381 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13382 * If applicable, add the following below this CDDL HEADER, with the 13383 * fields enclosed by brackets "[]" replaced with your own identifying 13384 * information: Portions Copyright [yyyy] [name of copyright owner] 13385 * 13386 * CDDL HEADER END 13387 */ 13388 /* 13389 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13390 * 13391 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13392 * Use is subject to license terms. 13393 */ 13394 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 13395 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13396 /* 13397 * macros for conversion between host and (internet) network byte order 13398 */ 13399 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13400 typedef uint16_t in_port_t; 13401 13402 13403 13404 13405 typedef uint32_t in_addr_t; 13406 13407 13408 13409 extern uint32_t htonl(uint32_t); 13410 extern uint16_t htons(uint16_t); 13411 extern uint32_t ntohl(uint32_t); 13412 extern uint16_t ntohs(uint16_t); 13413 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13414 extern uint64_t htonll(uint64_t); 13415 extern uint64_t ntohll(uint64_t); 13416 13417 13418 13419 13420 13421 13422 /* 13423 * Macros to reverse byte order 13424 */ 13425 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13426 /* 13427 * Macros to convert from a specific byte order to/from native byte order 13428 */ 13429 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13430 /* 13431 * Macros to read unaligned values from a specific byte order to 13432 * native byte order 13433 */ 13434 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 13435 /* 13436 * Macros to write unaligned values from native byte order to a specific byte 13437 * order. 13438 */ 13439 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 13440 13441 13442 13443 13444 13445 13446 13447 /* 13448 * Note: IPv4 address data structures usage conventions. 13449 * The "in_addr_t" type below (required by Unix standards) 13450 * is NOT a typedef of "struct in_addr" and violates the usual 13451 * conventions where "struct <name>" and <name>_t are corresponding 13452 * typedefs. 13453 * To minimize confusion, kernel data structures/usage prefers use 13454 * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" 13455 * The user level APIs continue to follow the historic popular 13456 * practice of using "struct in_addr". 13457 */ 13458 13459 13460 13461 13462 13463 13464 13465 typedef uint32_t ipaddr_t; 13466 13467 13468 13469 13470 struct in6_addr { 13471 union { 13472 /* 13473 * Note: Static initalizers of "union" type assume 13474 * the constant on the RHS is the type of the first member 13475 * of union. 13476 * To make static initializers (and efficient usage) work, 13477 * the order of members exposed to user and kernel view of 13478 * this data structure is different. 13479 * User environment sees specified uint8_t type as first 13480 * member whereas kernel sees most efficient type as 13481 * first member. 13482 */ 13483 13484 13485 13486 13487 uint8_t _S6_u8[16]; /* IPv6 address */ 13488 uint32_t _S6_u32[4]; /* IPv6 address */ 13489 13490 uint32_t __S6_align; /* Align on 32 bit boundary */ 13491 } _S6_un; 13492 }; 13493 13494 13495 13496 13497 13498 13499 13500 typedef struct in6_addr in6_addr_t; 13501 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13502 /* 13503 * Protocols 13504 * 13505 * Some of these constant names are copied for the DTrace IP provider in 13506 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 13507 * in sync. 13508 */ 13509 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13510 /* Transmission Protocol */ 13511 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13512 /* 13513 * Port/socket numbers: network standard functions 13514 * 13515 * Entries should exist here for each port number compiled into an ON 13516 * component, such as snoop. 13517 */ 13518 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13519 /* 13520 * Port/socket numbers: host specific functions 13521 */ 13522 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13523 /* 13524 * Internet Key Exchange (IKE) ports 13525 */ 13526 13527 13528 13529 /* 13530 * UNIX TCP sockets 13531 */ 13532 13533 13534 13535 13536 13537 13538 /* 13539 * UNIX UDP sockets 13540 */ 13541 13542 13543 13544 13545 13546 13547 13548 /* 13549 * DHCPv6 UDP ports 13550 */ 13551 13552 13553 13554 13555 13556 /* 13557 * Ports < IPPORT_RESERVED are reserved for 13558 * privileged processes (e.g. root). 13559 * Ports > IPPORT_USERRESERVED are reserved 13560 * for servers, not necessarily privileged. 13561 */ 13562 13563 13564 13565 /* 13566 * Link numbers 13567 */ 13568 13569 13570 13571 13572 /* 13573 * IPv4 Internet address 13574 * This definition contains obsolete fields for compatibility 13575 * with SunOS 3.x and 4.2bsd. The presence of subnets renders 13576 * divisions into fixed fields misleading at best. New code 13577 * should use only the s_addr field. 13578 */ 13579 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13580 struct in_addr { 13581 union { 13582 struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; 13583 struct { uint16_t s_w1, s_w2; } S_un_w; 13584 13585 uint32_t S_addr; 13586 13587 13588 13589 } S_un; 13590 13591 13592 13593 13594 13595 13596 }; 13597 13598 /* 13599 * Definitions of bits in internet address integers. 13600 * On subnets, the decomposition of addresses to host and net parts 13601 * is done according to subnet mask, not the masks here. 13602 * 13603 * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, 13604 * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto 13605 * obsolete". IN_MULTICAST macro should be used to test if a address 13606 * is a multicast address. 13607 */ 13608 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13609 /* 13610 * We have removed CLASS E checks from the kernel 13611 * But we preserve these defines for userland in order 13612 * to avoid compile breakage of some 3rd party piece of software 13613 */ 13614 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13615 /* Scoped IPv4 prefixes (in host byte-order) */ 13616 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13617 /* RFC 3927 IPv4 link local address (i in host byte-order) */ 13618 13619 13620 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ 13621 13622 13623 13624 13625 13626 13627 /* 13628 * Define a macro to stuff the loopback address into an Internet address 13629 */ 13630 13631 13632 13633 13634 13635 13636 /* 13637 * IPv4 Socket address. 13638 */ 13639 struct sockaddr_in { 13640 sa_family_t sin_family; 13641 in_port_t sin_port; 13642 struct in_addr sin_addr; 13643 13644 char sin_zero[8]; 13645 13646 13647 13648 }; 13649 13650 13651 /* 13652 * IPv6 socket address. 13653 */ 13654 struct sockaddr_in6 { 13655 sa_family_t sin6_family; 13656 in_port_t sin6_port; 13657 uint32_t sin6_flowinfo; 13658 struct in6_addr sin6_addr; 13659 uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ 13660 uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ 13661 }; 13662 13663 /* 13664 * Macros for accessing the traffic class and flow label fields from 13665 * sin6_flowinfo. 13666 * These are designed to be applied to a 32-bit value. 13667 */ 13668 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13669 /* masks */ 13670 13671 13672 13673 13674 13675 /* 13676 * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for 13677 * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) 13678 * only. They need to be different for User/Kernel versions because union 13679 * component data structure is defined differently (it is identical at 13680 * binary representation level). 13681 * 13682 * const struct in6_addr IN6ADDR_ANY_INIT; 13683 * const struct in6_addr IN6ADDR_LOOPBACK_INIT; 13684 */ 13685 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13686 /* 13687 * RFC 2553 specifies the following macros. Their type is defined 13688 * as "int" in the RFC but they only have boolean significance 13689 * (zero or non-zero). For the purposes of our comment notation, 13690 * we assume a hypothetical type "bool" defined as follows to 13691 * write the prototypes assumed for macros in our comments better. 13692 * 13693 * typedef int bool; 13694 */ 13695 13696 /* 13697 * IN6 macros used to test for special IPv6 addresses 13698 * (Mostly from spec) 13699 * 13700 * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); 13701 * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); 13702 * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); 13703 * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); 13704 * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); 13705 * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); 13706 * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 13707 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); 13708 * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 13709 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); 13710 * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); 13711 * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); 13712 * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); 13713 * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 13714 * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 13715 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, 13716 * const struct in6_addr *); -- Not from RFC2553 13717 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 13718 */ 13719 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13720 /* 13721 * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY 13722 * Note: This macro is currently NOT defined in RFC2553 specification 13723 * and not a standard macro that portable applications should use. 13724 */ 13725 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13726 /* Exclude loopback and unspecified address */ 13727 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13728 /* 13729 * Note: 13730 * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 13731 * specification and not a standard macro that portable applications 13732 * should use. 13733 */ 13734 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13735 /* 13736 * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or 13737 * RFC, and shouldn't be used by portable applications. It is used to see 13738 * if an address is a solicited-node multicast address, which is prefixed 13739 * with ff02:0:0:0:0:1:ff00::/104. 13740 */ 13741 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13742 /* 13743 * Macros to a) test for 6to4 IPv6 address, and b) to test if two 13744 * 6to4 addresses have the same /48 prefix, and, hence, are from the 13745 * same 6to4 site. 13746 */ 13747 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13748 /* 13749 * IN6_IS_ADDR_LINKSCOPE 13750 * Identifies an address as being either link-local, link-local multicast or 13751 * node-local multicast. All types of addresses are considered to be unique 13752 * within the scope of a given link. 13753 */ 13754 13755 13756 13757 13758 /* 13759 * Useful utility macros for operations with IPv6 addresses 13760 * Note: These macros are NOT defined in the RFC2553 or any other 13761 * standard specification and are not standard macros that portable 13762 * applications should use. 13763 */ 13764 13765 /* 13766 * IN6_V4MAPPED_TO_INADDR 13767 * IN6_V4MAPPED_TO_IPADDR 13768 * Assign a IPv4-Mapped IPv6 address to an IPv4 address. 13769 * Note: These macros are NOT defined in RFC2553 or any other standard 13770 * specification and are not macros that portable applications should 13771 * use. 13772 * 13773 * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); 13774 * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); 13775 * 13776 */ 13777 13778 13779 13780 13781 13782 /* 13783 * IN6_INADDR_TO_V4MAPPED 13784 * IN6_IPADDR_TO_V4MAPPED 13785 * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped 13786 * address. 13787 * Note: These macros are NOT defined in RFC2553 or any other standard 13788 * specification and are not macros that portable applications should 13789 * use. 13790 * 13791 * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); 13792 * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); 13793 * 13794 */ 13795 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13796 /* 13797 * IN6_6TO4_TO_V4ADDR 13798 * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 13799 * address. 13800 * Note: This macro is NOT defined in RFC2553 or any other standard 13801 * specification and is not a macro that portable applications should 13802 * use. 13803 * Note: we don't use the IPADDR form of the macro because we need 13804 * to do a bytewise copy; the V4ADDR in the 6to4 address is not 13805 * 32-bit aligned. 13806 * 13807 * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); 13808 * 13809 */ 13810 13811 13812 13813 13814 13815 13816 /* 13817 * IN6_V4ADDR_TO_6TO4 13818 * Given an IPv4 address and an IPv6 address for output, a 6to4 address 13819 * will be created from the IPv4 Address. 13820 * Note: This method for creating 6to4 addresses is not standardized 13821 * outside of Solaris. The newly created 6to4 address will be of the form 13822 * 2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and 13823 * HOSTID will equal 1. 13824 * 13825 * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) 13826 * 13827 */ 13828 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13829 /* 13830 * IN6_ARE_ADDR_EQUAL (defined in RFC2292) 13831 * Compares if IPv6 addresses are equal. 13832 * Note: Compares in order of high likelyhood of a miss so we minimize 13833 * compares. (Current heuristic order, compare in reverse order of 13834 * uint32_t units) 13835 * 13836 * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, 13837 * const struct in6_addr *); 13838 */ 13839 13840 13841 13842 13843 13844 13845 /* 13846 * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) 13847 * Compares if prefixed parts of IPv6 addresses are equal. 13848 * 13849 * uint32_t IN6_MASK_FROM_PREFIX(int, int); 13850 * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, 13851 * const struct in6_addr *, 13852 * int); 13853 */ 13854 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13855 /* 13856 * Options for use with [gs]etsockopt at the IP level. 13857 * 13858 * Note: Some of the IP_ namespace has conflict with and 13859 * and is exposed through <xti.h>. (It also requires exposing 13860 * options not implemented). The options with potential 13861 * for conflicts use #ifndef guards. 13862 */ 13863 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13864 /* 13865 * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in 13866 * is used to differentiate b/w the two. 13867 */ 13868 13869 13870 13871 13872 13873 /* 13874 * Different preferences that can be requested from IPSEC protocols. 13875 */ 13876 13877 13878 13879 13880 /* 13881 * This can be used with the setsockopt() call to set per socket security 13882 * options. When the application uses per-socket API, we will reflect 13883 * the request on both outbound and inbound packets. 13884 */ 13885 13886 typedef struct ipsec_req { 13887 uint_t ipsr_ah_req; /* AH request */ 13888 uint_t ipsr_esp_req; /* ESP request */ 13889 uint_t ipsr_self_encap_req; /* Self-Encap request */ 13890 uint8_t ipsr_auth_alg; /* Auth algs for AH */ 13891 uint8_t ipsr_esp_alg; /* Encr algs for ESP */ 13892 uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ 13893 } ipsec_req_t; 13894 13895 /* 13896 * MCAST_* options are protocol-independent. The actual definitions 13897 * are with the v6 options below; this comment is here to note the 13898 * namespace usage. 13899 * 13900 * #define MCAST_JOIN_GROUP 0x29 13901 * #define MCAST_LEAVE_GROUP 0x2a 13902 * #define MCAST_BLOCK_SOURCE 0x2b 13903 * #define MCAST_UNBLOCK_SOURCE 0x2c 13904 * #define MCAST_JOIN_SOURCE_GROUP 0x2d 13905 * #define MCAST_LEAVE_SOURCE_GROUP 0x2e 13906 */ 13907 13908 13909 /* 13910 * SunOS private (potentially not portable) IP_ option names 13911 */ 13912 13913 13914 13915 /* can be reused 0x44 */ 13916 13917 13918 /* 13919 * Option values and names (when !_XPG5) shared with <xti_inet.h> 13920 */ 13921 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13922 /* 13923 * The following option values are reserved by <xti_inet.h> 13924 * 13925 * T_IP_OPTIONS 0x107 - IP per-packet options 13926 * T_IP_TOS 0x108 - IP per packet type of service 13927 */ 13928 13929 /* 13930 * Default value constants for multicast attributes controlled by 13931 * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. 13932 */ 13933 13934 13935 13936 13937 /* 13938 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 13939 */ 13940 struct ip_mreq { 13941 struct in_addr imr_multiaddr; /* IP multicast address of group */ 13942 struct in_addr imr_interface; /* local IP address of interface */ 13943 }; 13944 13945 /* 13946 * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, 13947 * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. 13948 */ 13949 struct ip_mreq_source { 13950 struct in_addr imr_multiaddr; /* IP address of group */ 13951 struct in_addr imr_sourceaddr; /* IP address of source */ 13952 struct in_addr imr_interface; /* IP address of interface */ 13953 }; 13954 13955 /* 13956 * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on 13957 * IPv6 addresses. 13958 */ 13959 struct ipv6_mreq { 13960 struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ 13961 unsigned int ipv6mr_interface; /* interface index */ 13962 }; 13963 13964 /* 13965 * Use #pragma pack() construct to force 32-bit alignment on amd64. 13966 * This is needed to keep the structure size and offsets consistent 13967 * between a 32-bit app and the 64-bit amd64 kernel in structures 13968 * where 64-bit alignment would create gaps (in this case, structures 13969 * which have a uint32_t followed by a struct sockaddr_storage). 13970 */ 13971 13972 13973 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13974 #pragma pack(4) 13975 # 1038 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 13976 13977 13978 13979 /* 13980 * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. 13981 */ 13982 struct group_req { 13983 uint32_t gr_interface; /* interface index */ 13984 struct sockaddr_storage gr_group; /* group address */ 13985 }; 13986 13987 /* 13988 * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, 13989 * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. 13990 */ 13991 struct group_source_req { 13992 uint32_t gsr_interface; /* interface index */ 13993 struct sockaddr_storage gsr_group; /* group address */ 13994 struct sockaddr_storage gsr_source; /* source address */ 13995 }; 13996 13997 /* 13998 * Argument for SIOC[GS]MSFILTER ioctls 13999 */ 14000 struct group_filter { 14001 uint32_t gf_interface; /* interface index */ 14002 struct sockaddr_storage gf_group; /* multicast address */ 14003 uint32_t gf_fmode; /* filter mode */ 14004 uint32_t gf_numsrc; /* number of sources */ 14005 struct sockaddr_storage gf_slist[1]; /* source address */ 14006 }; 14007 14008 14009 14010 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14011 #pragma pack() 14012 # 1071 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14013 14014 14015 14016 14017 14018 14019 14020 /* 14021 * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) 14022 */ 14023 struct ip_msfilter { 14024 struct in_addr imsf_multiaddr; /* IP multicast address of group */ 14025 struct in_addr imsf_interface; /* local IP address of interface */ 14026 uint32_t imsf_fmode; /* filter mode */ 14027 uint32_t imsf_numsrc; /* number of sources in src_list */ 14028 struct in_addr imsf_slist[1]; /* start of source list */ 14029 }; 14030 14031 14032 14033 14034 14035 /* 14036 * Multicast source filter manipulation functions in libsocket; 14037 * defined in RFC 3678. 14038 */ 14039 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, 14040 uint_t, struct sockaddr_storage *); 14041 14042 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, 14043 uint_t *, struct sockaddr_storage *); 14044 14045 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, 14046 uint32_t, struct in_addr *); 14047 14048 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, 14049 uint32_t *, struct in_addr *); 14050 14051 /* 14052 * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() 14053 */ 14054 14055 14056 14057 /* 14058 * Argument struct for IP_PKTINFO option 14059 */ 14060 typedef struct in_pktinfo { 14061 unsigned int ipi_ifindex; /* send/recv interface index */ 14062 struct in_addr ipi_spec_dst; /* matched source address */ 14063 struct in_addr ipi_addr; /* src/dst address in IP hdr */ 14064 } in_pktinfo_t; 14065 14066 /* 14067 * Argument struct for IPV6_PKTINFO option 14068 */ 14069 struct in6_pktinfo { 14070 struct in6_addr ipi6_addr; /* src/dst IPv6 address */ 14071 unsigned int ipi6_ifindex; /* send/recv interface index */ 14072 }; 14073 14074 /* 14075 * Argument struct for IPV6_MTUINFO option 14076 */ 14077 struct ip6_mtuinfo { 14078 struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ 14079 uint32_t ip6m_mtu; /* path MTU in host byte order */ 14080 }; 14081 14082 /* 14083 * IPv6 routing header types 14084 */ 14085 14086 14087 extern socklen_t inet6_rth_space(int type, int segments); 14088 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); 14089 extern int inet6_rth_add(void *bp, const struct in6_addr *addr); 14090 extern int inet6_rth_reverse(const void *in, void *out); 14091 extern int inet6_rth_segments(const void *bp); 14092 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); 14093 14094 extern int inet6_opt_init(void *extbuf, socklen_t extlen); 14095 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, 14096 uint8_t type, socklen_t len, uint_t align, void **databufp); 14097 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); 14098 extern int inet6_opt_set_val(void *databuf, int offset, void *val, 14099 socklen_t vallen); 14100 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, 14101 uint8_t *typep, socklen_t *lenp, void **databufp); 14102 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, 14103 uint8_t type, socklen_t *lenp, void **databufp); 14104 extern int inet6_opt_get_val(void *databuf, int offset, void *val, 14105 socklen_t vallen); 14106 14107 14108 /* 14109 * Argument structure for IP_ADD_PROXY_ADDR. 14110 * Note that this is an unstable, experimental interface. It may change 14111 * later. Don't use it unless you know what it is. 14112 */ 14113 typedef struct { 14114 struct in_addr in_prefix_addr; 14115 unsigned int in_prefix_len; 14116 } in_prefix_t; 14117 14118 14119 14120 /* 14121 * IPv6 options 14122 */ 14123 14124 /* packets. */ 14125 /* argument type: uint_t */ 14126 14127 /* multicast packets. */ 14128 /* argument type: struct in6_addr */ 14129 14130 /* multicast packets. */ 14131 /* argument type: uint_t */ 14132 14133 /* multicast packets on same socket. */ 14134 /* argument type: uint_t */ 14135 14136 /* argument type: struct ipv6_mreq */ 14137 14138 /* argument type: struct ipv6_mreq */ 14139 14140 /* 14141 * Other XPG6 constants. 14142 */ 14143 14144 /* decimal notation. */ 14145 14146 /* standard colon-hex notation. */ 14147 14148 14149 14150 14151 14152 /* 14153 * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept 14154 * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP 14155 * and IPV6_LEAVE_GROUP respectively. 14156 */ 14157 14158 /* argument type: struct ipv6_mreq */ 14159 14160 /* argument type: struct ipv6_mreq */ 14161 14162 14163 /* arg type: "struct in6_pktingo" - */ 14164 14165 14166 14167 14168 /* the routing header */ 14169 14170 14171 /* the routing header */ 14172 14173 14174 14175 14176 /* 14177 * This options exists for backwards compatability and should no longer be 14178 * used. Use IPV6_RECVDSTOPTS instead. 14179 */ 14180 14181 14182 14183 14184 /* 14185 * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables 14186 * the receipt of both headers. 14187 */ 14188 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14189 /* 14190 * enable/disable receipt of both both IPV6_DSTOPTS headers. 14191 */ 14192 14193 14194 /* 14195 * protocol-independent multicast membership options. 14196 */ 14197 14198 14199 14200 14201 14202 14203 14204 /* 32Bit field for IPV6_SRC_PREFERENCES */ 14205 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 14206 /* 14207 * SunOS private (potentially not portable) IPV6_ option names 14208 */ 14209 14210 14211 /* unspecified (all zeros) */ 14212 14213 /* 14214 * Miscellaneous IPv6 constants. 14215 */ 14216 14217 14218 14219 14220 /* 14221 * Extern declarations for pre-defined global const variables 14222 */ 14223 14224 14225 14226 extern const struct in6_addr in6addr_any; 14227 extern const struct in6_addr in6addr_loopback; 14228 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 14229 14230 14231 14232 14233 14234 /* 14235 * NOTE 14236 * 14237 * The contents of this file are private to the implementation of 14238 * Solaris and are subject to change at any time without notice. 14239 * Applications and drivers using these interfaces may fail to 14240 * run on future releases. 14241 */ 14242 14243 /* Available both in kernel and for user space */ 14244 14245 /* zone id restrictions and special ids */ 14246 14247 14248 14249 14250 14251 14252 /* 14253 * Special zoneid_t token to refer to all zones. 14254 */ 14255 14256 14257 /* system call subcodes */ 14258 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14259 /* zone attributes */ 14260 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14261 /* Start of the brand-specific attribute namespace */ 14262 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14263 /* 14264 * Exit values that may be returned by scripts or programs invoked by various 14265 * zone commands. 14266 * 14267 * These are defined as: 14268 * 14269 * ZONE_SUBPROC_OK 14270 * =============== 14271 * The subprocess completed successfully. 14272 * 14273 * ZONE_SUBPROC_USAGE 14274 * ================== 14275 * The subprocess failed with a usage message, or a usage message should 14276 * be output in its behalf. 14277 * 14278 * ZONE_SUBPROC_NOTCOMPLETE 14279 * ======================== 14280 * The subprocess did not complete, but the actions performed by the 14281 * subprocess require no recovery actions by the user. 14282 * 14283 * For example, if the subprocess were called by "zoneadm install," the 14284 * installation of the zone did not succeed but the user need not perform 14285 * a "zoneadm uninstall" before attempting another install. 14286 * 14287 * ZONE_SUBPROC_FATAL 14288 * ================== 14289 * The subprocess failed in a fatal manner, usually one that will require 14290 * some type of recovery action by the user. 14291 * 14292 * For example, if the subprocess were called by "zoneadm install," the 14293 * installation of the zone did not succeed and the user will need to 14294 * perform a "zoneadm uninstall" before another install attempt is 14295 * possible. 14296 * 14297 * The non-success exit values are large to avoid accidental collision 14298 * with values used internally by some commands (e.g. "Z_ERR" and 14299 * "Z_USAGE" as used by zoneadm.) 14300 */ 14301 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 14302 typedef struct { 14303 const char *zone_name; 14304 const char *zone_root; 14305 const struct priv_set *zone_privs; 14306 size_t zone_privssz; 14307 const char *rctlbuf; 14308 size_t rctlbufsz; 14309 int *extended_error; 14310 const char *zfsbuf; 14311 size_t zfsbufsz; 14312 int match; /* match level */ 14313 uint32_t doi; /* DOI for label */ 14314 const bslabel_t *label; /* label associated with zone */ 14315 int flags; 14316 } zone_def; 14317 14318 /* extended error information */ 14319 14320 14321 14322 14323 14324 /* 14325 * zone_status values 14326 * 14327 * You must modify zone_status_names in mdb(1M)'s genunix module 14328 * (genunix/zone.c) when you modify this enum. 14329 */ 14330 typedef enum { 14331 ZONE_IS_UNINITIALIZED = 0, 14332 ZONE_IS_INITIALIZED, 14333 ZONE_IS_READY, 14334 ZONE_IS_BOOTING, 14335 ZONE_IS_RUNNING, 14336 ZONE_IS_SHUTTING_DOWN, 14337 ZONE_IS_EMPTY, 14338 ZONE_IS_DOWN, 14339 ZONE_IS_DYING, 14340 ZONE_IS_DEAD 14341 } zone_status_t; 14342 14343 14344 14345 /* 14346 * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also 14347 * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. 14348 */ 14349 typedef enum zone_cmd { 14350 Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, 14351 Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN 14352 } zone_cmd_t; 14353 14354 /* 14355 * The structure of a request to zoneadmd. 14356 */ 14357 typedef struct zone_cmd_arg { 14358 uint64_t uniqid; /* unique "generation number" */ 14359 zone_cmd_t cmd; /* requested action */ 14360 uint32_t _pad; /* need consistent 32/64 bit alignmt */ 14361 char locale[1024]; /* locale in which to render messages */ 14362 char bootbuf[256]; /* arguments passed to zone_boot() */ 14363 } zone_cmd_arg_t; 14364 14365 /* 14366 * Structure of zoneadmd's response to a request. A NULL return value means 14367 * the caller should attempt to restart zoneadmd and retry. 14368 */ 14369 typedef struct zone_cmd_rval { 14370 int rval; /* return value of request */ 14371 char errbuf[1]; /* variable-sized buffer containing error messages */ 14372 } zone_cmd_rval_t; 14373 14374 /* 14375 * The zone support infrastructure uses the zone name as a component 14376 * of unix domain (AF_UNIX) sockets, which are limited to 108 characters 14377 * in length, so ZONENAME_MAX is limited by that. 14378 */ 14379 14380 14381 14382 14383 /* 14384 * Extended Regular expression (see regex(5)) which matches all valid zone 14385 * names. 14386 */ 14387 14388 14389 /* 14390 * Where the zones support infrastructure places temporary files. 14391 */ 14392 14393 14394 /* 14395 * The path to the door used by clients to communicate with zoneadmd. 14396 */ 14397 14398 14399 14400 /* zone_flags */ 14401 /* 14402 * Threads that read or write the following flag must hold zone_lock. 14403 */ 14404 14405 14406 /* 14407 * The following threads are set when the zone is created and never changed. 14408 * Threads that test for these flags don't have to hold zone_lock. 14409 */ 14410 14411 14412 14413 14414 14415 /* zone_create flags */ 14416 14417 14418 /* zone network properties */ 14419 14420 14421 14422 14423 14424 14425 typedef struct zone_net_data { 14426 int zn_type; 14427 int zn_len; 14428 datalink_id_t zn_linkid; 14429 uint8_t zn_val[1]; 14430 } zone_net_data_t; 14431 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 14432 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 14433 /* 14434 * CDDL HEADER START 14435 * 14436 * The contents of this file are subject to the terms of the 14437 * Common Development and Distribution License (the "License"). 14438 * You may not use this file except in compliance with the License. 14439 * 14440 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14441 * or http://www.opensolaris.org/os/licensing. 14442 * See the License for the specific language governing permissions 14443 * and limitations under the License. 14444 * 14445 * When distributing Covered Code, include this CDDL HEADER in each 14446 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14447 * If applicable, add the following below this CDDL HEADER, with the 14448 * fields enclosed by brackets "[]" replaced with your own identifying 14449 * information: Portions Copyright [yyyy] [name of copyright owner] 14450 * 14451 * CDDL HEADER END 14452 */ 14453 /* 14454 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14455 * 14456 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 14457 */ 14458 14459 14460 14461 14462 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14463 /* 14464 * CDDL HEADER START 14465 * 14466 * The contents of this file are subject to the terms of the 14467 * Common Development and Distribution License (the "License"). 14468 * You may not use this file except in compliance with the License. 14469 * 14470 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14471 * or http://www.opensolaris.org/os/licensing. 14472 * See the License for the specific language governing permissions 14473 * and limitations under the License. 14474 * 14475 * When distributing Covered Code, include this CDDL HEADER in each 14476 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14477 * If applicable, add the following below this CDDL HEADER, with the 14478 * fields enclosed by brackets "[]" replaced with your own identifying 14479 * information: Portions Copyright [yyyy] [name of copyright owner] 14480 * 14481 * CDDL HEADER END 14482 */ 14483 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14484 /* All Rights Reserved */ 14485 14486 14487 /* 14488 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14489 * Use is subject to license terms. 14490 * 14491 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14492 * Copyright 2016 Joyent, Inc. 14493 */ 14494 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 14495 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 14496 /* 14497 * CDDL HEADER START 14498 * 14499 * The contents of this file are subject to the terms of the 14500 * Common Development and Distribution License (the "License"). 14501 * You may not use this file except in compliance with the License. 14502 * 14503 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14504 * or http://www.opensolaris.org/os/licensing. 14505 * See the License for the specific language governing permissions 14506 * and limitations under the License. 14507 * 14508 * When distributing Covered Code, include this CDDL HEADER in each 14509 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14510 * If applicable, add the following below this CDDL HEADER, with the 14511 * fields enclosed by brackets "[]" replaced with your own identifying 14512 * information: Portions Copyright [yyyy] [name of copyright owner] 14513 * 14514 * CDDL HEADER END 14515 */ 14516 /* 14517 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 14518 * Use is subject to license terms. 14519 */ 14520 14521 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14522 /* All Rights Reserved */ 14523 14524 /* 14525 * Portions of this source code were derived from Berkeley 4.3 BSD 14526 * under license from the Regents of the University of California. 14527 */ 14528 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 14529 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 14530 /* 14531 * CDDL HEADER START 14532 * 14533 * The contents of this file are subject to the terms of the 14534 * Common Development and Distribution License (the "License"). 14535 * You may not use this file except in compliance with the License. 14536 * 14537 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14538 * or http://www.opensolaris.org/os/licensing. 14539 * See the License for the specific language governing permissions 14540 * and limitations under the License. 14541 * 14542 * When distributing Covered Code, include this CDDL HEADER in each 14543 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14544 * If applicable, add the following below this CDDL HEADER, with the 14545 * fields enclosed by brackets "[]" replaced with your own identifying 14546 * information: Portions Copyright [yyyy] [name of copyright owner] 14547 * 14548 * CDDL HEADER END 14549 */ 14550 /* 14551 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 14552 * Copyright 2015, Joyent, Inc. All rights reserved. 14553 * 14554 * Privilege constant definitions. Privileges and privilege sets 14555 * are only known by name and should be mapped at runtime. 14556 * 14557 * THIS FILE WAS GENERATED; DO NOT EDIT 14558 */ 14559 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 14560 /* 14561 * Privilege names 14562 */ 14563 /* 14564 * Allows a process to request critical events without limitation. 14565 * Allows a process to request reliable delivery of all events on 14566 * any event queue. 14567 */ 14568 14569 14570 /* 14571 * Allows a process to set the service FMRI value of a process 14572 * contract template. 14573 */ 14574 14575 14576 /* 14577 * Allows a process to observe contract events generated by 14578 * contracts created and owned by users other than the process's 14579 * effective user ID. 14580 * Allows a process to open contract event endpoints belonging to 14581 * contracts created and owned by users other than the process's 14582 * effective user ID. 14583 */ 14584 14585 14586 /* 14587 * Allow a process to access per-CPU hardware performance counters. 14588 */ 14589 14590 14591 /* 14592 * Allows DTrace kernel-level tracing. 14593 */ 14594 14595 14596 /* 14597 * Allows DTrace process-level tracing. 14598 * Allows process-level tracing probes to be placed and enabled in 14599 * processes to which the user has permissions. 14600 */ 14601 14602 14603 /* 14604 * Allows DTrace user-level tracing. 14605 * Allows use of the syscall and profile DTrace providers to 14606 * examine processes to which the user has permissions. 14607 */ 14608 14609 14610 /* 14611 * Allows a process to change a file's owner user ID. 14612 * Allows a process to change a file's group ID to one other than 14613 * the process' effective group ID or one of the process' 14614 * supplemental group IDs. 14615 */ 14616 14617 14618 /* 14619 * Allows a process to give away its files; a process with this 14620 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 14621 * in effect. 14622 */ 14623 14624 14625 /* 14626 * Allows a process to execute an executable file whose permission 14627 * bits or ACL do not allow the process execute permission. 14628 */ 14629 14630 14631 /* 14632 * Allows a process to read a file or directory whose permission 14633 * bits or ACL do not allow the process read permission. 14634 */ 14635 14636 14637 /* 14638 * Allows a process to search a directory whose permission bits or 14639 * ACL do not allow the process search permission. 14640 */ 14641 14642 14643 /* 14644 * Allows a process to write a file or directory whose permission 14645 * bits or ACL do not allow the process write permission. 14646 * In order to write files owned by uid 0 in the absence of an 14647 * effective uid of 0 ALL privileges are required. 14648 */ 14649 14650 14651 /* 14652 * Allows a process to set the sensitivity label of a file or 14653 * directory to a sensitivity label that does not dominate the 14654 * existing sensitivity label. 14655 * This privilege is interpreted only if the system is configured 14656 * with Trusted Extensions. 14657 */ 14658 14659 14660 /* 14661 * Allows a process to set immutable, nounlink or appendonly 14662 * file attributes. 14663 */ 14664 14665 14666 /* 14667 * Allows a process to create hardlinks to files owned by a uid 14668 * different from the process' effective uid. 14669 */ 14670 14671 14672 /* 14673 * Allows a process which is not the owner of a file or directory 14674 * to perform the following operations that are normally permitted 14675 * only for the file owner: modify that file's access and 14676 * modification times; remove or rename a file or directory whose 14677 * parent directory has the ``save text image after execution'' 14678 * (sticky) bit set; mount a ``namefs'' upon a file; modify 14679 * permission bits or ACL except for the set-uid and set-gid 14680 * bits. 14681 */ 14682 14683 14684 /* 14685 * Allows a process to read objects in the filesystem. 14686 */ 14687 14688 14689 /* 14690 * Allows a process to change the ownership of a file or write to 14691 * a file without the set-user-ID and set-group-ID bits being 14692 * cleared. 14693 * Allows a process to set the set-group-ID bit on a file or 14694 * directory whose group is not the process' effective group or 14695 * one of the process' supplemental groups. 14696 * Allows a process to set the set-user-ID bit on a file with 14697 * different ownership in the presence of PRIV_FILE_OWNER. 14698 * Additional restrictions apply when creating or modifying a 14699 * set-uid 0 file. 14700 */ 14701 14702 14703 /* 14704 * Allows a process to set the sensitivity label of a file or 14705 * directory to a sensitivity label that dominates the existing 14706 * sensitivity label. 14707 * This privilege is interpreted only if the system is configured 14708 * with Trusted Extensions. 14709 */ 14710 14711 14712 /* 14713 * Allows a process to modify objects in the filesystem. 14714 */ 14715 14716 14717 /* 14718 * Allows a process to make privileged ioctls to graphics devices. 14719 * Typically only xserver process needs to have this privilege. 14720 * A process with this privilege is also allowed to perform 14721 * privileged graphics device mappings. 14722 */ 14723 14724 14725 /* 14726 * Allows a process to perform privileged mappings through a 14727 * graphics device. 14728 */ 14729 14730 14731 /* 14732 * Allows a process to read a System V IPC 14733 * Message Queue, Semaphore Set, or Shared Memory Segment whose 14734 * permission bits do not allow the process read permission. 14735 * Allows a process to read remote shared memory whose 14736 * permission bits do not allow the process read permission. 14737 */ 14738 14739 14740 /* 14741 * Allows a process to write a System V IPC 14742 * Message Queue, Semaphore Set, or Shared Memory Segment whose 14743 * permission bits do not allow the process write permission. 14744 * Allows a process to read remote shared memory whose 14745 * permission bits do not allow the process write permission. 14746 * Additional restrictions apply if the owner of the object has uid 0 14747 * and the effective uid of the current process is not 0. 14748 */ 14749 14750 14751 /* 14752 * Allows a process which is not the owner of a System 14753 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 14754 * remove, change ownership of, or change permission bits of the 14755 * Message Queue, Semaphore Set, or Shared Memory Segment. 14756 * Additional restrictions apply if the owner of the object has uid 0 14757 * and the effective uid of the current process is not 0. 14758 */ 14759 14760 14761 /* 14762 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 14763 */ 14764 14765 14766 /* 14767 * Allow a process to bind to a port that is configured as a 14768 * multi-level port(MLP) for the process's zone. This privilege 14769 * applies to both shared address and zone-specific address MLPs. 14770 * See tnzonecfg(4) from the Trusted Extensions manual pages for 14771 * information on configuring MLP ports. 14772 * This privilege is interpreted only if the system is configured 14773 * with Trusted Extensions. 14774 */ 14775 14776 14777 /* 14778 * Allows a process to send and receive ICMP packets. 14779 */ 14780 14781 14782 /* 14783 * Allows a process to set NET_MAC_AWARE process flag by using 14784 * setpflags(2). This privilege also allows a process to set 14785 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 14786 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 14787 * option both allow a local process to communicate with an 14788 * unlabeled peer if the local process' label dominates the 14789 * peer's default label, or if the local process runs in the 14790 * global zone. 14791 * This privilege is interpreted only if the system is configured 14792 * with Trusted Extensions. 14793 */ 14794 14795 14796 /* 14797 * Allows a process to set SO_MAC_IMPLICIT option by using 14798 * setsockopt(3SOCKET). This allows a privileged process to 14799 * transmit implicitly-labeled packets to a peer. 14800 * This privilege is interpreted only if the system is configured 14801 * with Trusted Extensions. 14802 */ 14803 14804 14805 /* 14806 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 14807 * while not requiring them to need PRIV_NET_RAWACCESS. 14808 */ 14809 14810 14811 /* 14812 * Allows a process to bind to a privileged port 14813 * number. The privilege port numbers are 1-1023 (the traditional 14814 * UNIX privileged ports) as well as those ports marked as 14815 * "udp/tcp_extra_priv_ports" with the exception of the ports 14816 * reserved for use by NFS. 14817 */ 14818 14819 14820 /* 14821 * Allows a process to have direct access to the network layer. 14822 */ 14823 14824 14825 /* 14826 * Allows a process to generate audit records. 14827 * Allows a process to get its own audit pre-selection information. 14828 */ 14829 14830 14831 /* 14832 * Allows a process to change its root directory. 14833 */ 14834 14835 14836 /* 14837 * Allows a process to use high resolution timers. 14838 */ 14839 14840 14841 /* 14842 * Allows a process to call execve(). 14843 */ 14844 14845 14846 /* 14847 * Allows a process to call fork1()/forkall()/vfork() 14848 */ 14849 14850 14851 /* 14852 * Allows a process to examine the status of processes other 14853 * than those it can send signals to. Processes which cannot 14854 * be examined cannot be seen in /proc and appear not to exist. 14855 */ 14856 14857 14858 /* 14859 * Allows a process to lock pages in physical memory. 14860 */ 14861 14862 14863 /* 14864 * Allows a process to access physical memory information. 14865 */ 14866 14867 14868 /* 14869 * Allows a process to send signals to other processes, inspect 14870 * and modify process state to other processes regardless of 14871 * ownership. When modifying another process, additional 14872 * restrictions apply: the effective privilege set of the 14873 * attaching process must be a superset of the target process' 14874 * effective, permitted and inheritable sets; the limit set must 14875 * be a superset of the target's limit set; if the target process 14876 * has any uid set to 0 all privilege must be asserted unless the 14877 * effective uid is 0. 14878 * Allows a process to bind arbitrary processes to CPUs. 14879 */ 14880 14881 14882 /* 14883 * Allows a process to elevate its priority above its current level. 14884 */ 14885 14886 14887 /* 14888 * Allows all that PRIV_PROC_PRIOUP allows. 14889 * Allows a process to change its scheduling class to any scheduling class, 14890 * including the RT class. 14891 */ 14892 14893 14894 /* 14895 * Allows a process to send signals or trace processes outside its 14896 * session. 14897 */ 14898 14899 14900 /* 14901 * Allows a process to set its uids at will. 14902 * Assuming uid 0 requires all privileges to be asserted. 14903 */ 14904 14905 14906 /* 14907 * Allows a process to assign a new task ID to the calling process. 14908 */ 14909 14910 14911 /* 14912 * Allows a process to trace or send signals to processes in 14913 * other zones. 14914 */ 14915 14916 14917 /* 14918 * Allows a process to enable and disable and manage accounting through 14919 * acct(2), getacct(2), putacct(2) and wracct(2). 14920 */ 14921 14922 14923 /* 14924 * Allows a process to perform system administration tasks such 14925 * as setting node and domain name and specifying nscd and coreadm 14926 * settings. 14927 */ 14928 14929 14930 /* 14931 * Allows a process to start the (kernel) audit daemon. 14932 * Allows a process to view and set audit state (audit user ID, 14933 * audit terminal ID, audit sessions ID, audit pre-selection mask). 14934 * Allows a process to turn off and on auditing. 14935 * Allows a process to configure the audit parameters (cache and 14936 * queue sizes, event to class mappings, policy options). 14937 */ 14938 14939 14940 /* 14941 * Allows a process to perform various system configuration tasks. 14942 * Allows a process to add and remove swap devices; when adding a swap 14943 * device, a process must also have sufficient privileges to read from 14944 * and write to the swap device. 14945 */ 14946 14947 14948 /* 14949 * Allows a process to successfully call a kernel module that 14950 * calls the kernel drv_priv(9F) function to check for allowed 14951 * access. 14952 * Allows a process to open the real console device directly. 14953 * Allows a process to open devices that have been exclusively opened. 14954 */ 14955 14956 14957 /* 14958 * Allows a process to increase the size of a System V IPC Message 14959 * Queue buffer. 14960 */ 14961 14962 14963 /* 14964 * Allows a process to unlink and link directories. 14965 */ 14966 14967 14968 /* 14969 * Allows filesystem specific administrative procedures, such as 14970 * filesystem configuration ioctls, quota calls and creation/deletion 14971 * of snapshots. 14972 * Allows a process to mount and unmount filesystems which would 14973 * otherwise be restricted (i.e., most filesystems except 14974 * namefs). 14975 * A process performing a mount operation needs to have 14976 * appropriate access to the device being mounted (read-write for 14977 * "rw" mounts, read for "ro" mounts). 14978 * A process performing any of the aforementioned 14979 * filesystem operations needs to have read/write/owner 14980 * access to the mount point. 14981 * Only regular files and directories can serve as mount points 14982 * for processes which do not have all zone privileges asserted. 14983 * Unless a process has all zone privileges, the mount(2) 14984 * system call will force the "nosuid" and "restrict" options, the 14985 * latter only for autofs mountpoints. 14986 * Regardless of privileges, a process running in a non-global zone may 14987 * only control mounts performed from within said zone. 14988 * Outside the global zone, the "nodevices" option is always forced. 14989 */ 14990 14991 14992 /* 14993 * Allows a process to configure IP tunnel links. 14994 */ 14995 14996 14997 /* 14998 * Allows a process to configure all classes of datalinks, including 14999 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 15000 */ 15001 15002 15003 /* 15004 * Allows a process to configure a system's IP interfaces and routes. 15005 * Allows a process to configure network parameters using ndd. 15006 * Allows a process access to otherwise restricted information using ndd. 15007 * Allows a process to configure IPsec. 15008 * Allows a process to pop anchored STREAMs modules with matching zoneid. 15009 */ 15010 15011 15012 /* 15013 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 15014 * PRIV_SYS_PPP_CONFIG allow. 15015 * Allows a process to push the rpcmod STREAMs module. 15016 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 15017 * than the top of the module stack. 15018 */ 15019 15020 15021 /* 15022 * Allows a process to perform Sun private NFS specific system calls. 15023 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 15024 * and port 4045 (lockd). 15025 */ 15026 15027 15028 /* 15029 * Allows a process to create and destroy PPP (sppp) interfaces. 15030 * Allows a process to configure PPP tunnels (sppptun). 15031 */ 15032 15033 15034 /* 15035 * Allows a process to bind processes to processor sets. 15036 */ 15037 15038 15039 /* 15040 * Allows all that PRIV_SYS_RES_BIND allows. 15041 * Allows a process to create and delete processor sets, assign 15042 * CPUs to processor sets and override the PSET_NOESCAPE property. 15043 * Allows a process to change the operational status of CPUs in 15044 * the system using p_online(2). 15045 * Allows a process to configure resource pools and to bind 15046 * processes to pools 15047 */ 15048 15049 15050 /* 15051 * Allows a process to modify the resource limits specified 15052 * by setrlimit(2) and setrctl(2) without restriction. 15053 * Allows a process to exceed the per-user maximum number of 15054 * processes. 15055 * Allows a process to extend or create files on a filesystem that 15056 * has less than minfree space in reserve. 15057 */ 15058 15059 15060 /* 15061 * Allows a process to access the Sun private SMB kernel module. 15062 * Allows a process to bind to ports reserved by NetBIOS and SMB: 15063 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 15064 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 15065 */ 15066 15067 15068 /* 15069 * Allows a process to successfully call a third party loadable module 15070 * that calls the kernel suser() function to check for allowed access. 15071 * This privilege exists only for third party loadable module 15072 * compatibility and is not used by Solaris proper. 15073 */ 15074 15075 15076 /* 15077 * Allows a process to manipulate system time using any of the 15078 * appropriate system calls: stime, adjtime, ntp_adjtime and 15079 * the IA specific RTC calls. 15080 */ 15081 15082 15083 /* 15084 * Allows a process to translate labels that are not dominated 15085 * by the process' sensitivity label to and from an external 15086 * string form. 15087 * This privilege is interpreted only if the system is configured 15088 * with Trusted Extensions. 15089 */ 15090 15091 15092 /* 15093 * Allows a process to manage virtualized environments such as 15094 * xVM(5). 15095 */ 15096 15097 15098 /* 15099 * Allows a process to override colormap restrictions. 15100 * Allows a process to install or remove colormaps. 15101 * Allows a process to retrieve colormap cell entries allocated 15102 * by other processes. 15103 * This privilege is interpreted only if the system is configured 15104 * with Trusted Extensions. 15105 */ 15106 15107 15108 /* 15109 * Allows a process to configure or destroy resources that are 15110 * permanently retained by the X server. 15111 * Allows a process to use SetScreenSaver to set the screen 15112 * saver timeout value. 15113 * Allows a process to use ChangeHosts to modify the display 15114 * access control list. 15115 * Allows a process to use GrabServer. 15116 * Allows a process to use the SetCloseDownMode request which 15117 * may retain window, pixmap, colormap, property, cursor, font, 15118 * or graphic context resources. 15119 * This privilege is interpreted only if the system is configured 15120 * with Trusted Extensions. 15121 */ 15122 15123 15124 /* 15125 * Allows a process to read from a window resource that it does 15126 * not own (has a different user ID). 15127 * This privilege is interpreted only if the system is configured 15128 * with Trusted Extensions. 15129 */ 15130 15131 15132 /* 15133 * Allows a process to write to or create a window resource that 15134 * it does not own (has a different user ID). A newly created 15135 * window property is created with the window's user ID. 15136 * This privilege is interpreted only if the system is configured 15137 * with Trusted Extensions. 15138 */ 15139 15140 15141 /* 15142 * Allows a process to perform operations on window input devices. 15143 * Allows a process to get and set keyboard and pointer controls. 15144 * Allows a process to modify pointer button and key mappings. 15145 * This privilege is interpreted only if the system is configured 15146 * with Trusted Extensions. 15147 */ 15148 15149 15150 /* 15151 * Allows a process to use the direct graphics access (DGA) X protocol 15152 * extensions. Direct process access to the frame buffer is still 15153 * required. Thus the process must have MAC and DAC privileges that 15154 * allow access to the frame buffer, or the frame buffer must be 15155 * allocated to the process. 15156 * This privilege is interpreted only if the system is configured 15157 * with Trusted Extensions. 15158 */ 15159 15160 15161 /* 15162 * Allows a process to set the sensitivity label of a window resource 15163 * to a sensitivity label that does not dominate the existing 15164 * sensitivity label. 15165 * This privilege is interpreted only if the system is configured 15166 * with Trusted Extensions. 15167 */ 15168 15169 15170 /* 15171 * Allows a process to set a font path. 15172 * This privilege is interpreted only if the system is configured 15173 * with Trusted Extensions. 15174 */ 15175 15176 15177 /* 15178 * Allows a process to read from a window resource whose sensitivity 15179 * label is not equal to the process sensitivity label. 15180 * This privilege is interpreted only if the system is configured 15181 * with Trusted Extensions. 15182 */ 15183 15184 15185 /* 15186 * Allows a process to create a window resource whose sensitivity 15187 * label is not equal to the process sensitivity label. 15188 * A newly created window property is created with the window's 15189 * sensitivity label. 15190 * This privilege is interpreted only if the system is configured 15191 * with Trusted Extensions. 15192 */ 15193 15194 15195 /* 15196 * Allows a process to request inter-window data moves without the 15197 * intervention of the selection confirmer. 15198 * This privilege is interpreted only if the system is configured 15199 * with Trusted Extensions. 15200 */ 15201 15202 15203 /* 15204 * Allows a process to set the sensitivity label of a window 15205 * resource to a sensitivity label that dominates the existing 15206 * sensitivity label. 15207 * This privilege is interpreted only if the system is configured 15208 * with Trusted Extensions. 15209 */ 15210 15211 15212 /* 15213 * Allows a process access to the xVM(5) control devices for 15214 * managing guest domains and the hypervisor. This privilege is 15215 * used only if booted into xVM on x86 platforms. 15216 */ 15217 15218 15219 15220 /* 15221 * Privilege set names 15222 */ 15223 /* 15224 * Set of privileges currently in effect. 15225 */ 15226 15227 15228 /* 15229 * Set of privileges that comes into effect on exec. 15230 */ 15231 15232 15233 /* 15234 * Set of privileges that can be put into the effective set without 15235 * restriction. 15236 */ 15237 15238 15239 /* 15240 * Set of privileges that determines the absolute upper bound of 15241 * privileges this process and its off-spring can obtain. 15242 */ 15243 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 15244 15245 15246 15247 15248 15249 typedef uint32_t priv_chunk_t; 15250 typedef struct priv_set priv_set_t; 15251 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15252 /* 15253 * Userland type definitions. 15254 */ 15255 15256 typedef const char *priv_ptype_t; 15257 typedef const char *priv_t; 15258 15259 15260 15261 /* 15262 * priv_op_t indicates a privilege operation type 15263 */ 15264 typedef enum priv_op { 15265 PRIV_ON, 15266 PRIV_OFF, 15267 PRIV_SET 15268 } priv_op_t; 15269 15270 /* 15271 * Privilege system call subcodes. 15272 */ 15273 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15274 /* 15275 * Maximum length of a user defined privilege name. 15276 */ 15277 15278 15279 /* 15280 * Privilege interface functions for those parts of the kernel that 15281 * know nothing of the privilege internals. 15282 * 15283 * A privilege implementation can have a varying number of sets; sets 15284 * consist of a number of priv_chunk_t's and the size is expressed as such. 15285 * The privileges can be represented as 15286 * 15287 * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] 15288 * ... priv_infosize of extra information ... 15289 * 15290 * Extra data contained in the privilege information consists of chunks 15291 * of data with specified size and type all headed by a priv_info_t header 15292 * which defines both the type of information as well as the size of the 15293 * information. ((char*)&info)+info->priv_info_size should be rounded up 15294 * to point to the next piece of information. 15295 */ 15296 15297 typedef struct priv_impl_info { 15298 uint32_t priv_headersize; /* sizeof (priv_impl_info) */ 15299 uint32_t priv_flags; /* additional flags */ 15300 uint32_t priv_nsets; /* number of priv sets */ 15301 uint32_t priv_setsize; /* size in priv_chunk_t */ 15302 uint32_t priv_max; /* highest actual valid priv */ 15303 uint32_t priv_infosize; /* Per proc. additional info */ 15304 uint32_t priv_globalinfosize; /* Per system info */ 15305 } priv_impl_info_t; 15306 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15307 /* 15308 * Per credential flags. 15309 */ 15310 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 15311 /* user-settable flags: */ 15312 15313 15314 15315 /* 15316 * Header of the privilege info data structure; multiple structures can 15317 * follow the privilege sets and priv_impl_info structures. 15318 */ 15319 typedef struct priv_info { 15320 uint32_t priv_info_type; 15321 uint32_t priv_info_size; 15322 } priv_info_t; 15323 15324 typedef struct priv_info_uint { 15325 priv_info_t info; 15326 uint_t val; 15327 } priv_info_uint_t; 15328 15329 /* 15330 * Global privilege set information item; the actual size of the array is 15331 * {priv_setsize}. 15332 */ 15333 typedef struct priv_info_set { 15334 priv_info_t info; 15335 priv_chunk_t set[1]; 15336 } priv_info_set_t; 15337 15338 /* 15339 * names[1] is a place holder which can contain multiple NUL terminated, 15340 * non-empty strings. 15341 */ 15342 15343 typedef struct priv_info_names { 15344 priv_info_t info; 15345 int cnt; /* number of strings */ 15346 char names[1]; /* "string1\0string2\0 ..stringN\0" */ 15347 } priv_info_names_t; 15348 15349 /* 15350 * Privilege information types. 15351 */ 15352 15353 15354 15355 15356 15357 /* 15358 * Special "privileges" used to indicate special conditions in privilege 15359 * debugging/tracing code. 15360 */ 15361 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 15362 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 1 15363 /* 15364 * CDDL HEADER START 15365 * 15366 * The contents of this file are subject to the terms of the 15367 * Common Development and Distribution License (the "License"). 15368 * You may not use this file except in compliance with the License. 15369 * 15370 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15371 * or http://www.opensolaris.org/os/licensing. 15372 * See the License for the specific language governing permissions 15373 * and limitations under the License. 15374 * 15375 * When distributing Covered Code, include this CDDL HEADER in each 15376 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15377 * If applicable, add the following below this CDDL HEADER, with the 15378 * fields enclosed by brackets "[]" replaced with your own identifying 15379 * information: Portions Copyright [yyyy] [name of copyright owner] 15380 * 15381 * CDDL HEADER END 15382 */ 15383 /* 15384 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15385 * Use is subject to license terms. 15386 */ 15387 15388 15389 15390 15391 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 15392 /* 15393 * CDDL HEADER START 15394 * 15395 * The contents of this file are subject to the terms of the 15396 * Common Development and Distribution License (the "License"). 15397 * You may not use this file except in compliance with the License. 15398 * 15399 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15400 * or http://www.opensolaris.org/os/licensing. 15401 * See the License for the specific language governing permissions 15402 * and limitations under the License. 15403 * 15404 * When distributing Covered Code, include this CDDL HEADER in each 15405 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15406 * If applicable, add the following below this CDDL HEADER, with the 15407 * fields enclosed by brackets "[]" replaced with your own identifying 15408 * information: Portions Copyright [yyyy] [name of copyright owner] 15409 * 15410 * CDDL HEADER END 15411 */ 15412 /* 15413 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 15414 * Use is subject to license terms. 15415 * Copyright 2015 Nexenta Systems, Inc. 15416 */ 15417 15418 15419 15420 15421 #pragma ident "%Z%%M% %I% %E% SMI" 15422 15423 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 15424 /* 15425 * CDDL HEADER START 15426 * 15427 * The contents of this file are subject to the terms of the 15428 * Common Development and Distribution License, Version 1.0 only 15429 * (the "License"). You may not use this file except in compliance 15430 * with the License. 15431 * 15432 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15433 * or http://www.opensolaris.org/os/licensing. 15434 * See the License for the specific language governing permissions 15435 * and limitations under the License. 15436 * 15437 * When distributing Covered Code, include this CDDL HEADER in each 15438 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15439 * If applicable, add the following below this CDDL HEADER, with the 15440 * fields enclosed by brackets "[]" replaced with your own identifying 15441 * information: Portions Copyright [yyyy] [name of copyright owner] 15442 * 15443 * CDDL HEADER END 15444 */ 15445 /* 15446 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15447 * 15448 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 15449 * Use is subject to license terms. 15450 */ 15451 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 2 15452 15453 15454 15455 15456 15457 /* 15458 * Interoperability types for programs. Used for: 15459 * 15460 * Crossing between 32-bit and 64-bit domains. 15461 * 15462 * On disk data formats such as filesystem meta data 15463 * and disk label. 15464 * 15465 * Note: Applications should never include this 15466 * header file. 15467 */ 15468 typedef uint32_t caddr32_t; 15469 typedef int32_t daddr32_t; 15470 typedef int32_t off32_t; 15471 typedef uint32_t ino32_t; 15472 typedef int32_t blkcnt32_t; 15473 typedef uint32_t fsblkcnt32_t; 15474 typedef uint32_t fsfilcnt32_t; 15475 typedef int32_t id32_t; 15476 typedef uint32_t major32_t; 15477 typedef uint32_t minor32_t; 15478 typedef int32_t key32_t; 15479 typedef uint32_t mode32_t; 15480 typedef uint32_t uid32_t; 15481 typedef uint32_t gid32_t; 15482 typedef uint32_t nlink32_t; 15483 typedef uint32_t dev32_t; 15484 typedef int32_t pid32_t; 15485 typedef uint32_t size32_t; 15486 typedef int32_t ssize32_t; 15487 typedef int32_t time32_t; 15488 typedef int32_t clock32_t; 15489 typedef uint32_t uintptr32_t; 15490 typedef int32_t intptr32_t; 15491 15492 struct timeval32 { 15493 time32_t tv_sec; /* seconds */ 15494 int32_t tv_usec; /* and microseconds */ 15495 }; 15496 15497 typedef struct timespec32 { 15498 time32_t tv_sec; /* seconds */ 15499 int32_t tv_nsec; /* and nanoseconds */ 15500 } timespec32_t; 15501 15502 typedef struct timespec32 timestruc32_t; 15503 15504 typedef struct itimerspec32 { 15505 struct timespec32 it_interval; 15506 struct timespec32 it_value; 15507 } itimerspec32_t; 15508 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15509 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 15510 /* 15511 * CDDL HEADER START 15512 * 15513 * The contents of this file are subject to the terms of the 15514 * Common Development and Distribution License (the "License"). 15515 * You may not use this file except in compliance with the License. 15516 * 15517 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15518 * or http://www.opensolaris.org/os/licensing. 15519 * See the License for the specific language governing permissions 15520 * and limitations under the License. 15521 * 15522 * When distributing Covered Code, include this CDDL HEADER in each 15523 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15524 * If applicable, add the following below this CDDL HEADER, with the 15525 * fields enclosed by brackets "[]" replaced with your own identifying 15526 * information: Portions Copyright [yyyy] [name of copyright owner] 15527 * 15528 * CDDL HEADER END 15529 */ 15530 /* 15531 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15532 * Use is subject to license terms. 15533 */ 15534 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15535 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 15536 /* 15537 * CDDL HEADER START 15538 * 15539 * The contents of this file are subject to the terms of the 15540 * Common Development and Distribution License (the "License"). 15541 * You may not use this file except in compliance with the License. 15542 * 15543 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15544 * or http://www.opensolaris.org/os/licensing. 15545 * See the License for the specific language governing permissions 15546 * and limitations under the License. 15547 * 15548 * When distributing Covered Code, include this CDDL HEADER in each 15549 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15550 * If applicable, add the following below this CDDL HEADER, with the 15551 * fields enclosed by brackets "[]" replaced with your own identifying 15552 * information: Portions Copyright [yyyy] [name of copyright owner] 15553 * 15554 * CDDL HEADER END 15555 */ 15556 /* 15557 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15558 * 15559 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 15560 * Use is subject to license terms. 15561 */ 15562 15563 15564 15565 15566 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 15567 /* 15568 * CDDL HEADER START 15569 * 15570 * The contents of this file are subject to the terms of the 15571 * Common Development and Distribution License (the "License"). 15572 * You may not use this file except in compliance with the License. 15573 * 15574 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15575 * or http://www.opensolaris.org/os/licensing. 15576 * See the License for the specific language governing permissions 15577 * and limitations under the License. 15578 * 15579 * When distributing Covered Code, include this CDDL HEADER in each 15580 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15581 * If applicable, add the following below this CDDL HEADER, with the 15582 * fields enclosed by brackets "[]" replaced with your own identifying 15583 * information: Portions Copyright [yyyy] [name of copyright owner] 15584 * 15585 * CDDL HEADER END 15586 */ 15587 /* 15588 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15589 * 15590 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 15591 */ 15592 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 2 15593 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 15594 /* 15595 * library functions prototype. 15596 */ 15597 15598 extern int setppriv(priv_op_t, priv_ptype_t, const priv_set_t *); 15599 extern int getppriv(priv_ptype_t, priv_set_t *); 15600 extern int setpflags(uint_t, uint_t); 15601 extern uint_t getpflags(uint_t); 15602 extern const priv_impl_info_t *getprivimplinfo(void); 15603 15604 extern int priv_set(priv_op_t, priv_ptype_t, ...); 15605 extern boolean_t priv_ineffect(const char *); 15606 extern priv_set_t *priv_str_to_set(const char *, const char *, const char **); 15607 extern char *priv_set_to_str(const priv_set_t *, char, int); 15608 15609 extern int priv_getbyname(const char *); 15610 extern const char *priv_getbynum(int); 15611 extern int priv_getsetbyname(const char *); 15612 extern const char *priv_getsetbynum(int); 15613 extern char *priv_gettext(const char *); 15614 15615 extern priv_set_t *priv_allocset(void); 15616 extern void priv_freeset(priv_set_t *); 15617 15618 extern void priv_emptyset(priv_set_t *); 15619 extern void priv_basicset(priv_set_t *); 15620 extern void priv_fillset(priv_set_t *); 15621 extern boolean_t priv_isemptyset(const priv_set_t *); 15622 extern boolean_t priv_isfullset(const priv_set_t *); 15623 extern boolean_t priv_isequalset(const priv_set_t *, const priv_set_t *); 15624 extern boolean_t priv_issubset(const priv_set_t *, const priv_set_t *); 15625 extern void priv_intersect(const priv_set_t *, priv_set_t *); 15626 extern void priv_union(const priv_set_t *, priv_set_t *); 15627 extern void priv_inverse(priv_set_t *); 15628 extern int priv_addset(priv_set_t *, const char *); 15629 extern void priv_copyset(const priv_set_t *, priv_set_t *); 15630 extern int priv_delset(priv_set_t *, const char *); 15631 extern boolean_t priv_ismember(const priv_set_t *, const char *); 15632 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 2 15633 15634 15635 15636 15637 15638 /* Procedural Interface Structure Definitions */ 15639 15640 struct label_info { /* structure returned by label_info */ 15641 short ilabel_len; /* max Information Label length */ 15642 short slabel_len; /* max Sensitivity Label length */ 15643 short clabel_len; /* max CMW Label length */ 15644 short clear_len; /* max Clearance Label length */ 15645 short vers_len; /* version string length */ 15646 short header_len; /* max len of banner page header */ 15647 short protect_as_len; /* max len of banner page protect as */ 15648 short caveats_len; /* max len of banner page caveats */ 15649 short channels_len; /* max len of banner page channels */ 15650 }; 15651 15652 typedef struct label_set_identifier { /* valid label set identifier */ 15653 int type; /* type of the set */ 15654 char *name; /* name of the set if needed */ 15655 } set_id; 15656 15657 struct name_fields { /* names for label builder fields */ 15658 char *class_name; /* Classifications field name */ 15659 char *comps_name; /* Compartments field name */ 15660 char *marks_name; /* Markings field name */ 15661 }; 15662 15663 /* Label Set Identifier Types */ 15664 15665 /* 15666 * The accreditation ranges as specified in the label encodings file. 15667 * The name parameter is ignored. 15668 * 15669 * System Accreditation Range is all valid labels plus Admin High and Low. 15670 * 15671 * User Accreditation Range is valid user labels as defined in the 15672 * ACCREDITATION RANGE: section of the label encodings file. 15673 */ 15674 15675 15676 15677 15678 15679 /* System Call Interface Definitions */ 15680 15681 extern int getlabel(const char *, m_label_t *); 15682 extern int fgetlabel(int, m_label_t *); 15683 15684 extern int getplabel(m_label_t *); 15685 extern int setflabel(const char *, m_label_t *); 15686 extern char *getpathbylabel(const char *, char *, size_t, 15687 const m_label_t *sl); 15688 extern m_label_t *getzonelabelbyid(zoneid_t); 15689 extern m_label_t *getzonelabelbyname(const char *); 15690 extern zoneid_t getzoneidbylabel(const m_label_t *); 15691 extern char *getzonenamebylabel(const m_label_t *); 15692 extern char *getzonerootbyid(zoneid_t); 15693 extern char *getzonerootbyname(const char *); 15694 extern char *getzonerootbylabel(const m_label_t *); 15695 extern m_label_t *getlabelbypath(const char *); 15696 15697 15698 /* Flag word values */ 15699 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/tsol/label.h" 15700 /* implies NEW_LABEL */ 15701 15702 15703 15704 15705 /* Procedure Interface Definitions available to user */ 15706 15707 /* APIs shared with the kernel are in <sys/tsol/label.h */ 15708 15709 extern m_label_t *blabel_alloc(void); 15710 extern void blabel_free(m_label_t *); 15711 extern size32_t blabel_size(void); 15712 extern char *bsltoh(const m_label_t *); 15713 extern char *bcleartoh(const m_label_t *); 15714 15715 extern char *bsltoh_r(const m_label_t *, char *); 15716 extern char *bcleartoh_r(const m_label_t *, char *); 15717 extern char *h_alloc(uint8_t); 15718 extern void h_free(char *); 15719 15720 extern int htobsl(const char *, m_label_t *); 15721 extern int htobclear(const char *, m_label_t *); 15722 15723 extern m_range_t *getuserrange(const char *); 15724 extern m_range_t *getdevicerange(const char *); 15725 15726 extern int set_effective_priv(priv_op_t, int, ...); 15727 extern int set_inheritable_priv(priv_op_t, int, ...); 15728 extern int set_permitted_priv(priv_op_t, int, ...); 15729 extern int is_system_labeled(void); 15730 15731 /* Procedures needed for multi-level printing */ 15732 15733 extern int tsol_check_admin_auth(uid_t uid); 15734 15735 /* APIs implemented via labeld */ 15736 15737 extern int blinset(const m_label_t *, const set_id *); 15738 extern int labelinfo(struct label_info *); 15739 extern ssize_t labelvers(char **, size_t); 15740 extern char *bltocolor(const m_label_t *); 15741 extern char *bltocolor_r(const m_label_t *, size_t, char *); 15742 15743 extern ssize_t bsltos(const m_label_t *, char **, size_t, int); 15744 extern ssize_t bcleartos(const m_label_t *, char **, size_t, int); 15745 15746 15747 extern char *sbsltos(const m_label_t *, size_t); 15748 extern char *sbcleartos(const m_label_t *, size_t); 15749 15750 15751 extern int stobsl(const char *, m_label_t *, int, int *); 15752 extern int stobclear(const char *, m_label_t *, int, int *); 15753 extern int bslvalid(const m_label_t *); 15754 extern int bclearvalid(const m_label_t *); 15755 15756 /* DIA label conversion and parsing */ 15757 15758 /* Conversion types */ 15759 15760 typedef enum _m_label_str { 15761 M_LABEL = 1, /* process or user clearance */ 15762 M_INTERNAL = 2, /* internal form for use in public databases */ 15763 M_COLOR = 3, /* process label color */ 15764 PRINTER_TOP_BOTTOM = 4, /* DIA banner page top/bottom */ 15765 PRINTER_LABEL = 5, /* DIA banner page label */ 15766 PRINTER_CAVEATS = 6, /* DIA banner page caveats */ 15767 PRINTER_CHANNELS = 7 /* DIA banner page handling channels */ 15768 } m_label_str_t; 15769 15770 /* Flags for conversion, not all flags apply to all types */ 15771 15772 15773 15774 15775 extern int label_to_str(const m_label_t *, char **, const m_label_str_t, 15776 uint_t); 15777 extern int l_to_str_internal(const m_label_t *, char **); 15778 15779 /* Parsing types */ 15780 typedef enum _m_label_type { 15781 MAC_LABEL = 1, /* process or object label */ 15782 USER_CLEAR = 2 /* user's clearance (LUB) */ 15783 } m_label_type_t; 15784 15785 /* Flags for parsing */ 15786 15787 15788 15789 15790 15791 15792 /* EINVAL sub codes */ 15793 15794 15795 15796 /* bad requested label type, bad previous label type */ 15797 15798 15799 extern int str_to_label(const char *, m_label_t **, const m_label_type_t, 15800 uint_t, int *); 15801 extern int hexstr_to_label(const char *, m_label_t *); 15802 15803 extern m_label_t *m_label_alloc(const m_label_type_t); 15804 15805 extern int m_label_dup(m_label_t **, const m_label_t *); 15806 15807 extern void m_label_free(m_label_t *); 15808 15809 /* Contract Private interfaces with the label builder GUIs */ 15810 15811 extern int bslcvtfull(const m_label_t *, const m_range_t *, int, 15812 char **, char **[], char **[], char *[], int *, int *); 15813 extern int bslcvt(const m_label_t *, int, char **, char *[]); 15814 extern int bclearcvtfull(const m_label_t *, const m_range_t *, int, 15815 char **, char **[], char **[], char *[], int *, int *); 15816 extern int bclearcvt(const m_label_t *, int, char **, char *[]); 15817 15818 extern int labelfields(struct name_fields *); 15819 extern int userdefs(m_label_t *, m_label_t *); 15820 extern int zonecopy(m_label_t *, char *, char *, char *, int); 15821 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 2 15822 15823 15824 15825 15826 15827 /* 15828 * Functions for mapping between id and name for active zones. 15829 */ 15830 extern zoneid_t getzoneid(void); 15831 extern zoneid_t getzoneidbyname(const char *); 15832 extern ssize_t getzonenamebyid(zoneid_t, char *, size_t); 15833 15834 /* 15835 * NOTE 15836 * 15837 * The remaining contents of this file are private to the implementation 15838 * of Solaris and are subject to change at any time without notice, 15839 * Applications using these interfaces may fail to run on future releases. 15840 */ 15841 15842 extern int zonept(int, zoneid_t); 15843 extern int zone_get_id(const char *, zoneid_t *); 15844 15845 /* System call API */ 15846 extern zoneid_t zone_create(const char *, const char *, 15847 const struct priv_set *, const char *, size_t, const char *, size_t, int *, 15848 int, int, const bslabel_t *, int); 15849 extern int zone_boot(zoneid_t); 15850 extern int zone_destroy(zoneid_t); 15851 extern ssize_t zone_getattr(zoneid_t, int, void *, size_t); 15852 extern int zone_setattr(zoneid_t, int, void *, size_t); 15853 extern int zone_enter(zoneid_t); 15854 extern int zone_list(zoneid_t *, uint_t *); 15855 extern int zone_shutdown(zoneid_t); 15856 extern int zone_version(int *); 15857 extern int zone_add_datalink(zoneid_t, datalink_id_t); 15858 extern int zone_remove_datalink(zoneid_t, datalink_id_t); 15859 extern int zone_check_datalink(zoneid_t *, datalink_id_t); 15860 extern int zone_list_datalink(zoneid_t, int *, datalink_id_t *); 15861 # 46 "../common/instzones_lib.h" 2 15862 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 15863 /* 15864 * CDDL HEADER START 15865 * 15866 * The contents of this file are subject to the terms of the 15867 * Common Development and Distribution License (the "License"). 15868 * You may not use this file except in compliance with the License. 15869 * 15870 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15871 * or http://www.opensolaris.org/os/licensing. 15872 * See the License for the specific language governing permissions 15873 * and limitations under the License. 15874 * 15875 * When distributing Covered Code, include this CDDL HEADER in each 15876 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15877 * If applicable, add the following below this CDDL HEADER, with the 15878 * fields enclosed by brackets "[]" replaced with your own identifying 15879 * information: Portions Copyright [yyyy] [name of copyright owner] 15880 * 15881 * CDDL HEADER END 15882 */ 15883 15884 /* 15885 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 15886 */ 15887 15888 15889 15890 15891 /* 15892 * Zone configuration header file. 15893 */ 15894 15895 15896 15897 15898 15899 /* sys/socket.h is required by net/if.h, which has a constant needed here */ 15900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 15901 /* 15902 * CDDL HEADER START 15903 * 15904 * The contents of this file are subject to the terms of the 15905 * Common Development and Distribution License (the "License"). 15906 * You may not use this file except in compliance with the License. 15907 * 15908 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15909 * or http://www.opensolaris.org/os/licensing. 15910 * See the License for the specific language governing permissions 15911 * and limitations under the License. 15912 * 15913 * When distributing Covered Code, include this CDDL HEADER in each 15914 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15915 * If applicable, add the following below this CDDL HEADER, with the 15916 * fields enclosed by brackets "[]" replaced with your own identifying 15917 * information: Portions Copyright [yyyy] [name of copyright owner] 15918 * 15919 * CDDL HEADER END 15920 */ 15921 15922 /* 15923 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 15924 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 15925 */ 15926 15927 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 15928 /* All Rights Reserved */ 15929 15930 /* 15931 * University Copyright- Copyright (c) 1982, 1986, 1988 15932 * The Regents of the University of California 15933 * All Rights Reserved 15934 * 15935 * University Acknowledgment- Portions of this document are derived from 15936 * software developed by the University of California, Berkeley, and its 15937 * contributors. 15938 */ 15939 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 15940 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 1 15941 /* 15942 * CDDL HEADER START 15943 * 15944 * The contents of this file are subject to the terms of the 15945 * Common Development and Distribution License, Version 1.0 only 15946 * (the "License"). You may not use this file except in compliance 15947 * with the License. 15948 * 15949 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15950 * or http://www.opensolaris.org/os/licensing. 15951 * See the License for the specific language governing permissions 15952 * and limitations under the License. 15953 * 15954 * When distributing Covered Code, include this CDDL HEADER in each 15955 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15956 * If applicable, add the following below this CDDL HEADER, with the 15957 * fields enclosed by brackets "[]" replaced with your own identifying 15958 * information: Portions Copyright [yyyy] [name of copyright owner] 15959 * 15960 * CDDL HEADER END 15961 */ 15962 /* 15963 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15964 */ 15965 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15966 /* All Rights Reserved */ 15967 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fstyp.h" 15968 /* 15969 * Opcodes for the sysfs() system call. 15970 */ 15971 15972 15973 15974 15975 15976 int sysfs(int, ...); 15977 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 15978 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 1 15979 /* 15980 * CDDL HEADER START 15981 * 15982 * The contents of this file are subject to the terms of the 15983 * Common Development and Distribution License, Version 1.0 only 15984 * (the "License"). You may not use this file except in compliance 15985 * with the License. 15986 * 15987 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15988 * or http://www.opensolaris.org/os/licensing. 15989 * See the License for the specific language governing permissions 15990 * and limitations under the License. 15991 * 15992 * When distributing Covered Code, include this CDDL HEADER in each 15993 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15994 * If applicable, add the following below this CDDL HEADER, with the 15995 * fields enclosed by brackets "[]" replaced with your own identifying 15996 * information: Portions Copyright [yyyy] [name of copyright owner] 15997 * 15998 * CDDL HEADER END 15999 */ 16000 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16001 /* All Rights Reserved */ 16002 16003 16004 /* 16005 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16006 * 16007 * Copyright (c) 1996, 1999 by Sun Microsystems, Inc. 16008 * All rights reserved. 16009 */ 16010 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 16011 /* 16012 * Flag bits passed to mount(2). 16013 */ 16014 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mount.h" 16015 /* 16016 * Additional flag bits that domount() is prepared to interpret, but that 16017 * can't be passed through mount(2). 16018 */ 16019 16020 16021 16022 /* 16023 * Mask to sift out flag bits allowable from mount(2). 16024 */ 16025 16026 16027 16028 16029 /* 16030 * Mask to sift out flag bits allowable from umount2(2). 16031 */ 16032 16033 16034 16035 /* 16036 * Maximum option string length accepted or returned by mount(2). 16037 */ 16038 16039 16040 16041 int mount(const char *, const char *, int, ...); 16042 int umount(const char *); 16043 int umount2(const char *, int); 16044 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16045 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/priv.h" 1 16046 /* 16047 * CDDL HEADER START 16048 * 16049 * The contents of this file are subject to the terms of the 16050 * Common Development and Distribution License (the "License"). 16051 * You may not use this file except in compliance with the License. 16052 * 16053 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16054 * or http://www.opensolaris.org/os/licensing. 16055 * See the License for the specific language governing permissions 16056 * and limitations under the License. 16057 * 16058 * When distributing Covered Code, include this CDDL HEADER in each 16059 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16060 * If applicable, add the following below this CDDL HEADER, with the 16061 * fields enclosed by brackets "[]" replaced with your own identifying 16062 * information: Portions Copyright [yyyy] [name of copyright owner] 16063 * 16064 * CDDL HEADER END 16065 */ 16066 /* 16067 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16068 * 16069 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 16070 * Use is subject to license terms. 16071 */ 16072 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16073 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 16074 /* 16075 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16076 * Use is subject to license terms. 16077 * 16078 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 16079 */ 16080 /* 16081 * Copyright (c) 1982, 1986 Regents of the University of California. 16082 * All rights reserved. 16083 * 16084 * Redistribution and use in source and binary forms are permitted 16085 * provided that this notice is preserved and that due credit is given 16086 * to the University of California at Berkeley. The name of the University 16087 * may not be used to endorse or promote products derived from this 16088 * software without specific prior written permission. This software 16089 * is provided ``as is'' without express or implied warranty. 16090 */ 16091 16092 /* 16093 * Constants and structures defined by the internet system, 16094 * according to following documents 16095 * 16096 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 16097 * http://www.iana.org/assignments/protocol-numbers 16098 * http://www.iana.org/assignments/port-numbers 16099 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 16100 * 16101 */ 16102 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16103 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 16104 /* 16105 * CDDL HEADER START 16106 * 16107 * The contents of this file are subject to the terms of the 16108 * Common Development and Distribution License (the "License"). 16109 * You may not use this file except in compliance with the License. 16110 * 16111 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16112 * or http://www.opensolaris.org/os/licensing. 16113 * See the License for the specific language governing permissions 16114 * and limitations under the License. 16115 * 16116 * When distributing Covered Code, include this CDDL HEADER in each 16117 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16118 * If applicable, add the following below this CDDL HEADER, with the 16119 * fields enclosed by brackets "[]" replaced with your own identifying 16120 * information: Portions Copyright [yyyy] [name of copyright owner] 16121 * 16122 * CDDL HEADER END 16123 */ 16124 /* 16125 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16126 * 16127 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 16128 */ 16129 16130 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16131 /* All Rights Reserved */ 16132 16133 /* 16134 * University Copyright- Copyright (c) 1982, 1986, 1988 16135 * The Regents of the University of California 16136 * All Rights Reserved 16137 * 16138 * University Acknowledgment- Portions of this document are derived from 16139 * software developed by the University of California, Berkeley, and its 16140 * contributors. 16141 */ 16142 16143 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 16144 16145 16146 16147 16148 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16149 /* 16150 * CDDL HEADER START 16151 * 16152 * The contents of this file are subject to the terms of the 16153 * Common Development and Distribution License (the "License"). 16154 * You may not use this file except in compliance with the License. 16155 * 16156 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16157 * or http://www.opensolaris.org/os/licensing. 16158 * See the License for the specific language governing permissions 16159 * and limitations under the License. 16160 * 16161 * When distributing Covered Code, include this CDDL HEADER in each 16162 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16163 * If applicable, add the following below this CDDL HEADER, with the 16164 * fields enclosed by brackets "[]" replaced with your own identifying 16165 * information: Portions Copyright [yyyy] [name of copyright owner] 16166 * 16167 * CDDL HEADER END 16168 */ 16169 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16170 /* All Rights Reserved */ 16171 16172 16173 /* 16174 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16175 * Use is subject to license terms. 16176 * 16177 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16178 * Copyright 2016 Joyent, Inc. 16179 */ 16180 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16181 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 16182 /* 16183 * CDDL HEADER START 16184 * 16185 * The contents of this file are subject to the terms of the 16186 * Common Development and Distribution License (the "License"). 16187 * You may not use this file except in compliance with the License. 16188 * 16189 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16190 * or http://www.opensolaris.org/os/licensing. 16191 * See the License for the specific language governing permissions 16192 * and limitations under the License. 16193 * 16194 * When distributing Covered Code, include this CDDL HEADER in each 16195 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16196 * If applicable, add the following below this CDDL HEADER, with the 16197 * fields enclosed by brackets "[]" replaced with your own identifying 16198 * information: Portions Copyright [yyyy] [name of copyright owner] 16199 * 16200 * CDDL HEADER END 16201 */ 16202 /* 16203 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16204 * 16205 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 16206 * Use is subject to license terms. 16207 * 16208 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16209 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 16210 */ 16211 16212 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16213 /* All Rights Reserved */ 16214 16215 /* 16216 * University Copyright- Copyright (c) 1982, 1986, 1988 16217 * The Regents of the University of California 16218 * All Rights Reserved 16219 * 16220 * University Acknowledgment- Portions of this document are derived from 16221 * software developed by the University of California, Berkeley, and its 16222 * contributors. 16223 */ 16224 16225 16226 16227 16228 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 16229 /* 16230 * CDDL HEADER START 16231 * 16232 * The contents of this file are subject to the terms of the 16233 * Common Development and Distribution License (the "License"). 16234 * You may not use this file except in compliance with the License. 16235 * 16236 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16237 * or http://www.opensolaris.org/os/licensing. 16238 * See the License for the specific language governing permissions 16239 * and limitations under the License. 16240 * 16241 * When distributing Covered Code, include this CDDL HEADER in each 16242 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16243 * If applicable, add the following below this CDDL HEADER, with the 16244 * fields enclosed by brackets "[]" replaced with your own identifying 16245 * information: Portions Copyright [yyyy] [name of copyright owner] 16246 * 16247 * CDDL HEADER END 16248 */ 16249 16250 /* 16251 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 16252 * Copyright 2016 Joyent, Inc. 16253 * 16254 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16255 * Use is subject to license terms. 16256 */ 16257 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 16258 16259 16260 16261 16262 16263 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16264 /* 16265 * CDDL HEADER START 16266 * 16267 * The contents of this file are subject to the terms of the 16268 * Common Development and Distribution License (the "License"). 16269 * You may not use this file except in compliance with the License. 16270 * 16271 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16272 * or http://www.opensolaris.org/os/licensing. 16273 * See the License for the specific language governing permissions 16274 * and limitations under the License. 16275 * 16276 * When distributing Covered Code, include this CDDL HEADER in each 16277 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16278 * If applicable, add the following below this CDDL HEADER, with the 16279 * fields enclosed by brackets "[]" replaced with your own identifying 16280 * information: Portions Copyright [yyyy] [name of copyright owner] 16281 * 16282 * CDDL HEADER END 16283 */ 16284 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16285 /* All Rights Reserved */ 16286 16287 16288 /* 16289 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16290 * Use is subject to license terms. 16291 * 16292 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16293 * Copyright 2016 Joyent, Inc. 16294 */ 16295 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 16296 16297 /* 16298 * I/O parameter information. A uio structure describes the I/O which 16299 * is to be performed by an operation. Typically the data movement will 16300 * be performed by a routine such as uiomove(), which updates the uio 16301 * structure to reflect what was done. 16302 */ 16303 16304 16305 16306 16307 16308 16309 16310 typedef struct iovec { 16311 caddr_t iov_base; 16312 16313 size_t iov_len; 16314 16315 16316 16317 } iovec_t; 16318 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16319 /* 16320 * Segment flag values. 16321 */ 16322 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; 16323 16324 typedef struct uio { 16325 iovec_t *uio_iov; /* pointer to array of iovecs */ 16326 int uio_iovcnt; /* number of iovecs */ 16327 lloff_t _uio_offset; /* file offset */ 16328 uio_seg_t uio_segflg; /* address space (kernel or user) */ 16329 uint16_t uio_fmode; /* file mode flags */ 16330 uint16_t uio_extflg; /* extended flags */ 16331 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 16332 ssize_t uio_resid; /* residual count */ 16333 } uio_t; 16334 16335 /* 16336 * Extended uio_t uioa_t used for asynchronous uio. 16337 * 16338 * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" 16339 * as there isn't a formal definition of IOV_MAX for the kernel. 16340 */ 16341 16342 16343 typedef struct uioa_page_s { /* locked uio_iov state */ 16344 int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ 16345 void **uioa_ppp; /* page_t or pfn_t arrary */ 16346 caddr_t uioa_base; /* address base */ 16347 size_t uioa_len; /* span length */ 16348 } uioa_page_t; 16349 16350 typedef struct uioa_s { 16351 iovec_t *uio_iov; /* pointer to array of iovecs */ 16352 int uio_iovcnt; /* number of iovecs */ 16353 lloff_t _uio_offset; /* file offset */ 16354 uio_seg_t uio_segflg; /* address space (kernel or user) */ 16355 uint16_t uio_fmode; /* file mode flags */ 16356 uint16_t uio_extflg; /* extended flags */ 16357 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 16358 ssize_t uio_resid; /* residual count */ 16359 /* 16360 * uioa extended members. 16361 */ 16362 uint32_t uioa_state; /* state of asynch i/o */ 16363 ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ 16364 uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ 16365 void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ 16366 void *uioa_hwst[4]; /* opaque hardware state */ 16367 uioa_page_t uioa_locked[16]; /* Per iov locked pages */ 16368 } uioa_t; 16369 16370 /* 16371 * uio extensions 16372 * 16373 * PSARC 2009/478: Copy Reduction Interfaces 16374 */ 16375 typedef enum xuio_type { 16376 UIOTYPE_ASYNCIO, 16377 UIOTYPE_ZEROCOPY 16378 } xuio_type_t; 16379 16380 typedef struct xuio { 16381 uio_t xu_uio; /* Embedded UIO structure */ 16382 16383 /* Extended uio fields */ 16384 enum xuio_type xu_type; /* What kind of uio structure? */ 16385 union { 16386 /* Async I/O Support, intend to replace uioa_t. */ 16387 struct { 16388 uint32_t xu_a_state; /* state of async i/o */ 16389 /* bytes that have been uioamove()ed */ 16390 ssize_t xu_a_mbytes; 16391 uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ 16392 /* pointer into lcur->uioa_ppp[] */ 16393 void **xu_a_lppp; 16394 void *xu_a_hwst[4]; /* opaque hardware state */ 16395 /* Per iov locked pages */ 16396 uioa_page_t xu_a_locked[16]; 16397 } xu_aio; 16398 16399 /* 16400 * Copy Reduction Support -- facilate loaning / returning of 16401 * filesystem cache buffers. 16402 */ 16403 struct { 16404 int xu_zc_rw; /* read or write buffer */ 16405 void *xu_zc_priv; /* fs specific */ 16406 } xu_zc; 16407 } xu_ext; 16408 } xuio_t; 16409 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16410 /* 16411 * I/O direction. 16412 */ 16413 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; 16414 16415 /* 16416 * uio_extflg: extended flags 16417 * 16418 * NOTE: This flag will be used in uiomove to determine if non-temporal 16419 * access, ie, access bypassing caches, should be used. Filesystems that 16420 * don't initialize this field could experience suboptimal performance due to 16421 * the random data the field contains. 16422 * 16423 * NOTE: This flag is also used by uioasync callers to pass an extended 16424 * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all 16425 * consumers of a uioa_t require the uio_extflg to be initialized. 16426 */ 16427 16428 16429 16430 16431 16432 16433 /* 16434 * Global uioasync capability shadow state. 16435 */ 16436 typedef struct uioasync_s { 16437 boolean_t enabled; /* Is uioasync enabled? */ 16438 size_t mincnt; /* Minimum byte count for use of */ 16439 } uioasync_t; 16440 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16441 extern ssize_t readv(int, const struct iovec *, int); 16442 extern ssize_t writev(int, const struct iovec *, int); 16443 16444 /* 16445 * When in the large file compilation environment, 16446 * map preadv/pwritev to their 64 bit offset versions 16447 */ 16448 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16449 /* In the LP64 compilation environment, the APIs are already large file */ 16450 16451 16452 16453 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16454 #pragma redefine_extname preadv64 preadv 16455 # 277 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16456 16457 16458 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16459 #pragma redefine_extname pwritev64 pwritev 16460 # 278 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 16461 16462 16463 16464 16465 16466 16467 16468 extern ssize_t preadv(int, const struct iovec *, int, off_t); 16469 extern ssize_t pwritev(int, const struct iovec *, int, off_t); 16470 16471 /* 16472 * preadv64 and pwritev64 should be defined when: 16473 * - Using the transitional compilation environment, and not 16474 * the large file compilation environment. 16475 */ 16476 16477 16478 extern ssize_t preadv64(int, const struct iovec *, int, off64_t); 16479 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); 16480 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16481 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 16482 /* 16483 * CDDL HEADER START 16484 * 16485 * The contents of this file are subject to the terms of the 16486 * Common Development and Distribution License (the "License"). 16487 * You may not use this file except in compliance with the License. 16488 * 16489 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16490 * or http://www.opensolaris.org/os/licensing. 16491 * See the License for the specific language governing permissions 16492 * and limitations under the License. 16493 * 16494 * When distributing Covered Code, include this CDDL HEADER in each 16495 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16496 * If applicable, add the following below this CDDL HEADER, with the 16497 * fields enclosed by brackets "[]" replaced with your own identifying 16498 * information: Portions Copyright [yyyy] [name of copyright owner] 16499 * 16500 * CDDL HEADER END 16501 */ 16502 16503 /* 16504 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 16505 * Copyright 2016 Joyent, Inc. 16506 * 16507 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16508 * Use is subject to license terms. 16509 */ 16510 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16511 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 16512 /* 16513 * CDDL HEADER START 16514 * 16515 * The contents of this file are subject to the terms of the 16516 * Common Development and Distribution License (the "License"). 16517 * You may not use this file except in compliance with the License. 16518 * 16519 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16520 * or http://www.opensolaris.org/os/licensing. 16521 * See the License for the specific language governing permissions 16522 * and limitations under the License. 16523 * 16524 * When distributing Covered Code, include this CDDL HEADER in each 16525 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16526 * If applicable, add the following below this CDDL HEADER, with the 16527 * fields enclosed by brackets "[]" replaced with your own identifying 16528 * information: Portions Copyright [yyyy] [name of copyright owner] 16529 * 16530 * CDDL HEADER END 16531 */ 16532 /* 16533 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16534 * Use is subject to license terms. 16535 */ 16536 16537 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16538 /* All Rights Reserved */ 16539 16540 /* 16541 * Portions of this source code were derived from Berkeley 4.3 BSD 16542 * under license from the Regents of the University of California. 16543 */ 16544 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16545 16546 16547 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 16548 /* 16549 * CDDL HEADER START 16550 * 16551 * The contents of this file are subject to the terms of the 16552 * Common Development and Distribution License, Version 1.0 only 16553 * (the "License"). You may not use this file except in compliance 16554 * with the License. 16555 * 16556 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16557 * or http://www.opensolaris.org/os/licensing. 16558 * See the License for the specific language governing permissions 16559 * and limitations under the License. 16560 * 16561 * When distributing Covered Code, include this CDDL HEADER in each 16562 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16563 * If applicable, add the following below this CDDL HEADER, with the 16564 * fields enclosed by brackets "[]" replaced with your own identifying 16565 * information: Portions Copyright [yyyy] [name of copyright owner] 16566 * 16567 * CDDL HEADER END 16568 */ 16569 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16570 /* All Rights Reserved */ 16571 16572 16573 /* 16574 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16575 * 16576 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 16577 * Use is subject to license terms. 16578 */ 16579 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 16580 struct netconfig { 16581 char *nc_netid; /* network identifier */ 16582 unsigned int nc_semantics; /* defined below */ 16583 unsigned int nc_flag; /* defined below */ 16584 char *nc_protofmly; /* protocol family name */ 16585 char *nc_proto; /* protocol name */ 16586 char *nc_device; /* device name for network id */ 16587 unsigned int nc_nlookups; /* # of entries in nc_lookups */ 16588 char **nc_lookups; /* list of lookup directories */ 16589 unsigned int nc_unused[8]; /* borrowed for lockd etc. */ 16590 }; 16591 16592 typedef struct { 16593 struct netconfig **nc_head; 16594 struct netconfig **nc_curr; 16595 } NCONF_HANDLE; 16596 16597 /* 16598 * Values of nc_semantics 16599 */ 16600 16601 16602 16603 16604 16605 /* 16606 * NOT FOR PUBLIC USE, Solaris internal only. 16607 * This value of nc_semantics is strictly for use of Remote Direct 16608 * Memory Access provider interfaces in Solaris only and not for 16609 * general use. Do not use this value for general purpose user or 16610 * kernel programming. If used the behavior is undefined. 16611 * This is a PRIVATE interface to be used by Solaris kRPC only. 16612 */ 16613 16614 16615 /* 16616 * Values of nc_flag 16617 */ 16618 16619 16620 16621 16622 16623 /* 16624 * Values of nc_protofmly 16625 */ 16626 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 16627 /* 16628 * NOT FOR PUBLIC USE, Solaris internal only. 16629 * This value of nc_semantics is strictly for use of Remote Direct 16630 * Memory Access provider interfaces in Solaris only and not for 16631 * general use. Do not use this value for general purpose user or 16632 * kernel programming. If used the behavior is undefined. 16633 * This is a PRIVATE interface to be used by Solaris kRPC only. 16634 */ 16635 16636 16637 /* 16638 * Values for nc_proto 16639 */ 16640 16641 16642 16643 16644 16645 16646 /* 16647 * Values for nc_proto for "rdma" protofmly 16648 */ 16649 16650 16651 16652 16653 extern void *setnetconfig(void); 16654 extern int endnetconfig(void *); 16655 extern struct netconfig *getnetconfig(void *); 16656 extern struct netconfig *getnetconfigent(const char *); 16657 extern void freenetconfigent(struct netconfig *); 16658 extern void *setnetpath(void); 16659 extern int endnetpath(void *); 16660 extern struct netconfig *getnetpath(void *); 16661 extern void nc_perror(const char *); 16662 extern char *nc_sperror(void); 16663 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16664 16665 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 16666 /* 16667 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16668 * Use is subject to license terms. 16669 * 16670 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 16671 */ 16672 /* 16673 * Copyright (c) 1982, 1986 Regents of the University of California. 16674 * All rights reserved. 16675 * 16676 * Redistribution and use in source and binary forms are permitted 16677 * provided that this notice is preserved and that due credit is given 16678 * to the University of California at Berkeley. The name of the University 16679 * may not be used to endorse or promote products derived from this 16680 * software without specific prior written permission. This software 16681 * is provided ``as is'' without express or implied warranty. 16682 */ 16683 16684 /* 16685 * Constants and structures defined by the internet system, 16686 * according to following documents 16687 * 16688 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 16689 * http://www.iana.org/assignments/protocol-numbers 16690 * http://www.iana.org/assignments/port-numbers 16691 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 16692 * 16693 */ 16694 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 16695 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16696 /* 16697 * Definitions related to sockets: types, address families, options. 16698 */ 16699 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16700 /* 16701 * Types 16702 */ 16703 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16704 /* 16705 * Flags for socket() and accept4() 16706 */ 16707 16708 16709 16710 16711 /* 16712 * Option flags per-socket. 16713 */ 16714 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16715 /* 16716 * Socket options are passed using a signed integer, but it is also rare 16717 * for more than one to ever be passed at the same time with setsockopt 16718 * and only one at a time can be retrieved with getsockopt. 16719 * 16720 * Since the lower numbers cannot be renumbered for compatibility reasons, 16721 * it would seem that we need to start a new number space (0x40000000 - 16722 * 0x7fffffff) for those that don't need to be stored as a bit flag 16723 * somewhere. This limits the flag options to 30 but that seems to be 16724 * plenty, anyway. 0x40000000 is reserved for future use. 16725 */ 16726 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16727 /* 16728 * N.B.: The following definition is present only for compatibility 16729 * with release 3.0. It will disappear in later releases. 16730 */ 16731 16732 16733 /* 16734 * Additional options, not kept in so_options. 16735 */ 16736 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16737 /* "Socket"-level control message types: */ 16738 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16739 /* 16740 * Socket filter options 16741 */ 16742 16743 16744 16745 16746 16747 /* 16748 * Structure returned by FIL_LIST 16749 */ 16750 struct fil_info { 16751 int fi_flags; /* see below (FILF_*) */ 16752 int fi_pos; /* position (0 is bottom) */ 16753 char fi_name[32]; /* filter name */ 16754 }; 16755 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16756 /* 16757 * Structure used for manipulating linger option. 16758 */ 16759 struct linger { 16760 int l_onoff; /* option on/off */ 16761 int l_linger; /* linger time */ 16762 }; 16763 16764 /* 16765 * Levels for (get/set)sockopt() that don't apply to a specific protocol. 16766 */ 16767 16768 16769 16770 16771 16772 16773 16774 /* 16775 * Address families. 16776 * 16777 * Some of these constant names are copied for the DTrace IP provider in 16778 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 16779 * in sync. 16780 */ 16781 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16782 /* 16783 * Protocol families, same as address families for now. 16784 */ 16785 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16786 /* 16787 * Maximum queue length specifiable by listen. 16788 */ 16789 16790 16791 /* 16792 * Message header for recvmsg and sendmsg calls. 16793 */ 16794 struct msghdr { 16795 void *msg_name; /* optional address */ 16796 socklen_t msg_namelen; /* size of address */ 16797 struct iovec *msg_iov; /* scatter/gather array */ 16798 int msg_iovlen; /* # elements in msg_iov */ 16799 16800 16801 16802 16803 16804 16805 caddr_t msg_accrights; /* access rights sent/received */ 16806 int msg_accrightslen; 16807 16808 }; 16809 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16810 /* Added for XPGv2 compliance */ 16811 16812 16813 16814 16815 16816 /* with left over data */ 16817 /* End of XPGv2 compliance */ 16818 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16819 /* Added for XPGv2 compliance */ 16820 16821 16822 16823 16824 struct cmsghdr { 16825 socklen_t cmsg_len; /* data byte count, including hdr */ 16826 int cmsg_level; /* originating protocol */ 16827 int cmsg_type; /* protocol-specific type */ 16828 }; 16829 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 16830 extern int accept(int, struct sockaddr *, Psocklen_t); 16831 extern int accept4(int, struct sockaddr *, Psocklen_t, int); 16832 extern int bind(int, const struct sockaddr *, socklen_t); 16833 extern int connect(int, const struct sockaddr *, socklen_t); 16834 extern int getpeername(int, struct sockaddr *, Psocklen_t); 16835 extern int getsockname(int, struct sockaddr *, Psocklen_t); 16836 extern int getsockopt(int, int, int, void *, Psocklen_t); 16837 extern int listen(int, int); /* XXX - fixme??? where do I go */ 16838 extern int socketpair(int, int, int, int *); 16839 extern ssize_t recv(int, void *, size_t, int); 16840 extern ssize_t recvfrom(int, void *, size_t, int, 16841 struct sockaddr *, Psocklen_t); 16842 extern ssize_t recvmsg(int, struct msghdr *, int); 16843 extern ssize_t send(int, const void *, size_t, int); 16844 extern ssize_t sendmsg(int, const struct msghdr *, int); 16845 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, 16846 socklen_t); 16847 extern int setsockopt(int, int, int, const void *, socklen_t); 16848 extern int shutdown(int, int); 16849 extern int socket(int, int, int); 16850 16851 16852 extern int sockatmark(int); 16853 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 16854 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 1 16855 /* 16856 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 16857 */ 16858 16859 /* 16860 * Copyright (c) 1982, 1986 Regents of the University of California. 16861 * All rights reserved. The Berkeley software License Agreement 16862 * specifies the terms and conditions for redistribution. 16863 */ 16864 16865 16866 16867 16868 /* if.h 1.26 90/05/29 SMI; from UCB 7.1 6/4/86 */ 16869 16870 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 16871 /* 16872 * CDDL HEADER START 16873 * 16874 * The contents of this file are subject to the terms of the 16875 * Common Development and Distribution License (the "License"). 16876 * You may not use this file except in compliance with the License. 16877 * 16878 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16879 * or http://www.opensolaris.org/os/licensing. 16880 * See the License for the specific language governing permissions 16881 * and limitations under the License. 16882 * 16883 * When distributing Covered Code, include this CDDL HEADER in each 16884 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16885 * If applicable, add the following below this CDDL HEADER, with the 16886 * fields enclosed by brackets "[]" replaced with your own identifying 16887 * information: Portions Copyright [yyyy] [name of copyright owner] 16888 * 16889 * CDDL HEADER END 16890 */ 16891 16892 /* 16893 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 16894 * Copyright 2016 Joyent, Inc. 16895 * 16896 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16897 * Use is subject to license terms. 16898 */ 16899 # 17 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 16900 16901 16902 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 16903 /* 16904 * CDDL HEADER START 16905 * 16906 * The contents of this file are subject to the terms of the 16907 * Common Development and Distribution License (the "License"). 16908 * You may not use this file except in compliance with the License. 16909 * 16910 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16911 * or http://www.opensolaris.org/os/licensing. 16912 * See the License for the specific language governing permissions 16913 * and limitations under the License. 16914 * 16915 * When distributing Covered Code, include this CDDL HEADER in each 16916 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16917 * If applicable, add the following below this CDDL HEADER, with the 16918 * fields enclosed by brackets "[]" replaced with your own identifying 16919 * information: Portions Copyright [yyyy] [name of copyright owner] 16920 * 16921 * CDDL HEADER END 16922 */ 16923 /* 16924 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16925 * 16926 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 16927 */ 16928 16929 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16930 /* All Rights Reserved */ 16931 16932 /* 16933 * University Copyright- Copyright (c) 1982, 1986, 1988 16934 * The Regents of the University of California 16935 * All Rights Reserved 16936 * 16937 * University Acknowledgment- Portions of this document are derived from 16938 * software developed by the University of California, Berkeley, and its 16939 * contributors. 16940 */ 16941 16942 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 16943 # 20 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 16944 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 16945 /* 16946 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16947 * Use is subject to license terms. 16948 * 16949 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 16950 */ 16951 /* 16952 * Copyright (c) 1982, 1986 Regents of the University of California. 16953 * All rights reserved. 16954 * 16955 * Redistribution and use in source and binary forms are permitted 16956 * provided that this notice is preserved and that due credit is given 16957 * to the University of California at Berkeley. The name of the University 16958 * may not be used to endorse or promote products derived from this 16959 * software without specific prior written permission. This software 16960 * is provided ``as is'' without express or implied warranty. 16961 */ 16962 16963 /* 16964 * Constants and structures defined by the internet system, 16965 * according to following documents 16966 * 16967 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 16968 * http://www.iana.org/assignments/protocol-numbers 16969 * http://www.iana.org/assignments/port-numbers 16970 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 16971 * 16972 */ 16973 # 21 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 16974 16975 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 16976 /* 16977 * CDDL HEADER START 16978 * 16979 * The contents of this file are subject to the terms of the 16980 * Common Development and Distribution License (the "License"). 16981 * You may not use this file except in compliance with the License. 16982 * 16983 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16984 * or http://www.opensolaris.org/os/licensing. 16985 * See the License for the specific language governing permissions 16986 * and limitations under the License. 16987 * 16988 * When distributing Covered Code, include this CDDL HEADER in each 16989 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16990 * If applicable, add the following below this CDDL HEADER, with the 16991 * fields enclosed by brackets "[]" replaced with your own identifying 16992 * information: Portions Copyright [yyyy] [name of copyright owner] 16993 * 16994 * CDDL HEADER END 16995 */ 16996 /* 16997 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 16998 * Use is subject to license terms. 16999 * Copyright 2015 Nexenta Systems, Inc. 17000 */ 17001 # 23 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 2 17002 17003 17004 17005 17006 17007 17008 17009 /* 17010 * Structures defining a network interface, providing a packet 17011 * transport mechanism (ala level 0 of the PUP protocols). 17012 * 17013 * Each interface accepts output datagrams of a specified maximum 17014 * length, and provides higher level routines with input datagrams 17015 * received from its medium. 17016 * 17017 * Output occurs when the routine if_output is called, with three parameters: 17018 * (*ifp->if_output)(ifp, m, dst) 17019 * Here m is the mbuf chain to be sent and dst is the destination address. 17020 * The output routine encapsulates the supplied datagram if necessary, 17021 * and then transmits it on its medium. 17022 * 17023 * On input, each interface unwraps the data received by it, and either 17024 * places it on the input queue of a internetwork datagram routine 17025 * and posts the associated software interrupt, or passes the datagram to a raw 17026 * packet input routine. 17027 * 17028 * Routines exist for locating interfaces by their addresses 17029 * or for locating a interface on a certain network, as well as more general 17030 * routing and gateway routines maintaining information used to locate 17031 * interfaces. These routines live in the files if.c and route.c 17032 */ 17033 17034 17035 17036 /* 17037 * Structure defining a queue for a network interface. 17038 * 17039 * (Would like to call this struct ``if'', but C isn't PL/1.) 17040 */ 17041 struct ifnet { 17042 char *if_name; /* name, e.g. ``en'' or ``lo'' */ 17043 short if_unit; /* sub-unit for lower level driver */ 17044 short if_mtu; /* maximum transmission unit */ 17045 short if_flags; /* up/down, broadcast, etc. */ 17046 short if_timer; /* time 'til if_watchdog called */ 17047 ushort_t if_promisc; /* net # of requests for promisc mode */ 17048 int if_metric; /* routing metric (external only) */ 17049 struct ifaddr *if_addrlist; /* linked list of addresses per if */ 17050 struct ifqueue { 17051 struct mbuf *ifq_head; 17052 struct mbuf *ifq_tail; 17053 int ifq_len; 17054 int ifq_maxlen; 17055 int ifq_drops; 17056 } if_snd; /* output queue */ 17057 /* procedure handles */ 17058 int (*if_init)(); /* init routine */ 17059 int (*if_output)(); /* output routine */ 17060 int (*if_ioctl)(); /* ioctl routine */ 17061 int (*if_reset)(); /* bus reset routine */ 17062 int (*if_watchdog)(); /* timer routine */ 17063 /* generic interface statistics */ 17064 int if_ipackets; /* packets received on interface */ 17065 int if_ierrors; /* input errors on interface */ 17066 int if_opackets; /* packets sent on interface */ 17067 int if_oerrors; /* output errors on interface */ 17068 int if_collisions; /* collisions on csma interfaces */ 17069 /* end statistics */ 17070 struct ifnet *if_next; 17071 struct ifnet *if_upper; /* next layer up */ 17072 struct ifnet *if_lower; /* next layer down */ 17073 int (*if_input)(); /* input routine */ 17074 int (*if_ctlin)(); /* control input routine */ 17075 int (*if_ctlout)(); /* control output routine */ 17076 struct map *if_memmap; /* rmap for interface specific memory */ 17077 }; 17078 17079 /* 17080 * NOTE : These flags are not directly used within IP. 17081 * ip_if.h has definitions derived from this which is used within IP. 17082 * If you define a flag here, you need to define one in ip_if.h before 17083 * using the new flag in IP. Don't use these flags directly in IP. 17084 */ 17085 # 119 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17086 /* 17087 * The IFF_MULTICAST flag indicates that the network can support the 17088 * transmission and reception of higher-level (e.g., IP) multicast packets. 17089 * It is independent of hardware support for multicasting; for example, 17090 * point-to-point links or pure broadcast networks may well support 17091 * higher-level multicasts. 17092 */ 17093 17094 17095 17096 17097 17098 17099 17100 /* 17101 * The following flags can't be grabbed or altered by SIOC[GS]IFFLAGS. 17102 * Should use SIOC[GS]LIFFLAGS which has a larger flags field. 17103 */ 17104 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17105 /* 17106 * The IFF_XRESOLV flag is an evolving interface and is subject 17107 * to change without notice. 17108 */ 17109 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17110 /* flags that cannot be changed by userland on any interface */ 17111 17112 17113 17114 17115 17116 17117 17118 /* flags that cannot be changed by userland on an IPMP interface */ 17119 17120 17121 /* flags that can never be set on an IPMP interface */ 17122 17123 17124 17125 /* 17126 * Output queues (ifp->if_snd) and internetwork datagram level (pup level 1) 17127 * input routines have queues of messages stored on ifqueue structures 17128 * (defined above). Entries are added to and deleted from these structures 17129 * by these macros, which should be called with ipl raised to splimp(). 17130 */ 17131 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17132 /* 17133 * Packets destined for level-1 protocol input routines 17134 * have a pointer to the receiving interface prepended to the data. 17135 * IF_DEQUEUEIF extracts and returns this pointer when dequeuing the packet. 17136 * IF_ADJ should be used otherwise to adjust for its presence. 17137 */ 17138 # 254 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17139 /* 17140 * The ifaddr structure contains information about one address 17141 * of an interface. They are maintained by the different address families, 17142 * are allocated and attached when an address is set, and are linked 17143 * together so all addresses for an interface can be located. 17144 */ 17145 struct ifaddr { 17146 struct sockaddr ifa_addr; /* address of interface */ 17147 union { 17148 struct sockaddr ifu_broadaddr; 17149 struct sockaddr ifu_dstaddr; 17150 } ifa_ifu; 17151 17152 17153 struct ifnet *ifa_ifp; /* back-pointer to interface */ 17154 struct ifaddr *ifa_next; /* next address for interface */ 17155 }; 17156 17157 /* 17158 * For SIOCLIF*ND ioctls. 17159 * 17160 * The lnr_state_* fields use the ND_* neighbor reachability states. 17161 * The 3 different fields are for use with SIOCLIFSETND to cover the cases 17162 * when 17163 * A new entry is created 17164 * The entry already exists and the link-layer address is the same 17165 * The entry already exists and the link-layer address differs 17166 * 17167 * Use ND_UNCHANGED to not change any state. 17168 */ 17169 17170 typedef struct lif_nd_req { 17171 struct sockaddr_storage lnr_addr; 17172 uint8_t lnr_state_create; /* When creating */ 17173 uint8_t lnr_state_same_lla; /* Update same addr */ 17174 uint8_t lnr_state_diff_lla; /* Update w/ diff. */ 17175 int lnr_hdw_len; 17176 int lnr_flags; /* See below */ 17177 /* padding because ia32 "long long"s are only 4-byte aligned. */ 17178 int lnr_pad0; 17179 char lnr_hdw_addr[64]; 17180 } lif_nd_req_t; 17181 17182 /* 17183 * Neighbor reachability states 17184 * Used with SIOCLIF*ND ioctls. 17185 */ 17186 # 313 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17187 /* 17188 * lnr_flags value of lif_nd_req. 17189 * Used with SIOCLIF*ND ioctls. 17190 */ 17191 17192 17193 17194 17195 17196 17197 /* 17198 * the NDF_STATIC entry ensures that an NCE will not be deleted, and is 17199 * used by non-ON applications like IPv6 test suites. 17200 */ 17201 17202 17203 /* For SIOC[GS]LIFLNKINFO */ 17204 typedef struct lif_ifinfo_req { 17205 uint8_t lir_maxhops; 17206 uint32_t lir_reachtime; /* Reachable time in msec */ 17207 uint32_t lir_reachretrans; /* Retransmission timer msec */ 17208 uint32_t lir_maxmtu; 17209 } lif_ifinfo_req_t; 17210 17211 17212 17213 /* 17214 * Maximum lengths of interface name and IPMP group name; these are the same 17215 * for historical reasons. Note that the actual maximum length of a name is 17216 * one byte less than these constants since the kernel always sets the final 17217 * byte of lifr_name and lifr_groupname to NUL. 17218 */ 17219 17220 17221 17222 17223 17224 17225 17226 /* 17227 * Interface request structure used for socket 17228 * ioctl's. All interface ioctl's must have parameter 17229 * definitions which begin with ifr_name. The 17230 * remainder may be interface specific. 17231 * Note: This data structure uses 64bit type uint64_t which is not 17232 * a valid type for strict ANSI/ISO C compilation for ILP32. 17233 * Applications with ioctls using this structure that insist on 17234 * building with strict ANSI/ISO C (-Xc) will need to be LP64. 17235 */ 17236 17237 struct lifreq { 17238 char lifr_name[32]; /* if name, e.g. "en0" */ 17239 union { 17240 int lifru_addrlen; /* for subnet/token etc */ 17241 uint_t lifru_ppa; /* SIOCSLIFNAME */ 17242 } lifr_lifru1; 17243 17244 17245 uint_t lifr_type; /* IFT_ETHER, ... */ 17246 union { 17247 struct sockaddr_storage lifru_addr; 17248 struct sockaddr_storage lifru_dstaddr; 17249 struct sockaddr_storage lifru_broadaddr; 17250 struct sockaddr_storage lifru_token; /* With lifr_addrlen */ 17251 struct sockaddr_storage lifru_subnet; /* With lifr_addrlen */ 17252 int lifru_index; /* interface index */ 17253 uint64_t lifru_flags; /* Flags for SIOC?LIFFLAGS */ 17254 int lifru_metric; 17255 uint_t lifru_mtu; 17256 int lif_muxid[2]; /* mux id's for arp and ip */ 17257 struct lif_nd_req lifru_nd_req; /* SIOCLIF*ND */ 17258 struct lif_ifinfo_req lifru_ifinfo_req; 17259 char lifru_groupname[32]; /* SIOC[GS]LIFGROUPNAME */ 17260 char lifru_binding[32]; /* SIOCGLIFBINDING */ 17261 zoneid_t lifru_zoneid; /* SIOC[GS]LIFZONE */ 17262 uint_t lifru_dadstate; /* SIOCGLIFDADSTATE */ 17263 } lifr_lifru; 17264 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17265 }; 17266 17267 17268 /* 17269 * Argument structure for SIOCT* address testing ioctls. 17270 */ 17271 struct sioc_addrreq { 17272 struct sockaddr_storage sa_addr; /* Address to test */ 17273 int sa_res; /* Result - 0/1 */ 17274 int sa_pad; 17275 }; 17276 17277 /* 17278 * Argument structure used by mrouted to get src-grp pkt counts using 17279 * SIOCGETLSGCNT. See <netinet/ip_mroute.h>. 17280 */ 17281 struct sioc_lsg_req { 17282 struct sockaddr_storage slr_src; 17283 struct sockaddr_storage slr_grp; 17284 uint_t slr_pktcnt; 17285 uint_t slr_bytecnt; 17286 uint_t slr_wrong_if; 17287 uint_t slr_pad; 17288 }; 17289 17290 /* Argument structure for SIOCGLIFDADSTATE ioctl */ 17291 typedef enum { 17292 DAD_IN_PROGRESS = 0x1, 17293 DAD_DONE = 0x2 17294 } glif_dad_state_t; 17295 17296 /* 17297 * OBSOLETE: Replaced by struct lifreq. Supported for compatibility. 17298 * 17299 * Interface request structure used for socket 17300 * ioctl's. All interface ioctl's must have parameter 17301 * definitions which begin with ifr_name. The 17302 * remainder may be interface specific. 17303 */ 17304 struct ifreq { 17305 17306 char ifr_name[16]; /* if name, e.g. "en0" */ 17307 union { 17308 struct sockaddr ifru_addr; 17309 struct sockaddr ifru_dstaddr; 17310 char ifru_oname[16]; /* other if name */ 17311 struct sockaddr ifru_broadaddr; 17312 int ifru_index; /* interface index */ 17313 uint_t ifru_mtu; 17314 short ifru_flags; 17315 int ifru_metric; 17316 char ifru_data[1]; /* interface dependent data */ 17317 char ifru_enaddr[6]; 17318 int if_muxid[2]; /* mux id's for arp and ip */ 17319 17320 /* Struct for flags/ppa */ 17321 struct ifr_ppaflags { 17322 short ifrup_flags; /* Space of ifru_flags. */ 17323 short ifrup_filler; 17324 uint_t ifrup_ppa; 17325 } ifru_ppaflags; 17326 17327 /* Struct for FDDI ioctl's */ 17328 struct ifr_dnld_reqs { 17329 uint32_t v_addr; 17330 uint32_t m_addr; 17331 uint32_t ex_addr; 17332 uint32_t size; 17333 } ifru_dnld_req; 17334 17335 /* Struct for FDDI stats */ 17336 struct ifr_fddi_stats { 17337 uint32_t stat_size; 17338 uint32_t fddi_stats; 17339 } ifru_fddi_stat; 17340 17341 struct ifr_netmapents { 17342 uint32_t map_ent_size, /* size of netmap structure */ 17343 entry_number; /* index into netmap list */ 17344 uint32_t fddi_map_ent; /* pointer to user structure */ 17345 } ifru_netmapent; 17346 17347 /* Field for generic ioctl for fddi */ 17348 17349 struct ifr_fddi_gen_struct { 17350 uint32_t ifru_fddi_gioctl; /* field for gen ioctl */ 17351 uint32_t ifru_fddi_gaddr; /* Generic ptr to a field */ 17352 } ifru_fddi_gstruct; 17353 17354 } ifr_ifru; 17355 # 509 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17356 /* For setting ppa */ 17357 17358 17359 /* FDDI specific */ 17360 17361 17362 17363 17364 17365 17366 17367 }; 17368 17369 /* Used by SIOCGLIFNUM. Uses same flags as in struct lifconf */ 17370 struct lifnum { 17371 sa_family_t lifn_family; 17372 int lifn_flags; /* request specific interfaces */ 17373 int lifn_count; /* Result */ 17374 }; 17375 17376 /* 17377 * Structure used in SIOCGLIFCONF request. 17378 * Used to retrieve interface configuration 17379 * for machine (useful for programs which 17380 * must know all networks accessible) for a given address family. 17381 * Using AF_UNSPEC will retrieve all address families. 17382 */ 17383 struct lifconf { 17384 sa_family_t lifc_family; 17385 int lifc_flags; /* request specific interfaces */ 17386 int lifc_len; /* size of associated buffer */ 17387 union { 17388 caddr_t lifcu_buf; 17389 struct lifreq *lifcu_req; 17390 } lifc_lifcu; 17391 17392 17393 }; 17394 17395 /* 17396 * Structure used in SIOCGLIFSRCOF to get the interface 17397 * configuration list for those interfaces that use an address 17398 * hosted on the interface (set in lifs_ifindex), as the source 17399 * address. 17400 */ 17401 struct lifsrcof { 17402 uint_t lifs_ifindex; /* interface of interest */ 17403 size_t lifs_maxlen; /* size of buffer: input */ 17404 size_t lifs_len; /* size of buffer: output */ 17405 union { 17406 caddr_t lifsu_buf; 17407 struct lifreq *lifsu_req; 17408 } lifs_lifsu; 17409 17410 17411 }; 17412 17413 /* Flags */ 17414 17415 17416 /* be used to communicate outside the */ 17417 /* node (exclude interfaces which are */ 17418 /* IFF_NOXMIT, IFF_NOLOCAL, */ 17419 /* IFF_LOOPBACK, IFF_DEPRECATED, or */ 17420 /* not IFF_UP). Has priority over */ 17421 /* LIFC_NOXMIT. */ 17422 17423 17424 /* (must be issued from global zone) */ 17425 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17426 /* 17427 * IPMP group information, for use with SIOCGLIFGROUPINFO. 17428 */ 17429 typedef struct lifgroupinfo { 17430 char gi_grname[32]; /* group name (set by caller) */ 17431 char gi_grifname[32]; /* IPMP meta-interface name */ 17432 char gi_m4ifname[32]; /* v4 mcast interface name */ 17433 char gi_m6ifname[32]; /* v6 mcast interface name */ 17434 char gi_bcifname[32]; /* v4 bcast interface name */ 17435 boolean_t gi_v4; /* group is plumbed for v4 */ 17436 boolean_t gi_v6; /* group is plumbed for v6 */ 17437 uint_t gi_nv4; /* # of underlying v4 if's */ 17438 uint_t gi_nv6; /* # of underlying v6 if's */ 17439 uint_t gi_mactype; /* DLPI mac type of group */ 17440 } lifgroupinfo_t; 17441 17442 /* 17443 * OBSOLETE: Structure used in SIOCGIFCONF request. 17444 * Used to retrieve interface configuration 17445 * for machine (useful for programs which 17446 * must know all networks accessible). 17447 */ 17448 struct ifconf { 17449 int ifc_len; /* size of associated buffer */ 17450 union { 17451 caddr_t ifcu_buf; 17452 struct ifreq *ifcu_req; 17453 } ifc_ifcu; 17454 17455 17456 }; 17457 # 649 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if.h" 17458 typedef struct if_data { 17459 /* generic interface information */ 17460 uchar_t ifi_type; /* ethernet, tokenring, etc */ 17461 uchar_t ifi_addrlen; /* media address length */ 17462 uchar_t ifi_hdrlen; /* media header length */ 17463 uint_t ifi_mtu; /* maximum transmission unit */ 17464 uint_t ifi_metric; /* routing metric (external only) */ 17465 uint_t ifi_baudrate; /* linespeed */ 17466 /* volatile statistics */ 17467 uint_t ifi_ipackets; /* packets received on interface */ 17468 uint_t ifi_ierrors; /* input errors on interface */ 17469 uint_t ifi_opackets; /* packets sent on interface */ 17470 uint_t ifi_oerrors; /* output errors on interface */ 17471 uint_t ifi_collisions; /* collisions on csma interfaces */ 17472 uint_t ifi_ibytes; /* total number of octets received */ 17473 uint_t ifi_obytes; /* total number of octets sent */ 17474 uint_t ifi_imcasts; /* packets received via multicast */ 17475 uint_t ifi_omcasts; /* packets sent via multicast */ 17476 uint_t ifi_iqdrops; /* dropped on input, this interface */ 17477 uint_t ifi_noproto; /* destined for unsupported protocol */ 17478 17479 struct timeval32 ifi_lastchange; /* last updated */ 17480 17481 17482 17483 } if_data_t; 17484 17485 /* 17486 * Message format for use in obtaining information about interfaces 17487 * from the routing socket 17488 */ 17489 typedef struct if_msghdr { 17490 ushort_t ifm_msglen; /* to skip over non-understood messages */ 17491 uchar_t ifm_version; /* future binary compatibility */ 17492 uchar_t ifm_type; /* message type */ 17493 int ifm_addrs; /* like rtm_addrs */ 17494 int ifm_flags; /* value of if_flags */ 17495 ushort_t ifm_index; /* index for associated ifp */ 17496 struct if_data ifm_data; /* statistics and other data about if */ 17497 } if_msghdr_t; 17498 17499 /* 17500 * Message format for use in obtaining information about interface addresses 17501 * from the routing socket 17502 */ 17503 typedef struct ifa_msghdr { 17504 ushort_t ifam_msglen; /* to skip over non-understood messages */ 17505 uchar_t ifam_version; /* future binary compatibility */ 17506 uchar_t ifam_type; /* message type */ 17507 int ifam_addrs; /* like rtm_addrs */ 17508 int ifam_flags; /* route flags */ 17509 ushort_t ifam_index; /* index for associated ifp */ 17510 int ifam_metric; /* value of ipif_metric */ 17511 } ifa_msghdr_t; 17512 17513 17514 17515 /* 17516 * The if_nameindex structure holds the interface index value about 17517 * a single interface. An array of this structure is used to return 17518 * all interfaces and indexes. 17519 */ 17520 struct if_nameindex { 17521 unsigned if_index; /* positive interface index */ 17522 char *if_name; /* if name, e.g. "en0" */ 17523 }; 17524 17525 /* Interface index identification API definitions */ 17526 extern unsigned if_nametoindex(const char *); 17527 extern char *if_indextoname(unsigned, char *); 17528 extern struct if_nameindex *if_nameindex(void); 17529 extern void if_freenameindex(struct if_nameindex *); 17530 17531 17532 /* 17533 * If changing IF_MAX_INDEX to a value greater than UINT16_MAX, check if 17534 * struct sockaddr_dl needs to be modified as the interface index is placed 17535 * in this structure by the kernel. 17536 */ 17537 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17538 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 17539 /* 17540 * CDDL HEADER START 17541 * 17542 * The contents of this file are subject to the terms of the 17543 * Common Development and Distribution License (the "License"). 17544 * You may not use this file except in compliance with the License. 17545 * 17546 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17547 * or http://www.opensolaris.org/os/licensing. 17548 * See the License for the specific language governing permissions 17549 * and limitations under the License. 17550 * 17551 * When distributing Covered Code, include this CDDL HEADER in each 17552 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17553 * If applicable, add the following below this CDDL HEADER, with the 17554 * fields enclosed by brackets "[]" replaced with your own identifying 17555 * information: Portions Copyright [yyyy] [name of copyright owner] 17556 * 17557 * CDDL HEADER END 17558 */ 17559 17560 /* 17561 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17562 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 17563 */ 17564 17565 /* Copyright (c) 1988 AT&T */ 17566 /* All Rights Reserved */ 17567 17568 /* 17569 * User-visible pieces of the ANSI C standard I/O package. 17570 */ 17571 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17572 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 17573 /* 17574 * CDDL HEADER START 17575 * 17576 * The contents of this file are subject to the terms of the 17577 * Common Development and Distribution License, Version 1.0 only 17578 * (the "License"). You may not use this file except in compliance 17579 * with the License. 17580 * 17581 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17582 * or http://www.opensolaris.org/os/licensing. 17583 * See the License for the specific language governing permissions 17584 * and limitations under the License. 17585 * 17586 * When distributing Covered Code, include this CDDL HEADER in each 17587 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17588 * If applicable, add the following below this CDDL HEADER, with the 17589 * fields enclosed by brackets "[]" replaced with your own identifying 17590 * information: Portions Copyright [yyyy] [name of copyright owner] 17591 * 17592 * CDDL HEADER END 17593 */ 17594 /* 17595 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17596 * Use is subject to license terms. 17597 */ 17598 17599 17600 17601 17602 #pragma ident "%Z%%M% %I% %E% SMI" 17603 17604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 17605 /* 17606 * CDDL HEADER START 17607 * 17608 * The contents of this file are subject to the terms of the 17609 * Common Development and Distribution License (the "License"). 17610 * You may not use this file except in compliance with the License. 17611 * 17612 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17613 * or http://www.opensolaris.org/os/licensing. 17614 * See the License for the specific language governing permissions 17615 * and limitations under the License. 17616 * 17617 * When distributing Covered Code, include this CDDL HEADER in each 17618 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17619 * If applicable, add the following below this CDDL HEADER, with the 17620 * fields enclosed by brackets "[]" replaced with your own identifying 17621 * information: Portions Copyright [yyyy] [name of copyright owner] 17622 * 17623 * CDDL HEADER END 17624 */ 17625 /* 17626 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 17627 */ 17628 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 17629 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17630 /* 17631 * CDDL HEADER START 17632 * 17633 * The contents of this file are subject to the terms of the 17634 * Common Development and Distribution License (the "License"). 17635 * You may not use this file except in compliance with the License. 17636 * 17637 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17638 * or http://www.opensolaris.org/os/licensing. 17639 * See the License for the specific language governing permissions 17640 * and limitations under the License. 17641 * 17642 * When distributing Covered Code, include this CDDL HEADER in each 17643 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17644 * If applicable, add the following below this CDDL HEADER, with the 17645 * fields enclosed by brackets "[]" replaced with your own identifying 17646 * information: Portions Copyright [yyyy] [name of copyright owner] 17647 * 17648 * CDDL HEADER END 17649 */ 17650 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17651 /* All Rights Reserved */ 17652 17653 17654 /* 17655 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17656 * Use is subject to license terms. 17657 * 17658 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17659 * Copyright 2016 Joyent, Inc. 17660 */ 17661 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 17662 17663 17664 17665 17666 17667 int rctl_walk(int (*)(const char *, void *), void *); 17668 17669 hrtime_t rctlblk_get_firing_time(rctlblk_t *); 17670 uint_t rctlblk_get_global_action(rctlblk_t *); 17671 uint_t rctlblk_get_global_flags(rctlblk_t *); 17672 uint_t rctlblk_get_local_action(rctlblk_t *, int *); 17673 uint_t rctlblk_get_local_flags(rctlblk_t *); 17674 id_t rctlblk_get_recipient_pid(rctlblk_t *); 17675 rctl_priv_t rctlblk_get_privilege(rctlblk_t *); 17676 rctl_qty_t rctlblk_get_value(rctlblk_t *); 17677 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); 17678 17679 void rctlblk_set_local_action(rctlblk_t *, uint_t, int); 17680 void rctlblk_set_local_flags(rctlblk_t *, uint_t); 17681 void rctlblk_set_recipient_pid(rctlblk_t *, id_t); 17682 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); 17683 void rctlblk_set_value(rctlblk_t *, rctl_qty_t); 17684 17685 size_t rctlblk_size(void); 17686 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17687 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/zone.h" 1 17688 /* 17689 * CDDL HEADER START 17690 * 17691 * The contents of this file are subject to the terms of the 17692 * Common Development and Distribution License (the "License"). 17693 * You may not use this file except in compliance with the License. 17694 * 17695 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17696 * or http://www.opensolaris.org/os/licensing. 17697 * See the License for the specific language governing permissions 17698 * and limitations under the License. 17699 * 17700 * When distributing Covered Code, include this CDDL HEADER in each 17701 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17702 * If applicable, add the following below this CDDL HEADER, with the 17703 * fields enclosed by brackets "[]" replaced with your own identifying 17704 * information: Portions Copyright [yyyy] [name of copyright owner] 17705 * 17706 * CDDL HEADER END 17707 */ 17708 /* 17709 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17710 * Use is subject to license terms. 17711 */ 17712 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 1 17714 /* 17715 * CDDL HEADER START 17716 * 17717 * The contents of this file are subject to the terms of the 17718 * Common Development and Distribution License (the "License"). 17719 * You may not use this file except in compliance with the License. 17720 * 17721 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17722 * or http://www.opensolaris.org/os/licensing. 17723 * See the License for the specific language governing permissions 17724 * and limitations under the License. 17725 * 17726 * When distributing Covered Code, include this CDDL HEADER in each 17727 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17728 * If applicable, add the following below this CDDL HEADER, with the 17729 * fields enclosed by brackets "[]" replaced with your own identifying 17730 * information: Portions Copyright [yyyy] [name of copyright owner] 17731 * 17732 * CDDL HEADER END 17733 */ 17734 17735 /* 17736 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 17737 * Copyright (c) 2011, Joyent, Inc. All rights reserved. 17738 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 17739 */ 17740 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 17741 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17742 /* 17743 * CDDL HEADER START 17744 * 17745 * The contents of this file are subject to the terms of the 17746 * Common Development and Distribution License (the "License"). 17747 * You may not use this file except in compliance with the License. 17748 * 17749 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17750 * or http://www.opensolaris.org/os/licensing. 17751 * See the License for the specific language governing permissions 17752 * and limitations under the License. 17753 * 17754 * When distributing Covered Code, include this CDDL HEADER in each 17755 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17756 * If applicable, add the following below this CDDL HEADER, with the 17757 * fields enclosed by brackets "[]" replaced with your own identifying 17758 * information: Portions Copyright [yyyy] [name of copyright owner] 17759 * 17760 * CDDL HEADER END 17761 */ 17762 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17763 /* All Rights Reserved */ 17764 17765 17766 /* 17767 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17768 * Use is subject to license terms. 17769 * 17770 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17771 * Copyright 2016 Joyent, Inc. 17772 */ 17773 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libbrand.h" 2 17774 17775 typedef struct __brand_handle *brand_handle_t; 17776 17777 typedef struct priv_iter_s { 17778 char *pi_name; 17779 char *pi_set; 17780 char *pi_iptype; 17781 } priv_iter_t; 17782 17783 extern brand_handle_t brand_open(const char *); 17784 extern void brand_close(brand_handle_t); 17785 17786 extern boolean_t brand_allow_exclusive_ip(brand_handle_t); 17787 17788 extern int brand_get_attach(brand_handle_t, const char *, const char *, 17789 char *, size_t); 17790 extern int brand_get_boot(brand_handle_t, const char *, const char *, 17791 char *, size_t); 17792 extern int brand_get_brandname(brand_handle_t, char *, size_t); 17793 extern int brand_get_clone(brand_handle_t, const char *, const char *, 17794 char *, size_t); 17795 extern int brand_get_detach(brand_handle_t, const char *, const char *, 17796 char *, size_t); 17797 extern int brand_get_shutdown(brand_handle_t, const char *, const char *, 17798 char *, size_t); 17799 extern int brand_get_halt(brand_handle_t, const char *, const char *, 17800 char *, size_t); 17801 extern int brand_get_initname(brand_handle_t, char *, size_t); 17802 extern boolean_t brand_restartinit(brand_handle_t); 17803 extern int brand_get_install(brand_handle_t, const char *, const char *, 17804 char *, size_t); 17805 extern int brand_get_installopts(brand_handle_t, char *, size_t); 17806 extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t); 17807 extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *, 17808 char *, size_t); 17809 extern int brand_get_modname(brand_handle_t, char *, size_t); 17810 extern int brand_get_postattach(brand_handle_t, const char *, const char *, 17811 char *, size_t); 17812 extern int brand_get_postclone(brand_handle_t, const char *, const char *, 17813 char *, size_t); 17814 extern int brand_get_postinstall(brand_handle_t, const char *, const char *, 17815 char *, size_t); 17816 extern int brand_get_postsnap(brand_handle_t, const char *, const char *, 17817 char *, size_t); 17818 extern int brand_get_poststatechange(brand_handle_t, const char *, const char *, 17819 char *, size_t); 17820 extern int brand_get_predetach(brand_handle_t, const char *, const char *, 17821 char *, size_t); 17822 extern int brand_get_presnap(brand_handle_t, const char *, const char *, 17823 char *, size_t); 17824 extern int brand_get_prestatechange(brand_handle_t, const char *, const char *, 17825 char *, size_t); 17826 extern int brand_get_preuninstall(brand_handle_t, const char *, const char *, 17827 char *, size_t); 17828 extern int brand_get_query(brand_handle_t, const char *, const char *, 17829 char *, size_t); 17830 extern int brand_get_uninstall(brand_handle_t, const char *, const char *, 17831 char *, size_t); 17832 extern int brand_get_validatesnap(brand_handle_t, const char *, const char *, 17833 char *, size_t); 17834 extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t); 17835 extern int brand_get_verify_cfg(brand_handle_t, char *, size_t); 17836 extern int brand_get_verify_adm(brand_handle_t, const char *, const char *, 17837 char *, size_t); 17838 extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *, 17839 size_t); 17840 17841 extern int brand_config_iter_privilege(brand_handle_t, 17842 int (*func)(void *, priv_iter_t *), void *); 17843 17844 extern int brand_platform_iter_devices(brand_handle_t, const char *, 17845 int (*)(void *, const char *, const char *), void *, const char *); 17846 extern int brand_platform_iter_gmounts(brand_handle_t, const char *, 17847 int (*)(void *, const char *, const char *, const char *, const char *), 17848 void *); 17849 extern int brand_platform_iter_link(brand_handle_t, int (*)(void *, 17850 const char *, const char *), void *); 17851 extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *, 17852 const char *, const char *, const char *, const char *), void *); 17853 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 17854 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 1 17855 /* 17856 * CDDL HEADER START 17857 * 17858 * The contents of this file are subject to the terms of the 17859 * Common Development and Distribution License, Version 1.0 only 17860 * (the "License"). You may not use this file except in compliance 17861 * with the License. 17862 * 17863 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17864 * or http://www.opensolaris.org/os/licensing. 17865 * See the License for the specific language governing permissions 17866 * and limitations under the License. 17867 * 17868 * When distributing Covered Code, include this CDDL HEADER in each 17869 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17870 * If applicable, add the following below this CDDL HEADER, with the 17871 * fields enclosed by brackets "[]" replaced with your own identifying 17872 * information: Portions Copyright [yyyy] [name of copyright owner] 17873 * 17874 * CDDL HEADER END 17875 */ 17876 /* 17877 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17878 * Use is subject to license terms. 17879 */ 17880 17881 17882 17883 17884 #pragma ident "%Z%%M% %I% %E% SMI" 17885 17886 17887 17888 17889 17890 /* 17891 * The copyright in this file is taken from the original Leach 17892 * & Salz UUID specification, from which this implementation 17893 * is derived. 17894 */ 17895 17896 /* 17897 * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. 17898 * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & 17899 * Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 17900 * Microsoft. To anyone who acknowledges that this file is provided 17901 * "AS IS" without any express or implied warranty: permission to use, 17902 * copy, modify, and distribute this file for any purpose is hereby 17903 * granted without fee, provided that the above copyright notices and 17904 * this notice appears in all source code copies, and that none of the 17905 * names of Open Software Foundation, Inc., Hewlett-Packard Company, 17906 * or Digital Equipment Corporation be used in advertising or 17907 * publicity pertaining to distribution of the software without 17908 * specific, written prior permission. Neither Open Software 17909 * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital 17910 * Equipment Corporation makes any representations about the 17911 * suitability of this software for any purpose. 17912 */ 17913 17914 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17915 /* 17916 * CDDL HEADER START 17917 * 17918 * The contents of this file are subject to the terms of the 17919 * Common Development and Distribution License (the "License"). 17920 * You may not use this file except in compliance with the License. 17921 * 17922 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17923 * or http://www.opensolaris.org/os/licensing. 17924 * See the License for the specific language governing permissions 17925 * and limitations under the License. 17926 * 17927 * When distributing Covered Code, include this CDDL HEADER in each 17928 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17929 * If applicable, add the following below this CDDL HEADER, with the 17930 * fields enclosed by brackets "[]" replaced with your own identifying 17931 * information: Portions Copyright [yyyy] [name of copyright owner] 17932 * 17933 * CDDL HEADER END 17934 */ 17935 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17936 /* All Rights Reserved */ 17937 17938 17939 /* 17940 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17941 * Use is subject to license terms. 17942 * 17943 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17944 * Copyright 2016 Joyent, Inc. 17945 */ 17946 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 17947 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 17948 /* 17949 * CDDL HEADER START 17950 * 17951 * The contents of this file are subject to the terms of the 17952 * Common Development and Distribution License (the "License"). 17953 * You may not use this file except in compliance with the License. 17954 * 17955 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17956 * or http://www.opensolaris.org/os/licensing. 17957 * See the License for the specific language governing permissions 17958 * and limitations under the License. 17959 * 17960 * When distributing Covered Code, include this CDDL HEADER in each 17961 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17962 * If applicable, add the following below this CDDL HEADER, with the 17963 * fields enclosed by brackets "[]" replaced with your own identifying 17964 * information: Portions Copyright [yyyy] [name of copyright owner] 17965 * 17966 * CDDL HEADER END 17967 */ 17968 17969 /* 17970 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17971 * Use is subject to license terms. 17972 */ 17973 17974 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 17975 /* All Rights Reserved */ 17976 17977 /* 17978 * University Copyright- Copyright (c) 1982, 1986, 1988 17979 * The Regents of the University of California 17980 * All Rights Reserved 17981 * 17982 * University Acknowledgment- Portions of this document are derived from 17983 * software developed by the University of California, Berkeley, and its 17984 * contributors. 17985 */ 17986 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uuid.h" 2 17987 17988 typedef struct { 17989 uint8_t nodeID[6]; 17990 } uuid_node_t; 17991 17992 /* 17993 * The uuid type used throughout when referencing uuids themselves 17994 */ 17995 struct uuid { 17996 uint32_t time_low; 17997 uint16_t time_mid; 17998 uint16_t time_hi_and_version; 17999 uint8_t clock_seq_hi_and_reserved; 18000 uint8_t clock_seq_low; 18001 uint8_t node_addr[6]; 18002 }; 18003 18004 18005 18006 18007 18008 typedef uchar_t uuid_t[16]; 18009 18010 /* 18011 * Convert a uuid to/from little-endian format 18012 */ 18013 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18014 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 1 18015 /* 18016 * CDDL HEADER START 18017 * 18018 * The contents of this file are subject to the terms of the 18019 * Common Development and Distribution License (the "License"). 18020 * You may not use this file except in compliance with the License. 18021 * 18022 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18023 * or http://www.opensolaris.org/os/licensing. 18024 * See the License for the specific language governing permissions 18025 * and limitations under the License. 18026 * 18027 * When distributing Covered Code, include this CDDL HEADER in each 18028 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18029 * If applicable, add the following below this CDDL HEADER, with the 18030 * fields enclosed by brackets "[]" replaced with your own identifying 18031 * information: Portions Copyright [yyyy] [name of copyright owner] 18032 * 18033 * CDDL HEADER END 18034 */ 18035 /* 18036 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 18037 */ 18038 18039 18040 18041 18042 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18043 /* 18044 * CDDL HEADER START 18045 * 18046 * The contents of this file are subject to the terms of the 18047 * Common Development and Distribution License (the "License"). 18048 * You may not use this file except in compliance with the License. 18049 * 18050 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18051 * or http://www.opensolaris.org/os/licensing. 18052 * See the License for the specific language governing permissions 18053 * and limitations under the License. 18054 * 18055 * When distributing Covered Code, include this CDDL HEADER in each 18056 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18057 * If applicable, add the following below this CDDL HEADER, with the 18058 * fields enclosed by brackets "[]" replaced with your own identifying 18059 * information: Portions Copyright [yyyy] [name of copyright owner] 18060 * 18061 * CDDL HEADER END 18062 */ 18063 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18064 /* All Rights Reserved */ 18065 18066 18067 /* 18068 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18069 * Use is subject to license terms. 18070 * 18071 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18072 * Copyright 2016 Joyent, Inc. 18073 */ 18074 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18075 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 18076 /* 18077 * CDDL HEADER START 18078 * 18079 * The contents of this file are subject to the terms of the 18080 * Common Development and Distribution License, Version 1.0 only 18081 * (the "License"). You may not use this file except in compliance 18082 * with the License. 18083 * 18084 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18085 * or http://www.opensolaris.org/os/licensing. 18086 * See the License for the specific language governing permissions 18087 * and limitations under the License. 18088 * 18089 * When distributing Covered Code, include this CDDL HEADER in each 18090 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18091 * If applicable, add the following below this CDDL HEADER, with the 18092 * fields enclosed by brackets "[]" replaced with your own identifying 18093 * information: Portions Copyright [yyyy] [name of copyright owner] 18094 * 18095 * CDDL HEADER END 18096 */ 18097 /* Copyright (c) 1988 AT&T */ 18098 /* All Rights Reserved */ 18099 18100 /* 18101 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18102 * 18103 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18104 * Use is subject to license terms. 18105 */ 18106 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18107 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 18108 /* 18109 * CDDL HEADER START 18110 * 18111 * The contents of this file are subject to the terms of the 18112 * Common Development and Distribution License (the "License"). 18113 * You may not use this file except in compliance with the License. 18114 * 18115 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18116 * or http://www.opensolaris.org/os/licensing. 18117 * See the License for the specific language governing permissions 18118 * and limitations under the License. 18119 * 18120 * When distributing Covered Code, include this CDDL HEADER in each 18121 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18122 * If applicable, add the following below this CDDL HEADER, with the 18123 * fields enclosed by brackets "[]" replaced with your own identifying 18124 * information: Portions Copyright [yyyy] [name of copyright owner] 18125 * 18126 * CDDL HEADER END 18127 */ 18128 18129 /* 18130 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18131 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 18132 */ 18133 18134 /* Copyright (c) 1988 AT&T */ 18135 /* All Rights Reserved */ 18136 18137 /* 18138 * User-visible pieces of the ANSI C standard I/O package. 18139 */ 18140 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 2 18141 18142 18143 18144 18145 18146 /* 18147 * Standard flags codes. 18148 */ 18149 18150 18151 /* 18152 * Standard error codes. 18153 */ 18154 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libuutil.h" 18155 /* 18156 * Standard program exit codes. 18157 */ 18158 18159 18160 18161 18162 /* 18163 * Exit status profiles. 18164 */ 18165 18166 18167 18168 /* 18169 * Error reporting functions. 18170 */ 18171 uint32_t uu_error(void); 18172 const char *uu_strerror(uint32_t); 18173 18174 /* 18175 * Program notification functions. 18176 */ 18177 extern void uu_alt_exit(int); 18178 extern const char *uu_setpname(char *); 18179 extern const char *uu_getpname(void); 18180 /*PRINTFLIKE1*/ 18181 extern void uu_warn(const char *, ...); 18182 extern void uu_vwarn(const char *, va_list); 18183 /*PRINTFLIKE1*/ 18184 extern void uu_die(const char *, ...) __attribute__((__noreturn__)); 18185 extern void uu_vdie(const char *, va_list) __attribute__((__noreturn__)); 18186 /*PRINTFLIKE2*/ 18187 extern void uu_xdie(int, const char *, ...) __attribute__((__noreturn__)); 18188 extern void uu_vxdie(int, const char *, va_list) __attribute__((__noreturn__)); 18189 18190 /* 18191 * Exit status functions (not to be used directly) 18192 */ 18193 extern int *uu_exit_ok(void); 18194 extern int *uu_exit_fatal(void); 18195 extern int *uu_exit_usage(void); 18196 18197 /* 18198 * string->number conversions 18199 */ 18200 extern int uu_strtoint(const char *, void *, size_t, int, int64_t, int64_t); 18201 extern int uu_strtouint(const char *, void *, size_t, int, uint64_t, uint64_t); 18202 18203 /* 18204 * Debug print facility functions. 18205 */ 18206 typedef struct uu_dprintf uu_dprintf_t; 18207 18208 typedef enum { 18209 UU_DPRINTF_SILENT, 18210 UU_DPRINTF_FATAL, 18211 UU_DPRINTF_WARNING, 18212 UU_DPRINTF_NOTICE, 18213 UU_DPRINTF_INFO, 18214 UU_DPRINTF_DEBUG 18215 } uu_dprintf_severity_t; 18216 18217 extern uu_dprintf_t *uu_dprintf_create(const char *, uu_dprintf_severity_t, 18218 uint_t); 18219 /*PRINTFLIKE3*/ 18220 extern void uu_dprintf(uu_dprintf_t *, uu_dprintf_severity_t, 18221 const char *, ...); 18222 extern void uu_dprintf_destroy(uu_dprintf_t *); 18223 extern const char *uu_dprintf_getname(uu_dprintf_t *); 18224 18225 /* 18226 * Identifier test flags and function. 18227 */ 18228 18229 18230 18231 int uu_check_name(const char *, uint_t); 18232 18233 /* 18234 * File creation functions. 18235 */ 18236 extern int uu_open_tmp(const char *dir, uint_t uflags); 18237 18238 /* 18239 * Convenience functions. 18240 */ 18241 18242 18243 /*PRINTFLIKE1*/ 18244 extern char *uu_msprintf(const char *format, ...); 18245 extern void *uu_zalloc(size_t); 18246 extern char *uu_strdup(const char *); 18247 extern void uu_free(void *); 18248 18249 extern boolean_t uu_strcaseeq(const char *a, const char *b); 18250 extern boolean_t uu_streq(const char *a, const char *b); 18251 extern char *uu_strndup(const char *s, size_t n); 18252 extern boolean_t uu_strbw(const char *a, const char *b); 18253 extern void *uu_memdup(const void *buf, size_t sz); 18254 extern void uu_dump(FILE *out, const char *prefix, const void *buf, size_t len); 18255 18256 /* 18257 * Comparison function type definition. 18258 * Developers should be careful in their use of the _private argument. If you 18259 * break interface guarantees, you get undefined behavior. 18260 */ 18261 typedef int uu_compare_fn_t(const void *__left, const void *__right, 18262 void *__private); 18263 18264 /* 18265 * Walk variant flags. 18266 * A data structure need not provide support for all variants and 18267 * combinations. Refer to the appropriate documentation. 18268 */ 18269 18270 18271 18272 18273 18274 18275 /* 18276 * Walk callback function return codes. 18277 */ 18278 18279 18280 18281 18282 /* 18283 * Walk callback function type definition. 18284 */ 18285 typedef int uu_walk_fn_t(void *_elem, void *_private); 18286 18287 /* 18288 * lists: opaque structures 18289 */ 18290 typedef struct uu_list_pool uu_list_pool_t; 18291 typedef struct uu_list uu_list_t; 18292 18293 typedef struct uu_list_node { 18294 uintptr_t uln_opaque[2]; 18295 } uu_list_node_t; 18296 18297 typedef struct uu_list_walk uu_list_walk_t; 18298 18299 typedef uintptr_t uu_list_index_t; 18300 18301 /* 18302 * lists: interface 18303 * 18304 * basic usage: 18305 * typedef struct foo { 18306 * ... 18307 * uu_list_node_t foo_node; 18308 * ... 18309 * } foo_t; 18310 * 18311 * static int 18312 * foo_compare(void *l_arg, void *r_arg, void *private) 18313 * { 18314 * foo_t *l = l_arg; 18315 * foo_t *r = r_arg; 18316 * 18317 * if (... l greater than r ...) 18318 * return (1); 18319 * if (... l less than r ...) 18320 * return (-1); 18321 * return (0); 18322 * } 18323 * 18324 * ... 18325 * // at initialization time 18326 * foo_pool = uu_list_pool_create("foo_pool", 18327 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 18328 * debugging? 0 : UU_AVL_POOL_DEBUG); 18329 * ... 18330 */ 18331 uu_list_pool_t *uu_list_pool_create(const char *, size_t, size_t, 18332 uu_compare_fn_t *, uint32_t); 18333 18334 18335 void uu_list_pool_destroy(uu_list_pool_t *); 18336 18337 /* 18338 * usage: 18339 * 18340 * foo_t *a; 18341 * a = malloc(sizeof(*a)); 18342 * uu_list_node_init(a, &a->foo_list, pool); 18343 * ... 18344 * uu_list_node_fini(a, &a->foo_list, pool); 18345 * free(a); 18346 */ 18347 void uu_list_node_init(void *, uu_list_node_t *, uu_list_pool_t *); 18348 void uu_list_node_fini(void *, uu_list_node_t *, uu_list_pool_t *); 18349 18350 uu_list_t *uu_list_create(uu_list_pool_t *, void *_parent, uint32_t); 18351 18352 18353 18354 void uu_list_destroy(uu_list_t *); /* list must be empty */ 18355 18356 size_t uu_list_numnodes(uu_list_t *); 18357 18358 void *uu_list_first(uu_list_t *); 18359 void *uu_list_last(uu_list_t *); 18360 18361 void *uu_list_next(uu_list_t *, void *); 18362 void *uu_list_prev(uu_list_t *, void *); 18363 18364 int uu_list_walk(uu_list_t *, uu_walk_fn_t *, void *, uint32_t); 18365 18366 uu_list_walk_t *uu_list_walk_start(uu_list_t *, uint32_t); 18367 void *uu_list_walk_next(uu_list_walk_t *); 18368 void uu_list_walk_end(uu_list_walk_t *); 18369 18370 void *uu_list_find(uu_list_t *, void *, void *, uu_list_index_t *); 18371 void uu_list_insert(uu_list_t *, void *, uu_list_index_t); 18372 18373 void *uu_list_nearest_next(uu_list_t *, uu_list_index_t); 18374 void *uu_list_nearest_prev(uu_list_t *, uu_list_index_t); 18375 18376 void *uu_list_teardown(uu_list_t *, void **); 18377 18378 void uu_list_remove(uu_list_t *, void *); 18379 18380 /* 18381 * lists: interfaces for non-sorted lists only 18382 */ 18383 int uu_list_insert_before(uu_list_t *, void *_target, void *_elem); 18384 int uu_list_insert_after(uu_list_t *, void *_target, void *_elem); 18385 18386 /* 18387 * avl trees: opaque structures 18388 */ 18389 typedef struct uu_avl_pool uu_avl_pool_t; 18390 typedef struct uu_avl uu_avl_t; 18391 18392 typedef struct uu_avl_node { 18393 18394 uintptr_t uan_opaque[3]; 18395 18396 18397 18398 } uu_avl_node_t; 18399 18400 typedef struct uu_avl_walk uu_avl_walk_t; 18401 18402 typedef uintptr_t uu_avl_index_t; 18403 18404 /* 18405 * avl trees: interface 18406 * 18407 * basic usage: 18408 * typedef struct foo { 18409 * ... 18410 * uu_avl_node_t foo_node; 18411 * ... 18412 * } foo_t; 18413 * 18414 * static int 18415 * foo_compare(void *l_arg, void *r_arg, void *private) 18416 * { 18417 * foo_t *l = l_arg; 18418 * foo_t *r = r_arg; 18419 * 18420 * if (... l greater than r ...) 18421 * return (1); 18422 * if (... l less than r ...) 18423 * return (-1); 18424 * return (0); 18425 * } 18426 * 18427 * ... 18428 * // at initialization time 18429 * foo_pool = uu_avl_pool_create("foo_pool", 18430 * sizeof (foo_t), offsetof(foo_t, foo_node), foo_compare, 18431 * debugging? 0 : UU_AVL_POOL_DEBUG); 18432 * ... 18433 */ 18434 uu_avl_pool_t *uu_avl_pool_create(const char *, size_t, size_t, 18435 uu_compare_fn_t *, uint32_t); 18436 18437 18438 void uu_avl_pool_destroy(uu_avl_pool_t *); 18439 18440 /* 18441 * usage: 18442 * 18443 * foo_t *a; 18444 * a = malloc(sizeof(*a)); 18445 * uu_avl_node_init(a, &a->foo_avl, pool); 18446 * ... 18447 * uu_avl_node_fini(a, &a->foo_avl, pool); 18448 * free(a); 18449 */ 18450 void uu_avl_node_init(void *, uu_avl_node_t *, uu_avl_pool_t *); 18451 void uu_avl_node_fini(void *, uu_avl_node_t *, uu_avl_pool_t *); 18452 18453 uu_avl_t *uu_avl_create(uu_avl_pool_t *, void *_parent, uint32_t); 18454 18455 18456 void uu_avl_destroy(uu_avl_t *); /* list must be empty */ 18457 18458 size_t uu_avl_numnodes(uu_avl_t *); 18459 18460 void *uu_avl_first(uu_avl_t *); 18461 void *uu_avl_last(uu_avl_t *); 18462 18463 void *uu_avl_next(uu_avl_t *, void *); 18464 void *uu_avl_prev(uu_avl_t *, void *); 18465 18466 int uu_avl_walk(uu_avl_t *, uu_walk_fn_t *, void *, uint32_t); 18467 18468 uu_avl_walk_t *uu_avl_walk_start(uu_avl_t *, uint32_t); 18469 void *uu_avl_walk_next(uu_avl_walk_t *); 18470 void uu_avl_walk_end(uu_avl_walk_t *); 18471 18472 void *uu_avl_find(uu_avl_t *, void *, void *, uu_avl_index_t *); 18473 void uu_avl_insert(uu_avl_t *, void *, uu_avl_index_t); 18474 18475 void *uu_avl_nearest_next(uu_avl_t *, uu_avl_index_t); 18476 void *uu_avl_nearest_prev(uu_avl_t *, uu_avl_index_t); 18477 18478 void *uu_avl_teardown(uu_avl_t *, void **); 18479 18480 void uu_avl_remove(uu_avl_t *, void *); 18481 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18482 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 1 18483 /* 18484 * CDDL HEADER START 18485 * 18486 * The contents of this file are subject to the terms of the 18487 * Common Development and Distribution License (the "License"). 18488 * You may not use this file except in compliance with the License. 18489 * 18490 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18491 * or http://www.opensolaris.org/os/licensing. 18492 * See the License for the specific language governing permissions 18493 * and limitations under the License. 18494 * 18495 * When distributing Covered Code, include this CDDL HEADER in each 18496 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18497 * If applicable, add the following below this CDDL HEADER, with the 18498 * fields enclosed by brackets "[]" replaced with your own identifying 18499 * information: Portions Copyright [yyyy] [name of copyright owner] 18500 * 18501 * CDDL HEADER END 18502 */ 18503 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18504 /* All Rights Reserved */ 18505 18506 18507 /* 18508 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18509 * 18510 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18511 * Use is subject to license terms. 18512 */ 18513 18514 18515 18516 18517 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18518 /* 18519 * CDDL HEADER START 18520 * 18521 * The contents of this file are subject to the terms of the 18522 * Common Development and Distribution License (the "License"). 18523 * You may not use this file except in compliance with the License. 18524 * 18525 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18526 * or http://www.opensolaris.org/os/licensing. 18527 * See the License for the specific language governing permissions 18528 * and limitations under the License. 18529 * 18530 * When distributing Covered Code, include this CDDL HEADER in each 18531 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18532 * If applicable, add the following below this CDDL HEADER, with the 18533 * fields enclosed by brackets "[]" replaced with your own identifying 18534 * information: Portions Copyright [yyyy] [name of copyright owner] 18535 * 18536 * CDDL HEADER END 18537 */ 18538 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18539 /* All Rights Reserved */ 18540 18541 18542 /* 18543 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18544 * Use is subject to license terms. 18545 * 18546 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18547 * Copyright 2016 Joyent, Inc. 18548 */ 18549 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 2 18550 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mnttab.h" 18551 /* 18552 * The fields in struct extmnttab should match those in struct mnttab until new 18553 * fields are encountered. This allows hasmntopt(), getmntent_common() and 18554 * mntioctl() to cast one type to the other safely. 18555 * 18556 * The fields in struct mnttab, struct extmnttab and struct mntentbuf must all 18557 * match those in the corresponding 32-bit versions defined in mntvnops.c. 18558 */ 18559 struct mnttab { 18560 char *mnt_special; 18561 char *mnt_mountp; 18562 char *mnt_fstype; 18563 char *mnt_mntopts; 18564 char *mnt_time; 18565 }; 18566 18567 struct extmnttab { 18568 char *mnt_special; 18569 char *mnt_mountp; 18570 char *mnt_fstype; 18571 char *mnt_mntopts; 18572 char *mnt_time; 18573 uint_t mnt_major; 18574 uint_t mnt_minor; 18575 }; 18576 18577 struct mntentbuf { 18578 struct extmnttab *mbuf_emp; 18579 size_t mbuf_bufsize; 18580 char *mbuf_buf; 18581 }; 18582 18583 18584 extern void resetmnttab(FILE *); 18585 extern int getmntent(FILE *, struct mnttab *); 18586 extern int getextmntent(FILE *, struct extmnttab *, size_t); 18587 extern int getmntany(FILE *, struct mnttab *, struct mnttab *); 18588 extern char *hasmntopt(struct mnttab *, char *); 18589 extern char *mntopt(char **); 18590 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18591 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 18592 /* 18593 * CDDL HEADER START 18594 * 18595 * The contents of this file are subject to the terms of the 18596 * Common Development and Distribution License (the "License"). 18597 * You may not use this file except in compliance with the License. 18598 * 18599 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18600 * or http://www.opensolaris.org/os/licensing. 18601 * See the License for the specific language governing permissions 18602 * and limitations under the License. 18603 * 18604 * When distributing Covered Code, include this CDDL HEADER in each 18605 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18606 * If applicable, add the following below this CDDL HEADER, with the 18607 * fields enclosed by brackets "[]" replaced with your own identifying 18608 * information: Portions Copyright [yyyy] [name of copyright owner] 18609 * 18610 * CDDL HEADER END 18611 */ 18612 18613 /* 18614 * Copyright (c) 2013 Gary Mills 18615 * 18616 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18617 * Use is subject to license terms. 18618 */ 18619 18620 /* Copyright (c) 1988 AT&T */ 18621 /* All Rights Reserved */ 18622 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 18623 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 1 18624 /* 18625 * CDDL HEADER START 18626 * 18627 * The contents of this file are subject to the terms of the 18628 * Common Development and Distribution License, Version 1.0 only 18629 * (the "License"). You may not use this file except in compliance 18630 * with the License. 18631 * 18632 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18633 * or http://www.opensolaris.org/os/licensing. 18634 * See the License for the specific language governing permissions 18635 * and limitations under the License. 18636 * 18637 * When distributing Covered Code, include this CDDL HEADER in each 18638 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18639 * If applicable, add the following below this CDDL HEADER, with the 18640 * fields enclosed by brackets "[]" replaced with your own identifying 18641 * information: Portions Copyright [yyyy] [name of copyright owner] 18642 * 18643 * CDDL HEADER END 18644 */ 18645 /* 18646 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18647 * 18648 * Copyright 1997 Sun Microsystems, Inc. All rights reserved. 18649 * Use is subject to license terms. 18650 */ 18651 18652 /* Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T */ 18653 /* All Rights Reserved */ 18654 18655 /* 18656 * Portions of this source code were derived from Berkeley 4.3 BSD 18657 * under license from the Regents of the University of California. 18658 */ 18659 18660 18661 18662 18663 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 18664 /* 18665 * CDDL HEADER START 18666 * 18667 * The contents of this file are subject to the terms of the 18668 * Common Development and Distribution License (the "License"). 18669 * You may not use this file except in compliance with the License. 18670 * 18671 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18672 * or http://www.opensolaris.org/os/licensing. 18673 * See the License for the specific language governing permissions 18674 * and limitations under the License. 18675 * 18676 * When distributing Covered Code, include this CDDL HEADER in each 18677 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18678 * If applicable, add the following below this CDDL HEADER, with the 18679 * fields enclosed by brackets "[]" replaced with your own identifying 18680 * information: Portions Copyright [yyyy] [name of copyright owner] 18681 * 18682 * CDDL HEADER END 18683 */ 18684 18685 /* 18686 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 18687 * Copyright 2016 Joyent, Inc. 18688 * 18689 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 18690 * Use is subject to license terms. 18691 */ 18692 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 18693 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18694 /* 18695 * CDDL HEADER START 18696 * 18697 * The contents of this file are subject to the terms of the 18698 * Common Development and Distribution License (the "License"). 18699 * You may not use this file except in compliance with the License. 18700 * 18701 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18702 * or http://www.opensolaris.org/os/licensing. 18703 * See the License for the specific language governing permissions 18704 * and limitations under the License. 18705 * 18706 * When distributing Covered Code, include this CDDL HEADER in each 18707 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18708 * If applicable, add the following below this CDDL HEADER, with the 18709 * fields enclosed by brackets "[]" replaced with your own identifying 18710 * information: Portions Copyright [yyyy] [name of copyright owner] 18711 * 18712 * CDDL HEADER END 18713 */ 18714 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18715 /* All Rights Reserved */ 18716 18717 18718 /* 18719 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18720 * Use is subject to license terms. 18721 * 18722 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18723 * Copyright 2016 Joyent, Inc. 18724 */ 18725 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 18726 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 18727 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18728 /* All Rights Reserved */ 18729 18730 18731 /* 18732 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 18733 * All rights reserved. The Berkeley software License Agreement 18734 * specifies the terms and conditions for redistribution. 18735 */ 18736 18737 /* 18738 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18739 * 18740 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18741 * Use is subject to license terms. 18742 * 18743 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18744 */ 18745 18746 /* 18747 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 18748 */ 18749 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 18750 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 1 18751 /* 18752 * CDDL HEADER START 18753 * 18754 * The contents of this file are subject to the terms of the 18755 * Common Development and Distribution License, Version 1.0 only 18756 * (the "License"). You may not use this file except in compliance 18757 * with the License. 18758 * 18759 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18760 * or http://www.opensolaris.org/os/licensing. 18761 * See the License for the specific language governing permissions 18762 * and limitations under the License. 18763 * 18764 * When distributing Covered Code, include this CDDL HEADER in each 18765 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18766 * If applicable, add the following below this CDDL HEADER, with the 18767 * fields enclosed by brackets "[]" replaced with your own identifying 18768 * information: Portions Copyright [yyyy] [name of copyright owner] 18769 * 18770 * CDDL HEADER END 18771 */ 18772 /* Copyright (c) 1988 AT&T */ 18773 /* All Rights Reserved */ 18774 18775 18776 /* 18777 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18778 * 18779 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18780 * Use is subject to license terms. 18781 */ 18782 18783 18784 18785 18786 18787 /* 18788 * Note: The getutent(3c) family of interfaces are obsolete. 18789 * The getutxent(3c) family provide a superset of this functionality 18790 * and should be used in place of getutent(3c). 18791 */ 18792 18793 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18794 /* 18795 * CDDL HEADER START 18796 * 18797 * The contents of this file are subject to the terms of the 18798 * Common Development and Distribution License (the "License"). 18799 * You may not use this file except in compliance with the License. 18800 * 18801 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18802 * or http://www.opensolaris.org/os/licensing. 18803 * See the License for the specific language governing permissions 18804 * and limitations under the License. 18805 * 18806 * When distributing Covered Code, include this CDDL HEADER in each 18807 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18808 * If applicable, add the following below this CDDL HEADER, with the 18809 * fields enclosed by brackets "[]" replaced with your own identifying 18810 * information: Portions Copyright [yyyy] [name of copyright owner] 18811 * 18812 * CDDL HEADER END 18813 */ 18814 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18815 /* All Rights Reserved */ 18816 18817 18818 /* 18819 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18820 * Use is subject to license terms. 18821 * 18822 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18823 * Copyright 2016 Joyent, Inc. 18824 */ 18825 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 18826 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 18827 struct exit_status { 18828 short e_termination; /* Process termination status */ 18829 short e_exit; /* Process exit status */ 18830 }; 18831 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 18832 /* 18833 * This data structure describes the utmp entries returned by 18834 * the getutent(3c) family of APIs. It does not (necessarily) 18835 * correspond to the contents of the utmp or wtmp files. 18836 * 18837 * Applications should only interact with this subsystem via 18838 * the getutxent(3c) family of APIs, as the getutent(3c) family 18839 * are obsolete. 18840 */ 18841 struct utmp { 18842 char ut_user[8]; /* User login name */ 18843 char ut_id[4]; /* /etc/inittab id(usually line #) */ 18844 char ut_line[12]; /* device name (console, lnxx) */ 18845 short ut_pid; /* short for compat. - process id */ 18846 short ut_type; /* type of entry */ 18847 struct exit_status ut_exit; /* The exit status of a process */ 18848 /* marked as DEAD_PROCESS. */ 18849 time_t ut_time; /* time entry was made */ 18850 }; 18851 18852 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 18853 /* 18854 * CDDL HEADER START 18855 * 18856 * The contents of this file are subject to the terms of the 18857 * Common Development and Distribution License (the "License"). 18858 * You may not use this file except in compliance with the License. 18859 * 18860 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18861 * or http://www.opensolaris.org/os/licensing. 18862 * See the License for the specific language governing permissions 18863 * and limitations under the License. 18864 * 18865 * When distributing Covered Code, include this CDDL HEADER in each 18866 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18867 * If applicable, add the following below this CDDL HEADER, with the 18868 * fields enclosed by brackets "[]" replaced with your own identifying 18869 * information: Portions Copyright [yyyy] [name of copyright owner] 18870 * 18871 * CDDL HEADER END 18872 */ 18873 /* 18874 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 18875 * Use is subject to license terms. 18876 * Copyright 2015 Nexenta Systems, Inc. 18877 */ 18878 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 18879 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 18880 /* 18881 * CDDL HEADER START 18882 * 18883 * The contents of this file are subject to the terms of the 18884 * Common Development and Distribution License, Version 1.0 only 18885 * (the "License"). You may not use this file except in compliance 18886 * with the License. 18887 * 18888 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18889 * or http://www.opensolaris.org/os/licensing. 18890 * See the License for the specific language governing permissions 18891 * and limitations under the License. 18892 * 18893 * When distributing Covered Code, include this CDDL HEADER in each 18894 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18895 * If applicable, add the following below this CDDL HEADER, with the 18896 * fields enclosed by brackets "[]" replaced with your own identifying 18897 * information: Portions Copyright [yyyy] [name of copyright owner] 18898 * 18899 * CDDL HEADER END 18900 */ 18901 /* 18902 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18903 * 18904 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 18905 * Use is subject to license terms. 18906 */ 18907 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 2 18908 18909 /* 18910 * This data structure describes the utmp *file* contents using 18911 * fixed-width data types. It should only be used by the implementation. 18912 * 18913 * Applications should use the getutxent(3c) family of routines to interact 18914 * with this database. 18915 */ 18916 18917 struct futmp { 18918 char ut_user[8]; /* User login name */ 18919 char ut_id[4]; /* /etc/inittab id */ 18920 char ut_line[12]; /* device name (console, lnxx) */ 18921 int16_t ut_pid; /* process id */ 18922 int16_t ut_type; /* type of entry */ 18923 struct { 18924 int16_t e_termination; /* Process termination status */ 18925 int16_t e_exit; /* Process exit status */ 18926 } ut_exit; /* The exit status of a process */ 18927 time32_t ut_time; /* time entry was made */ 18928 }; 18929 18930 18931 18932 /* Definitions for ut_type */ 18933 # 135 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 18934 /* Special strings or formats used in the "ut_line" field when */ 18935 /* accounting for something other than a process. */ 18936 /* No string for the ut_line field can be more than 11 chars + */ 18937 /* a NULL in length. */ 18938 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmp.h" 18939 /* Define and macro for determing if a normal user wrote the entry */ 18940 /* and marking the utmpx entry as a normal user */ 18941 18942 18943 18944 18945 18946 extern void endutent(void); 18947 extern struct utmp *getutent(void); 18948 extern struct utmp *getutid(const struct utmp *); 18949 extern struct utmp *getutline(const struct utmp *); 18950 extern struct utmp *pututline(const struct utmp *); 18951 extern void setutent(void); 18952 extern int utmpname(const char *); 18953 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 18954 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 18955 /* 18956 * This data structure describes the utmpx entries returned by 18957 * the getutxent(3c) family of APIs. It does not (necessarily) 18958 * correspond to the contents of the utmpx or wtmpx files. 18959 * 18960 * Applications should only interact with this subsystem via 18961 * the getutxent(3c) family of APIs. 18962 */ 18963 struct utmpx { 18964 char ut_user[32]; /* user login name */ 18965 char ut_id[4]; /* inittab id */ 18966 char ut_line[32]; /* device name (console, lnxx) */ 18967 pid_t ut_pid; /* process id */ 18968 short ut_type; /* type of entry */ 18969 18970 struct exit_status ut_exit; /* process termination/exit status */ 18971 18972 18973 18974 struct timeval ut_tv; /* time entry was made */ 18975 int ut_session; /* session ID, used for windowing */ 18976 18977 int pad[5]; /* reserved for future use */ 18978 18979 18980 18981 short ut_syslen; /* significant length of ut_host */ 18982 /* including terminating null */ 18983 char ut_host[257]; /* remote host name */ 18984 }; 18985 18986 18987 18988 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types32.h" 1 18989 /* 18990 * CDDL HEADER START 18991 * 18992 * The contents of this file are subject to the terms of the 18993 * Common Development and Distribution License (the "License"). 18994 * You may not use this file except in compliance with the License. 18995 * 18996 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18997 * or http://www.opensolaris.org/os/licensing. 18998 * See the License for the specific language governing permissions 18999 * and limitations under the License. 19000 * 19001 * When distributing Covered Code, include this CDDL HEADER in each 19002 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19003 * If applicable, add the following below this CDDL HEADER, with the 19004 * fields enclosed by brackets "[]" replaced with your own identifying 19005 * information: Portions Copyright [yyyy] [name of copyright owner] 19006 * 19007 * CDDL HEADER END 19008 */ 19009 /* 19010 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 19011 * Use is subject to license terms. 19012 * Copyright 2015 Nexenta Systems, Inc. 19013 */ 19014 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19015 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 19016 /* 19017 * CDDL HEADER START 19018 * 19019 * The contents of this file are subject to the terms of the 19020 * Common Development and Distribution License, Version 1.0 only 19021 * (the "License"). You may not use this file except in compliance 19022 * with the License. 19023 * 19024 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19025 * or http://www.opensolaris.org/os/licensing. 19026 * See the License for the specific language governing permissions 19027 * and limitations under the License. 19028 * 19029 * When distributing Covered Code, include this CDDL HEADER in each 19030 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19031 * If applicable, add the following below this CDDL HEADER, with the 19032 * fields enclosed by brackets "[]" replaced with your own identifying 19033 * information: Portions Copyright [yyyy] [name of copyright owner] 19034 * 19035 * CDDL HEADER END 19036 */ 19037 /* 19038 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19039 * 19040 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 19041 * Use is subject to license terms. 19042 */ 19043 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/utmpx.h" 2 19044 19045 /* 19046 * This data structure describes the utmp *file* contents using 19047 * fixed-width data types. It should only be used by the implementation. 19048 * 19049 * Applications should use the getutxent(3c) family of routines to interact 19050 * with this database. 19051 */ 19052 19053 struct futmpx { 19054 char ut_user[32]; /* user login name */ 19055 char ut_id[4]; /* inittab id */ 19056 char ut_line[32]; /* device name (console, lnxx) */ 19057 pid32_t ut_pid; /* process id */ 19058 int16_t ut_type; /* type of entry */ 19059 struct { 19060 int16_t e_termination; /* process termination status */ 19061 int16_t e_exit; /* process exit status */ 19062 } ut_exit; /* exit status of a process */ 19063 struct timeval32 ut_tv; /* time entry was made */ 19064 int32_t ut_session; /* session ID, user for windowing */ 19065 int32_t pad[5]; /* reserved for future use */ 19066 int16_t ut_syslen; /* significant length of ut_host */ 19067 char ut_host[257]; /* remote host name */ 19068 }; 19069 19070 19071 19072 /* Define and macro for determing if a normal user wrote the entry */ 19073 /* and marking the utmpx entry as a normal user */ 19074 19075 19076 19077 19078 19079 19080 extern void endutxent(void); 19081 extern struct utmpx *getutxent(void); 19082 extern struct utmpx *getutxid(const struct utmpx *); 19083 extern struct utmpx *getutxline(const struct utmpx *); 19084 extern struct utmpx *pututxline(const struct utmpx *); 19085 extern void setutxent(void); 19086 19087 19088 extern int utmpxname(const char *); 19089 extern struct utmpx *makeutx(const struct utmpx *); 19090 extern struct utmpx *modutx(const struct utmpx *); 19091 extern void getutmp(const struct utmpx *, struct utmp *); 19092 extern void getutmpx(const struct utmp *, struct utmpx *); 19093 extern void updwtmp(const char *, struct utmp *); 19094 extern void updwtmpx(const char *, struct utmpx *); 19095 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 2 19096 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19097 /* 19098 * Warning: these are shared with the admin/install consolidation. 19099 * Do not insert states between any of the currently defined states, 19100 * and any new states must be evaluated for impact on range comparisons. 19101 */ 19102 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19103 /* Owner, group, and mode (defined by packaging) for the config directory */ 19104 19105 19106 19107 19108 /* Owner, group, and mode (defined by packaging) for the index file */ 19109 19110 19111 19112 19113 /* The maximum length of the VERSION string in the pkginfo(4) file. */ 19114 19115 19116 /* 19117 * Shortened alias names for the zones rctls. 19118 */ 19119 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 19120 /* Default name for zone detached manifest */ 19121 19122 19123 /* 19124 * Bit flag definitions for passing into libzonecfg functions. 19125 */ 19126 19127 19128 /* 19129 * The integer field expresses the current values on a get. 19130 * On a put, it represents the new values if >= 0 or "don't change" if < 0. 19131 */ 19132 struct zoneent { 19133 char zone_name[64]; /* name of the zone */ 19134 int zone_state; /* configured | incomplete | installed */ 19135 char zone_path[1024]; /* path to zone storage */ 19136 uuid_t zone_uuid; /* unique ID for zone */ 19137 char zone_newname[64]; /* for doing renames */ 19138 }; 19139 19140 typedef struct zone_dochandle *zone_dochandle_t; /* opaque handle */ 19141 19142 typedef uint_t zone_state_t; 19143 19144 typedef struct zone_fsopt { 19145 struct zone_fsopt *zone_fsopt_next; 19146 char zone_fsopt_opt[1024]; 19147 } zone_fsopt_t; 19148 19149 struct zone_fstab { 19150 char zone_fs_special[1024]; /* special file */ 19151 char zone_fs_dir[1024]; /* mount point */ 19152 char zone_fs_type[16]; /* e.g. ufs */ 19153 zone_fsopt_t *zone_fs_options; /* mount options */ 19154 char zone_fs_raw[1024]; /* device to fsck */ 19155 }; 19156 19157 struct zone_nwiftab { 19158 char zone_nwif_address[46]; /* shared-ip only */ 19159 char zone_nwif_allowed_address[46]; /* excl-ip only */ 19160 char zone_nwif_physical[32]; 19161 char zone_nwif_defrouter[46]; 19162 }; 19163 19164 struct zone_devtab { 19165 char zone_dev_match[1024]; 19166 }; 19167 19168 struct zone_rctlvaltab { 19169 char zone_rctlval_priv[256]; 19170 char zone_rctlval_limit[256]; 19171 char zone_rctlval_action[256]; 19172 struct zone_rctlvaltab *zone_rctlval_next; 19173 }; 19174 19175 struct zone_rctltab { 19176 char zone_rctl_name[256]; 19177 struct zone_rctlvaltab *zone_rctl_valptr; 19178 }; 19179 19180 struct zone_attrtab { 19181 char zone_attr_name[256]; 19182 char zone_attr_type[256]; 19183 char zone_attr_value[2 * 1024]; 19184 }; 19185 19186 struct zone_dstab { 19187 char zone_dataset_name[256]; 19188 }; 19189 19190 struct zone_psettab { 19191 char zone_ncpu_min[256]; 19192 char zone_ncpu_max[256]; 19193 char zone_importance[256]; 19194 }; 19195 19196 struct zone_mcaptab { 19197 char zone_physmem_cap[256]; 19198 }; 19199 19200 struct zone_pkgtab { 19201 char zone_pkg_name[256]; 19202 char zone_pkg_version[256]; 19203 }; 19204 19205 struct zone_devpermtab { 19206 char zone_devperm_name[1024]; 19207 uid_t zone_devperm_uid; 19208 gid_t zone_devperm_gid; 19209 mode_t zone_devperm_mode; 19210 char *zone_devperm_acl; 19211 }; 19212 19213 struct zone_admintab { 19214 char zone_admin_user[(sizeof (((struct utmpx *)0)->ut_user))]; 19215 char zone_admin_auths[4096]; 19216 }; 19217 19218 typedef struct zone_userauths { 19219 char user[(sizeof (((struct utmpx *)0)->ut_user))]; 19220 char zonename[64]; 19221 struct zone_userauths *next; 19222 } zone_userauths_t; 19223 19224 typedef struct { 19225 uu_avl_node_t zpe_entry; 19226 char *zpe_name; 19227 char *zpe_vers; 19228 } zone_pkg_entry_t; 19229 19230 typedef enum zone_iptype { 19231 ZS_SHARED, 19232 ZS_EXCLUSIVE 19233 } zone_iptype_t; 19234 19235 /* 19236 * Basic configuration management routines. 19237 */ 19238 extern zone_dochandle_t zonecfg_init_handle(void); 19239 extern int zonecfg_get_handle(const char *, zone_dochandle_t); 19240 extern int zonecfg_get_snapshot_handle(const char *, zone_dochandle_t); 19241 extern int zonecfg_get_template_handle(const char *, const char *, 19242 zone_dochandle_t); 19243 extern int zonecfg_get_xml_handle(const char *, zone_dochandle_t); 19244 extern int zonecfg_check_handle(zone_dochandle_t); 19245 extern void zonecfg_fini_handle(zone_dochandle_t); 19246 extern int zonecfg_destroy(const char *, boolean_t); 19247 extern int zonecfg_destroy_snapshot(const char *); 19248 extern int zonecfg_save(zone_dochandle_t); 19249 extern int zonecfg_create_snapshot(const char *); 19250 extern char *zonecfg_strerror(int); 19251 extern int zonecfg_access(const char *, int); 19252 extern void zonecfg_set_root(const char *); 19253 extern const char *zonecfg_get_root(void); 19254 extern boolean_t zonecfg_in_alt_root(void); 19255 extern int zonecfg_num_resources(zone_dochandle_t, char *); 19256 extern int zonecfg_del_all_resources(zone_dochandle_t, char *); 19257 extern boolean_t zonecfg_valid_ncpus(char *, char *); 19258 extern boolean_t zonecfg_valid_importance(char *); 19259 extern int zonecfg_str_to_bytes(char *, uint64_t *); 19260 extern boolean_t zonecfg_valid_memlimit(char *, uint64_t *); 19261 extern boolean_t zonecfg_valid_alias_limit(char *, char *, uint64_t *); 19262 19263 /* 19264 * Zone name, path to zone directory, autoboot setting, pool, boot 19265 * arguments, and scheduling-class. 19266 */ 19267 extern int zonecfg_validate_zonename(const char *); 19268 extern int zonecfg_get_name(zone_dochandle_t, char *, size_t); 19269 extern int zonecfg_set_name(zone_dochandle_t, char *); 19270 extern int zonecfg_get_zonepath(zone_dochandle_t, char *, size_t); 19271 extern int zonecfg_set_zonepath(zone_dochandle_t, char *); 19272 extern int zonecfg_get_autoboot(zone_dochandle_t, boolean_t *); 19273 extern int zonecfg_set_autoboot(zone_dochandle_t, boolean_t); 19274 extern int zonecfg_get_iptype(zone_dochandle_t, zone_iptype_t *); 19275 extern int zonecfg_set_iptype(zone_dochandle_t, zone_iptype_t); 19276 extern int zonecfg_get_pool(zone_dochandle_t, char *, size_t); 19277 extern int zonecfg_set_pool(zone_dochandle_t, char *); 19278 extern int zonecfg_get_bootargs(zone_dochandle_t, char *, size_t); 19279 extern int zonecfg_set_bootargs(zone_dochandle_t, char *); 19280 extern int zonecfg_get_sched_class(zone_dochandle_t, char *, size_t); 19281 extern int zonecfg_set_sched(zone_dochandle_t, char *); 19282 extern int zonecfg_get_dflt_sched_class(zone_dochandle_t, char *, int); 19283 19284 /* 19285 * Set/retrieve the brand for the zone 19286 */ 19287 extern int zonecfg_get_brand(zone_dochandle_t, char *, size_t); 19288 extern int zonecfg_set_brand(zone_dochandle_t, char *); 19289 19290 /* 19291 * Filesystem configuration. 19292 */ 19293 extern int zonecfg_add_filesystem(zone_dochandle_t, struct zone_fstab *); 19294 extern int zonecfg_delete_filesystem(zone_dochandle_t, 19295 struct zone_fstab *); 19296 extern int zonecfg_modify_filesystem(zone_dochandle_t, 19297 struct zone_fstab *, struct zone_fstab *); 19298 extern int zonecfg_lookup_filesystem(zone_dochandle_t, 19299 struct zone_fstab *); 19300 extern int zonecfg_add_fs_option(struct zone_fstab *, char *); 19301 extern int zonecfg_remove_fs_option(struct zone_fstab *, char *); 19302 extern void zonecfg_free_fs_option_list(zone_fsopt_t *); 19303 extern int zonecfg_find_mounts(char *, int(*)(const struct mnttab *, 19304 void *), void *); 19305 19306 /* 19307 * Network interface configuration. 19308 */ 19309 extern int zonecfg_add_nwif(zone_dochandle_t, struct zone_nwiftab *); 19310 extern int zonecfg_delete_nwif(zone_dochandle_t, struct zone_nwiftab *); 19311 extern int zonecfg_modify_nwif(zone_dochandle_t, struct zone_nwiftab *, 19312 struct zone_nwiftab *); 19313 extern int zonecfg_lookup_nwif(zone_dochandle_t, struct zone_nwiftab *); 19314 19315 /* 19316 * Hostid emulation configuration. 19317 */ 19318 extern int zonecfg_get_hostid(zone_dochandle_t, char *, size_t); 19319 extern int zonecfg_set_hostid(zone_dochandle_t, const char *); 19320 19321 /* 19322 * Allowed FS mounts configuration. 19323 */ 19324 extern int zonecfg_get_fs_allowed(zone_dochandle_t, char *, size_t); 19325 extern int zonecfg_set_fs_allowed(zone_dochandle_t, const char *); 19326 19327 /* 19328 * Device configuration and rule matching. 19329 */ 19330 extern int zonecfg_add_dev(zone_dochandle_t, struct zone_devtab *); 19331 extern int zonecfg_delete_dev(zone_dochandle_t, struct zone_devtab *); 19332 extern int zonecfg_modify_dev(zone_dochandle_t, struct zone_devtab *, 19333 struct zone_devtab *); 19334 extern int zonecfg_lookup_dev(zone_dochandle_t, struct zone_devtab *); 19335 19336 /* 19337 * Resource control configuration. 19338 */ 19339 extern int zonecfg_add_rctl(zone_dochandle_t, struct zone_rctltab *); 19340 extern int zonecfg_delete_rctl(zone_dochandle_t, struct zone_rctltab *); 19341 extern int zonecfg_modify_rctl(zone_dochandle_t, struct zone_rctltab *, 19342 struct zone_rctltab *); 19343 extern int zonecfg_lookup_rctl(zone_dochandle_t, struct zone_rctltab *); 19344 extern int zonecfg_add_rctl_value(struct zone_rctltab *, 19345 struct zone_rctlvaltab *); 19346 extern int zonecfg_remove_rctl_value(struct zone_rctltab *, 19347 struct zone_rctlvaltab *); 19348 extern void zonecfg_free_rctl_value_list(struct zone_rctlvaltab *); 19349 extern boolean_t zonecfg_aliased_rctl_ok(zone_dochandle_t, char *); 19350 extern int zonecfg_set_aliased_rctl(zone_dochandle_t, char *, uint64_t); 19351 extern int zonecfg_get_aliased_rctl(zone_dochandle_t, char *, uint64_t *); 19352 extern int zonecfg_rm_aliased_rctl(zone_dochandle_t, char *); 19353 extern int zonecfg_apply_rctls(char *, zone_dochandle_t); 19354 19355 /* 19356 * Generic attribute configuration and type/value extraction. 19357 */ 19358 extern int zonecfg_add_attr(zone_dochandle_t, struct zone_attrtab *); 19359 extern int zonecfg_delete_attr(zone_dochandle_t, struct zone_attrtab *); 19360 extern int zonecfg_modify_attr(zone_dochandle_t, struct zone_attrtab *, 19361 struct zone_attrtab *); 19362 extern int zonecfg_lookup_attr(zone_dochandle_t, struct zone_attrtab *); 19363 extern int zonecfg_get_attr_boolean(const struct zone_attrtab *, 19364 boolean_t *); 19365 extern int zonecfg_get_attr_int(const struct zone_attrtab *, int64_t *); 19366 extern int zonecfg_get_attr_string(const struct zone_attrtab *, char *, 19367 size_t); 19368 extern int zonecfg_get_attr_uint(const struct zone_attrtab *, uint64_t *); 19369 19370 /* 19371 * ZFS configuration. 19372 */ 19373 extern int zonecfg_add_ds(zone_dochandle_t, struct zone_dstab *); 19374 extern int zonecfg_delete_ds(zone_dochandle_t, struct zone_dstab *); 19375 extern int zonecfg_modify_ds(zone_dochandle_t, struct zone_dstab *, 19376 struct zone_dstab *); 19377 extern int zonecfg_lookup_ds(zone_dochandle_t, struct zone_dstab *); 19378 19379 /* 19380 * cpu-set configuration. 19381 */ 19382 extern int zonecfg_add_pset(zone_dochandle_t, struct zone_psettab *); 19383 extern int zonecfg_delete_pset(zone_dochandle_t); 19384 extern int zonecfg_modify_pset(zone_dochandle_t, struct zone_psettab *); 19385 extern int zonecfg_lookup_pset(zone_dochandle_t, struct zone_psettab *); 19386 19387 /* 19388 * mem-cap configuration. 19389 */ 19390 extern int zonecfg_delete_mcap(zone_dochandle_t); 19391 extern int zonecfg_modify_mcap(zone_dochandle_t, struct zone_mcaptab *); 19392 extern int zonecfg_lookup_mcap(zone_dochandle_t, struct zone_mcaptab *); 19393 19394 /* 19395 * Temporary pool support functions. 19396 */ 19397 extern int zonecfg_destroy_tmp_pool(char *, char *, int); 19398 extern int zonecfg_bind_tmp_pool(zone_dochandle_t, zoneid_t, char *, int); 19399 extern int zonecfg_bind_pool(zone_dochandle_t, zoneid_t, char *, int); 19400 extern boolean_t zonecfg_warn_poold(zone_dochandle_t); 19401 extern int zonecfg_get_poolname(zone_dochandle_t, char *, char *, size_t); 19402 19403 /* 19404 * Miscellaneous utility functions. 19405 */ 19406 extern int zonecfg_enable_rcapd(char *, int); 19407 19408 /* 19409 * attach/detach support. 19410 */ 19411 extern int zonecfg_get_attach_handle(const char *, const char *, 19412 const char *, boolean_t, zone_dochandle_t); 19413 extern int zonecfg_attach_manifest(int, zone_dochandle_t, 19414 zone_dochandle_t); 19415 extern int zonecfg_detach_save(zone_dochandle_t, uint_t); 19416 extern boolean_t zonecfg_detached(const char *); 19417 extern void zonecfg_rm_detached(zone_dochandle_t, boolean_t forced); 19418 extern int zonecfg_dev_manifest(zone_dochandle_t); 19419 extern int zonecfg_devperms_apply(zone_dochandle_t, const char *, 19420 uid_t, gid_t, mode_t, const char *); 19421 extern void zonecfg_set_swinv(zone_dochandle_t); 19422 extern int zonecfg_add_pkg(zone_dochandle_t, char *, char *); 19423 19424 /* 19425 * External zone verification support. 19426 */ 19427 extern int zonecfg_verify_save(zone_dochandle_t, char *); 19428 19429 /* 19430 * '*ent' iterator routines. 19431 */ 19432 extern int zonecfg_setfsent(zone_dochandle_t); 19433 extern int zonecfg_getfsent(zone_dochandle_t, struct zone_fstab *); 19434 extern int zonecfg_endfsent(zone_dochandle_t); 19435 extern int zonecfg_setnwifent(zone_dochandle_t); 19436 extern int zonecfg_getnwifent(zone_dochandle_t, struct zone_nwiftab *); 19437 extern int zonecfg_endnwifent(zone_dochandle_t); 19438 extern int zonecfg_setdevent(zone_dochandle_t); 19439 extern int zonecfg_getdevent(zone_dochandle_t, struct zone_devtab *); 19440 extern int zonecfg_enddevent(zone_dochandle_t); 19441 extern int zonecfg_setattrent(zone_dochandle_t); 19442 extern int zonecfg_getattrent(zone_dochandle_t, struct zone_attrtab *); 19443 extern int zonecfg_endattrent(zone_dochandle_t); 19444 extern int zonecfg_setrctlent(zone_dochandle_t); 19445 extern int zonecfg_getrctlent(zone_dochandle_t, struct zone_rctltab *); 19446 extern int zonecfg_endrctlent(zone_dochandle_t); 19447 extern int zonecfg_setdsent(zone_dochandle_t); 19448 extern int zonecfg_getdsent(zone_dochandle_t, struct zone_dstab *); 19449 extern int zonecfg_enddsent(zone_dochandle_t); 19450 extern int zonecfg_getpsetent(zone_dochandle_t, struct zone_psettab *); 19451 extern int zonecfg_getmcapent(zone_dochandle_t, struct zone_mcaptab *); 19452 extern int zonecfg_getpkgdata(zone_dochandle_t, uu_avl_pool_t *, 19453 uu_avl_t *); 19454 extern int zonecfg_setdevperment(zone_dochandle_t); 19455 extern int zonecfg_getdevperment(zone_dochandle_t, 19456 struct zone_devpermtab *); 19457 extern int zonecfg_enddevperment(zone_dochandle_t); 19458 extern int zonecfg_setadminent(zone_dochandle_t); 19459 extern int zonecfg_getadminent(zone_dochandle_t, struct zone_admintab *); 19460 extern int zonecfg_endadminent(zone_dochandle_t); 19461 19462 /* 19463 * Privilege-related functions. 19464 */ 19465 extern int zonecfg_default_privset(priv_set_t *, const char *); 19466 extern int zonecfg_get_privset(zone_dochandle_t, priv_set_t *, 19467 char **); 19468 extern int zonecfg_get_limitpriv(zone_dochandle_t, char **); 19469 extern int zonecfg_set_limitpriv(zone_dochandle_t, char *); 19470 19471 /* 19472 * Higher-level routines. 19473 */ 19474 extern int zone_get_brand(char *, char *, size_t); 19475 extern int zone_get_rootpath(char *, char *, size_t); 19476 extern int zone_get_devroot(char *, char *, size_t); 19477 extern int zone_get_zonepath(char *, char *, size_t); 19478 extern int zone_get_state(char *, zone_state_t *); 19479 extern int zone_set_state(char *, zone_state_t); 19480 extern char *zone_state_str(zone_state_t); 19481 extern int zonecfg_get_name_by_uuid(const uuid_t, char *, size_t); 19482 extern int zonecfg_get_uuid(const char *, uuid_t); 19483 extern int zonecfg_default_brand(char *, size_t); 19484 19485 /* 19486 * Iterator for configured zones. 19487 */ 19488 extern FILE *setzoneent(void); 19489 extern char *getzoneent(FILE *); 19490 extern struct zoneent *getzoneent_private(FILE *); 19491 extern void endzoneent(FILE *); 19492 19493 /* 19494 * File-system-related convenience functions. 19495 */ 19496 extern boolean_t zonecfg_valid_fs_type(const char *); 19497 19498 /* 19499 * Network-related convenience functions. 19500 */ 19501 extern boolean_t zonecfg_same_net_address(char *, char *); 19502 extern int zonecfg_valid_net_address(char *, struct lifreq *); 19503 extern boolean_t zonecfg_ifname_exists(sa_family_t, char *); 19504 19505 /* 19506 * Rctl-related common functions. 19507 */ 19508 extern boolean_t zonecfg_is_rctl(const char *); 19509 extern boolean_t zonecfg_valid_rctlname(const char *); 19510 extern boolean_t zonecfg_valid_rctlblk(const rctlblk_t *); 19511 extern boolean_t zonecfg_valid_rctl(const char *, const rctlblk_t *); 19512 extern int zonecfg_construct_rctlblk(const struct zone_rctlvaltab *, 19513 rctlblk_t *); 19514 19515 /* 19516 * Live Upgrade support functions. Shared between ON and install gate. 19517 */ 19518 extern FILE *zonecfg_open_scratch(const char *, boolean_t); 19519 extern int zonecfg_lock_scratch(FILE *); 19520 extern void zonecfg_close_scratch(FILE *); 19521 extern int zonecfg_get_scratch(FILE *, char *, size_t, char *, size_t, char *, 19522 size_t); 19523 extern int zonecfg_find_scratch(FILE *, const char *, const char *, char *, 19524 size_t); 19525 extern int zonecfg_reverse_scratch(FILE *, const char *, char *, size_t, 19526 char *, size_t); 19527 extern int zonecfg_add_scratch(FILE *, const char *, const char *, 19528 const char *); 19529 extern int zonecfg_delete_scratch(FILE *, const char *); 19530 extern boolean_t zonecfg_is_scratch(const char *); 19531 19532 /* 19533 * zoneadmd support functions. Shared between zoneadm and brand hook code. 19534 */ 19535 extern void zonecfg_init_lock_file(const char *, char **); 19536 extern void zonecfg_release_lock_file(const char *, int); 19537 extern int zonecfg_grab_lock_file(const char *, int *); 19538 extern boolean_t zonecfg_lock_file_held(int *); 19539 extern int zonecfg_ping_zoneadmd(const char *); 19540 extern int zonecfg_call_zoneadmd(const char *, zone_cmd_arg_t *, char *, 19541 boolean_t); 19542 extern int zonecfg_insert_userauths(zone_dochandle_t, char *, char *); 19543 extern int zonecfg_remove_userauths(zone_dochandle_t, char *, char *, 19544 boolean_t); 19545 extern int zonecfg_add_admin(zone_dochandle_t, struct zone_admintab *, 19546 char *); 19547 extern int zonecfg_delete_admin(zone_dochandle_t, 19548 struct zone_admintab *, char *); 19549 extern int zonecfg_modify_admin(zone_dochandle_t, struct zone_admintab *, 19550 struct zone_admintab *, char *); 19551 extern int zonecfg_delete_admins(zone_dochandle_t, char *); 19552 extern int zonecfg_lookup_admin(zone_dochandle_t, struct zone_admintab *); 19553 extern int zonecfg_authorize_users(zone_dochandle_t, char *); 19554 extern int zonecfg_update_userauths(zone_dochandle_t, char *); 19555 extern int zonecfg_deauthorize_user(zone_dochandle_t, char *, char *); 19556 extern int zonecfg_deauthorize_users(zone_dochandle_t, char *); 19557 extern boolean_t zonecfg_valid_auths(const char *, const char *); 19558 # 47 "../common/instzones_lib.h" 2 19559 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 1 19560 /* 19561 * CDDL HEADER START 19562 * 19563 * The contents of this file are subject to the terms of the 19564 * Common Development and Distribution License (the "License"). 19565 * You may not use this file except in compliance with the License. 19566 * 19567 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19568 * or http://www.opensolaris.org/os/licensing. 19569 * See the License for the specific language governing permissions 19570 * and limitations under the License. 19571 * 19572 * When distributing Covered Code, include this CDDL HEADER in each 19573 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19574 * If applicable, add the following below this CDDL HEADER, with the 19575 * fields enclosed by brackets "[]" replaced with your own identifying 19576 * information: Portions Copyright [yyyy] [name of copyright owner] 19577 * 19578 * CDDL HEADER END 19579 */ 19580 /* 19581 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 19582 * Use is subject to license terms. 19583 */ 19584 19585 19586 19587 19588 #pragma ident "%Z%%M% %I% %E% SMI" 19589 19590 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19591 /* 19592 * CDDL HEADER START 19593 * 19594 * The contents of this file are subject to the terms of the 19595 * Common Development and Distribution License (the "License"). 19596 * You may not use this file except in compliance with the License. 19597 * 19598 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19599 * or http://www.opensolaris.org/os/licensing. 19600 * See the License for the specific language governing permissions 19601 * and limitations under the License. 19602 * 19603 * When distributing Covered Code, include this CDDL HEADER in each 19604 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19605 * If applicable, add the following below this CDDL HEADER, with the 19606 * fields enclosed by brackets "[]" replaced with your own identifying 19607 * information: Portions Copyright [yyyy] [name of copyright owner] 19608 * 19609 * CDDL HEADER END 19610 */ 19611 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19612 /* All Rights Reserved */ 19613 19614 19615 /* 19616 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19617 * Use is subject to license terms. 19618 * 19619 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19620 * Copyright 2016 Joyent, Inc. 19621 */ 19622 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 19623 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 1 19624 /* 19625 * CDDL HEADER START 19626 * 19627 * The contents of this file are subject to the terms of the 19628 * Common Development and Distribution License (the "License"). 19629 * You may not use this file except in compliance with the License. 19630 * 19631 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19632 * or http://www.opensolaris.org/os/licensing. 19633 * See the License for the specific language governing permissions 19634 * and limitations under the License. 19635 * 19636 * When distributing Covered Code, include this CDDL HEADER in each 19637 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19638 * If applicable, add the following below this CDDL HEADER, with the 19639 * fields enclosed by brackets "[]" replaced with your own identifying 19640 * information: Portions Copyright [yyyy] [name of copyright owner] 19641 * 19642 * CDDL HEADER END 19643 */ 19644 /* 19645 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 19646 * Use is subject to license terms. 19647 */ 19648 19649 19650 19651 19652 #pragma ident "%Z%%M% %I% %E% SMI" 19653 19654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19655 /* 19656 * CDDL HEADER START 19657 * 19658 * The contents of this file are subject to the terms of the 19659 * Common Development and Distribution License (the "License"). 19660 * You may not use this file except in compliance with the License. 19661 * 19662 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19663 * or http://www.opensolaris.org/os/licensing. 19664 * See the License for the specific language governing permissions 19665 * and limitations under the License. 19666 * 19667 * When distributing Covered Code, include this CDDL HEADER in each 19668 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19669 * If applicable, add the following below this CDDL HEADER, with the 19670 * fields enclosed by brackets "[]" replaced with your own identifying 19671 * information: Portions Copyright [yyyy] [name of copyright owner] 19672 * 19673 * CDDL HEADER END 19674 */ 19675 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19676 /* All Rights Reserved */ 19677 19678 19679 /* 19680 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19681 * Use is subject to license terms. 19682 * 19683 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19684 * Copyright 2016 Joyent, Inc. 19685 */ 19686 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 2 19687 19688 19689 19690 19691 19692 typedef uint64_t ctevid_t; 19693 19694 /* 19695 * Contract parameter maximum size, in bytes 19696 */ 19697 19698 19699 /* 19700 * Common event types 19701 */ 19702 19703 19704 /* 19705 * Level of status detail requested 19706 */ 19707 19708 19709 19710 19711 /* 19712 * Values for ctev_flags. 19713 */ 19714 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/contract.h" 19715 typedef enum ctstate { 19716 CTS_OWNED, /* contract is owned by a process */ 19717 CTS_INHERITED, /* contract has been inherited by its parent */ 19718 CTS_ORPHAN, /* contract has no parent */ 19719 CTS_DEAD /* contract has been destroyed */ 19720 } ctstate_t; 19721 19722 typedef enum ct_typeid { 19723 CTT_PROCESS, /* process contract */ 19724 CTT_DEVICE, /* device contract */ 19725 CTT_MAXTYPE 19726 } ct_typeid_t; 19727 19728 typedef struct ct_event { 19729 ctid_t ctev_id; 19730 uint32_t ctev_pad1; 19731 ctevid_t ctev_evid; 19732 ct_typeid_t ctev_cttype; 19733 uint32_t ctev_flags; 19734 uint32_t ctev_type; 19735 uint32_t ctev_nbytes; 19736 uint32_t ctev_goffset; 19737 uint32_t ctev_pad2; 19738 char *ctev_buffer; 19739 } ct_event_t; 19740 19741 typedef struct ct_status { 19742 ctid_t ctst_id; 19743 zoneid_t ctst_zoneid; 19744 ct_typeid_t ctst_type; 19745 pid_t ctst_holder; 19746 ctstate_t ctst_state; 19747 int ctst_nevents; 19748 int ctst_ntime; 19749 int ctst_qtime; 19750 uint64_t ctst_nevid; 19751 uint_t ctst_detail; 19752 size_t ctst_nbytes; 19753 uint_t ctst_critical; 19754 uint_t ctst_informative; 19755 uint64_t ctst_cookie; 19756 char *ctst_buffer; 19757 } ct_status_t; 19758 19759 typedef struct ct_param { 19760 uint32_t ctpm_id; 19761 uint32_t ctpm_size; 19762 void *ctpm_value; 19763 } ct_param_t; 19764 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libcontract.h" 2 19765 19766 19767 19768 19769 19770 typedef void *ct_stathdl_t; 19771 typedef void *ct_evthdl_t; 19772 19773 /* 19774 * Common routines 19775 */ 19776 extern int ct_tmpl_activate(int); 19777 extern int ct_tmpl_clear(int); 19778 extern int ct_tmpl_create(int, ctid_t *); 19779 extern int ct_tmpl_set_cookie(int, uint64_t); 19780 extern int ct_tmpl_get_cookie(int, uint64_t *); 19781 extern int ct_tmpl_set_critical(int, uint_t); 19782 extern int ct_tmpl_get_critical(int, uint_t *); 19783 extern int ct_tmpl_set_informative(int, uint_t); 19784 extern int ct_tmpl_get_informative(int, uint_t *); 19785 19786 extern int ct_ctl_adopt(int); 19787 extern int ct_ctl_abandon(int); 19788 extern int ct_ctl_ack(int, ctevid_t); 19789 extern int ct_ctl_nack(int, ctevid_t); 19790 extern int ct_ctl_qack(int, ctevid_t); 19791 extern int ct_ctl_newct(int, ctevid_t, int); 19792 19793 extern int ct_status_read(int, int, ct_stathdl_t *); 19794 extern void ct_status_free(ct_stathdl_t); 19795 19796 extern ctid_t ct_status_get_id(ct_stathdl_t); 19797 extern zoneid_t ct_status_get_zoneid(ct_stathdl_t); 19798 extern const char *ct_status_get_type(ct_stathdl_t); 19799 extern id_t ct_status_get_holder(ct_stathdl_t); 19800 extern ctstate_t ct_status_get_state(ct_stathdl_t); 19801 extern int ct_status_get_nevents(ct_stathdl_t); 19802 extern int ct_status_get_ntime(ct_stathdl_t); 19803 extern int ct_status_get_qtime(ct_stathdl_t); 19804 extern ctevid_t ct_status_get_nevid(ct_stathdl_t); 19805 extern uint_t ct_status_get_informative(ct_stathdl_t); 19806 extern uint_t ct_status_get_critical(ct_stathdl_t); 19807 extern uint64_t ct_status_get_cookie(ct_stathdl_t); 19808 19809 extern int ct_event_read(int, ct_evthdl_t *); 19810 extern int ct_event_read_critical(int, ct_evthdl_t *); 19811 extern int ct_event_reset(int); 19812 extern int ct_event_reliable(int); 19813 extern void ct_event_free(ct_evthdl_t); 19814 19815 extern uint_t ct_event_get_flags(ct_evthdl_t); 19816 extern ctid_t ct_event_get_ctid(ct_evthdl_t); 19817 extern ctevid_t ct_event_get_evid(ct_evthdl_t); 19818 extern uint_t ct_event_get_type(ct_evthdl_t); 19819 extern int ct_event_get_nevid(ct_evthdl_t, ctevid_t *); 19820 extern int ct_event_get_newct(ct_evthdl_t, ctid_t *); 19821 19822 /* 19823 * Process contract routines 19824 */ 19825 extern int ct_pr_tmpl_set_transfer(int, ctid_t); 19826 extern int ct_pr_tmpl_set_fatal(int, uint_t); 19827 extern int ct_pr_tmpl_set_param(int, uint_t); 19828 extern int ct_pr_tmpl_set_svc_fmri(int, const char *); 19829 extern int ct_pr_tmpl_set_svc_aux(int, const char *); 19830 19831 extern int ct_pr_tmpl_get_transfer(int, ctid_t *); 19832 extern int ct_pr_tmpl_get_fatal(int, uint_t *); 19833 extern int ct_pr_tmpl_get_param(int, uint_t *); 19834 extern int ct_pr_tmpl_get_svc_fmri(int, char *, size_t); 19835 extern int ct_pr_tmpl_get_svc_aux(int, char *, size_t); 19836 19837 extern int ct_pr_event_get_pid(ct_evthdl_t, pid_t *); 19838 extern int ct_pr_event_get_ppid(ct_evthdl_t, pid_t *); 19839 extern int ct_pr_event_get_signal(ct_evthdl_t, int *); 19840 extern int ct_pr_event_get_sender(ct_evthdl_t, pid_t *); 19841 extern int ct_pr_event_get_senderct(ct_evthdl_t, ctid_t *); 19842 extern int ct_pr_event_get_exitstatus(ct_evthdl_t, int *); 19843 extern int ct_pr_event_get_pcorefile(ct_evthdl_t, const char **); 19844 extern int ct_pr_event_get_gcorefile(ct_evthdl_t, const char **); 19845 extern int ct_pr_event_get_zcorefile(ct_evthdl_t, const char **); 19846 19847 extern int ct_pr_status_get_param(ct_stathdl_t, uint_t *); 19848 extern int ct_pr_status_get_fatal(ct_stathdl_t, uint_t *); 19849 extern int ct_pr_status_get_members(ct_stathdl_t, pid_t **, uint_t *); 19850 extern int ct_pr_status_get_contracts(ct_stathdl_t, ctid_t **, uint_t *); 19851 extern int ct_pr_status_get_svc_fmri(ct_stathdl_t, char **); 19852 extern int ct_pr_status_get_svc_aux(ct_stathdl_t, char **); 19853 extern int ct_pr_status_get_svc_ctid(ct_stathdl_t, ctid_t *); 19854 extern int ct_pr_status_get_svc_creator(ct_stathdl_t, char **); 19855 19856 /* 19857 * Device contract routines 19858 */ 19859 int ct_dev_tmpl_set_minor(int, char *); 19860 int ct_dev_tmpl_set_aset(int, uint_t); 19861 int ct_dev_tmpl_set_noneg(int); 19862 int ct_dev_tmpl_clear_noneg(int); 19863 int ct_dev_tmpl_get_minor(int, char *, size_t *); 19864 int ct_dev_tmpl_get_aset(int, uint_t *); 19865 int ct_dev_tmpl_get_noneg(int, uint_t *); 19866 int ct_dev_status_get_aset(ct_stathdl_t, uint_t *); 19867 int ct_dev_status_get_noneg(ct_stathdl_t, uint_t *); 19868 int ct_dev_status_get_dev_state(ct_stathdl_t, uint_t *); 19869 int ct_dev_status_get_minor(ct_stathdl_t, char **); 19870 # 48 "../common/instzones_lib.h" 2 19871 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 1 19872 /* 19873 * CDDL HEADER START 19874 * 19875 * The contents of this file are subject to the terms of the 19876 * Common Development and Distribution License (the "License"). 19877 * You may not use this file except in compliance with the License. 19878 * 19879 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19880 * or http://www.opensolaris.org/os/licensing. 19881 * See the License for the specific language governing permissions 19882 * and limitations under the License. 19883 * 19884 * When distributing Covered Code, include this CDDL HEADER in each 19885 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19886 * If applicable, add the following below this CDDL HEADER, with the 19887 * fields enclosed by brackets "[]" replaced with your own identifying 19888 * information: Portions Copyright [yyyy] [name of copyright owner] 19889 * 19890 * CDDL HEADER END 19891 */ 19892 19893 /* 19894 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 19895 */ 19896 19897 19898 19899 19900 19901 /* 19902 * Module: instzones_api.h 19903 * Group: libinstzones 19904 * Description: This module contains the libinstzones API data structures, 19905 * constants, and function prototypes. 19906 */ 19907 19908 /* 19909 * required includes 19910 */ 19911 19912 /* System includes */ 19913 19914 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 19915 /* 19916 * CDDL HEADER START 19917 * 19918 * The contents of this file are subject to the terms of the 19919 * Common Development and Distribution License, Version 1.0 only 19920 * (the "License"). You may not use this file except in compliance 19921 * with the License. 19922 * 19923 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19924 * or http://www.opensolaris.org/os/licensing. 19925 * See the License for the specific language governing permissions 19926 * and limitations under the License. 19927 * 19928 * When distributing Covered Code, include this CDDL HEADER in each 19929 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19930 * If applicable, add the following below this CDDL HEADER, with the 19931 * fields enclosed by brackets "[]" replaced with your own identifying 19932 * information: Portions Copyright [yyyy] [name of copyright owner] 19933 * 19934 * CDDL HEADER END 19935 */ 19936 /* Copyright (c) 1988 AT&T */ 19937 /* All Rights Reserved */ 19938 19939 /* 19940 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19941 * 19942 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19943 * Use is subject to license terms. 19944 */ 19945 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19946 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 19947 /* 19948 * CDDL HEADER START 19949 * 19950 * The contents of this file are subject to the terms of the 19951 * Common Development and Distribution License (the "License"). 19952 * You may not use this file except in compliance with the License. 19953 * 19954 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19955 * or http://www.opensolaris.org/os/licensing. 19956 * See the License for the specific language governing permissions 19957 * and limitations under the License. 19958 * 19959 * When distributing Covered Code, include this CDDL HEADER in each 19960 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19961 * If applicable, add the following below this CDDL HEADER, with the 19962 * fields enclosed by brackets "[]" replaced with your own identifying 19963 * information: Portions Copyright [yyyy] [name of copyright owner] 19964 * 19965 * CDDL HEADER END 19966 */ 19967 19968 /* 19969 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19970 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19971 */ 19972 19973 /* Copyright (c) 1988 AT&T */ 19974 /* All Rights Reserved */ 19975 19976 /* 19977 * User-visible pieces of the ANSI C standard I/O package. 19978 */ 19979 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 19980 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 19981 /* 19982 * CDDL HEADER START 19983 * 19984 * The contents of this file are subject to the terms of the 19985 * Common Development and Distribution License (the "License"). 19986 * You may not use this file except in compliance with the License. 19987 * 19988 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19989 * or http://www.opensolaris.org/os/licensing. 19990 * See the License for the specific language governing permissions 19991 * and limitations under the License. 19992 * 19993 * When distributing Covered Code, include this CDDL HEADER in each 19994 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19995 * If applicable, add the following below this CDDL HEADER, with the 19996 * fields enclosed by brackets "[]" replaced with your own identifying 19997 * information: Portions Copyright [yyyy] [name of copyright owner] 19998 * 19999 * CDDL HEADER END 20000 */ 20001 20002 /* 20003 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20004 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 20005 */ 20006 20007 /* Copyright (c) 1988 AT&T */ 20008 /* All Rights Reserved */ 20009 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20010 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 1 20011 /* 20012 * CDDL HEADER START 20013 * 20014 * The contents of this file are subject to the terms of the 20015 * Common Development and Distribution License, Version 1.0 only 20016 * (the "License"). You may not use this file except in compliance 20017 * with the License. 20018 * 20019 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20020 * or http://www.opensolaris.org/os/licensing. 20021 * See the License for the specific language governing permissions 20022 * and limitations under the License. 20023 * 20024 * When distributing Covered Code, include this CDDL HEADER in each 20025 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20026 * If applicable, add the following below this CDDL HEADER, with the 20027 * fields enclosed by brackets "[]" replaced with your own identifying 20028 * information: Portions Copyright [yyyy] [name of copyright owner] 20029 * 20030 * CDDL HEADER END 20031 */ 20032 /* Copyright (c) 1988 AT&T */ 20033 /* All Rights Reserved */ 20034 20035 20036 20037 20038 20039 #pragma ident "%Z%%M% %I% %E% SMI" 20040 20041 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 1 20042 /* 20043 * CDDL HEADER START 20044 * 20045 * The contents of this file are subject to the terms of the 20046 * Common Development and Distribution License (the "License"). 20047 * You may not use this file except in compliance with the License. 20048 * 20049 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20050 * or http://www.opensolaris.org/os/licensing. 20051 * See the License for the specific language governing permissions 20052 * and limitations under the License. 20053 * 20054 * When distributing Covered Code, include this CDDL HEADER in each 20055 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20056 * If applicable, add the following below this CDDL HEADER, with the 20057 * fields enclosed by brackets "[]" replaced with your own identifying 20058 * information: Portions Copyright [yyyy] [name of copyright owner] 20059 * 20060 * CDDL HEADER END 20061 */ 20062 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20063 /* All Rights Reserved */ 20064 20065 20066 /* 20067 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20068 * 20069 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 20070 */ 20071 20072 20073 20074 20075 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 20076 /* 20077 * CDDL HEADER START 20078 * 20079 * The contents of this file are subject to the terms of the 20080 * Common Development and Distribution License (the "License"). 20081 * You may not use this file except in compliance with the License. 20082 * 20083 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20084 * or http://www.opensolaris.org/os/licensing. 20085 * See the License for the specific language governing permissions 20086 * and limitations under the License. 20087 * 20088 * When distributing Covered Code, include this CDDL HEADER in each 20089 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20090 * If applicable, add the following below this CDDL HEADER, with the 20091 * fields enclosed by brackets "[]" replaced with your own identifying 20092 * information: Portions Copyright [yyyy] [name of copyright owner] 20093 * 20094 * CDDL HEADER END 20095 */ 20096 20097 /* 20098 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 20099 * Copyright 2016 Joyent, Inc. 20100 * 20101 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20102 * Use is subject to license terms. 20103 */ 20104 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20105 20106 20107 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ttydev.h" 1 20108 /* 20109 * CDDL HEADER START 20110 * 20111 * The contents of this file are subject to the terms of the 20112 * Common Development and Distribution License, Version 1.0 only 20113 * (the "License"). You may not use this file except in compliance 20114 * with the License. 20115 * 20116 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20117 * or http://www.opensolaris.org/os/licensing. 20118 * See the License for the specific language governing permissions 20119 * and limitations under the License. 20120 * 20121 * When distributing Covered Code, include this CDDL HEADER in each 20122 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20123 * If applicable, add the following below this CDDL HEADER, with the 20124 * fields enclosed by brackets "[]" replaced with your own identifying 20125 * information: Portions Copyright [yyyy] [name of copyright owner] 20126 * 20127 * CDDL HEADER END 20128 */ 20129 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20130 /* All Rights Reserved */ 20131 20132 20133 20134 20135 20136 #pragma ident "%Z%%M% %I% %E% SMI" 20137 20138 20139 20140 20141 20142 /* 20143 * Terminal definitions related to underlying hardware. 20144 */ 20145 20146 /* 20147 * Speeds 20148 */ 20149 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20150 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 20151 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20152 /* All Rights Reserved */ 20153 20154 20155 /* 20156 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 20157 * All rights reserved. The Berkeley software License Agreement 20158 * specifies the terms and conditions for redistribution. 20159 */ 20160 20161 /* 20162 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20163 * 20164 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20165 * Use is subject to license terms. 20166 * 20167 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20168 */ 20169 20170 /* 20171 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 20172 */ 20173 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20174 20175 20176 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20177 /* 20178 * CDDL HEADER START 20179 * 20180 * The contents of this file are subject to the terms of the 20181 * Common Development and Distribution License (the "License"). 20182 * You may not use this file except in compliance with the License. 20183 * 20184 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20185 * or http://www.opensolaris.org/os/licensing. 20186 * See the License for the specific language governing permissions 20187 * and limitations under the License. 20188 * 20189 * When distributing Covered Code, include this CDDL HEADER in each 20190 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20191 * If applicable, add the following below this CDDL HEADER, with the 20192 * fields enclosed by brackets "[]" replaced with your own identifying 20193 * information: Portions Copyright [yyyy] [name of copyright owner] 20194 * 20195 * CDDL HEADER END 20196 */ 20197 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20198 /* All Rights Reserved */ 20199 20200 20201 /* 20202 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20203 * Use is subject to license terms. 20204 * 20205 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20206 * Copyright 2016 Joyent, Inc. 20207 */ 20208 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 2 20209 20210 20211 20212 20213 20214 /* 20215 * _POSIX_VDISABLE has been defined in <sys/termios.h> since the 20216 * introduction of the header. The POSIX standard, IEEE Std. 20217 * 1003.1-1988 also required the existence of _POSIX_VDISABLE in 20218 * this header. Subsequent versions of the IEEE Standard as well 20219 * as the X/Open specifications required that _POSIX_VDISABLE be 20220 * defined in <unistd.h> while still allowing for it's existence 20221 * here. With the introduction of XPG6, _POSIX_VDISABLE can only 20222 * be defined in <unistd.h>. 20223 */ 20224 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20225 /* required by termio.h and VCEOF/VCEOL */ 20226 20227 20228 20229 20230 20231 /* some defines required by POSIX */ 20232 20233 20234 /* 20235 * types defined by POSIX. These are better off in types.h, but 20236 * the standard says that they have to be in termios.h. 20237 */ 20238 typedef unsigned int tcflag_t; 20239 typedef unsigned char cc_t; 20240 typedef unsigned int speed_t; 20241 20242 /* 20243 * Ioctl control packet 20244 */ 20245 struct termios { 20246 tcflag_t c_iflag; /* input modes */ 20247 tcflag_t c_oflag; /* output modes */ 20248 tcflag_t c_cflag; /* control modes */ 20249 tcflag_t c_lflag; /* line discipline modes */ 20250 cc_t c_cc[19]; /* control chars */ 20251 }; 20252 20253 /* 20254 * POSIX termios functions 20255 * These functions get mapped into ioctls. 20256 */ 20257 20258 20259 20260 extern speed_t cfgetospeed(const struct termios *); 20261 extern int cfsetospeed(struct termios *, speed_t); 20262 extern speed_t cfgetispeed(const struct termios *); 20263 extern int cfsetispeed(struct termios *, speed_t); 20264 extern int tcgetattr(int, struct termios *); 20265 extern int tcsetattr(int, int, const struct termios *); 20266 extern int tcsendbreak(int, int); 20267 extern int tcdrain(int); 20268 extern int tcflush(int, int); 20269 extern int tcflow(int, int); 20270 20271 20272 20273 extern pid_t tcgetsid(int); 20274 20275 20276 20277 20278 20279 /* control characters */ 20280 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20281 /* 17 through 19 reserved for future use */ 20282 20283 /* 20284 * control characters form Xenix termio.h 20285 */ 20286 20287 20288 20289 20290 20291 20292 /* S5 default control chars */ 20293 /* CINTR, CERASE and CKILL modified to SunOS traditional values */ 20294 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20295 /* input modes */ 20296 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20297 /* output modes */ 20298 # 255 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20299 /* control modes */ 20300 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20301 /* 20302 * 4.4BSD hardware flow control flags 20303 */ 20304 20305 20306 20307 20308 20309 /* line discipline 0 modes */ 20310 # 327 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20311 /* Slots reserved for 386/XENIX compatibility - keyboard control */ 20312 # 343 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20313 /* 20314 * Softcarrier ioctls 20315 */ 20316 20317 20318 20319 20320 /* termios ioctls */ 20321 # 363 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20322 /* 20323 * NTP PPS ioctls 20324 */ 20325 20326 20327 20328 20329 /* Argument filled in by TIOCGPPSEV */ 20330 struct ppsclockev { 20331 struct timeval tv; 20332 uint_t serial; 20333 }; 20334 # 387 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20335 /* termios option flags */ 20336 # 398 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20337 /* TIOC ioctls for BSD, ptys, job control and modem control */ 20338 20339 20340 20341 20342 20343 /* Slots for 386/XENIX compatibility */ 20344 /* BSD includes these ioctls in ttold.h */ 20345 # 421 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20346 /* 20347 * BSD ioctls that are not the same as XENIX are included here. 20348 * There are also some relevant ioctls from SUN/BSD sys/ttycom.h 20349 * BSD pty ioctls like TIOCPKT are not supported in SVR4. 20350 */ 20351 # 449 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20352 /* POSIX job control ioctls */ 20353 20354 20355 20356 20357 20358 20359 /* Miscellaneous */ 20360 20361 20362 /* Modem control */ 20363 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20364 /* pseudo-tty */ 20365 20366 20367 20368 20369 20370 /* Some more 386 xenix stuff */ 20371 # 492 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20372 /* Slots for 386 compatibility */ 20373 20374 20375 20376 20377 20378 20379 20380 /* 20381 * These are retained for 386/XENIX compatibility. 20382 */ 20383 20384 20385 20386 20387 20388 /* 20389 * Returns a non-zero value if there 20390 * are characters in the input queue. 20391 * 20392 * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may 20393 * have added it; 4BSD had FIONREAD, which returned the number of characters 20394 * waiting, and was supposed to work on all descriptors (i.e., every driver 20395 * should make a stab at implementing it). 20396 */ 20397 20398 20399 20400 /* 20401 * Speeds 20402 */ 20403 # 551 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/termios.h" 20404 /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ 20405 struct winsize { 20406 unsigned short ws_row; /* rows, in characters */ 20407 unsigned short ws_col; /* columns, in character */ 20408 unsigned short ws_xpixel; /* horizontal size, pixels */ 20409 unsigned short ws_ypixel; /* vertical size, pixels */ 20410 }; 20411 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/termios.h" 2 20412 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20413 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 20414 /* 20415 * CDDL HEADER START 20416 * 20417 * The contents of this file are subject to the terms of the 20418 * Common Development and Distribution License (the "License"). 20419 * You may not use this file except in compliance with the License. 20420 * 20421 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20422 * or http://www.opensolaris.org/os/licensing. 20423 * See the License for the specific language governing permissions 20424 * and limitations under the License. 20425 * 20426 * When distributing Covered Code, include this CDDL HEADER in each 20427 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20428 * If applicable, add the following below this CDDL HEADER, with the 20429 * fields enclosed by brackets "[]" replaced with your own identifying 20430 * information: Portions Copyright [yyyy] [name of copyright owner] 20431 * 20432 * CDDL HEADER END 20433 */ 20434 20435 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 20436 /* 20437 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20438 * 20439 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 20440 * Use is subject to license terms. 20441 * Copyright 2015 Joyent, Inc. All rights reserved. 20442 */ 20443 20444 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 20445 /* All Rights Reserved */ 20446 20447 /* 20448 * University Copyright- Copyright (c) 1982, 1986, 1988 20449 * The Regents of the University of California 20450 * All Rights Reserved 20451 * 20452 * University Acknowledgment- Portions of this document are derived from 20453 * software developed by the University of California, Berkeley, and its 20454 * contributors. 20455 */ 20456 20457 20458 20459 20460 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 20461 /* 20462 * CDDL HEADER START 20463 * 20464 * The contents of this file are subject to the terms of the 20465 * Common Development and Distribution License (the "License"). 20466 * You may not use this file except in compliance with the License. 20467 * 20468 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20469 * or http://www.opensolaris.org/os/licensing. 20470 * See the License for the specific language governing permissions 20471 * and limitations under the License. 20472 * 20473 * When distributing Covered Code, include this CDDL HEADER in each 20474 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20475 * If applicable, add the following below this CDDL HEADER, with the 20476 * fields enclosed by brackets "[]" replaced with your own identifying 20477 * information: Portions Copyright [yyyy] [name of copyright owner] 20478 * 20479 * CDDL HEADER END 20480 */ 20481 20482 /* 20483 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 20484 * Copyright 2016 Joyent, Inc. 20485 * 20486 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20487 * Use is subject to license terms. 20488 */ 20489 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 20490 20491 20492 20493 20494 20495 20496 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20497 /* 20498 * CDDL HEADER START 20499 * 20500 * The contents of this file are subject to the terms of the 20501 * Common Development and Distribution License (the "License"). 20502 * You may not use this file except in compliance with the License. 20503 * 20504 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20505 * or http://www.opensolaris.org/os/licensing. 20506 * See the License for the specific language governing permissions 20507 * and limitations under the License. 20508 * 20509 * When distributing Covered Code, include this CDDL HEADER in each 20510 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20511 * If applicable, add the following below this CDDL HEADER, with the 20512 * fields enclosed by brackets "[]" replaced with your own identifying 20513 * information: Portions Copyright [yyyy] [name of copyright owner] 20514 * 20515 * CDDL HEADER END 20516 */ 20517 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20518 /* All Rights Reserved */ 20519 20520 20521 /* 20522 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20523 * Use is subject to license terms. 20524 * 20525 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20526 * Copyright 2016 Joyent, Inc. 20527 */ 20528 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 20529 20530 20531 /* 20532 * Protections are chosen from these bits, or-ed together. 20533 * Note - not all implementations literally provide all possible 20534 * combinations. PROT_WRITE is often implemented as (PROT_READ | 20535 * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). 20536 * However, no implementation will permit a write to succeed 20537 * where PROT_WRITE has not been set. Also, no implementation will 20538 * allow any access to succeed where prot is specified as PROT_NONE. 20539 */ 20540 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20541 /* sharing types: must choose either SHARED or PRIVATE */ 20542 20543 20544 20545 20546 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ 20547 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20548 /* these flags not yet implemented */ 20549 20550 20551 20552 /* these flags are used by memcntl */ 20553 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20554 /* 20555 * For the sake of backward object compatibility, we use the _MAP_NEW flag. 20556 * This flag will be automatically or'ed in by the C library for all 20557 * new mmap calls. Previous binaries with old mmap calls will continue 20558 * to get 0 or -1 for return values. New mmap calls will get the mapped 20559 * address as the return value if successful and -1 on errors. By default, 20560 * new mmap calls automatically have the kernel assign the map address 20561 * unless the MAP_FIXED flag is given. 20562 */ 20563 20564 20565 20566 20567 20568 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ 20569 20570 20571 20572 20573 20574 /* 20575 * Values for mr_flags field of mmapobj_result_t below. 20576 * The bottom 16 bits are mutually exclusive and thus only one 20577 * of them can be set at a time. Use MR_GET_TYPE below to check this value. 20578 * The top 16 bits are used for flags which are not mutually exclusive and 20579 * thus more than one of these flags can be set for a given mmapobj_result_t. 20580 * 20581 * MR_PADDING being set indicates that this memory range represents the user 20582 * requested padding. 20583 * 20584 * MR_HDR_ELF being set indicates that the ELF header of the mapped object 20585 * is mapped at mr_addr + mr_offset. 20586 * 20587 * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped 20588 * object is mapped at mr_addr + mr_offset. 20589 */ 20590 20591 /* 20592 * External flags for mr_flags field below. 20593 */ 20594 20595 20596 20597 20598 /* 20599 * Internal flags for mr_flags field below. 20600 */ 20601 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20602 typedef struct mmapobj_result { 20603 caddr_t mr_addr; /* mapping address */ 20604 size_t mr_msize; /* mapping size */ 20605 size_t mr_fsize; /* file size */ 20606 size_t mr_offset; /* offset into file */ 20607 uint_t mr_prot; /* the protections provided */ 20608 uint_t mr_flags; /* info on the mapping */ 20609 } mmapobj_result_t; 20610 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20611 /* 20612 * large file compilation environment setup 20613 * 20614 * In the LP64 compilation environment, map large file interfaces 20615 * back to native versions where possible. 20616 */ 20617 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20618 20619 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20620 #pragma redefine_extname mmap64 mmap 20621 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20622 20623 20624 20625 20626 20627 20628 20629 20630 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20631 #pragma redefine_extname getpagesizes getpagesizes2 20632 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20633 20634 20635 20636 20637 20638 /* 20639 * Except for old binaries mmap() will return the resultant 20640 * address of mapping on success and (caddr_t)-1 on error. 20641 */ 20642 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20643 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); 20644 extern int munmap(caddr_t, size_t); 20645 extern int mprotect(caddr_t, size_t, int); 20646 extern int msync(caddr_t, size_t, int); 20647 extern int mlock(caddr_t, size_t); 20648 extern int munlock(caddr_t, size_t); 20649 extern int mincore(caddr_t, size_t, char *); 20650 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); 20651 extern int madvise(caddr_t, size_t, int); 20652 20653 extern int getpagesizes(size_t *, int); 20654 extern int getpagesizes2(size_t *, int); 20655 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); 20656 /* guard visibility of uint64_t */ 20657 20658 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, 20659 uint_t *); 20660 20661 20662 /* transitional large file interface version */ 20663 20664 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); 20665 20666 20667 20668 20669 extern int mlockall(int); 20670 extern int munlockall(void); 20671 extern int shm_open(const char *, int, mode_t); 20672 extern int shm_unlink(const char *); 20673 20674 20675 20676 extern int posix_madvise(void *, size_t, int); 20677 20678 20679 /* mmap failure value */ 20680 20681 20682 20683 20684 20685 20686 20687 /* 20688 * structure for memcntl hat advise operations. 20689 */ 20690 struct memcntl_mha { 20691 uint_t mha_cmd; /* command(s) */ 20692 uint_t mha_flags; 20693 size_t mha_pagesize; 20694 }; 20695 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20696 /* 20697 * advice to madvise 20698 * 20699 * Note, if more than 4 bits worth of advice (eg. 16) are specified then 20700 * changes will be necessary to the struct vpage. 20701 */ 20702 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20703 /* advice to posix_madvise */ 20704 /* these values must be kept in sync with the MADV_* values, above */ 20705 20706 20707 20708 20709 20710 20711 20712 /* flags to msync */ 20713 20714 /* modified for UNIX98 compliance */ 20715 20716 20717 20718 20719 20720 /* functions to mctl */ 20721 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20722 /* sub-commands for MC_HAT_ADVISE */ 20723 20724 20725 /* for last bss adjacent to */ 20726 /* brk area and brk area itself */ 20727 20728 /* processes main stack */ 20729 20730 20731 20732 20733 /* flags to mlockall */ 20734 20735 20736 20737 20738 20739 20740 /* definitions for meminfosys syscall */ 20741 20742 20743 20744 20745 20746 /* private structure for meminfo */ 20747 typedef struct meminfo { 20748 const uint64_t *mi_inaddr; /* array of input addresses */ 20749 const uint_t *mi_info_req; /* array of types of info requested */ 20750 uint64_t *mi_outdata; /* array of results are placed */ 20751 uint_t *mi_validity; /* array of bitwise result codes */ 20752 int mi_info_count; /* number of pieces of info requested */ 20753 } meminfo_t; 20754 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20755 /* 20756 * info_req request type definitions for meminfo 20757 * request types starting with MEMINFO_V are used for Virtual addresses 20758 * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical 20759 * addresses 20760 */ 20761 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 20762 /* maximum number of addresses meminfo() can process at a time */ 20763 20764 20765 /* maximum number of request types */ 20766 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20767 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 20768 /* 20769 * CDDL HEADER START 20770 * 20771 * The contents of this file are subject to the terms of the 20772 * Common Development and Distribution License (the "License"). 20773 * You may not use this file except in compliance with the License. 20774 * 20775 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20776 * or http://www.opensolaris.org/os/licensing. 20777 * See the License for the specific language governing permissions 20778 * and limitations under the License. 20779 * 20780 * When distributing Covered Code, include this CDDL HEADER in each 20781 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20782 * If applicable, add the following below this CDDL HEADER, with the 20783 * fields enclosed by brackets "[]" replaced with your own identifying 20784 * information: Portions Copyright [yyyy] [name of copyright owner] 20785 * 20786 * CDDL HEADER END 20787 */ 20788 20789 /* 20790 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 20791 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 20792 */ 20793 20794 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 20795 /* All Rights Reserved */ 20796 20797 /* 20798 * University Copyright- Copyright (c) 1982, 1986, 1988 20799 * The Regents of the University of California 20800 * All Rights Reserved 20801 * 20802 * University Acknowledgment- Portions of this document are derived from 20803 * software developed by the University of California, Berkeley, and its 20804 * contributors. 20805 */ 20806 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20807 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20808 /* 20809 * CDDL HEADER START 20810 * 20811 * The contents of this file are subject to the terms of the 20812 * Common Development and Distribution License (the "License"). 20813 * You may not use this file except in compliance with the License. 20814 * 20815 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20816 * or http://www.opensolaris.org/os/licensing. 20817 * See the License for the specific language governing permissions 20818 * and limitations under the License. 20819 * 20820 * When distributing Covered Code, include this CDDL HEADER in each 20821 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20822 * If applicable, add the following below this CDDL HEADER, with the 20823 * fields enclosed by brackets "[]" replaced with your own identifying 20824 * information: Portions Copyright [yyyy] [name of copyright owner] 20825 * 20826 * CDDL HEADER END 20827 */ 20828 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20829 /* All Rights Reserved */ 20830 20831 20832 /* 20833 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20834 * Use is subject to license terms. 20835 * 20836 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20837 * Copyright 2016 Joyent, Inc. 20838 */ 20839 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20840 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 1 20841 /* 20842 * CDDL HEADER START 20843 * 20844 * The contents of this file are subject to the terms of the 20845 * Common Development and Distribution License, Version 1.0 only 20846 * (the "License"). You may not use this file except in compliance 20847 * with the License. 20848 * 20849 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20850 * or http://www.opensolaris.org/os/licensing. 20851 * See the License for the specific language governing permissions 20852 * and limitations under the License. 20853 * 20854 * When distributing Covered Code, include this CDDL HEADER in each 20855 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20856 * If applicable, add the following below this CDDL HEADER, with the 20857 * fields enclosed by brackets "[]" replaced with your own identifying 20858 * information: Portions Copyright [yyyy] [name of copyright owner] 20859 * 20860 * CDDL HEADER END 20861 */ 20862 /* 20863 * Copyright 1991 Sun Microsystems, Inc. All rights reserved. 20864 * Use is subject to license terms. 20865 */ 20866 20867 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20868 /* All Rights Reserved */ 20869 20870 20871 20872 20873 #pragma ident "%Z%%M% %I% %E% SMI" 20874 20875 20876 20877 20878 20879 /* 20880 * There are some inherent problems in having a single file 20881 * ioctl.h, with both System V and BSD flags. Introducing 20882 * BSD flags into this file creates compilation problems 20883 * with flags such as ECHO, NL1 etc., if termio.h and ioctl.h 20884 * are included by the same file. Since these two files can 20885 * be only included by System V applications, /usr/inclule/sys/ioctl.h 20886 * will be System V mode and all the BSD flags will be turned off 20887 * using #ifdef BSD_COMP. This file will also exist in 20888 * /usr/ucbinclude/sys/ioctl.h for BSD applications but without the 20889 * BSD flags turned off. System V appliactions can use ioctl.h without 20890 * any changes, System V applications requiring BSD flags should 20891 * -D BSD_COMP when compiling (and be warned about the common 20892 * flags between System V and BSD) and BSD applications should 20893 * use /usr/ucbinclude/sys/ioctl.h. 20894 * 20895 */ 20896 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ioctl.h" 20897 /* BSD related defines */ 20898 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libzonecfg.h" 1 20900 /* 20901 * CDDL HEADER START 20902 * 20903 * The contents of this file are subject to the terms of the 20904 * Common Development and Distribution License (the "License"). 20905 * You may not use this file except in compliance with the License. 20906 * 20907 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20908 * or http://www.opensolaris.org/os/licensing. 20909 * See the License for the specific language governing permissions 20910 * and limitations under the License. 20911 * 20912 * When distributing Covered Code, include this CDDL HEADER in each 20913 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20914 * If applicable, add the following below this CDDL HEADER, with the 20915 * fields enclosed by brackets "[]" replaced with your own identifying 20916 * information: Portions Copyright [yyyy] [name of copyright owner] 20917 * 20918 * CDDL HEADER END 20919 */ 20920 20921 /* 20922 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 20923 */ 20924 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/instzones_api.h" 2 20925 20926 /* 20927 * C++ prefix 20928 */ 20929 20930 20931 20932 20933 20934 20935 /* function prototypes */ 20936 20937 /* PRINTFLIKE1 */ 20938 typedef void (*_z_printf_fcn_t)(char *a_format, ...); 20939 20940 /* zone list structure */ 20941 20942 typedef struct _zoneListElement_t *zoneList_t; 20943 20944 /* zone brand list structure */ 20945 20946 typedef struct _zoneBrandList zoneBrandList_t; 20947 20948 /* flag for zone locking functions */ 20949 20950 typedef unsigned long ZLOCKS_T; 20951 20952 /* flags for zone locking */ 20953 20954 20955 20956 20957 20958 20959 /* 20960 * external function definitions 20961 */ 20962 20963 /* zones.c */ 20964 20965 extern boolean_t z_zones_are_implemented(void); 20966 extern void z_set_zone_root(const char *zroot); 20967 extern boolean_t z_zlist_is_zone_runnable(zoneList_t a_zoneList, 20968 int a_zoneIndex); 20969 extern boolean_t z_zlist_restore_zone_state(zoneList_t a_zoneList, 20970 int a_zoneIndex); 20971 extern boolean_t z_zlist_change_zone_state(zoneList_t a_zoneList, 20972 int a_zoneIndex, zone_state_t a_newState); 20973 extern char *z_get_zonename(void); 20974 extern zone_state_t z_zlist_get_current_state(zoneList_t a_zoneList, 20975 int a_zoneIndex); 20976 extern zone_state_t z_zlist_get_original_state(zoneList_t a_zoneList, 20977 int a_zoneIndex); 20978 extern int z_zoneExecCmdArray(int *r_status, char **r_results, 20979 char *a_inputFile, char *a_path, char *a_argv[], 20980 const char *a_zoneName, int *a_fds); 20981 extern int z_zone_exec(const char *zonename, const char *path, 20982 char *argv[], char *a_stdoutPath, 20983 char *a_stderrPath, int *a_fds); 20984 extern boolean_t z_create_zone_admin_file(char *a_zoneAdminFilename, 20985 char *a_userAdminFilename); 20986 extern void z_free_zone_list(zoneList_t a_zoneList); 20987 extern zoneList_t z_get_nonglobal_zone_list(void); 20988 extern zoneList_t z_get_nonglobal_zone_list_by_brand(zoneBrandList_t *); 20989 extern void z_free_brand_list(zoneBrandList_t *a_brandList); 20990 extern zoneBrandList_t *z_make_brand_list(const char *brandList, 20991 const char *delim); 20992 extern boolean_t z_lock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 20993 extern boolean_t z_non_global_zones_exist(void); 20994 extern boolean_t z_running_in_global_zone(void); 20995 extern void z_set_output_functions(_z_printf_fcn_t a_echo_fcn, 20996 _z_printf_fcn_t a_echo_debug_fcn, 20997 _z_printf_fcn_t a_progerr_fcn); 20998 extern int z_set_zone_spec(const char *zlist); 20999 extern int z_verify_zone_spec(void); 21000 extern boolean_t z_on_zone_spec(const char *zonename); 21001 extern boolean_t z_global_only(void); 21002 extern boolean_t z_unlock_zones(zoneList_t a_zlst, ZLOCKS_T a_lflags); 21003 extern boolean_t z_lock_this_zone(ZLOCKS_T a_lflags); 21004 extern boolean_t z_unlock_this_zone(ZLOCKS_T a_lflags); 21005 extern char *z_zlist_get_zonename(zoneList_t a_zoneList, 21006 int a_zoneId); 21007 extern char *z_zlist_get_zonepath(zoneList_t a_zoneList, 21008 int a_zoneId); 21009 extern char *z_zlist_get_scratch(zoneList_t a_zoneList, 21010 int a_zoneId); 21011 extern boolean_t z_umount_lz_mount(char *a_lzMountPoint); 21012 extern boolean_t z_mount_in_lz(char **r_lzMountPoint, 21013 char **r_lzRootPath, 21014 char *a_zoneName, char *a_gzPath, 21015 char *a_mountPointPrefix); 21016 extern boolean_t z_is_zone_branded(char *zoneName); 21017 extern boolean_t z_is_zone_brand_in_list(char *zoneName, 21018 zoneBrandList_t *brands); 21019 extern boolean_t z_zones_are_implemented(void); 21020 21021 /* zones_exec.c */ 21022 extern int z_ExecCmdArray(int *r_status, char **r_results, 21023 char *a_inputFile, char *a_cmd, char **a_args); 21024 /*VARARGS*/ 21025 extern int z_ExecCmdList(int *r_status, char **r_results, 21026 char *a_inputFile, char *a_cmd, ...); 21027 21028 /* zones_paths.c */ 21029 extern char *z_make_zone_root(char *); 21030 extern void z_path_canonize(char *file); 21031 extern void z_canoninplace(char *file); 21032 21033 /* zones_lofs.c */ 21034 extern void z_destroyMountTable(void); 21035 extern int z_createMountTable(void); 21036 extern int z_isPathWritable(const char *); 21037 extern void z_resolve_lofs(char *path, size_t); 21038 21039 /* zones_states.c */ 21040 extern int UmountAllZones(char *mntpnt); 21041 21042 /* 21043 * C++ postfix 21044 */ 21045 # 49 "../common/instzones_lib.h" 2 21046 21047 21048 21049 /* 21050 * C++ prefix 21051 */ 21052 21053 21054 21055 21056 21057 /* constants */ 21058 21059 21060 /* macros */ 21061 21062 /* 21063 * argument array processing type 21064 */ 21065 21066 /* 21067 * This is the "argument array" definition that is returned by _z_new_args 21068 * and is used by _z_add_args, _z_free_args, etc. 21069 */ 21070 21071 struct _argArray_t { 21072 long _aaNumArgs; /* number of arguments set */ 21073 long _aaMaxArgs; /* number of arguments allocated */ 21074 char **_aaArgs; /* actual arguments */ 21075 }; 21076 21077 typedef struct _argArray_t argArray_t; 21078 21079 /* 21080 * lock objects 21081 */ 21082 21083 /* 21084 * this allows a root path to be prepended to a lock object; e.g. 21085 * rootpath.%s/zone.%s/... 21086 */ 21087 21088 21089 /* this locks a single zone (zone.name) */ 21090 21091 21092 /* this locks all zones */ 21093 21094 21095 /* this locks all packages, in all zones */ 21096 21097 21098 21099 21100 21101 /* paths to commands executed by this module */ 21102 21103 21104 21105 21106 /* max message size for program output functions (echo, echo debug, progerr) */ 21107 21108 21109 21110 /* maximum number of retries when waiting for lock */ 21111 21112 21113 21114 /* delay (in seconds) between retries when waiting for lock */ 21115 21116 21117 21118 /* Size of buffer increments when reading from pipe */ 21119 21120 21121 21122 /* Maximum number of arguments to pkg_ExecCmdList */ 21123 21124 21125 21126 /* 21127 * These dynamic libraries are required in order to use the zones 21128 * functionality - if these libraries are not available at runtime, 21129 * then zones are assumed to NOT be available, and it is assumed that 21130 * the program is running in the global zone with no non-global zones. 21131 */ 21132 # 147 "../common/instzones_lib.h" 21133 /* 21134 * Environment values used when running commands within a non-global zone 21135 */ 21136 21137 /* SHELL= */ 21138 21139 21140 21141 /* PATH= */ 21142 21143 21144 21145 /* error codes */ 21146 21147 21148 /* 21149 * zone brand list structure 21150 */ 21151 21152 struct _zoneBrandList { 21153 char *string_ptr; 21154 struct _zoneBrandList *next; 21155 }; 21156 21157 /* 21158 * zone status structure - used to retrieve and hold status of zones 21159 */ 21160 21161 typedef unsigned long _zone_status_t; 21162 21163 struct _zoneListElement_t { 21164 char *_zlName; 21165 char *_zlPath; 21166 char *_zlScratchName; 21167 char *_zlLockObjects; 21168 /* 21169 * the install "state" refers to the zone states listed in 21170 * /usr/include/libzonecfg.h that is stored in the zone_state_t 21171 * structure and returned from getzoneent_private() - such as: 21172 * ZONE_STATE_CONFIGURED, ZONE_STATE_INCOMPLETE, 21173 * ZONE_STATE_INSTALLED, ZONE_STATE_READY, ZONE_STATE_MOUNTED, 21174 * ZONE_STATE_SHUTTING_DOWN, ZONE_STATE_DOWN. 21175 */ 21176 zone_state_t _zlOrigInstallState; 21177 zone_state_t _zlCurrInstallState; 21178 /* 21179 * the kernel "status" refers to the zone status listed in 21180 * /usr/include/sys/zone.h, returned by zone_get_state(), 21181 * and defined in the zone_status_t enum - such as: 21182 * ZONE_IS_UNINITIALIZED, ZONE_IS_READY, ZONE_IS_BOOTING, 21183 * ZONE_IS_RUNNING, ZONE_IS_SHUTTING_DOWN, ZONE_IS_EMPTY, 21184 * ZONE_IS_DOWN, ZONE_IS_DYING, ZONE_IS_DEAD. 21185 */ 21186 zone_status_t _zlOrigKernelStatus; 21187 zone_status_t _zlCurrKernelStatus; 21188 /* 21189 * this is an internal state recorded about the zone (ZSF_xxx). 21190 */ 21191 _zone_status_t _zlStatus; 21192 }; 21193 21194 typedef struct _zoneListElement_t zoneListElement_t; 21195 21196 /* bits used in the _zoneListElement _zlStatus variable */ 21197 21198 21199 21200 21201 /* 21202 * User-specified list of zones. 21203 */ 21204 21205 typedef struct zone_spec_s { 21206 struct zone_spec_s *zl_next; 21207 boolean_t zl_used; 21208 char zl_name[64]; 21209 } zone_spec_t; 21210 21211 /* 21212 * The global data structure used to hold all of the global (extern) data 21213 * used by this library. 21214 * 21215 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED <-- 21216 * --> ON THE ORDER OF THE STRUCTURE INITIALIZERS! <-- 21217 */ 21218 21219 struct _z_global_data_t { 21220 char *_z_ObjectLocks; /* object locks held */ 21221 char *_z_root_dir; /* root for zone lib fctns */ 21222 int _z_SigReceived; /* received signal count */ 21223 pid_t _z_ChildProcessId; /* child to propagate sigs to */ 21224 zone_spec_t *_zone_spec; /* zones to operate on */ 21225 _z_printf_fcn_t _z_echo; /* operational message fcn */ 21226 _z_printf_fcn_t _z_echo_debug; /* debug message fcn */ 21227 _z_printf_fcn_t _z_progerr; /* program error fcn */ 21228 }; 21229 21230 typedef struct _z_global_data_t z_global_data_t; 21231 21232 /* 21233 * When _INSTZONES_LIB_Z_DEFINE_GLOBAL_DATA is defined, 21234 * instzones_lib.h will define the z_global_data structure. 21235 * Otherwise an extern to the structure is inserted. 21236 * 21237 * --> THESE DEFINITIONS ARE ORDER DEPENDENT BASED ON <-- 21238 * --> THE ORDER OF THE _z_global_data_t STRUCTURE!!! <-- 21239 */ 21240 # 272 "../common/instzones_lib.h" 21241 /* define structure extern */ 21242 21243 extern z_global_data_t _z_global_data; 21244 21245 21246 21247 /* function prototypes */ 21248 21249 /* 21250 * The following functions can be used by other libs, but not 21251 * by applications. 21252 */ 21253 21254 /* ---> zones_states.c */ 21255 21256 boolean_t _z_make_zone_ready(zoneListElement_t *a_zlem); 21257 boolean_t _z_make_zone_down(zoneListElement_t *a_zlem); 21258 boolean_t _z_make_zone_running(zoneListElement_t *a_zlem); 21259 int UmountAllZones(char *mntpnt); 21260 void *_z_calloc(size_t size); 21261 void *_z_malloc(size_t size); 21262 void *_z_realloc(void *ptr, size_t size); 21263 void *_z_strdup(char *str); 21264 21265 /* ---> zones_utils.c */ 21266 21267 /*PRINTFLIKE1*/ 21268 void _z_program_error(char *fmt, ...); 21269 /*PRINTFLIKE1*/ 21270 void _z_echo(char *fmt, ...); 21271 /*PRINTFLIKE1*/ 21272 void _z_echoDebug(char *a_fmt, ...); 21273 int _z_is_directory(char *path); 21274 boolean_t _z_running_in_global_zone(void); 21275 boolean_t _z_zones_are_implemented(void); 21276 void _z_sig_trap(int a_signo); 21277 int _z_close_file_descriptors(void *a_fds, int a_fd); 21278 boolean_t _z_brands_are_implemented(void); 21279 21280 21281 /* ---> zones_locks.c */ 21282 21283 boolean_t _z_adjust_lock_object_for_rootpath(char **r_result, 21284 char *a_lockObject); 21285 boolean_t _z_acquire_lock(char **r_lockKey, char *a_zoneName, 21286 char *a_lock, pid_t a_pid, boolean_t a_wait); 21287 boolean_t _z_lock_zone(zoneListElement_t *a_zlst, 21288 ZLOCKS_T a_lflags); 21289 boolean_t _z_lock_zone_object(char **r_objectLocks, 21290 char *a_zoneName, char *a_lockObject, 21291 pid_t a_pid, char *a_waitingMsg, 21292 char *a_busyMsg); 21293 boolean_t _z_release_lock(char *a_zoneName, char *a_lock, 21294 char *a_key, boolean_t a_wait); 21295 boolean_t _z_unlock_zone(zoneListElement_t *a_zlst, 21296 ZLOCKS_T a_lflags); 21297 boolean_t _z_unlock_zone_object(char **r_objectLocks, 21298 char *a_zoneName, char *a_lockObject, 21299 char *a_errMsg); 21300 21301 /* ---> zones_args.c */ 21302 21303 void _z_free_args(argArray_t *a_args); 21304 argArray_t *_z_new_args(int initialCount); 21305 /*PRINTFLIKE2*/ 21306 boolean_t _z_add_arg(argArray_t *a_args, char *a_format, ...); 21307 int _z_get_argc(argArray_t *a_args); 21308 char **_z_get_argv(argArray_t *a_args); 21309 21310 /* ---> zones_str.c */ 21311 21312 boolean_t _z_strContainsToken(char *a_string, char *a_token, 21313 char *a_separators); 21314 char *_z_strGetToken(char *r_sep, char *a_string, 21315 int a_index, char *a_separators); 21316 void _z_strRemoveLeadingWhitespace(char **a_str); 21317 void _z_strGetToken_r(char *r_sep, char *a_string, 21318 int a_index, char *a_separators, char *a_buf, 21319 int a_bufLen); 21320 void _z_strAddToken(char **a_old, char *a_new, 21321 char a_separator); 21322 void _z_strRemoveToken(char **r_string, char *a_token, 21323 char *a_separators, int a_index); 21324 /*PRINTFLIKE3*/ 21325 void _z_strPrintf_r(char *a_buf, int a_bufLen, 21326 char *a_format, ...); 21327 /*PRINTFLIKE1*/ 21328 char *_z_strPrintf(char *a_format, ...); 21329 21330 /* ---> zones_exec.c */ 21331 21332 int _z_zone_exec(int *r_status, char **r_results, char *a_inputFile, 21333 char *a_path, char *a_argv[], const char *a_zoneName, 21334 int *a_fds); 21335 int _zexec(const char *a_zoneName, 21336 const char *path, char *argv[]); 21337 char *_zexec_add_env(char *name, char *value); 21338 int _zexec_init_template(void); 21339 char **_zexec_prep_env(); 21340 21341 /* 21342 * C++ postfix 21343 */ 21344 # 70 "../common/zones_str.c" 2 21345 # 1 "../common/zones_strings.h" 1 21346 /* 21347 * CDDL HEADER START 21348 * 21349 * The contents of this file are subject to the terms of the 21350 * Common Development and Distribution License (the "License"). 21351 * You may not use this file except in compliance with the License. 21352 * 21353 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21354 * or http://www.opensolaris.org/os/licensing. 21355 * See the License for the specific language governing permissions 21356 * and limitations under the License. 21357 * 21358 * When distributing Covered Code, include this CDDL HEADER in each 21359 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21360 * If applicable, add the following below this CDDL HEADER, with the 21361 * fields enclosed by brackets "[]" replaced with your own identifying 21362 * information: Portions Copyright [yyyy] [name of copyright owner] 21363 * 21364 * CDDL HEADER END 21365 */ 21366 /* 21367 * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. 21368 */ 21369 21370 21371 21372 21373 21374 21375 21376 /* 21377 * Module: zones_strings.h 21378 * Group: libinstzones 21379 * Description: This header contains strings used in libinstzones 21380 * library modules. 21381 */ 21382 21383 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 21384 /* 21385 * CDDL HEADER START 21386 * 21387 * The contents of this file are subject to the terms of the 21388 * Common Development and Distribution License (the "License"). 21389 * You may not use this file except in compliance with the License. 21390 * 21391 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21392 * or http://www.opensolaris.org/os/licensing. 21393 * See the License for the specific language governing permissions 21394 * and limitations under the License. 21395 * 21396 * When distributing Covered Code, include this CDDL HEADER in each 21397 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21398 * If applicable, add the following below this CDDL HEADER, with the 21399 * fields enclosed by brackets "[]" replaced with your own identifying 21400 * information: Portions Copyright [yyyy] [name of copyright owner] 21401 * 21402 * CDDL HEADER END 21403 */ 21404 /* 21405 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 21406 * 21407 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 21408 * Use is subject to license terms. 21409 */ 21410 # 39 "../common/zones_strings.h" 2 21411 21412 /* 21413 * C++ prefix 21414 */ 21415 21416 21417 21418 21419 21420 /* constants */ 21421 # 58 "../common/zones_strings.h" 21422 /* 21423 * message strings 21424 */ 21425 21426 /* BEGIN CSTYLED */ 21427 21428 /* 21429 * I18N: these messages are debugging message and are only displayed 21430 * when special debugging output has been enabled - these messages 21431 * will never be displayed during normal product usage 21432 */ 21433 # 121 "../common/zones_strings.h" 21434 /* 21435 * I18N: these messages are error messages that can be displayed 21436 * during the normal usage of the products 21437 */ 21438 # 189 "../common/zones_strings.h" 21439 /* 21440 * I18N: these are messages that can be displayed during the normal 21441 * usage of the products 21442 */ 21443 21444 21445 21446 21447 21448 21449 21450 /* 21451 * I18N: these messages are warning messages that can be displayed 21452 * during the normal usage of the products 21453 */ 21454 21455 21456 21457 21458 /* END CSTYLED */ 21459 21460 /* 21461 * C++ postfix 21462 */ 21463 # 71 "../common/zones_str.c" 2 21464 21465 /* 21466 * Private structures 21467 */ 21468 21469 /* 21470 * Library Function Prototypes 21471 */ 21472 21473 /* 21474 * Local Function Prototypes 21475 */ 21476 21477 /* 21478 * Global internal (private) declarations 21479 */ 21480 21481 /* 21482 * ***************************************************************************** 21483 * global external (public) functions 21484 * ***************************************************************************** 21485 */ 21486 21487 /* 21488 * Name: _z_strAddToken 21489 * Synopsis: Add a token to a string 21490 * Description: Append a token (sequence of one or more characters) to a 21491 * string that is in allocated space - create new string if 21492 * no string to append to exists 21493 * Arguments: a_old - [RO, *RW] - (char **) 21494 * - Pointer to handle to string to append token to 21495 * == NULL - new string is created 21496 * a_new - [RO, *RO] - (char *) 21497 * - Pointer to string representing token to append 21498 * to the end of the "a_old" string 21499 * == NULL - no action is performed 21500 * a_new[0] == '\0' - no action is performed 21501 * a_separator - [RO, *RO] - (char) 21502 * - One character placed between the old (existing) 21503 * string and the new token to be added IF the old 21504 * string exists and is not empty (zero length) 21505 * Returns: void 21506 * CAUTION: The old (existing) string must be allocated space (via lu_mem* 21507 * or _z_str* methods) - it must not be a static or inline 21508 * character string 21509 * NOTE: The old (existing) string may be freed with 'free' 21510 * if a token is appended to it 21511 * NOTE: Any string returned in 'a_old' is placed in new storage for the 21512 * calling method. The caller must use 'free' to dispose 21513 * of the storage once the token string is no longer needed. 21514 */ 21515 21516 void 21517 _z_strAddToken(char **a_old, char *a_new, char a_separator) 21518 { 21519 /* entry assertions */ 21520 21521 (void)((a_old != 0L) || (__assert("a_old != NULL", "../common/zones_str.c", 128), 0)); 21522 (void)((a_separator != '\0') || (__assert("a_separator != '\\0'", "../common/zones_str.c", 129), 0)); 21523 21524 /* if token to add is null or token is zero length, just return */ 21525 21526 if (a_new == 0L || *a_new == '\0') { 21527 return; 21528 } 21529 21530 /* make sure that new token does not contain the separator */ 21531 21532 (void)((strchr(a_new, (int)a_separator) == 0L) || (__assert("strchr(a_new, (int)a_separator) == NULL", "../common/zones_str.c", 139), 0)); 21533 21534 /* if old string is empty (zero length), deallocate */ 21535 21536 if ((*a_old != 0L) && ((*a_old)[0] == '\0')) { 21537 /* *a_old is set to NULL by free */ 21538 free(*a_old); 21539 *a_old = 0L; 21540 } 21541 21542 /* if old string exists, append separator and token */ 21543 21544 if (*a_old != 0L) { 21545 char *p; 21546 p = _z_strPrintf("%s%c%s", *a_old, a_separator, a_new); 21547 free(*a_old); 21548 *a_old = p; 21549 return; 21550 } 21551 21552 /* old string does not exist - return duplicate of token */ 21553 21554 (void)((*a_old == 0L) || (__assert("*a_old == NULL", "../common/zones_str.c", 161), 0)); 21555 *a_old = _z_strdup(a_new); 21556 } 21557 21558 /* 21559 * Name: _z_strContainsToken 21560 * Synopsis: Does a given string contain a specified substring 21561 * Description: Determine if a given substring exists in a larger string 21562 * Arguments: a_string - [RO, *RO] - (char *) 21563 * Pointer to string to look for substring in 21564 * a_token - [RO, *RO] - (char *) 21565 * Pointer to substring to look for in larger string 21566 * Results: boolean_t 21567 * B_TRUE - substring exists in larger string 21568 * B_FALSE - substring does NOT exist in larger string 21569 * NOTE: The substring must match on a "token" basis; that is, the 21570 * substring must exist in the larger string delineated with 21571 * either spaces or tabs to match. 21572 */ 21573 21574 boolean_t 21575 _z_strContainsToken(char *a_string, char *a_token, char *a_separators) 21576 { 21577 char *lasts; 21578 char *current; 21579 char *p; 21580 21581 /* entry assertions */ 21582 21583 (void)((a_separators != 0L) || (__assert("a_separators != NULL", "../common/zones_str.c", 190), 0)); 21584 (void)((*a_separators != '\0') || (__assert("*a_separators != '\\0'", "../common/zones_str.c", 191), 0)); 21585 21586 /* 21587 * if token is not supplied, no string provided, 21588 * or the string is an empty string, return false 21589 */ 21590 21591 if (a_token == 0L || a_string == 0L || *a_string == '\0') { 21592 return (B_FALSE); 21593 } 21594 21595 /* if no string provided, return false */ 21596 21597 /* if string empty (zero length), return false */ 21598 21599 /* duplicate larger string because strtok_r changes it */ 21600 21601 p = _z_strdup(a_string); 21602 21603 lasts = p; 21604 21605 /* scan each token looking for a match */ 21606 21607 while ((current = strtok_r(0L, a_separators, &lasts)) != 21608 0L) { 21609 if (strcmp(current, a_token) == 0) { 21610 free(p); 21611 return (B_TRUE); 21612 } 21613 } 21614 21615 /* free up temporary storage */ 21616 21617 free(p); 21618 21619 /* not found */ 21620 21621 return (B_FALSE); 21622 } 21623 21624 /* 21625 * Name: _z_strGetToken 21626 * Synopsis: Get a separator delimited token from a string 21627 * Description: Given a string and a list of one or more separators, 21628 * return the position specified token (sequence of one or 21629 * more characters that do not include any of the separators) 21630 * Arguments: r_sep - [*RW] - (char *) 21631 * - separator that ended the token returned 21632 * - NOTE: this is a pointer to a "char", e.g.: 21633 * - char a; 21634 * - _z_strGetToken(&a, ...) 21635 * a_string - [RO, *RO] - (char *) 21636 * - pointer to string to extract token from 21637 * a_index - [RO, *RO] - (int) 21638 * - Index of token to return; '0' is first matching 21639 * token, '1' is second matching token, etc. 21640 * a_separators - [RO, *RO] - (char *) 21641 * - String containing one or more characters that 21642 * can separate one "token" from another 21643 * Returns: char * 21644 * == NULL - no token matching criteria found 21645 * != NULL - token matching criteria 21646 * NOTE: Any token string returned is placed in new storage for the 21647 * calling method. The caller must use 'free' to dispose 21648 * of the storage once the token string is no longer needed. 21649 */ 21650 21651 char * 21652 _z_strGetToken(char *r_sep, char *a_string, int a_index, char *a_separators) 21653 { 21654 char *p; 21655 char *q; 21656 char *lasts; 21657 21658 /* entry assertions */ 21659 21660 (void)((a_string != 0L) || (__assert("a_string != NULL", "../common/zones_str.c", 267), 0)); 21661 (void)((a_index >= 0) || (__assert("a_index >= 0", "../common/zones_str.c", 268), 0)); 21662 (void)((a_separators != 0L) || (__assert("a_separators != NULL", "../common/zones_str.c", 269), 0)); 21663 (void)((*a_separators != '\0') || (__assert("*a_separators != '\\0'", "../common/zones_str.c", 270), 0)); 21664 21665 /* if returned separator requested, reset to null until token found */ 21666 21667 if (r_sep != 0L) { 21668 *r_sep = '\0'; 21669 } 21670 21671 /* duplicate original string before breaking down into tokens */ 21672 21673 p = _z_strdup(a_string); 21674 21675 lasts = p; 21676 21677 /* scan for separators and return 'index'th token found */ 21678 21679 while (q = strtok_r(0L, a_separators, &lasts)) { 21680 /* retrieve separator if requested */ 21681 21682 if (r_sep != 0L) { 21683 char *x; 21684 21685 x = strpbrk(a_string, a_separators); 21686 if (x != 0L) { 21687 *r_sep = *x; 21688 } 21689 } 21690 21691 /* if this is the 'index'th token requested return it */ 21692 21693 if (a_index-- == 0) { 21694 char *tmp; 21695 21696 /* duplicate token into its own storage */ 21697 21698 tmp = _z_strdup(q); 21699 21700 /* free up copy of original input string */ 21701 21702 free(p); 21703 21704 /* return token found */ 21705 21706 return (tmp); 21707 } 21708 } 21709 21710 /* 21711 * token not found 21712 */ 21713 21714 /* free up copy of original input string */ 21715 21716 free(p); 21717 21718 /* return NULL pointer (token not found) */ 21719 21720 return (0L); 21721 } 21722 21723 /* 21724 * Name: _z_strGetToken_r 21725 * Synopsis: Get separator delimited token from a string into a fixed buffer 21726 * Description: Given a string and a list of one or more separators, 21727 * return the position specified token (sequence of one or 21728 * more characters that do not include any of the separators) 21729 * into a specified buffer of a fixed maximum size 21730 * Arguments: r_sep - [*RW] - (char *) 21731 * - separator that ended the token returned 21732 * - NOTE: this is a pointer to a "char", e.g.: 21733 * - char a; 21734 * - _z_strGetToken(&a, ...) 21735 * a_string - [RO, *RO] - (char *) 21736 * - pointer to string to extract token from 21737 * a_index - [RO, *RO] - (int) 21738 * - Index of token to return; '0' is first matching 21739 * token, '1' is second matching token, etc. 21740 * a_separators - [RO, *RO] - (char *) 21741 * - String containing one or more characters that 21742 * can separate one "token" from another 21743 * a_buf - [RO, *RW] - (char *) 21744 * - Pointer to buffer used as storage space for the 21745 * returned token - the returned token is always 21746 * null terminated 21747 * a_buf[0] == '\0' - no token meeting criteria found 21748 * a_buf[0] != '\0' - token meeting criteria returned 21749 * a_bufLen - [RO, *RO] - (int) 21750 * - Size of 'a_buf' in bytes - a maximum of 'a_bufLen-1' 21751 * bytes will be placed in 'a_buf' - the returned 21752 * token is always null terminated 21753 * Returns: void 21754 */ 21755 21756 void 21757 _z_strGetToken_r(char *r_sep, char *a_string, int a_index, 21758 char *a_separators, char *a_buf, int a_bufLen) 21759 { 21760 char *p; 21761 char *q; 21762 char *lasts; 21763 21764 /* entry assertions */ 21765 21766 (void)((a_string != 0L) || (__assert("a_string != NULL", "../common/zones_str.c", 373), 0)); 21767 (void)((a_index >= 0) || (__assert("a_index >= 0", "../common/zones_str.c", 374), 0)); 21768 (void)((a_separators != 0L) || (__assert("a_separators != NULL", "../common/zones_str.c", 375), 0)); 21769 (void)((*a_separators != '\0') || (__assert("*a_separators != '\\0'", "../common/zones_str.c", 376), 0)); 21770 (void)((a_buf != 0L) || (__assert("a_buf != NULL", "../common/zones_str.c", 377), 0)); 21771 (void)((a_bufLen > 0) || (__assert("a_bufLen > 0", "../common/zones_str.c", 378), 0)); 21772 21773 /* reset returned separator */ 21774 21775 if (r_sep != 0L) { 21776 *r_sep = '\0'; 21777 } 21778 21779 /* zero out contents of return buffer */ 21780 21781 bzero(a_buf, a_bufLen); 21782 21783 /* duplicate original string before breaking down into tokens */ 21784 21785 p = _z_strdup(a_string); 21786 21787 lasts = p; 21788 21789 /* scan for separators and return 'index'th token found */ 21790 21791 while (q = strtok_r(0L, a_separators, &lasts)) { 21792 /* retrieve separator if requested */ 21793 21794 if (r_sep != 0L) { 21795 char *x; 21796 x = strpbrk(a_string, a_separators); 21797 if (x != 0L) { 21798 *r_sep = *x; 21799 } 21800 } 21801 21802 /* if this is the 'index'th token requested return it */ 21803 21804 if (a_index-- == 0) { 21805 /* copy as many characters as possible to return buf */ 21806 21807 (void) strncpy(a_buf, q, a_bufLen-1); 21808 break; 21809 } 21810 } 21811 21812 /* free up copy of original input string */ 21813 21814 free(p); 21815 } 21816 21817 /* 21818 * Name: _z_strPrintf 21819 * Synopsis: Create string from printf style format and arguments 21820 * Description: Call to convert a printf style format and arguments into a 21821 * string of characters placed in allocated storage 21822 * Arguments: format - [RO, RO*] (char *) 21823 * printf-style format for string to be formatted 21824 * VARG_LIST - [RO] (?) 21825 * arguments as appropriate to 'format' specified 21826 * Returns: char * 21827 * A string representing the printf conversion results 21828 * NOTE: Any string returned is placed in new storage for the 21829 * calling method. The caller must use 'free' to dispose 21830 * of the storage once the string is no longer needed. 21831 * Errors: If the string cannot be created, the process exits 21832 */ 21833 21834 /*PRINTFLIKE1*/ 21835 char * 21836 _z_strPrintf(char *a_format, ...) 21837 { 21838 va_list ap; 21839 size_t vres = 0; 21840 char bfr[1]; 21841 char *rstr = 0L; 21842 21843 /* entry assertions */ 21844 21845 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_str.c", 452), 0)); 21846 (void)((*a_format != '\0') || (__assert("*a_format != '\\0'", "../common/zones_str.c", 453), 0)); 21847 21848 /* determine size of the message in bytes */ 21849 21850 __builtin_va_start(ap, a_format); 21851 vres = vsnprintf(bfr, 1, a_format, ap); 21852 __builtin_va_end(ap); 21853 21854 (void)((vres > 0) || (__assert("vres > 0", "../common/zones_str.c", 461), 0)); 21855 (void)((vres < 2048) || (__assert("vres < LINE_MAX", "../common/zones_str.c", 462), 0)); 21856 21857 /* allocate storage to hold the message */ 21858 21859 rstr = (char *)_z_calloc(vres+2); 21860 21861 /* generate the results of the printf conversion */ 21862 21863 __builtin_va_start(ap, a_format); 21864 vres = vsnprintf(rstr, vres+1, a_format, ap); 21865 __builtin_va_end(ap); 21866 21867 (void)((vres > 0) || (__assert("vres > 0", "../common/zones_str.c", 474), 0)); 21868 (void)((vres < 2048) || (__assert("vres < LINE_MAX", "../common/zones_str.c", 475), 0)); 21869 (void)((*rstr != '\0') || (__assert("*rstr != '\\0'", "../common/zones_str.c", 476), 0)); 21870 21871 /* return the results */ 21872 21873 return (rstr); 21874 } 21875 21876 /* 21877 * Name: _z_strPrintf_r 21878 * Synopsis: Create string from printf style format and arguments 21879 * Description: Call to convert a printf style format and arguments into a 21880 * string of characters placed in allocated storage 21881 * Arguments: a_buf - [RO, *RW] - (char *) 21882 * - Pointer to buffer used as storage space for the 21883 * returned string created 21884 * a_bufLen - [RO, *RO] - (int) 21885 * - Size of 'a_buf' in bytes - a maximum of 'a_bufLen-1' 21886 * bytes will be placed in 'a_buf' - the returned 21887 * string is always null terminated 21888 * a_format - [RO, RO*] (char *) 21889 * printf-style format for string to be formatted 21890 * VARG_LIST - [RO] (?) 21891 * arguments as appropriate to 'format' specified 21892 * Returns: void 21893 */ 21894 21895 /*PRINTFLIKE3*/ 21896 void 21897 _z_strPrintf_r(char *a_buf, int a_bufLen, char *a_format, ...) 21898 { 21899 va_list ap; 21900 size_t vres = 0; 21901 21902 /* entry assertions */ 21903 21904 (void)((a_format != 0L) || (__assert("a_format != NULL", "../common/zones_str.c", 511), 0)); 21905 (void)((*a_format != '\0') || (__assert("*a_format != '\\0'", "../common/zones_str.c", 512), 0)); 21906 (void)((a_buf != 0L) || (__assert("a_buf != NULL", "../common/zones_str.c", 513), 0)); 21907 (void)((a_bufLen > 1) || (__assert("a_bufLen > 1", "../common/zones_str.c", 514), 0)); 21908 21909 /* generate the results of the printf conversion */ 21910 21911 __builtin_va_start(ap, a_format); 21912 vres = vsnprintf(a_buf, a_bufLen-1, a_format, ap); 21913 __builtin_va_end(ap); 21914 21915 (void)((vres > 0) || (__assert("vres > 0", "../common/zones_str.c", 522), 0)); 21916 (void)((vres < a_bufLen) || (__assert("vres < a_bufLen", "../common/zones_str.c", 523), 0)); 21917 21918 a_buf[a_bufLen-1] = '\0'; 21919 } 21920 21921 /* 21922 * Name: _z_strRemoveLeadingWhitespace 21923 * Synopsis: Remove leading whitespace from string 21924 * Description: Remove all leading whitespace characters from a string 21925 * Arguments: a_str - [RO, *RW] - (char **) 21926 * Pointer to handle to string (in allocated storage) to 21927 * remove all leading whitespace from 21928 * Returns: void 21929 * The input string is modified as follows: 21930 * == NULL: 21931 * - input string was NULL 21932 * - input string is all whitespace 21933 * != NULL: 21934 * - copy of input string with leading 21935 * whitespace removed 21936 * CAUTION: The input string must be allocated space (via mem* or 21937 * _z_str* methods) - it must not be a static or inline 21938 * character string 21939 * NOTE: The input string a_str will be freed with 'free' 21940 * if it is all whitespace, or if it contains any leading 21941 * whitespace characters 21942 * NOTE: Any string returned is placed in new storage for the 21943 * calling method. The caller must use 'free' to dispose 21944 * of the storage once the string is no longer needed. 21945 * Errors: If the string cannot be created, the process exits 21946 */ 21947 21948 void 21949 _z_strRemoveLeadingWhitespace(char **a_str) 21950 { 21951 char *o_str; 21952 21953 /* entry assertions */ 21954 21955 (void)((a_str != 0L) || (__assert("a_str != NULL", "../common/zones_str.c", 562), 0)); 21956 21957 /* if string is null, just return */ 21958 21959 if (*a_str == 0L) { 21960 return; 21961 } 21962 o_str = *a_str; 21963 21964 /* if string is empty, deallocate and return NULL */ 21965 21966 if (*o_str == '\0') { 21967 /* free string - handle is not reset to NULL by free */ 21968 free(*a_str); 21969 *a_str = 0L; 21970 return; 21971 } 21972 21973 /* if first character is not a space, just return */ 21974 21975 if (!isspace(*o_str)) { 21976 return; 21977 } 21978 21979 /* advance past all space characters */ 21980 21981 while ((*o_str != '\0') && (isspace(*o_str))) { 21982 o_str++; 21983 } 21984 21985 /* if string was all space characters, deallocate and return NULL */ 21986 21987 if (*o_str == '\0') { 21988 /* free string - *a_str is not reset to NULL by free */ 21989 free(*a_str); 21990 *a_str = 0L; 21991 return; 21992 } 21993 21994 /* have non-space/null byte, return dup, deallocate original */ 21995 21996 free(*a_str); 21997 *a_str = _z_strdup(o_str); 21998 } 21999 22000 /* 22001 * Name: _z_strRemoveToken 22002 * Synopsis: Remove a token from a string 22003 * Description: Remove a token (sequence of one or more characters) from a 22004 * string that is in allocated space 22005 * Arguments: r_string - [RO, *RW] - (char **) 22006 * - Pointer to handle to string to remove token from 22007 * a_token - [RO, *RO] - (char *) 22008 * Pointer to token (substring) to look for and remove 22009 * from r_string provided 22010 * a_separators - [RO, *RO] - (char *) 22011 * - String containing one or more characters that 22012 * separate one "token" from another in r_string 22013 * a_index - [RO, *RO] - (int) 22014 * - Index of token to remove; '0' is first matching 22015 * token, '1' is second matching token, etc. 22016 * Returns: void 22017 * CAUTION: The input string must be allocated space (via lu_mem* or 22018 * _z_str* methods) - it must not be a static or inline 22019 * character string 22020 * NOTE: The input string r_string will be freed with 'free' 22021 * if the token to be removed is found 22022 * NOTE: Any token string returned is placed in new storage for the 22023 * calling method. The caller must use 'free' to dispose 22024 * of the storage once the token string is no longer needed. 22025 * Errors: If the new token string cannot be created, the process exits 22026 */ 22027 22028 void 22029 _z_strRemoveToken(char **r_string, char *a_token, char *a_separators, 22030 int a_index) 22031 { 22032 char *a_string; 22033 char *copyString; 22034 char sep = 0; 22035 int copyLength; 22036 int i; 22037 22038 /* entry assertions */ 22039 22040 (void)((r_string != 0L) || (__assert("r_string != NULL", "../common/zones_str.c", 647), 0)); 22041 (void)((a_token != 0L) || (__assert("a_token != NULL", "../common/zones_str.c", 648), 0)); 22042 (void)((*a_token != '\0') || (__assert("*a_token != '\\0'", "../common/zones_str.c", 649), 0)); 22043 (void)((a_separators != 0L) || (__assert("a_separators != NULL", "../common/zones_str.c", 650), 0)); 22044 (void)((*a_separators != '\0') || (__assert("*a_separators != '\\0'", "../common/zones_str.c", 651), 0)); 22045 22046 /* simple case: input string is null; return empty string */ 22047 22048 a_string = *r_string; 22049 if (*a_string == '\0') { 22050 return; 22051 } 22052 22053 /* simple case: token == input string; return empty string */ 22054 22055 if (strcmp(a_string, a_token) == 0) { 22056 /* 22057 * deallocate input string; free doesn't 22058 * set *r_string to NULL 22059 */ 22060 free(*r_string); 22061 *r_string = 0L; 22062 return; 22063 } 22064 22065 /* simple case: token not in input string: return */ 22066 22067 if (!_z_strContainsToken(a_string, a_token, a_separators)) { 22068 return; 22069 } 22070 22071 /* 22072 * Pick apart the old string building the new one as we go along 22073 * removing the first occurance of the token provided 22074 */ 22075 22076 copyLength = (strlen(a_string)-strlen(a_token))+2; 22077 copyString = (char *)_z_calloc(copyLength); 22078 22079 for (i = 0; ; i++) { 22080 char *p; 22081 22082 p = _z_strGetToken(&sep, a_string, i, a_separators); 22083 if (p == 0L) { 22084 break; 22085 } 22086 22087 if ((strcmp(p, a_token) == 0) && (a_index-- == 0)) { 22088 free(p); 22089 continue; 22090 } 22091 22092 if (*copyString) { 22093 (void)((sep != '\0') || (__assert("sep != '\\0'", "../common/zones_str.c", 700), 0)); 22094 (void) strncat(copyString, &sep, 1); 22095 } 22096 22097 (void) strcat(copyString, p); 22098 free(p); 22099 } 22100 22101 free(*r_string); 22102 (void)((*copyString) || (__assert("*copyString", "../common/zones_str.c", 709), 0)); 22103 *r_string = copyString; 22104 } 22105