1 # 1 "common/apptrace.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "common/apptrace.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 2006 Sun Microsystems, Inc. All rights reserved. 27 * Use is subject to license terms. 28 */ 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 33 /* 34 * CDDL HEADER START 35 * 36 * The contents of this file are subject to the terms of the 37 * Common Development and Distribution License (the "License"). 38 * You may not use this file except in compliance with the License. 39 * 40 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 41 * or http://www.opensolaris.org/os/licensing. 42 * See the License for the specific language governing permissions 43 * and limitations under the License. 44 * 45 * When distributing Covered Code, include this CDDL HEADER in each 46 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 47 * If applicable, add the following below this CDDL HEADER, with the 48 * fields enclosed by brackets "[]" replaced with your own identifying 49 * information: Portions Copyright [yyyy] [name of copyright owner] 50 * 51 * CDDL HEADER END 52 */ 53 /* 54 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 55 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 56 */ 57 58 59 60 61 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 1 62 /* 63 * CDDL HEADER START 64 * 65 * The contents of this file are subject to the terms of the 66 * Common Development and Distribution License (the "License"). 67 * You may not use this file except in compliance with the License. 68 * 69 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 70 * or http://www.opensolaris.org/os/licensing. 71 * See the License for the specific language governing permissions 72 * and limitations under the License. 73 * 74 * When distributing Covered Code, include this CDDL HEADER in each 75 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 76 * If applicable, add the following below this CDDL HEADER, with the 77 * fields enclosed by brackets "[]" replaced with your own identifying 78 * information: Portions Copyright [yyyy] [name of copyright owner] 79 * 80 * CDDL HEADER END 81 */ 82 83 /* 84 * Copyright (c) 1988 AT&T 85 * All Rights Reserved 86 * 87 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 88 * 89 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 90 */ 91 92 93 94 95 96 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 97 /* 98 * CDDL HEADER START 99 * 100 * The contents of this file are subject to the terms of the 101 * Common Development and Distribution License (the "License"). 102 * You may not use this file except in compliance with the License. 103 * 104 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 105 * or http://www.opensolaris.org/os/licensing. 106 * See the License for the specific language governing permissions 107 * and limitations under the License. 108 * 109 * When distributing Covered Code, include this CDDL HEADER in each 110 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 111 * If applicable, add the following below this CDDL HEADER, with the 112 * fields enclosed by brackets "[]" replaced with your own identifying 113 * information: Portions Copyright [yyyy] [name of copyright owner] 114 * 115 * CDDL HEADER END 116 */ 117 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 118 /* All Rights Reserved */ 119 120 121 /* 122 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 123 * Use is subject to license terms. 124 * 125 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 126 * Copyright 2016 Joyent, Inc. 127 */ 128 129 130 131 132 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 133 /* 134 * CDDL HEADER START 135 * 136 * The contents of this file are subject to the terms of the 137 * Common Development and Distribution License (the "License"). 138 * You may not use this file except in compliance with the License. 139 * 140 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 141 * or http://www.opensolaris.org/os/licensing. 142 * See the License for the specific language governing permissions 143 * and limitations under the License. 144 * 145 * When distributing Covered Code, include this CDDL HEADER in each 146 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 147 * If applicable, add the following below this CDDL HEADER, with the 148 * fields enclosed by brackets "[]" replaced with your own identifying 149 * information: Portions Copyright [yyyy] [name of copyright owner] 150 * 151 * CDDL HEADER END 152 */ 153 154 /* 155 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 156 * Copyright 2016 Joyent, Inc. 157 * 158 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 159 * Use is subject to license terms. 160 */ 161 162 163 164 165 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 166 /* 167 * CDDL HEADER START 168 * 169 * The contents of this file are subject to the terms of the 170 * Common Development and Distribution License, Version 1.0 only 171 * (the "License"). You may not use this file except in compliance 172 * with the License. 173 * 174 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 175 * or http://www.opensolaris.org/os/licensing. 176 * See the License for the specific language governing permissions 177 * and limitations under the License. 178 * 179 * When distributing Covered Code, include this CDDL HEADER in each 180 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 181 * If applicable, add the following below this CDDL HEADER, with the 182 * fields enclosed by brackets "[]" replaced with your own identifying 183 * information: Portions Copyright [yyyy] [name of copyright owner] 184 * 185 * CDDL HEADER END 186 */ 187 /* 188 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 189 * Use is subject to license terms. 190 */ 191 /* 192 * Copyright 2015 EveryCity Ltd. All rights reserved. 193 */ 194 195 196 197 198 /* 199 * This file contains definitions designed to enable different compilers 200 * to be used harmoniously on Solaris systems. 201 */ 202 203 204 205 206 207 /* 208 * Allow for version tests for compiler bugs and features. 209 */ 210 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 211 /* 212 * analogous to lint's PRINTFLIKEn 213 */ 214 215 216 217 218 219 /* 220 * Handle the kernel printf routines that can take '%b' too 221 */ 222 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 223 /* 224 * This one's pretty obvious -- the function never returns 225 */ 226 227 228 /* 229 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 230 * behaviour. 231 * 232 * Should only be used on 'extern inline' definitions for GCC. 233 */ 234 235 236 237 238 239 240 /* 241 * The function has control flow such that it may return multiple times (in 242 * the manner of setjmp or vfork) 243 */ 244 245 246 247 248 249 250 /* 251 * This is an appropriate label for functions that do not 252 * modify their arguments, e.g. strlen() 253 */ 254 255 256 /* 257 * This is a stronger form of __pure__. Can be used for functions 258 * that do not modify their arguments and don't depend on global 259 * memory. 260 */ 261 262 263 264 265 /* 266 * This attribute, attached to a variable, means that the variable is meant to 267 * be possibly unused. GCC will not produce a warning for this variable. 268 */ 269 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 270 /* 271 * Shorthand versions for readability 272 */ 273 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 275 /* 276 * CDDL HEADER START 277 * 278 * The contents of this file are subject to the terms of the 279 * Common Development and Distribution License (the "License"). 280 * You may not use this file except in compliance with the License. 281 * 282 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 283 * or http://www.opensolaris.org/os/licensing. 284 * See the License for the specific language governing permissions 285 * and limitations under the License. 286 * 287 * 288 * When distributing Covered Code, include this CDDL HEADER in each 289 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 290 * If applicable, add the following below this CDDL HEADER, with the 291 * fields enclosed by brackets "[]" replaced with your own identifying 292 * information: Portions Copyright [yyyy] [name of copyright owner] 293 * 294 * CDDL HEADER END 295 */ 296 297 /* 298 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 299 * Use is subject to license terms. 300 * Copyright 2016 Joyent, Inc. 301 */ 302 303 304 305 306 /* 307 * This header file serves to group a set of well known defines and to 308 * set these for each instruction set architecture. These defines may 309 * be divided into two groups; characteristics of the processor and 310 * implementation choices for Solaris on a processor. 311 * 312 * Processor Characteristics: 313 * 314 * _LITTLE_ENDIAN / _BIG_ENDIAN: 315 * The natural byte order of the processor. A pointer to an int points 316 * to the least/most significant byte of that int. 317 * 318 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 319 * The processor specific direction of stack growth. A push onto the 320 * stack increases/decreases the stack pointer, so it stores data at 321 * successively higher/lower addresses. (Stackless machines ignored 322 * without regrets). 323 * 324 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 325 * A pointer to a long long points to the most/least significant long 326 * within that long long. 327 * 328 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 329 * The C compiler assigns bit fields from the high/low to the low/high end 330 * of an int (most to least significant vs. least to most significant). 331 * 332 * _IEEE_754: 333 * The processor (or supported implementations of the processor) 334 * supports the ieee-754 floating point standard. No other floating 335 * point standards are supported (or significant). Any other supported 336 * floating point formats are expected to be cased on the ISA processor 337 * symbol. 338 * 339 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 340 * The C Compiler implements objects of type `char' as `unsigned' or 341 * `signed' respectively. This is really an implementation choice of 342 * the compiler writer, but it is specified in the ABI and tends to 343 * be uniform across compilers for an instruction set architecture. 344 * Hence, it has the properties of a processor characteristic. 345 * 346 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 347 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 348 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 349 * The ABI defines alignment requirements of each of the primitive 350 * object types. Some, if not all, may be hardware requirements as 351 * well. The values are expressed in "byte-alignment" units. 352 * 353 * _MAX_ALIGNMENT: 354 * The most stringent alignment requirement as specified by the ABI. 355 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 356 * 357 * _MAX_ALIGNMENT_TYPE: 358 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 359 * 360 * _ALIGNMENT_REQUIRED: 361 * True or false (1 or 0) whether or not the hardware requires the ABI 362 * alignment. 363 * 364 * _LONG_LONG_ALIGNMENT_32 365 * The 32-bit ABI supported by a 64-bit kernel may have different 366 * alignment requirements for primitive object types. The value of this 367 * identifier is expressed in "byte-alignment" units. 368 * 369 * _HAVE_CPUID_INSN 370 * This indicates that the architecture supports the 'cpuid' 371 * instruction as defined by Intel. (Intel allows other vendors 372 * to extend the instruction for their own purposes.) 373 * 374 * 375 * Implementation Choices: 376 * 377 * _ILP32 / _LP64: 378 * This specifies the compiler data type implementation as specified in 379 * the relevant ABI. The choice between these is strongly influenced 380 * by the underlying hardware, but is not absolutely tied to it. 381 * Currently only two data type models are supported: 382 * 383 * _ILP32: 384 * Int/Long/Pointer are 32 bits. This is the historical UNIX 385 * and Solaris implementation. Due to its historical standing, 386 * this is the default case. 387 * 388 * _LP64: 389 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 390 * implementation for 64-bit ABIs such as SPARC V9. 391 * 392 * _I32LPx: 393 * A compilation environment where 'int' is 32-bit, and 394 * longs and pointers are simply the same size. 395 * 396 * In all cases, Char is 8 bits and Short is 16 bits. 397 * 398 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 399 * This specifies the form of the disk VTOC (or label): 400 * 401 * _SUNOS_VTOC_8: 402 * This is a VTOC form which is upwardly compatible with the 403 * SunOS 4.x disk label and allows 8 partitions per disk. 404 * 405 * _SUNOS_VTOC_16: 406 * In this format the incore vtoc image matches the ondisk 407 * version. It allows 16 slices per disk, and is not 408 * compatible with the SunOS 4.x disk label. 409 * 410 * Note that these are not the only two VTOC forms possible and 411 * additional forms may be added. One possible form would be the 412 * SVr4 VTOC form. The symbol for that is reserved now, although 413 * it is not implemented. 414 * 415 * _SVR4_VTOC_16: 416 * This VTOC form is compatible with the System V Release 4 417 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 418 * 16 partitions per disk. 419 * 420 * 421 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 422 * This describes the type of addresses used by system DMA: 423 * 424 * _DMA_USES_PHYSADDR: 425 * This type of DMA, used in the x86 implementation, 426 * requires physical addresses for DMA buffers. The 24-bit 427 * addresses used by some legacy boards is the source of the 428 * "low-memory" (<16MB) requirement for some devices using DMA. 429 * 430 * _DMA_USES_VIRTADDR: 431 * This method of DMA allows the use of virtual addresses for 432 * DMA transfers. 433 * 434 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 435 * This indicates the presence/absence of an fdisk table. 436 * 437 * _FIRMWARE_NEEDS_FDISK 438 * The fdisk table is required by system firmware. If present, 439 * it allows a disk to be subdivided into multiple fdisk 440 * partitions, each of which is equivalent to a separate, 441 * virtual disk. This enables the co-existence of multiple 442 * operating systems on a shared hard disk. 443 * 444 * _NO_FDISK_PRESENT 445 * If the fdisk table is absent, it is assumed that the entire 446 * media is allocated for a single operating system. 447 * 448 * _HAVE_TEM_FIRMWARE 449 * Defined if this architecture has the (fallback) option of 450 * using prom_* calls for doing I/O if a suitable kernel driver 451 * is not available to do it. 452 * 453 * _DONT_USE_1275_GENERIC_NAMES 454 * Controls whether or not device tree node names should 455 * comply with the IEEE 1275 "Generic Names" Recommended 456 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 457 * names identifying the particular device will be used. 458 * 459 * __i386_COMPAT 460 * This indicates whether the i386 ABI is supported as a *non-native* 461 * mode for the platform. When this symbol is defined: 462 * - 32-bit xstat-style system calls are enabled 463 * - 32-bit xmknod-style system calls are enabled 464 * - 32-bit system calls use i386 sizes -and- alignments 465 * 466 * Note that this is NOT defined for the i386 native environment! 467 * 468 * __x86 469 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 470 * which is useful only insofar as these two architectures share 471 * common attributes. Analogous to __sparc. 472 * 473 * _PSM_MODULES 474 * This indicates whether or not the implementation uses PSM 475 * modules for processor support, reading /etc/mach from inside 476 * the kernel to extract a list. 477 * 478 * _RTC_CONFIG 479 * This indicates whether or not the implementation uses /etc/rtc_config 480 * to configure the real-time clock in the kernel. 481 * 482 * _UNIX_KRTLD 483 * This indicates that the implementation uses a dynamically 484 * linked unix + krtld to form the core kernel image at boot 485 * time, or (in the absence of this symbol) a prelinked kernel image. 486 * 487 * _OBP 488 * This indicates the firmware interface is OBP. 489 * 490 * _SOFT_HOSTID 491 * This indicates that the implementation obtains the hostid 492 * from the file /etc/hostid, rather than from hardware. 493 */ 494 495 496 497 498 499 /* 500 * The following set of definitions characterize Solaris on AMD's 501 * 64-bit systems. 502 */ 503 # 305 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 504 /* 505 * Define the appropriate "processor characteristics" 506 */ 507 # 333 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 508 /* 509 * Define the appropriate "implementation choices". 510 */ 511 # 351 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 512 /* 513 * The following set of definitions characterize the Solaris on SPARC systems. 514 * 515 * The symbol __sparc indicates any of the SPARC family of processor 516 * architectures. This includes SPARC V7, SPARC V8 and SPARC V9. 517 * 518 * The symbol __sparcv8 indicates the 32-bit SPARC V8 architecture as defined 519 * by Version 8 of the SPARC Architecture Manual. (SPARC V7 is close enough 520 * to SPARC V8 for the former to be subsumed into the latter definition.) 521 * 522 * The symbol __sparcv9 indicates the 64-bit SPARC V9 architecture as defined 523 * by Version 9 of the SPARC Architecture Manual. 524 * 525 * The symbols __sparcv8 and __sparcv9 are mutually exclusive, and are only 526 * relevant when the symbol __sparc is defined. 527 */ 528 /* 529 * XXX Due to the existence of 5110166, "defined(__sparcv9)" needs to be added 530 * to support backwards builds. This workaround should be removed in s10_71. 531 */ 532 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 533 534 535 536 537 538 /* 539 * Values of _POSIX_C_SOURCE 540 * 541 * undefined not a POSIX compilation 542 * 1 POSIX.1-1990 compilation 543 * 2 POSIX.2-1992 compilation 544 * 199309L POSIX.1b-1993 compilation (Real Time) 545 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 546 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 547 * 200809L POSIX.1-2008 compilation 548 */ 549 550 551 552 553 /* 554 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 555 * and _STDC_C99 are Sun implementation specific macros created in order to 556 * compress common standards specified feature test macros for easier reading. 557 * These macros should not be used by the application developer as 558 * unexpected results may occur. Instead, the user should reference 559 * standards(5) for correct usage of the standards feature test macros. 560 * 561 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 562 * X/Open or POSIX or in the negative, when neither 563 * X/Open or POSIX defines a symbol. 564 * 565 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 566 * by the compiler. For Sun compilers the value of 567 * __STDC__ is either 1, 0, or not defined based on the 568 * compilation mode (see cc(1)). When the value of 569 * __STDC__ is 1 and in the absence of any other feature 570 * test macros, the namespace available to the application 571 * is limited to only those symbols defined by the C 572 * Standard. _STRICT_STDC provides a more readable means 573 * of identifying symbols defined by the standard, or in 574 * the negative, symbols that are extensions to the C 575 * Standard. See additional comments for GNU C differences. 576 * 577 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 578 * defined by the compiler and indicates the version of 579 * the C standard. A value of 199901L indicates a 580 * compiler that complies with ISO/IEC 9899:1999, other- 581 * wise known as the C99 standard. 582 * 583 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 584 * is 201112L indicating a compiler that compiles with 585 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 586 * 587 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 588 * by the standards, and the user has not explicitly 589 * relaxed the strictness via __EXTENSIONS__. 590 */ 591 592 593 594 595 596 /* 597 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 598 * 99899:2011 specify the following predefined macro name: 599 * 600 * __STDC__ The integer constant 1, intended to indicate a conforming 601 * implementation. 602 * 603 * Furthermore, a strictly conforming program shall use only those features 604 * of the language and library specified in these standards. A conforming 605 * implementation shall accept any strictly conforming program. 606 * 607 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 608 * strictly conforming environments and __STDC__ to 0 for environments that 609 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 610 * C semantics, Sun's C compiler does not define __STDC__. 611 * 612 * The GNU C project interpretation is that __STDC__ should always be defined 613 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 614 * or not extensions to the C standard are used. Violations of conforming 615 * behavior are conditionally flagged as warnings via the use of the 616 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 617 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 618 * conforming environments using the -ansi or -std=<standard> options. 619 * 620 * In the absence of any other compiler options, Sun and GNU set the value 621 * of __STDC__ as follows when using the following options: 622 * 623 * Value of __STDC__ __STRICT_ANSI__ 624 * 625 * cc -Xa (default) 0 undefined 626 * cc -Xt (transitional) 0 undefined 627 * cc -Xc (strictly conforming) 1 undefined 628 * cc -Xs (K&R C) undefined undefined 629 * 630 * gcc (default) 1 undefined 631 * gcc -ansi, -std={c89, c99,...) 1 defined 632 * gcc -traditional (K&R) undefined undefined 633 * 634 * The default compilation modes for Sun C compilers versus GNU C compilers 635 * results in a differing value for __STDC__ which results in a more 636 * restricted namespace when using Sun compilers. To allow both GNU and Sun 637 * interpretations to peacefully co-exist, we use the following Sun 638 * implementation _STRICT_STDC_ macro: 639 */ 640 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 641 /* 642 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 643 */ 644 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 645 /* 646 * Use strict symbol visibility. 647 */ 648 649 650 651 652 653 /* 654 * Large file interfaces: 655 * 656 * _LARGEFILE_SOURCE 657 * 1 large file-related additions to POSIX 658 * interfaces requested (fseeko, etc.) 659 * _LARGEFILE64_SOURCE 660 * 1 transitional large-file-related interfaces 661 * requested (seek64, stat64, etc.) 662 * 663 * The corresponding announcement macros are respectively: 664 * _LFS_LARGEFILE 665 * _LFS64_LARGEFILE 666 * (These are set in <unistd.h>.) 667 * 668 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 669 * well. 670 * 671 * The large file interfaces are made visible regardless of the initial values 672 * of the feature test macros under certain circumstances: 673 * - If no explicit standards-conforming environment is requested (neither 674 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 675 * __STDC__ does not imply standards conformance). 676 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 677 * is defined). 678 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 679 * defined). (Note that this dependency is an artifact of the current 680 * kernel implementation and may change in future releases.) 681 */ 682 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 683 /* 684 * Large file compilation environment control: 685 * 686 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 687 * types and governs the mapping between file-related source function symbol 688 * names and the corresponding binary entry points. 689 * 690 * In the 32-bit environment, the default value is 32; if not set, set it to 691 * the default here, to simplify tests in other headers. 692 * 693 * In the 64-bit compilation environment, the only value allowed is 64. 694 */ 695 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 696 /* 697 * Use of _XOPEN_SOURCE 698 * 699 * The following X/Open specifications are supported: 700 * 701 * X/Open Portability Guide, Issue 3 (XPG3) 702 * X/Open CAE Specification, Issue 4 (XPG4) 703 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 704 * X/Open CAE Specification, Issue 5 (XPG5) 705 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 706 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 707 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 708 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 709 * 710 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 711 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 712 * Version 2 (SUSv2) 713 * XPG6 is the result of a merge of the X/Open and POSIX specifications 714 * and as such is also referred to as IEEE Std. 1003.1-2001 in 715 * addition to UNIX 03 and SUSv3. 716 * XPG7 is also referred to as UNIX 08 and SUSv4. 717 * 718 * When writing a conforming X/Open application, as per the specification 719 * requirements, the appropriate feature test macros must be defined at 720 * compile time. These are as follows. For more info, see standards(5). 721 * 722 * Feature Test Macro Specification 723 * ------------------------------------------------ ------------- 724 * _XOPEN_SOURCE XPG3 725 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 726 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 727 * _XOPEN_SOURCE = 500 XPG5 728 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 729 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 730 * 731 * In order to simplify the guards within the headers, the following 732 * implementation private test macros have been created. Applications 733 * must NOT use these private test macros as unexpected results will 734 * occur. 735 * 736 * Note that in general, the use of these private macros is cumulative. 737 * For example, the use of _XPG3 with no other restrictions on the X/Open 738 * namespace will make the symbols visible for XPG3 through XPG6 739 * compilation environments. The use of _XPG4_2 with no other X/Open 740 * namespace restrictions indicates that the symbols were introduced in 741 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 742 * environments, but not for XPG3 or XPG4 compilation environments. 743 * 744 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 745 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 746 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 747 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 748 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 749 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 750 */ 751 752 /* X/Open Portability Guide, Issue 3 */ 753 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 754 /* 755 * _XOPEN_VERSION is defined by the X/Open specifications and is not 756 * normally defined by the application, except in the case of an XPG4 757 * application. On the implementation side, _XOPEN_VERSION defined with 758 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 759 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 760 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 761 * application and with a value of 600 indicates an XPG6 (UNIX 03) 762 * application and with a value of 700 indicates an XPG7 (UNIX 08). 763 * The appropriate version is determined by the use of the 764 * feature test macros described earlier. The value of _XOPEN_VERSION 765 * defaults to 3 otherwise indicating support for XPG3 applications. 766 */ 767 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 768 /* 769 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 770 * conforming environments. ISO 9899:1999 says it does. 771 * 772 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 773 * defined in all but strictly conforming environments that disallow it. 774 */ 775 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 776 /* 777 * The following macro defines a value for the ISO C99 restrict 778 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 779 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 780 * if any other compiler is used. This allows for the use of single 781 * prototype declarations regardless of compiler version. 782 */ 783 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 784 /* 785 * The following macro defines a value for the ISO C11 _Noreturn 786 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 787 * an ISO C11 compiler is used and "" (null string) if any other 788 * compiler is used. This allows for the use of single prototype 789 * declarations regardless of compiler version. 790 */ 791 792 793 794 795 796 797 798 /* 799 * The following macro indicates header support for the ANSI C++ 800 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 801 */ 802 803 804 /* 805 * The following macro indicates header support for the C99 standard, 806 * ISO/IEC 9899:1999, Programming Languages - C. 807 */ 808 809 810 /* 811 * The following macro indicates header support for the C99 standard, 812 * ISO/IEC 9899:2011, Programming Languages - C. 813 */ 814 815 816 /* 817 * The following macro indicates header support for DTrace. The value is an 818 * integer that corresponds to the major version number for DTrace. 819 */ 820 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 821 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 822 /* 823 * CDDL HEADER START 824 * 825 * The contents of this file are subject to the terms of the 826 * Common Development and Distribution License (the "License"). 827 * You may not use this file except in compliance with the License. 828 * 829 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 830 * or http://www.opensolaris.org/os/licensing. 831 * See the License for the specific language governing permissions 832 * and limitations under the License. 833 * 834 * 835 * When distributing Covered Code, include this CDDL HEADER in each 836 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 837 * If applicable, add the following below this CDDL HEADER, with the 838 * fields enclosed by brackets "[]" replaced with your own identifying 839 * information: Portions Copyright [yyyy] [name of copyright owner] 840 * 841 * CDDL HEADER END 842 */ 843 844 /* 845 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 846 * Use is subject to license terms. 847 * Copyright 2016 Joyent, Inc. 848 */ 849 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 850 851 /* 852 * Machine dependent definitions moved to <sys/machtypes.h>. 853 */ 854 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 855 /* 856 * CDDL HEADER START 857 * 858 * The contents of this file are subject to the terms of the 859 * Common Development and Distribution License, Version 1.0 only 860 * (the "License"). You may not use this file except in compliance 861 * with the License. 862 * 863 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 864 * or http://www.opensolaris.org/os/licensing. 865 * See the License for the specific language governing permissions 866 * and limitations under the License. 867 * 868 * When distributing Covered Code, include this CDDL HEADER in each 869 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 870 * If applicable, add the following below this CDDL HEADER, with the 871 * fields enclosed by brackets "[]" replaced with your own identifying 872 * information: Portions Copyright [yyyy] [name of copyright owner] 873 * 874 * CDDL HEADER END 875 */ 876 /* 877 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 878 * Use is subject to license terms. 879 */ 880 881 882 883 884 #pragma ident "%Z%%M% %I% %E% SMI" 885 886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 887 /* 888 * CDDL HEADER START 889 * 890 * The contents of this file are subject to the terms of the 891 * Common Development and Distribution License (the "License"). 892 * You may not use this file except in compliance with the License. 893 * 894 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 895 * or http://www.opensolaris.org/os/licensing. 896 * See the License for the specific language governing permissions 897 * and limitations under the License. 898 * 899 * When distributing Covered Code, include this CDDL HEADER in each 900 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 901 * If applicable, add the following below this CDDL HEADER, with the 902 * fields enclosed by brackets "[]" replaced with your own identifying 903 * information: Portions Copyright [yyyy] [name of copyright owner] 904 * 905 * CDDL HEADER END 906 */ 907 908 /* 909 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 910 * Copyright 2016 Joyent, Inc. 911 * 912 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 913 * Use is subject to license terms. 914 */ 915 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 916 917 918 919 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 920 /* 921 * CDDL HEADER START 922 * 923 * The contents of this file are subject to the terms of the 924 * Common Development and Distribution License (the "License"). 925 * You may not use this file except in compliance with the License. 926 * 927 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 928 * or http://www.opensolaris.org/os/licensing. 929 * See the License for the specific language governing permissions 930 * and limitations under the License. 931 * 932 * When distributing Covered Code, include this CDDL HEADER in each 933 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 934 * If applicable, add the following below this CDDL HEADER, with the 935 * fields enclosed by brackets "[]" replaced with your own identifying 936 * information: Portions Copyright [yyyy] [name of copyright owner] 937 * 938 * CDDL HEADER END 939 */ 940 /* 941 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 942 * Use is subject to license terms. 943 */ 944 945 946 947 948 #pragma ident "%Z%%M% %I% %E% SMI" 949 950 951 952 953 954 /* 955 * Machine dependent types: 956 * 957 * intel ia32 Version 958 */ 959 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 960 typedef struct _label_t { long val[6]; } label_t; 961 962 963 964 typedef unsigned char lock_t; /* lock work for busy wait */ 965 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 966 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 967 968 /* 969 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 970 * committee's working draft for the revision of the current ISO C standard, 971 * ISO/IEC 9899:1990 Programming language - C. These are not currently 972 * required by any standard but constitute a useful, general purpose set 973 * of type definitions which is namespace clean with respect to all standards. 974 */ 975 976 977 978 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 979 /* 980 * CDDL HEADER START 981 * 982 * The contents of this file are subject to the terms of the 983 * Common Development and Distribution License, Version 1.0 only 984 * (the "License"). You may not use this file except in compliance 985 * with the License. 986 * 987 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 988 * or http://www.opensolaris.org/os/licensing. 989 * See the License for the specific language governing permissions 990 * and limitations under the License. 991 * 992 * When distributing Covered Code, include this CDDL HEADER in each 993 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 994 * If applicable, add the following below this CDDL HEADER, with the 995 * fields enclosed by brackets "[]" replaced with your own identifying 996 * information: Portions Copyright [yyyy] [name of copyright owner] 997 * 998 * CDDL HEADER END 999 */ 1000 /* 1001 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1002 * 1003 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 1004 * Use is subject to license terms. 1005 */ 1006 1007 1008 1009 1010 /* 1011 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 1012 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 1013 * Programming language - C. 1014 * 1015 * Programs/Modules should not directly include this file. Access to the 1016 * types defined in this file should be through the inclusion of one of the 1017 * following files: 1018 * 1019 * <sys/types.h> Provides only the "_t" types defined in this 1020 * file which is a subset of the contents of 1021 * <inttypes.h>. (This can be appropriate for 1022 * all programs/modules except those claiming 1023 * ANSI-C conformance.) 1024 * 1025 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 1026 * components of <inttypes.h>. 1027 * 1028 * <inttypes.h> For use by applications. 1029 * 1030 * See these files for more details. 1031 */ 1032 1033 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1034 /* 1035 * CDDL HEADER START 1036 * 1037 * The contents of this file are subject to the terms of the 1038 * Common Development and Distribution License (the "License"). 1039 * You may not use this file except in compliance with the License. 1040 * 1041 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1042 * or http://www.opensolaris.org/os/licensing. 1043 * See the License for the specific language governing permissions 1044 * and limitations under the License. 1045 * 1046 * When distributing Covered Code, include this CDDL HEADER in each 1047 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1048 * If applicable, add the following below this CDDL HEADER, with the 1049 * fields enclosed by brackets "[]" replaced with your own identifying 1050 * information: Portions Copyright [yyyy] [name of copyright owner] 1051 * 1052 * CDDL HEADER END 1053 */ 1054 1055 /* 1056 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1057 * Copyright 2016 Joyent, Inc. 1058 * 1059 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1060 * Use is subject to license terms. 1061 */ 1062 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 1063 1064 1065 1066 1067 1068 /* 1069 * Basic / Extended integer types 1070 * 1071 * The following defines the basic fixed-size integer types. 1072 * 1073 * Implementations are free to typedef them to Standard C integer types or 1074 * extensions that they support. If an implementation does not support one 1075 * of the particular integer data types below, then it should not define the 1076 * typedefs and macros corresponding to that data type. Note that int8_t 1077 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 1078 * as an unsigned entity because there is no way to define an eight bit 1079 * signed integral. 1080 */ 1081 1082 typedef char int8_t; 1083 1084 1085 1086 typedef short int16_t; 1087 typedef int int32_t; 1088 1089 1090 1091 1092 1093 1094 typedef long long int64_t; 1095 1096 1097 1098 typedef unsigned char uint8_t; 1099 typedef unsigned short uint16_t; 1100 typedef unsigned int uint32_t; 1101 1102 1103 1104 1105 typedef unsigned long long uint64_t; 1106 1107 1108 1109 /* 1110 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 1111 * and unsigned integer types supported by the implementation. 1112 */ 1113 1114 typedef int64_t intmax_t; 1115 typedef uint64_t uintmax_t; 1116 1117 1118 1119 1120 1121 /* 1122 * intptr_t and uintptr_t are signed and unsigned integer types large enough 1123 * to hold any data pointer; that is, data pointers can be assigned into or 1124 * from these integer types without losing precision. 1125 */ 1126 1127 1128 1129 1130 typedef int intptr_t; 1131 typedef unsigned int uintptr_t; 1132 1133 1134 /* 1135 * The following define the fastest integer types that can hold the 1136 * specified number of bits. 1137 */ 1138 1139 typedef char int_fast8_t; 1140 1141 1142 1143 typedef int int_fast16_t; 1144 typedef int int_fast32_t; 1145 1146 1147 1148 1149 typedef long long int_fast64_t; 1150 1151 1152 1153 typedef unsigned char uint_fast8_t; 1154 typedef unsigned int uint_fast16_t; 1155 typedef unsigned int uint_fast32_t; 1156 1157 1158 1159 1160 typedef unsigned long long uint_fast64_t; 1161 1162 1163 1164 /* 1165 * The following define the smallest integer types that can hold the 1166 * specified number of bits. 1167 */ 1168 1169 typedef char int_least8_t; 1170 1171 1172 1173 typedef short int_least16_t; 1174 typedef int int_least32_t; 1175 1176 1177 1178 1179 typedef long long int_least64_t; 1180 1181 1182 1183 /* 1184 * If these are changed, please update char16_t and char32_t in head/uchar.h. 1185 */ 1186 typedef unsigned char uint_least8_t; 1187 typedef unsigned short uint_least16_t; 1188 typedef unsigned int uint_least32_t; 1189 1190 1191 1192 1193 typedef unsigned long long uint_least64_t; 1194 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 1195 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1196 /* 1197 * Strictly conforming ANSI C environments prior to the 1999 1198 * revision of the C Standard (ISO/IEC 9899:1999) do not have 1199 * the long long data type. 1200 */ 1201 1202 typedef long long longlong_t; 1203 typedef unsigned long long u_longlong_t; 1204 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1205 /* 1206 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 1207 * to use them instead of int32_t and uint32_t because DEC had 1208 * shipped 64-bit wide. 1209 */ 1210 1211 1212 1213 1214 typedef long t_scalar_t; /* historical versions */ 1215 typedef unsigned long t_uscalar_t; 1216 1217 1218 /* 1219 * POSIX Extensions 1220 */ 1221 typedef unsigned char uchar_t; 1222 typedef unsigned short ushort_t; 1223 typedef unsigned int uint_t; 1224 typedef unsigned long ulong_t; 1225 1226 typedef char *caddr_t; /* ?<core address> type */ 1227 typedef long daddr_t; /* <disk address> type */ 1228 typedef short cnt_t; /* ?<count> type */ 1229 1230 1231 1232 1233 1234 1235 typedef int ptrdiff_t; /* (historical version) */ 1236 1237 1238 1239 /* 1240 * VM-related types 1241 */ 1242 typedef ulong_t pfn_t; /* page frame number */ 1243 typedef ulong_t pgcnt_t; /* number of pages */ 1244 typedef long spgcnt_t; /* signed number of pages */ 1245 1246 typedef uchar_t use_t; /* use count for swap. */ 1247 typedef short sysid_t; 1248 typedef short index_t; 1249 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 1250 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 1251 1252 /* 1253 * The size of off_t and related types depends on the setting of 1254 * _FILE_OFFSET_BITS. (Note that other system headers define other types 1255 * related to those defined here.) 1256 * 1257 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 1258 * explicitly 64 bits wide become available. 1259 */ 1260 1261 1262 1263 1264 typedef long off_t; /* offsets within files */ 1265 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1266 typedef longlong_t off64_t; /* offsets within files */ 1267 1268 1269 1270 1271 1272 1273 typedef ulong_t ino_t; /* expanded inode type */ 1274 typedef long blkcnt_t; /* count of file blocks */ 1275 typedef ulong_t fsblkcnt_t; /* count of file system blocks */ 1276 typedef ulong_t fsfilcnt_t; /* count of files */ 1277 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1278 typedef u_longlong_t ino64_t; /* expanded inode type */ 1279 typedef longlong_t blkcnt64_t; /* count of file blocks */ 1280 typedef u_longlong_t fsblkcnt64_t; /* count of file system blocks */ 1281 typedef u_longlong_t fsfilcnt64_t; /* count of files */ 1282 1283 1284 1285 1286 1287 1288 typedef long blksize_t; /* used for block sizes */ 1289 1290 1291 1292 1293 1294 typedef enum { B_FALSE, B_TRUE } boolean_t; 1295 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1296 /* 1297 * The {u,}pad64_t types can be used in structures such that those structures 1298 * may be accessed by code produced by compilation environments which don't 1299 * support a 64 bit integral datatype. The intention is not to allow 1300 * use of these fields in such environments, but to maintain the alignment 1301 * and offsets of the structure. 1302 * 1303 * Similar comments for {u,}pad128_t. 1304 * 1305 * Note that these types do NOT generate any stronger alignment constraints 1306 * than those available in the underlying ABI. See <sys/isa_defs.h> 1307 */ 1308 1309 typedef int64_t pad64_t; 1310 typedef uint64_t upad64_t; 1311 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1312 typedef union { 1313 long double _q; 1314 int32_t _l[4]; 1315 } pad128_t; 1316 1317 typedef union { 1318 long double _q; 1319 uint32_t _l[4]; 1320 } upad128_t; 1321 1322 typedef longlong_t offset_t; 1323 typedef u_longlong_t u_offset_t; 1324 typedef u_longlong_t len_t; 1325 typedef u_longlong_t diskaddr_t; 1326 1327 1328 1329 1330 /* 1331 * Definitions remaining from previous partial support for 64-bit file 1332 * offsets. This partial support for devices greater than 2gb requires 1333 * compiler support for long long. 1334 */ 1335 1336 typedef union { 1337 offset_t _f; /* Full 64 bit offset value */ 1338 struct { 1339 int32_t _l; /* lower 32 bits of offset value */ 1340 int32_t _u; /* upper 32 bits of offset value */ 1341 } _p; 1342 } lloff_t; 1343 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1344 typedef union { 1345 longlong_t _f; /* Full 64 bit disk address value */ 1346 struct { 1347 int32_t _l; /* lower 32 bits of disk address value */ 1348 int32_t _u; /* upper 32 bits of disk address value */ 1349 } _p; 1350 } lldaddr_t; 1351 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1352 typedef uint_t k_fltset_t; /* kernel fault set type */ 1353 1354 /* 1355 * The following type is for various kinds of identifiers. The 1356 * actual type must be the same for all since some system calls 1357 * (such as sigsend) take arguments that may be any of these 1358 * types. The enumeration type idtype_t defined in sys/procset.h 1359 * is used to indicate what type of id is being specified -- 1360 * a process id, process group id, session id, scheduling class id, 1361 * user id, group id, project id, task id or zone id. 1362 */ 1363 1364 1365 1366 typedef long id_t; /* (historical version) */ 1367 1368 1369 typedef id_t lgrp_id_t; /* lgroup ID */ 1370 1371 /* 1372 * Type useconds_t is an unsigned integral type capable of storing 1373 * values at least in the range of zero to 1,000,000. 1374 */ 1375 typedef uint_t useconds_t; /* Time, in microseconds */ 1376 1377 1378 1379 typedef long suseconds_t; /* signed # of microseconds */ 1380 1381 1382 /* 1383 * Typedefs for dev_t components. 1384 */ 1385 1386 1387 1388 1389 typedef ulong_t major_t; /* (historical version) */ 1390 typedef ulong_t minor_t; /* (historical version) */ 1391 1392 1393 /* 1394 * The data type of a thread priority. 1395 */ 1396 typedef short pri_t; 1397 1398 /* 1399 * The data type for a CPU flags field. (Can be extended to larger unsigned 1400 * types, if needed, limited by ability to update atomically.) 1401 */ 1402 typedef ushort_t cpu_flag_t; 1403 1404 /* 1405 * For compatibility reasons the following typedefs (prefixed o_) 1406 * can't grow regardless of the EFT definition. Although, 1407 * applications should not explicitly use these typedefs 1408 * they may be included via a system header definition. 1409 * WARNING: These typedefs may be removed in a future 1410 * release. 1411 * ex. the definitions in s5inode.h (now obsoleted) 1412 * remained small to preserve compatibility 1413 * in the S5 file system type. 1414 */ 1415 typedef ushort_t o_mode_t; /* old file attribute type */ 1416 typedef short o_dev_t; /* old device type */ 1417 typedef ushort_t o_uid_t; /* old UID type */ 1418 typedef o_uid_t o_gid_t; /* old GID type */ 1419 typedef short o_nlink_t; /* old file link type */ 1420 typedef short o_pid_t; /* old process id type */ 1421 typedef ushort_t o_ino_t; /* old inode type */ 1422 1423 1424 /* 1425 * POSIX and XOPEN Declarations 1426 */ 1427 typedef int key_t; /* IPC key type */ 1428 1429 1430 1431 typedef ulong_t mode_t; /* (historical version) */ 1432 1433 1434 1435 1436 typedef unsigned int uid_t; /* UID type */ 1437 1438 1439 typedef uid_t gid_t; /* GID type */ 1440 1441 typedef uint32_t datalink_id_t; 1442 typedef uint32_t vrid_t; 1443 1444 typedef id_t taskid_t; 1445 typedef id_t projid_t; 1446 typedef id_t poolid_t; 1447 typedef id_t zoneid_t; 1448 typedef id_t ctid_t; 1449 1450 /* 1451 * POSIX definitions are same as defined in thread.h and synch.h. 1452 * Any changes made to here should be reflected in corresponding 1453 * files as described in comments. 1454 */ 1455 typedef uint_t pthread_t; /* = thread_t in thread.h */ 1456 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 1457 1458 /* "Magic numbers" tagging synchronization object types */ 1459 1460 1461 1462 1463 1464 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 1465 struct { 1466 uint16_t __pthread_mutex_flag1; 1467 uint8_t __pthread_mutex_flag2; 1468 uint8_t __pthread_mutex_ceiling; 1469 uint16_t __pthread_mutex_type; 1470 uint16_t __pthread_mutex_magic; 1471 } __pthread_mutex_flags; 1472 union { 1473 struct { 1474 uint8_t __pthread_mutex_pad[8]; 1475 } __pthread_mutex_lock64; 1476 struct { 1477 uint32_t __pthread_ownerpid; 1478 uint32_t __pthread_lockword; 1479 } __pthread_mutex_lock32; 1480 upad64_t __pthread_mutex_owner64; 1481 } __pthread_mutex_lock; 1482 upad64_t __pthread_mutex_data; 1483 } pthread_mutex_t; 1484 1485 typedef struct _pthread_cond { /* = cond_t in synch.h */ 1486 struct { 1487 uint8_t __pthread_cond_flag[4]; 1488 uint16_t __pthread_cond_type; 1489 uint16_t __pthread_cond_magic; 1490 } __pthread_cond_flags; 1491 upad64_t __pthread_cond_data; 1492 } pthread_cond_t; 1493 1494 /* 1495 * UNIX 98 Extension 1496 */ 1497 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 1498 int32_t __pthread_rwlock_readers; 1499 uint16_t __pthread_rwlock_type; 1500 uint16_t __pthread_rwlock_magic; 1501 pthread_mutex_t __pthread_rwlock_mutex; 1502 pthread_cond_t __pthread_rwlock_readercv; 1503 pthread_cond_t __pthread_rwlock_writercv; 1504 } pthread_rwlock_t; 1505 1506 /* 1507 * SUSV3 1508 */ 1509 typedef struct { 1510 uint32_t __pthread_barrier_count; 1511 uint32_t __pthread_barrier_current; 1512 upad64_t __pthread_barrier_cycle; 1513 upad64_t __pthread_barrier_reserved; 1514 pthread_mutex_t __pthread_barrier_lock; 1515 pthread_cond_t __pthread_barrier_cond; 1516 } pthread_barrier_t; 1517 1518 typedef pthread_mutex_t pthread_spinlock_t; 1519 1520 /* 1521 * attributes for threads, dynamically allocated by library 1522 */ 1523 typedef struct _pthread_attr { 1524 void *__pthread_attrp; 1525 } pthread_attr_t; 1526 1527 /* 1528 * attributes for mutex, dynamically allocated by library 1529 */ 1530 typedef struct _pthread_mutexattr { 1531 void *__pthread_mutexattrp; 1532 } pthread_mutexattr_t; 1533 1534 /* 1535 * attributes for cond, dynamically allocated by library 1536 */ 1537 typedef struct _pthread_condattr { 1538 void *__pthread_condattrp; 1539 } pthread_condattr_t; 1540 1541 /* 1542 * pthread_once 1543 */ 1544 typedef struct _once { 1545 upad64_t __pthread_once_pad[4]; 1546 } pthread_once_t; 1547 1548 /* 1549 * UNIX 98 Extensions 1550 * attributes for rwlock, dynamically allocated by library 1551 */ 1552 typedef struct _pthread_rwlockattr { 1553 void *__pthread_rwlockattrp; 1554 } pthread_rwlockattr_t; 1555 1556 /* 1557 * SUSV3 1558 * attributes for pthread_barrier_t, dynamically allocated by library 1559 */ 1560 typedef struct { 1561 void *__pthread_barrierattrp; 1562 } pthread_barrierattr_t; 1563 1564 typedef ulong_t dev_t; /* expanded device type */ 1565 1566 1567 1568 1569 1570 typedef ulong_t nlink_t; /* (historical version) */ 1571 typedef long pid_t; /* (historical version) */ 1572 1573 1574 1575 1576 1577 1578 1579 typedef uint_t size_t; /* (historical version) */ 1580 # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1581 typedef int ssize_t; /* (historical version) */ 1582 1583 1584 1585 1586 1587 typedef long time_t; /* time of day in seconds */ 1588 1589 1590 1591 1592 typedef long clock_t; /* relative time in a specified resolution */ 1593 1594 1595 1596 1597 typedef int clockid_t; /* clock identifier type */ 1598 1599 1600 1601 1602 typedef int timer_t; /* timer identifier type */ 1603 1604 1605 1606 1607 /* BEGIN CSTYLED */ 1608 typedef unsigned char unchar; 1609 typedef unsigned short ushort; 1610 typedef unsigned int uint; 1611 typedef unsigned long ulong; 1612 /* END CSTYLED */ 1613 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1614 /* 1615 * The following is the value of type id_t to use to indicate the 1616 * caller's current id. See procset.h for the type idtype_t 1617 * which defines which kind of id is being specified. 1618 */ 1619 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1620 /* 1621 * The following value of type pfn_t is used to indicate 1622 * invalid page frame number. 1623 */ 1624 1625 1626 1627 /* BEGIN CSTYLED */ 1628 typedef unsigned char u_char; 1629 typedef unsigned short u_short; 1630 typedef unsigned int u_int; 1631 typedef unsigned long u_long; 1632 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 1633 typedef quad_t quad; /* used by UFS */ 1634 /* END CSTYLED */ 1635 1636 /* 1637 * Nested include for BSD/sockets source compatibility. 1638 * (The select macros used to be defined here). 1639 */ 1640 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 1641 /* 1642 * CDDL HEADER START 1643 * 1644 * The contents of this file are subject to the terms of the 1645 * Common Development and Distribution License (the "License"). 1646 * You may not use this file except in compliance with the License. 1647 * 1648 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1649 * or http://www.opensolaris.org/os/licensing. 1650 * See the License for the specific language governing permissions 1651 * and limitations under the License. 1652 * 1653 * When distributing Covered Code, include this CDDL HEADER in each 1654 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1655 * If applicable, add the following below this CDDL HEADER, with the 1656 * fields enclosed by brackets "[]" replaced with your own identifying 1657 * information: Portions Copyright [yyyy] [name of copyright owner] 1658 * 1659 * CDDL HEADER END 1660 */ 1661 1662 /* 1663 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1664 * 1665 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1666 * 1667 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 1668 * Use is subject to license terms. 1669 */ 1670 1671 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1672 /* All Rights Reserved */ 1673 1674 /* 1675 * University Copyright- Copyright (c) 1982, 1986, 1988 1676 * The Regents of the University of California 1677 * All Rights Reserved 1678 * 1679 * University Acknowledgment- Portions of this document are derived from 1680 * software developed by the University of California, Berkeley, and its 1681 * contributors. 1682 */ 1683 1684 1685 1686 1687 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1688 /* 1689 * CDDL HEADER START 1690 * 1691 * The contents of this file are subject to the terms of the 1692 * Common Development and Distribution License (the "License"). 1693 * You may not use this file except in compliance with the License. 1694 * 1695 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1696 * or http://www.opensolaris.org/os/licensing. 1697 * See the License for the specific language governing permissions 1698 * and limitations under the License. 1699 * 1700 * When distributing Covered Code, include this CDDL HEADER in each 1701 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1702 * If applicable, add the following below this CDDL HEADER, with the 1703 * fields enclosed by brackets "[]" replaced with your own identifying 1704 * information: Portions Copyright [yyyy] [name of copyright owner] 1705 * 1706 * CDDL HEADER END 1707 */ 1708 1709 /* 1710 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1711 * Copyright 2016 Joyent, Inc. 1712 * 1713 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1714 * Use is subject to license terms. 1715 */ 1716 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 1717 1718 1719 1720 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 1721 /* 1722 * CDDL HEADER START 1723 * 1724 * The contents of this file are subject to the terms of the 1725 * Common Development and Distribution License, Version 1.0 only 1726 * (the "License"). You may not use this file except in compliance 1727 * with the License. 1728 * 1729 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1730 * or http://www.opensolaris.org/os/licensing. 1731 * See the License for the specific language governing permissions 1732 * and limitations under the License. 1733 * 1734 * When distributing Covered Code, include this CDDL HEADER in each 1735 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1736 * If applicable, add the following below this CDDL HEADER, with the 1737 * fields enclosed by brackets "[]" replaced with your own identifying 1738 * information: Portions Copyright [yyyy] [name of copyright owner] 1739 * 1740 * CDDL HEADER END 1741 */ 1742 /* 1743 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1744 * Use is subject to license terms. 1745 */ 1746 1747 /* 1748 * Implementation-private. This header should not be included 1749 * directly by an application. The application should instead 1750 * include <time.h> which includes this header conditionally 1751 * depending on which feature test macros are defined. By default, 1752 * this header is included by <time.h>. X/Open and POSIX 1753 * standards requirements result in this header being included 1754 * by <time.h> only under a restricted set of conditions. 1755 */ 1756 1757 1758 1759 1760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1761 /* 1762 * CDDL HEADER START 1763 * 1764 * The contents of this file are subject to the terms of the 1765 * Common Development and Distribution License (the "License"). 1766 * You may not use this file except in compliance with the License. 1767 * 1768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1769 * or http://www.opensolaris.org/os/licensing. 1770 * See the License for the specific language governing permissions 1771 * and limitations under the License. 1772 * 1773 * When distributing Covered Code, include this CDDL HEADER in each 1774 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1775 * If applicable, add the following below this CDDL HEADER, with the 1776 * fields enclosed by brackets "[]" replaced with your own identifying 1777 * information: Portions Copyright [yyyy] [name of copyright owner] 1778 * 1779 * CDDL HEADER END 1780 */ 1781 1782 /* 1783 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1784 * Copyright 2016 Joyent, Inc. 1785 * 1786 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1787 * Use is subject to license terms. 1788 */ 1789 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 1790 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1791 /* 1792 * Time expressed in seconds and nanoseconds 1793 */ 1794 1795 typedef struct timespec { /* definition per POSIX.4 */ 1796 time_t tv_sec; /* seconds */ 1797 long tv_nsec; /* and nanoseconds */ 1798 } timespec_t; 1799 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1800 typedef struct timespec timestruc_t; /* definition per SVr4 */ 1801 1802 /* 1803 * The following has been left in for backward compatibility. Portable 1804 * applications should not use the structure name timestruc. 1805 */ 1806 1807 1808 1809 1810 1811 /* 1812 * Timer specification 1813 */ 1814 typedef struct itimerspec { /* definition per POSIX.4 */ 1815 struct timespec it_interval; /* timer period */ 1816 struct timespec it_value; /* timer expiration */ 1817 } itimerspec_t; 1818 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 1819 1820 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 1821 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1822 /* All Rights Reserved */ 1823 1824 1825 /* 1826 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 1827 * All rights reserved. The Berkeley software License Agreement 1828 * specifies the terms and conditions for redistribution. 1829 */ 1830 1831 /* 1832 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1833 * 1834 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 1835 * Use is subject to license terms. 1836 * 1837 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1838 */ 1839 1840 /* 1841 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 1842 */ 1843 1844 1845 1846 1847 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1848 /* 1849 * CDDL HEADER START 1850 * 1851 * The contents of this file are subject to the terms of the 1852 * Common Development and Distribution License (the "License"). 1853 * You may not use this file except in compliance with the License. 1854 * 1855 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1856 * or http://www.opensolaris.org/os/licensing. 1857 * See the License for the specific language governing permissions 1858 * and limitations under the License. 1859 * 1860 * When distributing Covered Code, include this CDDL HEADER in each 1861 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1862 * If applicable, add the following below this CDDL HEADER, with the 1863 * fields enclosed by brackets "[]" replaced with your own identifying 1864 * information: Portions Copyright [yyyy] [name of copyright owner] 1865 * 1866 * CDDL HEADER END 1867 */ 1868 1869 /* 1870 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1871 * Copyright 2016 Joyent, Inc. 1872 * 1873 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1874 * Use is subject to license terms. 1875 */ 1876 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 1877 1878 /* 1879 * Structure returned by gettimeofday(2) system call, 1880 * and used in other calls. 1881 */ 1882 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1883 struct timeval { 1884 time_t tv_sec; /* seconds */ 1885 suseconds_t tv_usec; /* and microseconds */ 1886 }; 1887 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1888 struct timezone { 1889 int tz_minuteswest; /* minutes west of Greenwich */ 1890 int tz_dsttime; /* type of dst correction */ 1891 }; 1892 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1893 /* 1894 * Needed for longlong_t type. Placement of this due to <sys/types.h> 1895 * including <sys/select.h> which relies on the presense of the itimerval 1896 * structure. 1897 */ 1898 1899 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 1900 /* 1901 * CDDL HEADER START 1902 * 1903 * The contents of this file are subject to the terms of the 1904 * Common Development and Distribution License (the "License"). 1905 * You may not use this file except in compliance with the License. 1906 * 1907 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1908 * or http://www.opensolaris.org/os/licensing. 1909 * See the License for the specific language governing permissions 1910 * and limitations under the License. 1911 * 1912 * When distributing Covered Code, include this CDDL HEADER in each 1913 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1914 * If applicable, add the following below this CDDL HEADER, with the 1915 * fields enclosed by brackets "[]" replaced with your own identifying 1916 * information: Portions Copyright [yyyy] [name of copyright owner] 1917 * 1918 * CDDL HEADER END 1919 */ 1920 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1921 /* All Rights Reserved */ 1922 1923 1924 /* 1925 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 1926 * Use is subject to license terms. 1927 * 1928 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1929 * Copyright 2016 Joyent, Inc. 1930 */ 1931 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 1932 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1933 /* 1934 * Operations on timevals. 1935 */ 1936 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1937 /* 1938 * Names of the interval timers, and structure 1939 * defining a timer setting. 1940 */ 1941 1942 1943 1944 /* time and when system is running on */ 1945 /* behalf of the process. */ 1946 1947 /* time profiling of multithreaded */ 1948 /* programs. */ 1949 1950 1951 struct itimerval { 1952 struct timeval it_interval; /* timer interval */ 1953 struct timeval it_value; /* current value */ 1954 }; 1955 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1956 /* 1957 * Definitions for commonly used resolutions. 1958 */ 1959 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1960 /* 1961 * Time expressed as a 64-bit nanosecond counter. 1962 */ 1963 typedef longlong_t hrtime_t; 1964 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1965 int adjtime(struct timeval *, struct timeval *); 1966 1967 1968 1969 1970 int futimesat(int, const char *, const struct timeval *); 1971 1972 1973 1974 1975 1976 int getitimer(int, struct itimerval *); 1977 int utimes(const char *, const struct timeval *); 1978 1979 1980 1981 1982 int setitimer(int, struct itimerval *, 1983 struct itimerval *); 1984 1985 1986 1987 1988 /* 1989 * gettimeofday() and settimeofday() were included in SVr4 due to their 1990 * common use in BSD based applications. They were to be included exactly 1991 * as in BSD, with two parameters. However, AT&T/USL noted that the second 1992 * parameter was unused and deleted it, thereby making a routine included 1993 * for compatibility, incompatible. 1994 * 1995 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 1996 * parameters. 1997 * 1998 * This has caused general disagreement in the application community as to 1999 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 2000 * The flag _SVID_GETTOD may be used to force the SVID version. 2001 */ 2002 2003 2004 2005 2006 2007 int settimeofday(struct timeval *, void *); 2008 2009 hrtime_t gethrtime(void); 2010 hrtime_t gethrvtime(void); 2011 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2012 int gettimeofday(struct timeval *, void *); 2013 2014 2015 2016 2017 /* 2018 * The inclusion of <time.h> is historical and was added for 2019 * backward compatibility in delta 1.2 when a number of definitions 2020 * were moved out of <sys/time.h>. More recently, the timespec and 2021 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 2022 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 2023 * which is now included by <time.h>. This change was due to POSIX 2024 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 2025 * non-X/Open applications, including this header will still make 2026 * visible these definitions. 2027 */ 2028 2029 2030 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.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 (the "License"). 2036 * You may not use this file except in compliance with the License. 2037 * 2038 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2039 * or http://www.opensolaris.org/os/licensing. 2040 * See the License for the specific language governing permissions 2041 * and limitations under the License. 2042 * 2043 * When distributing Covered Code, include this CDDL HEADER in each 2044 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2045 * If applicable, add the following below this CDDL HEADER, with the 2046 * fields enclosed by brackets "[]" replaced with your own identifying 2047 * information: Portions Copyright [yyyy] [name of copyright owner] 2048 * 2049 * CDDL HEADER END 2050 */ 2051 /* Copyright (c) 1988 AT&T */ 2052 /* All Rights Reserved */ 2053 2054 2055 /* 2056 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2057 * 2058 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 2059 * Use is subject to license terms. 2060 */ 2061 /* 2062 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 2063 * Copyright 2016 Joyent, Inc. 2064 */ 2065 2066 2067 2068 2069 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2070 /* 2071 * CDDL HEADER START 2072 * 2073 * The contents of this file are subject to the terms of the 2074 * Common Development and Distribution License (the "License"). 2075 * You may not use this file except in compliance with the License. 2076 * 2077 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2078 * or http://www.opensolaris.org/os/licensing. 2079 * See the License for the specific language governing permissions 2080 * and limitations under the License. 2081 * 2082 * When distributing Covered Code, include this CDDL HEADER in each 2083 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2084 * If applicable, add the following below this CDDL HEADER, with the 2085 * fields enclosed by brackets "[]" replaced with your own identifying 2086 * information: Portions Copyright [yyyy] [name of copyright owner] 2087 * 2088 * CDDL HEADER END 2089 */ 2090 2091 /* 2092 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2093 * Copyright 2016 Joyent, Inc. 2094 * 2095 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2096 * Use is subject to license terms. 2097 */ 2098 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2099 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 2100 /* 2101 * CDDL HEADER START 2102 * 2103 * The contents of this file are subject to the terms of the 2104 * Common Development and Distribution License, Version 1.0 only 2105 * (the "License"). You may not use this file except in compliance 2106 * with the License. 2107 * 2108 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2109 * or http://www.opensolaris.org/os/licensing. 2110 * See the License for the specific language governing permissions 2111 * and limitations under the License. 2112 * 2113 * When distributing Covered Code, include this CDDL HEADER in each 2114 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2115 * If applicable, add the following below this CDDL HEADER, with the 2116 * fields enclosed by brackets "[]" replaced with your own identifying 2117 * information: Portions Copyright [yyyy] [name of copyright owner] 2118 * 2119 * CDDL HEADER END 2120 */ 2121 /* Copyright (c) 1988 AT&T */ 2122 /* All Rights Reserved */ 2123 2124 /* 2125 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2126 * Copyright 2014 PALO, Richard. 2127 * 2128 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2129 * Use is subject to license terms. 2130 */ 2131 2132 /* 2133 * An application should not include this header directly. Instead it 2134 * should be included only through the inclusion of other Sun headers. 2135 * 2136 * The contents of this header is limited to identifiers specified in the 2137 * C Standard. Any new identifiers specified in future amendments to the 2138 * C Standard must be placed in this header. If these new identifiers 2139 * are required to also be in the C++ Standard "std" namespace, then for 2140 * anything other than macro definitions, corresponding "using" directives 2141 * must also be added to <time.h.h>. 2142 */ 2143 2144 2145 2146 2147 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2148 /* 2149 * CDDL HEADER START 2150 * 2151 * The contents of this file are subject to the terms of the 2152 * Common Development and Distribution License (the "License"). 2153 * You may not use this file except in compliance with the License. 2154 * 2155 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2156 * or http://www.opensolaris.org/os/licensing. 2157 * See the License for the specific language governing permissions 2158 * and limitations under the License. 2159 * 2160 * When distributing Covered Code, include this CDDL HEADER in each 2161 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2162 * If applicable, add the following below this CDDL HEADER, with the 2163 * fields enclosed by brackets "[]" replaced with your own identifying 2164 * information: Portions Copyright [yyyy] [name of copyright owner] 2165 * 2166 * CDDL HEADER END 2167 */ 2168 2169 /* 2170 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2171 * Copyright 2016 Joyent, Inc. 2172 * 2173 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2174 * Use is subject to license terms. 2175 */ 2176 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 2177 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 2178 /* 2179 * This file and its contents are supplied under the terms of the 2180 * Common Development and Distribution License ("CDDL"), version 1.0. 2181 * You may only use this file in accordance with the terms of version 2182 * 1.0 of the CDDL. 2183 * 2184 * A full copy of the text of the CDDL should have accompanied this 2185 * source. A copy of the CDDL is also available via the Internet at 2186 * http://www.illumos.org/license/CDDL. 2187 */ 2188 2189 /* 2190 * Copyright 2014-2016 PALO, Richard. 2191 */ 2192 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 2193 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2194 struct tm { /* see ctime(3) */ 2195 int tm_sec; 2196 int tm_min; 2197 int tm_hour; 2198 int tm_mday; 2199 int tm_mon; 2200 int tm_year; 2201 int tm_wday; 2202 int tm_yday; 2203 int tm_isdst; 2204 }; 2205 2206 2207 extern char *asctime(const struct tm *); 2208 extern clock_t clock(void); 2209 extern char *ctime(const time_t *); 2210 extern double difftime(time_t, time_t); 2211 extern struct tm *gmtime(const time_t *); 2212 extern struct tm *localtime(const time_t *); 2213 extern time_t mktime(struct tm *); 2214 extern time_t time(time_t *); 2215 extern size_t strftime(char *, size_t, const char *, 2216 const struct tm *); 2217 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2218 /* 2219 * C11 requires sys/time_impl.h for the definition of the struct timespec. 2220 */ 2221 2222 2223 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 2224 /* 2225 * CDDL HEADER START 2226 * 2227 * The contents of this file are subject to the terms of the 2228 * Common Development and Distribution License (the "License"). 2229 * You may not use this file except in compliance with the License. 2230 * 2231 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2232 * or http://www.opensolaris.org/os/licensing. 2233 * See the License for the specific language governing permissions 2234 * and limitations under the License. 2235 * 2236 * When distributing Covered Code, include this CDDL HEADER in each 2237 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2238 * If applicable, add the following below this CDDL HEADER, with the 2239 * fields enclosed by brackets "[]" replaced with your own identifying 2240 * information: Portions Copyright [yyyy] [name of copyright owner] 2241 * 2242 * CDDL HEADER END 2243 */ 2244 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2245 /* All Rights Reserved */ 2246 2247 2248 /* 2249 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2250 * Use is subject to license terms. 2251 * 2252 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 2253 * Copyright 2016 Joyent, Inc. 2254 */ 2255 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2256 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 2257 /* 2258 * CDDL HEADER START 2259 * 2260 * The contents of this file are subject to the terms of the 2261 * Common Development and Distribution License, Version 1.0 only 2262 * (the "License"). You may not use this file except in compliance 2263 * with the License. 2264 * 2265 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2266 * or http://www.opensolaris.org/os/licensing. 2267 * See the License for the specific language governing permissions 2268 * and limitations under the License. 2269 * 2270 * When distributing Covered Code, include this CDDL HEADER in each 2271 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2272 * If applicable, add the following below this CDDL HEADER, with the 2273 * fields enclosed by brackets "[]" replaced with your own identifying 2274 * information: Portions Copyright [yyyy] [name of copyright owner] 2275 * 2276 * CDDL HEADER END 2277 */ 2278 /* 2279 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2280 * Use is subject to license terms. 2281 */ 2282 2283 /* 2284 * Implementation-private. This header should not be included 2285 * directly by an application. The application should instead 2286 * include <time.h> which includes this header conditionally 2287 * depending on which feature test macros are defined. By default, 2288 * this header is included by <time.h>. X/Open and POSIX 2289 * standards requirements result in this header being included 2290 * by <time.h> only under a restricted set of conditions. 2291 */ 2292 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2293 2294 2295 /* 2296 * Allow global visibility for symbols defined in 2297 * C++ "std" namespace in <iso/time_iso.h>. 2298 */ 2299 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2300 extern struct tm *gmtime_r(const time_t *, 2301 struct tm *); 2302 extern struct tm *localtime_r(const time_t *, 2303 struct tm *); 2304 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2305 extern char *strptime(const char *, const char *, 2306 struct tm *); 2307 2308 2309 2310 2311 2312 /* 2313 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 2314 * definition of the sigevent structure. Both require the inclusion 2315 * of <signal.h> and <time.h> when using the timer_create() function. 2316 * However, X/Open also specifies that the sigevent structure be defined 2317 * in <time.h> as described in the header <signal.h>. This prevents 2318 * compiler warnings for applications that only include <time.h> and not 2319 * also <signal.h>. The sigval union and the sigevent structure is 2320 * therefore defined both here and in <sys/siginfo.h> which gets included 2321 * via inclusion of <signal.h>. 2322 */ 2323 2324 2325 union sigval { 2326 int sival_int; /* integer value */ 2327 void *sival_ptr; /* pointer value */ 2328 }; 2329 2330 2331 2332 2333 struct sigevent { 2334 int sigev_notify; /* notification mode */ 2335 int sigev_signo; /* signal number */ 2336 union sigval sigev_value; /* signal value */ 2337 void (*sigev_notify_function)(union sigval); 2338 pthread_attr_t *sigev_notify_attributes; 2339 int __sigev_pad2; 2340 }; 2341 2342 2343 extern int clock_getres(clockid_t, struct timespec *); 2344 extern int clock_gettime(clockid_t, struct timespec *); 2345 extern int clock_settime(clockid_t, const struct timespec *); 2346 extern int timer_create(clockid_t, struct sigevent *, 2347 timer_t *); 2348 extern int timer_delete(timer_t); 2349 extern int timer_getoverrun(timer_t); 2350 extern int timer_gettime(timer_t, struct itimerspec *); 2351 extern int timer_settime(timer_t, int, const struct itimerspec *, 2352 struct itimerspec *); 2353 2354 extern int nanosleep(const struct timespec *, struct timespec *); 2355 extern int clock_nanosleep(clockid_t, int, 2356 const struct timespec *, struct timespec *); 2357 2358 2359 2360 2361 2362 2363 extern void tzset(void); 2364 extern char *tzname[2]; 2365 2366 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 2367 2368 2369 extern long _sysconf(int); /* System Private interface to sysconf() */ 2370 2371 /* 3 is _SC_CLK_TCK */ 2372 2373 2374 2375 2376 2377 extern long timezone; 2378 extern int daylight; 2379 2380 2381 2382 2383 2384 2385 extern time_t timegm(struct tm *); 2386 extern int cftime(char *, char *, const time_t *); 2387 extern int ascftime(char *, const char *, const struct tm *); 2388 extern long altzone; 2389 2390 2391 2392 2393 extern struct tm *getdate(const char *); 2394 2395 2396 2397 2398 2399 extern int getdate_err; 2400 2401 2402 2403 /* 2404 * ctime_r() & asctime_r() prototypes are defined here. 2405 */ 2406 2407 /* 2408 * Previous releases of Solaris, starting at 2.3, provided definitions of 2409 * various functions as specified in POSIX.1c, Draft 6. For some of these 2410 * functions, the final POSIX 1003.1c standard had a different number of 2411 * arguments and return values. 2412 * 2413 * The following segment of this header provides support for the standard 2414 * interfaces while supporting applications written under earlier 2415 * releases. The application defines appropriate values of the feature 2416 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 2417 * whether it was written to expect the Draft 6 or standard versions of 2418 * these interfaces, before including this header. This header then 2419 * provides a mapping from the source version of the interface to an 2420 * appropriate binary interface. Such mappings permit an application 2421 * to be built from libraries and objects which have mixed expectations 2422 * of the definitions of these functions. 2423 * 2424 * For applications using the Draft 6 definitions, the binary symbol is the 2425 * same as the source symbol, and no explicit mapping is needed. For the 2426 * standard interface, the function func() is mapped to the binary symbol 2427 * _posix_func(). The preferred mechanism for the remapping is a compiler 2428 * #pragma. If the compiler does not provide such a #pragma, the header file 2429 * defines a static function func() which calls the _posix_func() version; 2430 * this has to be done instead of #define since POSIX specifies that an 2431 * application can #undef the symbol and still be bound to the correct 2432 * implementation. Unfortunately, the statics confuse lint so we fallback to 2433 * #define in that case. 2434 * 2435 * NOTE: Support for the Draft 6 definitions is provided for compatibility 2436 * only. New applications/libraries should use the standard definitions. 2437 */ 2438 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2439 extern char *asctime_r(const struct tm *, char *, int); 2440 extern char *ctime_r(const time_t *, char *, int); 2441 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2442 typedef struct _locale *locale_t; 2443 2444 2445 extern size_t strftime_l(char *, size_t, 2446 const char *, const struct tm *, locale_t); 2447 2448 2449 2450 2451 2452 /* 2453 * Note, the C11 standard requires that all the various base values that are 2454 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 2455 */ 2456 2457 2458 extern int timespec_get(struct timespec *, int); 2459 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 2460 2461 2462 /* 2463 * The inclusion of <sys/select.h> is needed for the FD_CLR, 2464 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 2465 * select() prototype defined in the XOpen specifications 2466 * beginning with XSH4v2. Placement required after definition 2467 * for itimerval. 2468 */ 2469 2470 2471 2472 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 2473 /* 2474 * CDDL HEADER START 2475 * 2476 * The contents of this file are subject to the terms of the 2477 * Common Development and Distribution License (the "License"). 2478 * You may not use this file except in compliance with the License. 2479 * 2480 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2481 * or http://www.opensolaris.org/os/licensing. 2482 * See the License for the specific language governing permissions 2483 * and limitations under the License. 2484 * 2485 * When distributing Covered Code, include this CDDL HEADER in each 2486 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2487 * If applicable, add the following below this CDDL HEADER, with the 2488 * fields enclosed by brackets "[]" replaced with your own identifying 2489 * information: Portions Copyright [yyyy] [name of copyright owner] 2490 * 2491 * CDDL HEADER END 2492 */ 2493 2494 /* 2495 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2496 * 2497 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 2498 * 2499 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 2500 * Use is subject to license terms. 2501 */ 2502 2503 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2504 /* All Rights Reserved */ 2505 2506 /* 2507 * University Copyright- Copyright (c) 1982, 1986, 1988 2508 * The Regents of the University of California 2509 * All Rights Reserved 2510 * 2511 * University Acknowledgment- Portions of this document are derived from 2512 * software developed by the University of California, Berkeley, and its 2513 * contributors. 2514 */ 2515 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 2516 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 2517 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2518 /* 2519 * The sigset_t type is defined in <sys/signal.h> and duplicated 2520 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 2521 * now allows the visibility of signal.h in this header, however 2522 * an order of inclusion problem occurs as a result of inclusion 2523 * of <sys/select.h> in <signal.h> under certain conditions. 2524 * Rather than include <sys/signal.h> here, we've duplicated 2525 * the sigset_t type instead. This type is required for the XPG6 2526 * introduced pselect() function also declared in this header. 2527 */ 2528 2529 2530 typedef struct { /* signal set type */ 2531 unsigned int __sigbits[4]; 2532 } sigset_t; 2533 2534 2535 2536 2537 /* 2538 * Select uses bit masks of file descriptors in longs. 2539 * These macros manipulate such bit fields. 2540 * FD_SETSIZE may be defined by the user, but the default here 2541 * should be >= NOFILE (param.h). 2542 */ 2543 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2544 typedef long fd_mask; 2545 2546 typedef long fds_mask; 2547 2548 /* 2549 * The value of _NBBY needs to be consistant with the value 2550 * of NBBY in <sys/param.h>. 2551 */ 2552 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2553 typedef struct fd_set { 2554 2555 2556 2557 long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 2558 } fd_set; 2559 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2560 extern int select(int, fd_set *, fd_set *, 2561 fd_set *, struct timeval *); 2562 2563 2564 extern int pselect(int, fd_set *, fd_set *, 2565 fd_set *, const struct timespec *, 2566 const sigset_t *); 2567 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 2568 2569 2570 2571 /* 2572 * _VOID was defined to be either void or char but this is not 2573 * required because previous SunOS compilers have accepted the void 2574 * type. However, because many system header and source files use the 2575 * void keyword, the volatile keyword, and ANSI C function prototypes, 2576 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 2577 * should therefore not be used and remains for source compatibility 2578 * only. 2579 */ 2580 /* CSTYLED */ 2581 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2 2582 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 1 2583 /* 2584 * CDDL HEADER START 2585 * 2586 * The contents of this file are subject to the terms of the 2587 * Common Development and Distribution License, Version 1.0 only 2588 * (the "License"). You may not use this file except in compliance 2589 * with the License. 2590 * 2591 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2592 * or http://www.opensolaris.org/os/licensing. 2593 * See the License for the specific language governing permissions 2594 * and limitations under the License. 2595 * 2596 * When distributing Covered Code, include this CDDL HEADER in each 2597 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2598 * If applicable, add the following below this CDDL HEADER, with the 2599 * fields enclosed by brackets "[]" replaced with your own identifying 2600 * information: Portions Copyright [yyyy] [name of copyright owner] 2601 * 2602 * CDDL HEADER END 2603 */ 2604 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2605 /* All Rights Reserved */ 2606 2607 2608 /* 2609 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2610 * Use is subject to license terms. 2611 */ 2612 2613 2614 2615 2616 #pragma ident "%Z%%M% %I% %E% SMI" 2617 2618 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2619 /* 2620 * CDDL HEADER START 2621 * 2622 * The contents of this file are subject to the terms of the 2623 * Common Development and Distribution License (the "License"). 2624 * You may not use this file except in compliance with the License. 2625 * 2626 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2627 * or http://www.opensolaris.org/os/licensing. 2628 * See the License for the specific language governing permissions 2629 * and limitations under the License. 2630 * 2631 * When distributing Covered Code, include this CDDL HEADER in each 2632 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2633 * If applicable, add the following below this CDDL HEADER, with the 2634 * fields enclosed by brackets "[]" replaced with your own identifying 2635 * information: Portions Copyright [yyyy] [name of copyright owner] 2636 * 2637 * CDDL HEADER END 2638 */ 2639 2640 /* 2641 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2642 * Copyright 2016 Joyent, Inc. 2643 * 2644 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2645 * Use is subject to license terms. 2646 */ 2647 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 2 2648 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 2649 typedef unsigned long Elf32_Addr; 2650 typedef unsigned short Elf32_Half; 2651 typedef unsigned long Elf32_Off; 2652 typedef long Elf32_Sword; 2653 typedef unsigned long Elf32_Word; 2654 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 2655 typedef unsigned long long Elf64_Addr; 2656 typedef unsigned short Elf64_Half; 2657 typedef unsigned long long Elf64_Off; 2658 typedef int Elf64_Sword; 2659 typedef long long Elf64_Sxword; 2660 typedef unsigned int Elf64_Word; 2661 typedef unsigned long long Elf64_Xword; 2662 typedef unsigned long long Elf64_Lword; 2663 typedef unsigned long long Elf32_Lword; 2664 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2 2665 2666 2667 2668 2669 2670 2671 /* 2672 * Communication structures for the runtime linker. 2673 */ 2674 2675 /* 2676 * The following data structure provides a self-identifying union consisting 2677 * of a tag from a known list and a value. 2678 */ 2679 2680 typedef struct { 2681 Elf32_Sword d_tag; /* how to interpret value */ 2682 union { 2683 Elf32_Word d_val; 2684 Elf32_Addr d_ptr; 2685 Elf32_Off d_off; 2686 } d_un; 2687 } Elf32_Dyn; 2688 2689 2690 typedef struct { 2691 Elf64_Xword d_tag; /* how to interpret value */ 2692 union { 2693 Elf64_Xword d_val; 2694 Elf64_Addr d_ptr; 2695 } d_un; 2696 } Elf64_Dyn; 2697 2698 2699 2700 /* 2701 * Tag values 2702 */ 2703 # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2704 /* 2705 * DT_* encoding rules: The value of each dynamic tag determines the 2706 * interpretation of the d_un union. This convention provides for simpler 2707 * interpretation of dynamic tags by external tools. A tag whose value 2708 * is an even number indicates a dynamic section entry that uses d_ptr. 2709 * A tag whose value is an odd number indicates a dynamic section entry 2710 * that uses d_val, or that uses neither d_ptr nor d_val. 2711 * 2712 * There are exceptions to the above rule: 2713 * - Tags with values that are less than DT_ENCODING. 2714 * - Tags with values that fall between DT_LOOS and DT_SUNW_ENCODING 2715 * - Tags with values that fall between DT_HIOS and DT_LOPROC 2716 * 2717 * Third party tools must handle these exception ranges explicitly 2718 * on an item by item basis. 2719 */ 2720 2721 /* start after this */ 2722 2723 2724 2725 2726 2727 /* 2728 * DT_* encoding rules do not apply between DT_LOOS and DT_SUNW_ENCODING 2729 */ 2730 2731 2732 2733 2734 2735 /* capabilities */ 2736 2737 /* symbols immediately */ 2738 /* preceding DT_SYMTAB */ 2739 2740 2741 /* 2742 * DT_* encoding rules apply between DT_SUNW_ENCODING and DT_HIOS 2743 */ 2744 2745 /* after this */ 2746 2747 2748 2749 2750 2751 2752 2753 /* end of dynstr */ 2754 2755 2756 /* that produced object */ 2757 2758 2759 2760 /* 2761 * DT_* encoding rules do not apply between DT_HIOS and DT_LOPROC 2762 */ 2763 2764 2765 /* 2766 * The following values have been deprecated and remain here to allow 2767 * compatibility with older binaries. 2768 */ 2769 2770 2771 /* 2772 * DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the 2773 * Dyn.d_un.d_val field of the Elf*_Dyn structure. 2774 */ 2775 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2776 /* the following DT_* entry. */ 2777 /* See DF_P1_* definitions */ 2778 2779 2780 2781 2782 /* 2783 * DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the 2784 * Dyn.d_un.d_ptr field of the Elf*_Dyn structure. 2785 * 2786 * If any adjustment is made to the ELF object after it has been 2787 * built, these entries will need to be adjusted. 2788 */ 2789 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2790 /* 2791 * The following DT_* entries should have been assigned within one of the 2792 * DT_* ranges, but existed before such ranges had been established. 2793 */ 2794 2795 /* Solaris (see libld/update.c) */ 2796 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2797 /* 2798 * DT_* entries between DT_HIPROC and DT_LOPROC are reserved for processor 2799 * specific semantics. 2800 * 2801 * DT_* encoding rules apply to all tag values larger than DT_LOPROC. 2802 */ 2803 2804 2805 2806 2807 2808 2809 2810 /* 2811 * Values for DT_FLAGS 2812 */ 2813 2814 2815 2816 2817 2818 2819 /* 2820 * Values for the DT_POSFLAG_1 .dynamic entry. 2821 * These values only affect the following DT_* entry. 2822 */ 2823 2824 /* lazy loaded */ 2825 2826 /* not available for general */ 2827 /* symbol bindings. */ 2828 2829 2830 /* 2831 * Values for the DT_FLAGS_1 .dynamic entry. 2832 */ 2833 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 2834 /* cannot be directly bound to */ 2835 2836 2837 /* symbols via /dev/ksyms */ 2838 2839 /* omits ELF & program headers */ 2840 2841 /* being built by 'ld' */ 2842 2843 2844 /* exist */ 2845 2846 2847 2848 /* 2849 * Values set to DT_FEATURE_1 tag's d_val (unused obsolete tag) 2850 */ 2851 2852 2853 2854 2855 /* 2856 * Version structures. There are three types of version structure: 2857 * 2858 * o A definition of the versions within the image itself. 2859 * Each version definition is assigned a unique index (starting from 2860 * VER_NDX_BGNDEF) which is used to cross-reference symbols associated to 2861 * the version. Each version can have one or more dependencies on other 2862 * version definitions within the image. The version name, and any 2863 * dependency names, are specified in the version definition auxiliary 2864 * array. Version definition entries require a version symbol index table. 2865 * 2866 * o A version requirement on a needed dependency. Each needed entry 2867 * specifies the shared object dependency (as specified in DT_NEEDED). 2868 * One or more versions required from this dependency are specified in the 2869 * version needed auxiliary array. 2870 * 2871 * o A version symbol index table. Each symbol indexes into this array 2872 * to determine its version index. Index values of VER_NDX_BGNDEF or 2873 * greater indicate the version definition to which a symbol is associated. 2874 * (the size of a symbol index entry is recorded in the sh_info field). 2875 */ 2876 2877 2878 typedef struct { /* Version Definition Structure. */ 2879 Elf32_Half vd_version; /* this structures version revision */ 2880 Elf32_Half vd_flags; /* version information */ 2881 Elf32_Half vd_ndx; /* version index */ 2882 Elf32_Half vd_cnt; /* no. of associated aux entries */ 2883 Elf32_Word vd_hash; /* version name hash value */ 2884 Elf32_Word vd_aux; /* no. of bytes from start of this */ 2885 /* verdef to verdaux array */ 2886 Elf32_Word vd_next; /* no. of bytes from start of this */ 2887 } Elf32_Verdef; /* verdef to next verdef entry */ 2888 2889 typedef struct { /* Verdef Auxiliary Structure. */ 2890 Elf32_Word vda_name; /* first element defines the version */ 2891 /* name. Additional entries */ 2892 /* define dependency names. */ 2893 Elf32_Word vda_next; /* no. of bytes from start of this */ 2894 } Elf32_Verdaux; /* verdaux to next verdaux entry */ 2895 2896 2897 typedef struct { /* Version Requirement Structure. */ 2898 Elf32_Half vn_version; /* this structures version revision */ 2899 Elf32_Half vn_cnt; /* no. of associated aux entries */ 2900 Elf32_Word vn_file; /* name of needed dependency (file) */ 2901 Elf32_Word vn_aux; /* no. of bytes from start of this */ 2902 /* verneed to vernaux array */ 2903 Elf32_Word vn_next; /* no. of bytes from start of this */ 2904 } Elf32_Verneed; /* verneed to next verneed entry */ 2905 2906 typedef struct { /* Verneed Auxiliary Structure. */ 2907 Elf32_Word vna_hash; /* version name hash value */ 2908 Elf32_Half vna_flags; /* version information */ 2909 Elf32_Half vna_other; 2910 Elf32_Word vna_name; /* version name */ 2911 Elf32_Word vna_next; /* no. of bytes from start of this */ 2912 } Elf32_Vernaux; /* vernaux to next vernaux entry */ 2913 2914 typedef Elf32_Half Elf32_Versym; /* Version symbol index array */ 2915 2916 typedef struct { 2917 Elf32_Half si_boundto; /* direct bindings - symbol bound to */ 2918 Elf32_Half si_flags; /* per symbol flags */ 2919 } Elf32_Syminfo; 2920 2921 2922 2923 typedef struct { 2924 Elf64_Half vd_version; /* this structures version revision */ 2925 Elf64_Half vd_flags; /* version information */ 2926 Elf64_Half vd_ndx; /* version index */ 2927 Elf64_Half vd_cnt; /* no. of associated aux entries */ 2928 Elf64_Word vd_hash; /* version name hash value */ 2929 Elf64_Word vd_aux; /* no. of bytes from start of this */ 2930 /* verdef to verdaux array */ 2931 Elf64_Word vd_next; /* no. of bytes from start of this */ 2932 } Elf64_Verdef; /* verdef to next verdef entry */ 2933 2934 typedef struct { 2935 Elf64_Word vda_name; /* first element defines the version */ 2936 /* name. Additional entries */ 2937 /* define dependency names. */ 2938 Elf64_Word vda_next; /* no. of bytes from start of this */ 2939 } Elf64_Verdaux; /* verdaux to next verdaux entry */ 2940 2941 typedef struct { 2942 Elf64_Half vn_version; /* this structures version revision */ 2943 Elf64_Half vn_cnt; /* no. of associated aux entries */ 2944 Elf64_Word vn_file; /* name of needed dependency (file) */ 2945 Elf64_Word vn_aux; /* no. of bytes from start of this */ 2946 /* verneed to vernaux array */ 2947 Elf64_Word vn_next; /* no. of bytes from start of this */ 2948 } Elf64_Verneed; /* verneed to next verneed entry */ 2949 2950 typedef struct { 2951 Elf64_Word vna_hash; /* version name hash value */ 2952 Elf64_Half vna_flags; /* version information */ 2953 Elf64_Half vna_other; 2954 Elf64_Word vna_name; /* version name */ 2955 Elf64_Word vna_next; /* no. of bytes from start of this */ 2956 } Elf64_Vernaux; /* vernaux to next vernaux entry */ 2957 2958 typedef Elf64_Half Elf64_Versym; 2959 2960 typedef struct { 2961 Elf64_Half si_boundto; /* direct bindings - symbol bound to */ 2962 Elf64_Half si_flags; /* per symbol flags */ 2963 } Elf64_Syminfo; 2964 2965 2966 2967 2968 /* 2969 * Versym symbol index values. Values greater than VER_NDX_GLOBAL 2970 * and less then VER_NDX_LORESERVE associate symbols with user 2971 * specified version descriptors. 2972 */ 2973 2974 2975 /* the base version */ 2976 2977 2978 2979 /* 2980 * Verdef (vd_flags) and Vernaux (vna_flags) flags values. 2981 */ 2982 2983 /* (Verdef only) */ 2984 2985 2986 /* informational purposes */ 2987 /* (Versym reference) only. No */ 2988 /* runtime verification is */ 2989 /* required. (Vernaux only) */ 2990 2991 /* 2992 * Verdef version values. 2993 */ 2994 2995 2996 2997 2998 /* 2999 * Verneed version values. 3000 */ 3001 3002 3003 3004 3005 3006 /* 3007 * Syminfo flag values 3008 */ 3009 3010 /* to object containing defn. */ 3011 3012 /* standard filter */ 3013 3014 3015 3016 /* lazily-loaded */ 3017 3018 /* object containing defn. */ 3019 3020 /* directly bind to this symbol */ 3021 3022 /* auxiliary filter */ 3023 3024 3025 3026 /* BIND_NOW relocations */ 3027 3028 /* 3029 * Syminfo.si_boundto values. 3030 */ 3031 3032 3033 3034 3035 3036 3037 /* 3038 * Syminfo version values. 3039 */ 3040 3041 3042 3043 3044 3045 /* 3046 * Public structure defined and maintained within the runtime linker 3047 */ 3048 3049 3050 typedef struct link_map Link_map; 3051 3052 struct link_map { 3053 unsigned long l_addr; /* address at which object is mapped */ 3054 char *l_name; /* full name of loaded object */ 3055 3056 3057 3058 Elf32_Dyn *l_ld; /* dynamic structure of object */ 3059 3060 Link_map *l_next; /* next link object */ 3061 Link_map *l_prev; /* previous link object */ 3062 char *l_refname; /* filters reference name */ 3063 }; 3064 # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 3065 typedef enum { 3066 RT_CONSISTENT, 3067 RT_ADD, 3068 RT_DELETE 3069 } r_state_e; 3070 3071 typedef enum { 3072 RD_FL_NONE = 0, /* no flags */ 3073 RD_FL_ODBG = (1<<0), /* old style debugger present */ 3074 RD_FL_DBG = (1<<1) /* debugging enabled */ 3075 } rd_flags_e; 3076 3077 3078 3079 /* 3080 * Debugging events enabled inside of the runtime linker. To 3081 * access these events see the librtld_db interface. 3082 */ 3083 typedef enum { 3084 RD_NONE = 0, /* no event */ 3085 RD_PREINIT, /* the Initial rendezvous before .init */ 3086 RD_POSTINIT, /* the Second rendezvous after .init */ 3087 RD_DLACTIVITY /* a dlopen or dlclose has happened */ 3088 } rd_event_e; 3089 3090 struct r_debug { 3091 int r_version; /* debugging info version no. */ 3092 Link_map *r_map; /* address of link_map */ 3093 unsigned long r_brk; /* address of update routine */ 3094 r_state_e r_state; 3095 unsigned long r_ldbase; /* base addr of ld.so */ 3096 Link_map *r_ldsomap; /* address of ld.so.1's link map */ 3097 rd_event_e r_rdevent; /* debug event */ 3098 rd_flags_e r_flags; /* misc flags. */ 3099 }; 3100 # 584 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 3101 /* 3102 * Attribute/value structures used to bootstrap ELF-based dynamic linker. 3103 */ 3104 3105 typedef struct { 3106 Elf32_Sword eb_tag; /* what this one is */ 3107 union { /* possible values */ 3108 Elf32_Word eb_val; 3109 Elf32_Addr eb_ptr; 3110 Elf32_Off eb_off; 3111 } eb_un; 3112 } Elf32_Boot; 3113 3114 3115 typedef struct { 3116 Elf64_Xword eb_tag; /* what this one is */ 3117 union { /* possible values */ 3118 Elf64_Xword eb_val; 3119 Elf64_Addr eb_ptr; 3120 Elf64_Off eb_off; 3121 } eb_un; 3122 } Elf64_Boot; 3123 3124 3125 3126 /* 3127 * Attributes 3128 */ 3129 # 627 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 3130 /* 3131 * Concurrency communication structure for libc callbacks. 3132 */ 3133 extern void _ld_libc(void *); 3134 3135 #pragma unknown_control_flow(_ld_libc) 3136 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 3137 3138 3139 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 1 3140 /* 3141 * CDDL HEADER START 3142 * 3143 * The contents of this file are subject to the terms of the 3144 * Common Development and Distribution License, Version 1.0 only 3145 * (the "License"). You may not use this file except in compliance 3146 * with the License. 3147 * 3148 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3149 * or http://www.opensolaris.org/os/licensing. 3150 * See the License for the specific language governing permissions 3151 * and limitations under the License. 3152 * 3153 * When distributing Covered Code, include this CDDL HEADER in each 3154 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3155 * If applicable, add the following below this CDDL HEADER, with the 3156 * fields enclosed by brackets "[]" replaced with your own identifying 3157 * information: Portions Copyright [yyyy] [name of copyright owner] 3158 * 3159 * CDDL HEADER END 3160 */ 3161 /* Copyright (c) 1988 AT&T */ 3162 /* All Rights Reserved */ 3163 3164 3165 3166 3167 3168 #pragma ident "%Z%%M% %I% %E% SMI" 3169 3170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 3171 /* 3172 * CDDL HEADER START 3173 * 3174 * The contents of this file are subject to the terms of the 3175 * Common Development and Distribution License (the "License"). 3176 * You may not use this file except in compliance with the License. 3177 * 3178 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3179 * or http://www.opensolaris.org/os/licensing. 3180 * See the License for the specific language governing permissions 3181 * and limitations under the License. 3182 * 3183 * When distributing Covered Code, include this CDDL HEADER in each 3184 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3185 * If applicable, add the following below this CDDL HEADER, with the 3186 * fields enclosed by brackets "[]" replaced with your own identifying 3187 * information: Portions Copyright [yyyy] [name of copyright owner] 3188 * 3189 * CDDL HEADER END 3190 */ 3191 /* 3192 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 3193 * Copyright (c) 2018, Joyent, Inc. 3194 */ 3195 /* 3196 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 3197 * Use is subject to license terms. 3198 */ 3199 3200 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3201 /* All Rights Reserved */ 3202 3203 3204 3205 3206 3207 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elftypes.h" 1 3208 /* 3209 * CDDL HEADER START 3210 * 3211 * The contents of this file are subject to the terms of the 3212 * Common Development and Distribution License, Version 1.0 only 3213 * (the "License"). You may not use this file except in compliance 3214 * with the License. 3215 * 3216 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3217 * or http://www.opensolaris.org/os/licensing. 3218 * See the License for the specific language governing permissions 3219 * and limitations under the License. 3220 * 3221 * When distributing Covered Code, include this CDDL HEADER in each 3222 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3223 * If applicable, add the following below this CDDL HEADER, with the 3224 * fields enclosed by brackets "[]" replaced with your own identifying 3225 * information: Portions Copyright [yyyy] [name of copyright owner] 3226 * 3227 * CDDL HEADER END 3228 */ 3229 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3230 /* All Rights Reserved */ 3231 3232 3233 /* 3234 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3235 * Use is subject to license terms. 3236 */ 3237 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 2 3238 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3239 /* 3240 * "Enumerations" below use ...NUM as the number of 3241 * values in the list. It should be 1 greater than the 3242 * highest "real" value. 3243 */ 3244 3245 /* 3246 * ELF header 3247 */ 3248 3249 3250 3251 typedef struct { 3252 unsigned char e_ident[16]; /* ident bytes */ 3253 Elf32_Half e_type; /* file type */ 3254 Elf32_Half e_machine; /* target machine */ 3255 Elf32_Word e_version; /* file version */ 3256 Elf32_Addr e_entry; /* start address */ 3257 Elf32_Off e_phoff; /* phdr file offset */ 3258 Elf32_Off e_shoff; /* shdr file offset */ 3259 Elf32_Word e_flags; /* file flags */ 3260 Elf32_Half e_ehsize; /* sizeof ehdr */ 3261 Elf32_Half e_phentsize; /* sizeof phdr */ 3262 Elf32_Half e_phnum; /* number phdrs */ 3263 Elf32_Half e_shentsize; /* sizeof shdr */ 3264 Elf32_Half e_shnum; /* number shdrs */ 3265 Elf32_Half e_shstrndx; /* shdr string index */ 3266 } Elf32_Ehdr; 3267 3268 3269 typedef struct { 3270 unsigned char e_ident[16]; /* ident bytes */ 3271 Elf64_Half e_type; /* file type */ 3272 Elf64_Half e_machine; /* target machine */ 3273 Elf64_Word e_version; /* file version */ 3274 Elf64_Addr e_entry; /* start address */ 3275 Elf64_Off e_phoff; /* phdr file offset */ 3276 Elf64_Off e_shoff; /* shdr file offset */ 3277 Elf64_Word e_flags; /* file flags */ 3278 Elf64_Half e_ehsize; /* sizeof ehdr */ 3279 Elf64_Half e_phentsize; /* sizeof phdr */ 3280 Elf64_Half e_phnum; /* number phdrs */ 3281 Elf64_Half e_shentsize; /* sizeof shdr */ 3282 Elf64_Half e_shnum; /* number shdrs */ 3283 Elf64_Half e_shstrndx; /* shdr string index */ 3284 } Elf64_Ehdr; 3285 # 199 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3286 /* Argonaut Technologies Inc. */ 3287 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3288 /* embedded processor family */ 3289 # 225 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3290 /* microcontroller */ 3291 3292 /* microcontroller */ 3293 3294 3295 3296 3297 3298 3299 /* microcontroller */ 3300 3301 3302 /* embedded processor */ 3303 3304 /* embedded processor */ 3305 3306 3307 3308 /* 64-bit processor */ 3309 3310 /* machine-independent */ 3311 /* object files */ 3312 # 263 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3313 /* Processor */ 3314 3315 3316 3317 3318 /* microcontroller */ 3319 3320 3321 3322 /* microprocessor */ 3323 3324 3325 /* msp430 */ 3326 3327 3328 3329 3330 3331 /* and MPRC of Peking University */ 3332 3333 /* CPU */ 3334 3335 /* Processor */ 3336 3337 3338 /* microprocessor */ 3339 3340 3341 3342 3343 /* Signal Controller */ 3344 3345 3346 3347 3348 3349 3350 /* processors */ 3351 3352 3353 3354 3355 3356 /* architecture */ 3357 3358 3359 /* family */ 3360 3361 /* family */ 3362 3363 /* family */ 3364 3365 /* RISC Processor, 32bit fetch */ 3366 3367 /* Unit */ 3368 3369 3370 /* Processor */ 3371 3372 3373 3374 /* family */ 3375 3376 3377 3378 /* configurable and extensible RISC */ 3379 /* processors */ 3380 3381 /* embedded RISC processor family */ 3382 3383 3384 3385 /* Micro-controllers */ 3386 3387 3388 3389 3390 3391 /* architecture */ 3392 3393 /* architecture */ 3394 3395 3396 /* CR16 16-bit microprocessor */ 3397 # 355 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3398 /* family */ 3399 3400 /* microcontroller */ 3401 3402 /* family */ 3403 3404 /* family */ 3405 3406 /* processor core */ 3407 3408 3409 /* family */ 3410 3411 3412 /* family */ 3413 3414 /* family */ 3415 3416 3417 3418 3419 3420 3421 /* Controller (DSC) */ 3422 # 400 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3423 /* processor */ 3424 3425 /* RISC architecture */ 3426 # 433 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3427 /* multi-core OS */ 3428 # 444 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3429 /* 3430 * Program header 3431 */ 3432 3433 typedef struct { 3434 Elf32_Word p_type; /* entry type */ 3435 Elf32_Off p_offset; /* file offset */ 3436 Elf32_Addr p_vaddr; /* virtual address */ 3437 Elf32_Addr p_paddr; /* physical address */ 3438 Elf32_Word p_filesz; /* file size */ 3439 Elf32_Word p_memsz; /* memory size */ 3440 Elf32_Word p_flags; /* entry flags */ 3441 Elf32_Word p_align; /* memory/file alignment */ 3442 } Elf32_Phdr; 3443 3444 3445 typedef struct { 3446 Elf64_Word p_type; /* entry type */ 3447 Elf64_Word p_flags; /* entry flags */ 3448 Elf64_Off p_offset; /* file offset */ 3449 Elf64_Addr p_vaddr; /* virtual address */ 3450 Elf64_Addr p_paddr; /* physical address */ 3451 Elf64_Xword p_filesz; /* file size */ 3452 Elf64_Xword p_memsz; /* memory size */ 3453 Elf64_Xword p_align; /* memory/file alignment */ 3454 } Elf64_Phdr; 3455 # 485 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3456 /* 3457 * PT_SUNW_UNWIND and PT_SUNW_EH_FRAME perform the same function, 3458 * providing access to the .eh_frame_hdr section of the object. 3459 * PT_SUNW_UNWIND is the original value, while PT_SUNW_EH_FRAME is 3460 * required by the amd64 psABI. The Solaris link-editor (ld) tags output 3461 * objects with PT_SUNW_UNWIND, but the Solaris runtime linker (ld.so.1) 3462 * will accept and use either value. 3463 */ 3464 3465 3466 3467 3468 /* 3469 * Linux specific program headers not currently used by Solaris 3470 */ 3471 # 527 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3472 /* 3473 * Section header 3474 */ 3475 3476 typedef struct { 3477 Elf32_Word sh_name; /* section name */ 3478 Elf32_Word sh_type; /* SHT_... */ 3479 Elf32_Word sh_flags; /* SHF_... */ 3480 Elf32_Addr sh_addr; /* virtual address */ 3481 Elf32_Off sh_offset; /* file offset */ 3482 Elf32_Word sh_size; /* section size */ 3483 Elf32_Word sh_link; /* misc info */ 3484 Elf32_Word sh_info; /* misc info */ 3485 Elf32_Word sh_addralign; /* memory alignment */ 3486 Elf32_Word sh_entsize; /* entry size if table */ 3487 } Elf32_Shdr; 3488 3489 3490 typedef struct { 3491 Elf64_Word sh_name; /* section name */ 3492 Elf64_Word sh_type; /* SHT_... */ 3493 Elf64_Xword sh_flags; /* SHF_... */ 3494 Elf64_Addr sh_addr; /* virtual address */ 3495 Elf64_Off sh_offset; /* file offset */ 3496 Elf64_Xword sh_size; /* section size */ 3497 Elf64_Word sh_link; /* misc info */ 3498 Elf64_Word sh_info; /* misc info */ 3499 Elf64_Xword sh_addralign; /* memory alignment */ 3500 Elf64_Xword sh_entsize; /* entry size if table */ 3501 } Elf64_Shdr; 3502 # 580 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3503 /* Solaris ABI specific values */ 3504 # 606 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3505 /* 3506 * GNU/Linux OSABI specific values with different meanings than under Solaris. 3507 * Due to the overlap in assigned values with the Solaris OSABI, correct 3508 * interpretation of these values requires knowledge of the OSABI used by 3509 * the object. 3510 */ 3511 # 655 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3512 /* 3513 * Symbol table 3514 */ 3515 3516 typedef struct { 3517 Elf32_Word st_name; 3518 Elf32_Addr st_value; 3519 Elf32_Word st_size; 3520 unsigned char st_info; /* bind, type: ELF_32_ST_... */ 3521 unsigned char st_other; 3522 Elf32_Half st_shndx; /* SHN_... */ 3523 } Elf32_Sym; 3524 3525 3526 typedef struct { 3527 Elf64_Word st_name; 3528 unsigned char st_info; /* bind, type: ELF_64_ST_... */ 3529 unsigned char st_other; 3530 Elf64_Half st_shndx; /* SHN_... */ 3531 Elf64_Addr st_value; 3532 Elf64_Xword st_size; 3533 } Elf64_Sym; 3534 3535 3536 3537 3538 /* 3539 * Macros to compose and decompose values for S.st_info 3540 * 3541 * bind = ELF32_ST_BIND(S.st_info) 3542 * type = ELF32_ST_TYPE(S.st_info) 3543 * S.st_info = ELF32_ST_INFO(bind, type) 3544 */ 3545 # 719 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3546 /* 3547 * Macros to decompose values for S.st_other 3548 * 3549 * visibility = ELF32_ST_VISIBILITY(S.st_other) 3550 */ 3551 # 737 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3552 /* 3553 * Relocation 3554 */ 3555 3556 typedef struct { 3557 Elf32_Addr r_offset; 3558 Elf32_Word r_info; /* sym, type: ELF32_R_... */ 3559 } Elf32_Rel; 3560 3561 typedef struct { 3562 Elf32_Addr r_offset; 3563 Elf32_Word r_info; /* sym, type: ELF32_R_... */ 3564 Elf32_Sword r_addend; 3565 } Elf32_Rela; 3566 3567 3568 typedef struct { 3569 Elf64_Addr r_offset; 3570 Elf64_Xword r_info; /* sym, type: ELF64_R_... */ 3571 } Elf64_Rel; 3572 3573 typedef struct { 3574 Elf64_Addr r_offset; 3575 Elf64_Xword r_info; /* sym, type: ELF64_R_... */ 3576 Elf64_Sxword r_addend; 3577 } Elf64_Rela; 3578 3579 3580 3581 /* 3582 * Macros to compose and decompose values for Rel.r_info, Rela.f_info 3583 * 3584 * sym = ELF32_R_SYM(R.r_info) 3585 * type = ELF32_R_TYPE(R.r_info) 3586 * R.r_info = ELF32_R_INFO(sym, type) 3587 */ 3588 # 783 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3589 /* 3590 * The r_info field is composed of two 32-bit components: the symbol 3591 * table index and the relocation type. The relocation type for SPARC V9 3592 * is further decomposed into an 8-bit type identifier and a 24-bit type 3593 * dependent data field. For the existing Elf32 relocation types, 3594 * that data field is zero. 3595 */ 3596 3597 3598 3599 3600 3601 3602 /* 3603 * Section Group Flags (SHT_GROUP) 3604 */ 3605 3606 3607 3608 /* 3609 * Note entry header 3610 */ 3611 3612 typedef struct { 3613 Elf32_Word n_namesz; /* length of note's name */ 3614 Elf32_Word n_descsz; /* length of note's "desc" */ 3615 Elf32_Word n_type; /* type of note */ 3616 } Elf32_Nhdr; 3617 3618 3619 typedef struct { 3620 Elf64_Word n_namesz; /* length of note's name */ 3621 Elf64_Word n_descsz; /* length of note's "desc" */ 3622 Elf64_Word n_type; /* type of note */ 3623 } Elf64_Nhdr; 3624 3625 3626 /* 3627 * Move entry 3628 */ 3629 3630 typedef struct { 3631 Elf32_Lword m_value; /* symbol value */ 3632 Elf32_Word m_info; /* size + index */ 3633 Elf32_Word m_poffset; /* symbol offset */ 3634 Elf32_Half m_repeat; /* repeat count */ 3635 Elf32_Half m_stride; /* stride info */ 3636 } Elf32_Move; 3637 3638 /* 3639 * Macros to compose and decompose values for Move.r_info 3640 * 3641 * sym = ELF32_M_SYM(M.m_info) 3642 * size = ELF32_M_SIZE(M.m_info) 3643 * M.m_info = ELF32_M_INFO(sym, size) 3644 */ 3645 3646 3647 3648 3649 typedef struct { 3650 Elf64_Lword m_value; /* symbol value */ 3651 Elf64_Xword m_info; /* size + index */ 3652 Elf64_Xword m_poffset; /* symbol offset */ 3653 Elf64_Half m_repeat; /* repeat count */ 3654 Elf64_Half m_stride; /* stride info */ 3655 } Elf64_Move; 3656 3657 3658 3659 3660 3661 3662 3663 /* 3664 * Capabilities entry, Capabilities info and Capabilities chain. 3665 */ 3666 3667 typedef struct { 3668 Elf32_Word c_tag; /* how to interpret value */ 3669 union { 3670 Elf32_Word c_val; 3671 Elf32_Addr c_ptr; 3672 } c_un; 3673 } Elf32_Cap; 3674 3675 typedef Elf32_Word Elf32_Capinfo; 3676 typedef Elf32_Word Elf32_Capchain; 3677 3678 /* 3679 * Macros to compose and decompose values for capabilities info. 3680 * 3681 * sym = ELF32_C_SYM(info) 3682 * grp = ELF32_C_GROUP(info) 3683 * info = ELF32_C_INFO(sym, grp) 3684 */ 3685 3686 3687 3688 3689 3690 3691 typedef struct { 3692 Elf64_Xword c_tag; /* how to interpret value */ 3693 union { 3694 Elf64_Xword c_val; 3695 Elf64_Addr c_ptr; 3696 } c_un; 3697 } Elf64_Cap; 3698 3699 typedef Elf64_Xword Elf64_Capinfo; 3700 typedef Elf64_Word Elf64_Capchain; 3701 3702 /* 3703 * Macros to compose and decompose values for capabilities info. 3704 * 3705 * sym = ELF64_C_SYM(info) 3706 * grp = ELF64_C_GROUP(info) 3707 * info = ELF64_C_INFO(sym, grp) 3708 */ 3709 3710 3711 3712 3713 3714 3715 3716 /* 3717 * Version numbers for SHT_SUNW_capinfo and SHT_SUNW_capchain. 3718 */ 3719 # 921 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3720 /* 3721 * A SHT_SUNW_capinfo table mirrors a symbol table. A capabilities symbol has 3722 * a SHT_SUNW_capinfo table entry that provides an index into the associated 3723 * SHT_SUNW_cap capabilities group, and the symbol index of the associated lead 3724 * symbol. A capabilities symbol is a local symbol. A global lead capabilities 3725 * symbol is tagged with a group CAPINFO_SUNW_GLOB. 3726 */ 3727 3728 3729 /* 3730 * Capabilities values. 3731 */ 3732 # 942 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 3733 /* 3734 * Define software capabilities (CA_SUNW_SF_1 values). Note, hardware 3735 * capabilities (CA_SUNW_HW_1 values) are taken directly from sys/auxv_$MACH.h. 3736 */ 3737 3738 3739 3740 3741 3742 /* 3743 * Known values for note entry types (e_type == ET_CORE) 3744 */ 3745 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 2 3746 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 3747 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3748 /* 3749 * CDDL HEADER START 3750 * 3751 * The contents of this file are subject to the terms of the 3752 * Common Development and Distribution License (the "License"). 3753 * You may not use this file except in compliance with the License. 3754 * 3755 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3756 * or http://www.opensolaris.org/os/licensing. 3757 * See the License for the specific language governing permissions 3758 * and limitations under the License. 3759 * 3760 * When distributing Covered Code, include this CDDL HEADER in each 3761 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3762 * If applicable, add the following below this CDDL HEADER, with the 3763 * fields enclosed by brackets "[]" replaced with your own identifying 3764 * information: Portions Copyright [yyyy] [name of copyright owner] 3765 * 3766 * CDDL HEADER END 3767 */ 3768 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3769 /* All Rights Reserved */ 3770 3771 3772 /* 3773 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3774 * Use is subject to license terms. 3775 * 3776 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3777 * Copyright 2016 Joyent, Inc. 3778 */ 3779 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 3780 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 3781 /* 3782 * CDDL HEADER START 3783 * 3784 * The contents of this file are subject to the terms of the 3785 * Common Development and Distribution License (the "License"). 3786 * You may not use this file except in compliance with the License. 3787 * 3788 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3789 * or http://www.opensolaris.org/os/licensing. 3790 * See the License for the specific language governing permissions 3791 * and limitations under the License. 3792 * 3793 * When distributing Covered Code, include this CDDL HEADER in each 3794 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3795 * If applicable, add the following below this CDDL HEADER, with the 3796 * fields enclosed by brackets "[]" replaced with your own identifying 3797 * information: Portions Copyright [yyyy] [name of copyright owner] 3798 * 3799 * CDDL HEADER END 3800 */ 3801 /* 3802 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3803 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 3804 * 3805 * Copyright (c) 1989 AT&T 3806 * All Rights Reserved 3807 * 3808 */ 3809 3810 3811 3812 3813 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 3814 /* 3815 * CDDL HEADER START 3816 * 3817 * The contents of this file are subject to the terms of the 3818 * Common Development and Distribution License (the "License"). 3819 * You may not use this file except in compliance with the License. 3820 * 3821 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3822 * or http://www.opensolaris.org/os/licensing. 3823 * See the License for the specific language governing permissions 3824 * and limitations under the License. 3825 * 3826 * When distributing Covered Code, include this CDDL HEADER in each 3827 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3828 * If applicable, add the following below this CDDL HEADER, with the 3829 * fields enclosed by brackets "[]" replaced with your own identifying 3830 * information: Portions Copyright [yyyy] [name of copyright owner] 3831 * 3832 * CDDL HEADER END 3833 */ 3834 3835 /* 3836 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 3837 * Copyright 2016 Joyent, Inc. 3838 * 3839 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3840 * Use is subject to license terms. 3841 */ 3842 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 3843 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3844 /* 3845 * CDDL HEADER START 3846 * 3847 * The contents of this file are subject to the terms of the 3848 * Common Development and Distribution License (the "License"). 3849 * You may not use this file except in compliance with the License. 3850 * 3851 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3852 * or http://www.opensolaris.org/os/licensing. 3853 * See the License for the specific language governing permissions 3854 * and limitations under the License. 3855 * 3856 * When distributing Covered Code, include this CDDL HEADER in each 3857 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3858 * If applicable, add the following below this CDDL HEADER, with the 3859 * fields enclosed by brackets "[]" replaced with your own identifying 3860 * information: Portions Copyright [yyyy] [name of copyright owner] 3861 * 3862 * CDDL HEADER END 3863 */ 3864 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3865 /* All Rights Reserved */ 3866 3867 3868 /* 3869 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3870 * Use is subject to license terms. 3871 * 3872 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3873 * Copyright 2016 Joyent, Inc. 3874 */ 3875 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 3876 3877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.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 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3899 /* All Rights Reserved */ 3900 3901 3902 /* 3903 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 3904 * 3905 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3906 * Use is subject to license terms. 3907 */ 3908 /* 3909 * Copyright 2016 Joyent, Inc. 3910 */ 3911 3912 3913 3914 3915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 3916 /* 3917 * CDDL HEADER START 3918 * 3919 * The contents of this file are subject to the terms of the 3920 * Common Development and Distribution License (the "License"). 3921 * You may not use this file except in compliance with the License. 3922 * 3923 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3924 * or http://www.opensolaris.org/os/licensing. 3925 * See the License for the specific language governing permissions 3926 * and limitations under the License. 3927 * 3928 * When distributing Covered Code, include this CDDL HEADER in each 3929 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3930 * If applicable, add the following below this CDDL HEADER, with the 3931 * fields enclosed by brackets "[]" replaced with your own identifying 3932 * information: Portions Copyright [yyyy] [name of copyright owner] 3933 * 3934 * CDDL HEADER END 3935 */ 3936 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3937 /* All Rights Reserved */ 3938 3939 3940 /* 3941 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3942 * Use is subject to license terms. 3943 * 3944 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3945 * Copyright 2016 Joyent, Inc. 3946 */ 3947 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 3948 3949 3950 3951 3952 3953 3954 typedef struct 3955 { 3956 int a_type; 3957 union { 3958 long a_val; 3959 void *a_ptr; 3960 void (*a_fcn)(); 3961 } a_un; 3962 } auxv_t; 3963 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 3964 /* 3965 * These relate to the original PPC ABI document; Linux reused 3966 * the values for other things (see below), so disambiguation of 3967 * these values may require additional context in PPC binaries. 3968 * 3969 * AT_DCACHEBSIZE 10 smallest data cache block size 3970 * AT_ICACHEBSIZE 11 smallest instruction cache block size 3971 * AT_UCACHEBSIZE 12 smallest unified cache block size 3972 * 3973 * These are the values from LSB 1.3, the first five are also described 3974 * in the draft amd64 ABI. 3975 * 3976 * At the time of writing, Solaris doesn't place any of these values into 3977 * the aux vector, except AT_CLKTCK which is placed on the aux vector for 3978 * lx branded processes; also, we do similar things via AT_SUN_ values. 3979 * 3980 * AT_NOTELF 10 program is not ELF? 3981 * AT_UID 11 real user id 3982 * AT_EUID 12 effective user id 3983 * AT_GID 13 real group id 3984 * AT_EGID 14 effective group id 3985 * 3986 * AT_PLATFORM 15 3987 * AT_HWCAP 16 3988 * AT_CLKTCK 17 c.f. _SC_CLK_TCK 3989 * AT_FPUCW 18 3990 * 3991 * AT_DCACHEBSIZE 19 (moved from 10) 3992 * AT_ICACHEBSIZE 20 (moved from 11) 3993 * AT_UCACHEBSIZE 21 (moved from 12) 3994 * 3995 * AT_IGNOREPPC 22 3996 */ 3997 3998 /* 3999 * Sun extensions begin here 4000 */ 4001 4002 4003 4004 4005 4006 /* 4007 * The following attributes are specific to the 4008 * kernel implementation of the linker/loader. 4009 */ 4010 4011 4012 4013 4014 /* 4015 * The following aux vector provides a null-terminated platform 4016 * identification string. This information is the same as provided 4017 * by sysinfo(2) when invoked with the command SI_PLATFORM. 4018 */ 4019 4020 4021 /* 4022 * These attributes communicate performance -hints- about processor 4023 * hardware capabilities that might be useful to library implementations. 4024 */ 4025 # 157 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 4026 extern uint_t getisax(uint32_t *, uint_t); 4027 4028 4029 4030 4031 4032 /* 4033 * The following aux vector provides a pointer to a null-terminated 4034 * path name, a copy of the path name passed to the exec() system 4035 * call but that has had all symlinks resolved (see resolvepath(2)). 4036 */ 4037 4038 4039 4040 4041 4042 4043 4044 /* 4045 * Used to indicate to the runtime linker the name of the emulation binary, 4046 * if one is being used. For brands, this is the name of the brand library. 4047 */ 4048 4049 4050 4051 4052 /* 4053 * Aux vectors available for brand modules. 4054 */ 4055 4056 4057 4058 4059 /* 4060 * Aux vector for comm page 4061 */ 4062 4063 4064 /* 4065 * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above. 4066 */ 4067 4068 /* 4069 * The kernel is in a better position to determine whether a process needs to 4070 * ignore dangerous LD environment variables. If set, this flags tells 4071 * ld.so.1 to run "secure" and ignore the the environment. 4072 */ 4073 4074 4075 /* 4076 * If set, this flag indicates that hardware capabilites can be verified 4077 * against the AT_SUN_HWCAP value. 4078 */ 4079 4080 4081 /* 4082 * If set, this flag indicates that the the linker should not initialize 4083 * any of its link maps as primary link wrt the unified libc threading 4084 * interfaces. 4085 */ 4086 # 228 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 4087 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 1 4088 /* 4089 * CDDL HEADER START 4090 * 4091 * The contents of this file are subject to the terms of the 4092 * Common Development and Distribution License (the "License"). 4093 * You may not use this file except in compliance with the License. 4094 * 4095 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4096 * or http://www.opensolaris.org/os/licensing. 4097 * See the License for the specific language governing permissions 4098 * and limitations under the License. 4099 * 4100 * When distributing Covered Code, include this CDDL HEADER in each 4101 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4102 * If applicable, add the following below this CDDL HEADER, with the 4103 * fields enclosed by brackets "[]" replaced with your own identifying 4104 * information: Portions Copyright [yyyy] [name of copyright owner] 4105 * 4106 * CDDL HEADER END 4107 */ 4108 /* 4109 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 4110 * Copyright (c) 2015, Joyent, Inc. 4111 */ 4112 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 4113 /* 4114 * Flags used in AT_SUN_HWCAP elements to describe various userland 4115 * instruction set extensions available on different processors. 4116 * The basic assumption is that of the i386 ABI; that is, i386 plus i387 4117 * floating point. 4118 * 4119 * Note that if a given bit is set; the implication is that the kernel 4120 * provides all the underlying architectural support for the correct 4121 * functioning of the extended instruction(s). 4122 */ 4123 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv_386.h" 4124 /* 0x02000 withdrawn - do not assign */ 4125 4126 /* 0x08000 withdrawn - do not assign */ 4127 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 2 4128 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 4129 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 1 4130 /* 4131 * CDDL HEADER START 4132 * 4133 * The contents of this file are subject to the terms of the 4134 * Common Development and Distribution License (the "License"). 4135 * You may not use this file except in compliance with the License. 4136 * 4137 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4138 * or http://www.opensolaris.org/os/licensing. 4139 * See the License for the specific language governing permissions 4140 * and limitations under the License. 4141 * 4142 * When distributing Covered Code, include this CDDL HEADER in each 4143 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4144 * If applicable, add the following below this CDDL HEADER, with the 4145 * fields enclosed by brackets "[]" replaced with your own identifying 4146 * information: Portions Copyright [yyyy] [name of copyright owner] 4147 * 4148 * CDDL HEADER END 4149 */ 4150 4151 /* Copyright 2013 OmniTI Computer Consulting, Inc. All rights reserved. */ 4152 /* 4153 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 4154 * 4155 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 4156 * Use is subject to license terms. 4157 * Copyright 2015 Joyent, Inc. All rights reserved. 4158 */ 4159 4160 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 4161 /* All Rights Reserved */ 4162 4163 /* 4164 * University Copyright- Copyright (c) 1982, 1986, 1988 4165 * The Regents of the University of California 4166 * All Rights Reserved 4167 * 4168 * University Acknowledgment- Portions of this document are derived from 4169 * software developed by the University of California, Berkeley, and its 4170 * contributors. 4171 */ 4172 4173 4174 4175 4176 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 4177 /* 4178 * CDDL HEADER START 4179 * 4180 * The contents of this file are subject to the terms of the 4181 * Common Development and Distribution License (the "License"). 4182 * You may not use this file except in compliance with the License. 4183 * 4184 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4185 * or http://www.opensolaris.org/os/licensing. 4186 * See the License for the specific language governing permissions 4187 * and limitations under the License. 4188 * 4189 * When distributing Covered Code, include this CDDL HEADER in each 4190 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4191 * If applicable, add the following below this CDDL HEADER, with the 4192 * fields enclosed by brackets "[]" replaced with your own identifying 4193 * information: Portions Copyright [yyyy] [name of copyright owner] 4194 * 4195 * CDDL HEADER END 4196 */ 4197 4198 /* 4199 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 4200 * Copyright 2016 Joyent, Inc. 4201 * 4202 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4203 * Use is subject to license terms. 4204 */ 4205 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 4206 4207 4208 4209 4210 4211 4212 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4213 /* 4214 * CDDL HEADER START 4215 * 4216 * The contents of this file are subject to the terms of the 4217 * Common Development and Distribution License (the "License"). 4218 * You may not use this file except in compliance with the License. 4219 * 4220 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4221 * or http://www.opensolaris.org/os/licensing. 4222 * See the License for the specific language governing permissions 4223 * and limitations under the License. 4224 * 4225 * When distributing Covered Code, include this CDDL HEADER in each 4226 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4227 * If applicable, add the following below this CDDL HEADER, with the 4228 * fields enclosed by brackets "[]" replaced with your own identifying 4229 * information: Portions Copyright [yyyy] [name of copyright owner] 4230 * 4231 * CDDL HEADER END 4232 */ 4233 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4234 /* All Rights Reserved */ 4235 4236 4237 /* 4238 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4239 * Use is subject to license terms. 4240 * 4241 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4242 * Copyright 2016 Joyent, Inc. 4243 */ 4244 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 2 4245 4246 4247 /* 4248 * Protections are chosen from these bits, or-ed together. 4249 * Note - not all implementations literally provide all possible 4250 * combinations. PROT_WRITE is often implemented as (PROT_READ | 4251 * PROT_WRITE) and (PROT_EXECUTE as PROT_READ | PROT_EXECUTE). 4252 * However, no implementation will permit a write to succeed 4253 * where PROT_WRITE has not been set. Also, no implementation will 4254 * allow any access to succeed where prot is specified as PROT_NONE. 4255 */ 4256 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4257 /* sharing types: must choose either SHARED or PRIVATE */ 4258 4259 4260 4261 4262 /* other flags to mmap (or-ed in to MAP_SHARED or MAP_PRIVATE) */ 4263 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4264 /* these flags not yet implemented */ 4265 4266 4267 4268 /* these flags are used by memcntl */ 4269 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4270 /* 4271 * For the sake of backward object compatibility, we use the _MAP_NEW flag. 4272 * This flag will be automatically or'ed in by the C library for all 4273 * new mmap calls. Previous binaries with old mmap calls will continue 4274 * to get 0 or -1 for return values. New mmap calls will get the mapped 4275 * address as the return value if successful and -1 on errors. By default, 4276 * new mmap calls automatically have the kernel assign the map address 4277 * unless the MAP_FIXED flag is given. 4278 */ 4279 4280 4281 4282 4283 4284 /* External flags for mmapobj syscall (Exclusive of MAP_* flags above) */ 4285 4286 4287 4288 4289 4290 /* 4291 * Values for mr_flags field of mmapobj_result_t below. 4292 * The bottom 16 bits are mutually exclusive and thus only one 4293 * of them can be set at a time. Use MR_GET_TYPE below to check this value. 4294 * The top 16 bits are used for flags which are not mutually exclusive and 4295 * thus more than one of these flags can be set for a given mmapobj_result_t. 4296 * 4297 * MR_PADDING being set indicates that this memory range represents the user 4298 * requested padding. 4299 * 4300 * MR_HDR_ELF being set indicates that the ELF header of the mapped object 4301 * is mapped at mr_addr + mr_offset. 4302 * 4303 * MR_HDR_AOUT being set indicates that the AOUT (4.x) header of the mapped 4304 * object is mapped at mr_addr + mr_offset. 4305 */ 4306 4307 /* 4308 * External flags for mr_flags field below. 4309 */ 4310 4311 4312 4313 4314 /* 4315 * Internal flags for mr_flags field below. 4316 */ 4317 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4318 typedef struct mmapobj_result { 4319 caddr_t mr_addr; /* mapping address */ 4320 size_t mr_msize; /* mapping size */ 4321 size_t mr_fsize; /* file size */ 4322 size_t mr_offset; /* offset into file */ 4323 uint_t mr_prot; /* the protections provided */ 4324 uint_t mr_flags; /* info on the mapping */ 4325 } mmapobj_result_t; 4326 # 194 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4327 /* 4328 * large file compilation environment setup 4329 * 4330 * In the LP64 compilation environment, map large file interfaces 4331 * back to native versions where possible. 4332 */ 4333 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4334 4335 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4336 #pragma redefine_extname getpagesizes getpagesizes2 4337 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4338 4339 4340 4341 4342 4343 /* 4344 * Except for old binaries mmap() will return the resultant 4345 * address of mapping on success and (caddr_t)-1 on error. 4346 */ 4347 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4348 extern caddr_t mmap(caddr_t, size_t, int, int, int, off_t); 4349 extern int munmap(caddr_t, size_t); 4350 extern int mprotect(caddr_t, size_t, int); 4351 extern int msync(caddr_t, size_t, int); 4352 extern int mlock(caddr_t, size_t); 4353 extern int munlock(caddr_t, size_t); 4354 extern int mincore(caddr_t, size_t, char *); 4355 extern int memcntl(caddr_t, size_t, int, caddr_t, int, int); 4356 extern int madvise(caddr_t, size_t, int); 4357 4358 extern int getpagesizes(size_t *, int); 4359 extern int getpagesizes2(size_t *, int); 4360 extern int mmapobj(int, uint_t, mmapobj_result_t *, uint_t *, void *); 4361 /* guard visibility of uint64_t */ 4362 4363 extern int meminfo(const uint64_t *, int, const uint_t *, int, uint64_t *, 4364 uint_t *); 4365 4366 4367 /* transitional large file interface version */ 4368 4369 extern caddr_t mmap64(caddr_t, size_t, int, int, int, off64_t); 4370 4371 4372 4373 4374 extern int mlockall(int); 4375 extern int munlockall(void); 4376 extern int shm_open(const char *, int, mode_t); 4377 extern int shm_unlink(const char *); 4378 4379 4380 4381 extern int posix_madvise(void *, size_t, int); 4382 4383 4384 /* mmap failure value */ 4385 4386 4387 4388 4389 4390 4391 4392 /* 4393 * structure for memcntl hat advise operations. 4394 */ 4395 struct memcntl_mha { 4396 uint_t mha_cmd; /* command(s) */ 4397 uint_t mha_flags; 4398 size_t mha_pagesize; 4399 }; 4400 # 306 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4401 /* 4402 * advice to madvise 4403 * 4404 * Note, if more than 4 bits worth of advice (eg. 16) are specified then 4405 * changes will be necessary to the struct vpage. 4406 */ 4407 # 326 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4408 /* advice to posix_madvise */ 4409 /* these values must be kept in sync with the MADV_* values, above */ 4410 4411 4412 4413 4414 4415 4416 4417 /* flags to msync */ 4418 4419 /* modified for UNIX98 compliance */ 4420 4421 4422 4423 4424 4425 /* functions to mctl */ 4426 # 353 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4427 /* sub-commands for MC_HAT_ADVISE */ 4428 4429 4430 /* for last bss adjacent to */ 4431 /* brk area and brk area itself */ 4432 4433 /* processes main stack */ 4434 4435 4436 4437 4438 /* flags to mlockall */ 4439 4440 4441 4442 4443 4444 4445 /* definitions for meminfosys syscall */ 4446 4447 4448 4449 4450 4451 /* private structure for meminfo */ 4452 typedef struct meminfo { 4453 const uint64_t *mi_inaddr; /* array of input addresses */ 4454 const uint_t *mi_info_req; /* array of types of info requested */ 4455 uint64_t *mi_outdata; /* array of results are placed */ 4456 uint_t *mi_validity; /* array of bitwise result codes */ 4457 int mi_info_count; /* number of pieces of info requested */ 4458 } meminfo_t; 4459 # 399 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4460 /* 4461 * info_req request type definitions for meminfo 4462 * request types starting with MEMINFO_V are used for Virtual addresses 4463 * and should not be mixed with MEMINFO_PLGRP which is targeted for Physical 4464 * addresses 4465 */ 4466 # 415 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mman.h" 4467 /* maximum number of addresses meminfo() can process at a time */ 4468 4469 4470 /* maximum number of request types */ 4471 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 2 4472 4473 4474 4475 4476 4477 4478 /* 4479 * Information structures for various dlinfo() requests. 4480 */ 4481 4482 typedef struct dl_info { 4483 const char *dli_fname; /* file containing address range */ 4484 void *dli_fbase; /* base address of file image */ 4485 const char *dli_sname; /* symbol name */ 4486 void *dli_saddr; /* symbol address */ 4487 } Dl_info; 4488 typedef Dl_info Dl_info_t; 4489 4490 typedef struct dl_serpath { 4491 char *dls_name; /* library search path name */ 4492 uint_t dls_flags; /* path information */ 4493 } Dl_serpath; 4494 typedef Dl_serpath Dl_serpath_t; 4495 4496 typedef struct dl_serinfo { 4497 size_t dls_size; /* total buffer size */ 4498 uint_t dls_cnt; /* number of path entries */ 4499 Dl_serpath dls_serpath[1]; /* there may be more than one */ 4500 } Dl_serinfo; 4501 typedef Dl_serinfo Dl_serinfo_t; 4502 4503 typedef struct dl_argsinfo { 4504 long dla_argc; /* process argument count */ 4505 char **dla_argv; /* process arguments */ 4506 char **dla_envp; /* process environment variables */ 4507 auxv_t *dla_auxv; /* process auxv vectors */ 4508 } Dl_argsinfo; 4509 typedef Dl_argsinfo Dl_argsinfo_t; 4510 4511 typedef struct { 4512 mmapobj_result_t *dlm_maps; /* mapping information */ 4513 uint_t dlm_acnt; /* number of dlm_maps mappings */ 4514 uint_t dlm_rcnt; /* number of returned mappings */ 4515 } Dl_mapinfo_t; 4516 4517 typedef struct { 4518 uint_t dlui_version; /* version # */ 4519 uint_t dlui_flags; /* flags */ 4520 char *dlui_objname; /* path to object */ 4521 void *dlui_unwindstart; /* star of unwind hdr */ 4522 void *dlui_unwindend; /* end of unwind hdr */ 4523 void *dlui_segstart; /* start of segment described */ 4524 /* by unwind block */ 4525 void *dlui_segend; /* end of segment described */ 4526 /* by unwind block */ 4527 } Dl_amd64_unwindinfo; 4528 typedef Dl_amd64_unwindinfo Dl_amd64_unwindinfo_t; 4529 4530 typedef struct { 4531 const char *dld_refname; /* reference name */ 4532 const char *dld_depname; /* new dependency name */ 4533 } Dl_definfo_t; 4534 4535 4536 4537 4538 typedef ulong_t Lmid_t; 4539 4540 /* 4541 * Declarations used for dynamic linking support routines. 4542 */ 4543 extern void *dlopen(const char *, int); 4544 extern void *dlsym(void *, const char *); 4545 extern int dlclose(void *); 4546 extern char *dlerror(void); 4547 4548 extern void *dlmopen(Lmid_t, const char *, int); 4549 extern int dladdr(void *, Dl_info *); 4550 extern int dladdr1(void *, Dl_info *, void **, int); 4551 extern int dldump(const char *, const char *, int); 4552 extern int dlinfo(void *, int, void *); 4553 extern Dl_amd64_unwindinfo *dlamd64getunwind(void *, Dl_amd64_unwindinfo *); 4554 4555 4556 #pragma unknown_control_flow(dlopen, dlsym, dlclose, dlerror) 4557 4558 #pragma unknown_control_flow(dlmopen, dladdr, dladdr1, dldump, dlinfo) 4559 4560 4561 /* 4562 * Valid values for handle argument to dlsym(3x). 4563 */ 4564 4565 4566 /* of current object */ 4567 4568 4569 /* of current object, */ 4570 /* using currently */ 4571 /* loaded objects only. */ 4572 /* 4573 * Valid values for mode argument to dlopen. 4574 */ 4575 4576 4577 4578 4579 4580 4581 /* to group members */ 4582 4583 /* a group dependencies */ 4584 4585 /* members of the group */ 4586 4587 /* global objects */ 4588 4589 4590 /* available for dlsym */ 4591 4592 /* internal use only */ 4593 4594 /* 4595 * Valid values for flag argument to dldump. 4596 */ 4597 4598 4599 /* bind to main */ 4600 4601 /* bind to dependencies */ 4602 4603 /* bind to preload objs */ 4604 4605 /* bind to ourself */ 4606 4607 /* even if unresolved */ 4608 4609 4610 4611 4612 /* only */ 4613 4614 4615 /* internal use only */ 4616 4617 /* 4618 * Valid values for dladdr1() flags. 4619 */ 4620 4621 4622 4623 4624 4625 /* 4626 * Arguments for dlinfo() 4627 */ 4628 4629 4630 4631 4632 4633 4634 4635 /* internal use only */ 4636 4637 /* internal use only */ 4638 4639 4640 4641 /* environment and auxv */ 4642 4643 4644 4645 /* deferred dependency */ 4646 4647 /* deferred dependency */ 4648 /* using a symbol name */ 4649 4650 4651 4652 /* 4653 * Version information for Dl_amd64_unwindinfo.dlui_version 4654 */ 4655 4656 4657 4658 /* 4659 * Valid flags for Dl_amd64_unwindinfo.dlfi_flags 4660 */ 4661 4662 4663 /* matching the pc provided */ 4664 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 4665 4666 4667 4668 4669 4670 4671 4672 /* 4673 * ld support library calls. 4674 * 4675 * These cannot be used in a 32bit large file capable environment because 4676 * libelf is not large-file safe. Only define these interfaces if we are not 4677 * 32bit, or not in the large file environment. 4678 */ 4679 4680 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 1 4681 /* 4682 * CDDL HEADER START 4683 * 4684 * The contents of this file are subject to the terms of the 4685 * Common Development and Distribution License (the "License"). 4686 * You may not use this file except in compliance with the License. 4687 * 4688 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4689 * or http://www.opensolaris.org/os/licensing. 4690 * See the License for the specific language governing permissions 4691 * and limitations under the License. 4692 * 4693 * When distributing Covered Code, include this CDDL HEADER in each 4694 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4695 * If applicable, add the following below this CDDL HEADER, with the 4696 * fields enclosed by brackets "[]" replaced with your own identifying 4697 * information: Portions Copyright [yyyy] [name of copyright owner] 4698 * 4699 * CDDL HEADER END 4700 */ 4701 /* Copyright (c) 1988 AT&T */ 4702 /* All Rights Reserved */ 4703 4704 /* 4705 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4706 * Use is subject to license terms. 4707 * Copyright 2014 PALO, Richard. All rights reserved. 4708 */ 4709 4710 4711 4712 4713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 4714 /* 4715 * CDDL HEADER START 4716 * 4717 * The contents of this file are subject to the terms of the 4718 * Common Development and Distribution License (the "License"). 4719 * You may not use this file except in compliance with the License. 4720 * 4721 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4722 * or http://www.opensolaris.org/os/licensing. 4723 * See the License for the specific language governing permissions 4724 * and limitations under the License. 4725 * 4726 * When distributing Covered Code, include this CDDL HEADER in each 4727 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4728 * If applicable, add the following below this CDDL HEADER, with the 4729 * fields enclosed by brackets "[]" replaced with your own identifying 4730 * information: Portions Copyright [yyyy] [name of copyright owner] 4731 * 4732 * CDDL HEADER END 4733 */ 4734 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4735 /* All Rights Reserved */ 4736 4737 4738 /* 4739 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4740 * Use is subject to license terms. 4741 * 4742 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 4743 * Copyright 2016 Joyent, Inc. 4744 */ 4745 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 2 4746 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 4747 /* 4748 * CDDL HEADER START 4749 * 4750 * The contents of this file are subject to the terms of the 4751 * Common Development and Distribution License (the "License"). 4752 * You may not use this file except in compliance with the License. 4753 * 4754 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 4755 * or http://www.opensolaris.org/os/licensing. 4756 * See the License for the specific language governing permissions 4757 * and limitations under the License. 4758 * 4759 * When distributing Covered Code, include this CDDL HEADER in each 4760 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 4761 * If applicable, add the following below this CDDL HEADER, with the 4762 * fields enclosed by brackets "[]" replaced with your own identifying 4763 * information: Portions Copyright [yyyy] [name of copyright owner] 4764 * 4765 * CDDL HEADER END 4766 */ 4767 /* 4768 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 4769 * Copyright (c) 2018, Joyent, Inc. 4770 */ 4771 /* 4772 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 4773 * Use is subject to license terms. 4774 */ 4775 4776 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 4777 /* All Rights Reserved */ 4778 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 2 4779 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 4780 typedef void Elf_Void; 4781 4782 /* 4783 * Commands 4784 */ 4785 typedef enum { 4786 ELF_C_NULL = 0, /* must be first, 0 */ 4787 ELF_C_READ, 4788 ELF_C_WRITE, 4789 ELF_C_CLR, 4790 ELF_C_SET, 4791 ELF_C_FDDONE, 4792 ELF_C_FDREAD, 4793 ELF_C_RDWR, 4794 ELF_C_WRIMAGE, 4795 ELF_C_IMAGE, 4796 ELF_C_NUM /* must be last */ 4797 } Elf_Cmd; 4798 4799 4800 /* 4801 * Flags 4802 */ 4803 4804 4805 4806 4807 /* 4808 * File types 4809 */ 4810 typedef enum { 4811 ELF_K_NONE = 0, /* must be first, 0 */ 4812 ELF_K_AR, 4813 ELF_K_COFF, 4814 ELF_K_ELF, 4815 ELF_K_NUM /* must be last */ 4816 } Elf_Kind; 4817 4818 4819 /* 4820 * Translation types 4821 */ 4822 typedef enum { 4823 ELF_T_BYTE = 0, /* must be first, 0 */ 4824 ELF_T_ADDR, 4825 ELF_T_DYN, 4826 ELF_T_EHDR, 4827 ELF_T_HALF, 4828 ELF_T_OFF, 4829 ELF_T_PHDR, 4830 ELF_T_RELA, 4831 ELF_T_REL, 4832 ELF_T_SHDR, 4833 ELF_T_SWORD, 4834 ELF_T_SYM, 4835 ELF_T_WORD, 4836 ELF_T_VDEF, 4837 ELF_T_VNEED, 4838 ELF_T_SXWORD, 4839 ELF_T_XWORD, 4840 ELF_T_SYMINFO, 4841 ELF_T_NOTE, 4842 ELF_T_MOVE, 4843 ELF_T_MOVEP, 4844 ELF_T_CAP, 4845 ELF_T_NUM /* must be last */ 4846 } Elf_Type; 4847 4848 4849 typedef struct Elf Elf; 4850 typedef struct Elf_Scn Elf_Scn; 4851 4852 4853 /* 4854 * Archive member header 4855 */ 4856 typedef struct { 4857 char *ar_name; 4858 time_t ar_date; 4859 uid_t ar_uid; 4860 gid_t ar_gid; 4861 mode_t ar_mode; 4862 off_t ar_size; 4863 char *ar_rawname; 4864 } Elf_Arhdr; 4865 4866 4867 /* 4868 * Archive symbol table 4869 */ 4870 typedef struct { 4871 char *as_name; 4872 size_t as_off; 4873 unsigned long as_hash; 4874 } Elf_Arsym; 4875 4876 4877 /* 4878 * Data descriptor 4879 */ 4880 typedef struct { 4881 Elf_Void *d_buf; 4882 Elf_Type d_type; 4883 size_t d_size; 4884 off_t d_off; /* offset into section */ 4885 size_t d_align; /* alignment in section */ 4886 unsigned d_version; /* elf version */ 4887 } Elf_Data; 4888 4889 4890 /* 4891 * Function declarations 4892 */ 4893 Elf *elf_begin(int, Elf_Cmd, Elf *); 4894 int elf_cntl(Elf *, Elf_Cmd); 4895 int elf_end(Elf *); 4896 const char *elf_errmsg(int); 4897 int elf_errno(void); 4898 void elf_fill(int); 4899 unsigned elf_flagdata(Elf_Data *, Elf_Cmd, unsigned); 4900 unsigned elf_flagehdr(Elf *, Elf_Cmd, unsigned); 4901 unsigned elf_flagelf(Elf *, Elf_Cmd, unsigned); 4902 unsigned elf_flagphdr(Elf *, Elf_Cmd, unsigned); 4903 unsigned elf_flagscn(Elf_Scn *, Elf_Cmd, unsigned); 4904 unsigned elf_flagshdr(Elf_Scn *, Elf_Cmd, unsigned); 4905 size_t elf32_fsize(Elf_Type, size_t, unsigned); 4906 Elf_Arhdr *elf_getarhdr(Elf *); 4907 Elf_Arsym *elf_getarsym(Elf *, size_t *); 4908 off_t elf_getbase(Elf *); 4909 Elf_Data *elf_getdata(Elf_Scn *, Elf_Data *); 4910 Elf32_Ehdr *elf32_getehdr(Elf *); 4911 char *elf_getident(Elf *, size_t *); 4912 Elf32_Phdr *elf32_getphdr(Elf *); 4913 Elf_Scn *elf_getscn(Elf *elf, size_t); 4914 Elf32_Shdr *elf32_getshdr(Elf_Scn *); 4915 int elf_getphnum(Elf *, size_t *); 4916 int elf_getphdrnum(Elf *, size_t *); 4917 int elf_getshnum(Elf *, size_t *); 4918 int elf_getshdrnum(Elf *, size_t *); 4919 int elf_getshstrndx(Elf *, size_t *); 4920 int elf_getshdrstrndx(Elf *, size_t *); 4921 unsigned long elf_hash(const char *); 4922 uint_t elf_sys_encoding(void); 4923 long elf32_checksum(Elf *); 4924 Elf_Kind elf_kind(Elf *); 4925 Elf *elf_memory(char *, size_t); 4926 size_t elf_ndxscn(Elf_Scn *); 4927 Elf_Data *elf_newdata(Elf_Scn *); 4928 Elf32_Ehdr *elf32_newehdr(Elf *); 4929 Elf32_Phdr *elf32_newphdr(Elf *, size_t); 4930 Elf_Scn *elf_newscn(Elf *); 4931 Elf_Scn *elf_nextscn(Elf *, Elf_Scn *); 4932 Elf_Cmd elf_next(Elf *); 4933 size_t elf_rand(Elf *, size_t); 4934 Elf_Data *elf_rawdata(Elf_Scn *, Elf_Data *); 4935 char *elf_rawfile(Elf *, size_t *); 4936 char *elf_strptr(Elf *, size_t, size_t); 4937 off_t elf_update(Elf *, Elf_Cmd); 4938 unsigned elf_version(unsigned); 4939 Elf_Data *elf32_xlatetof(Elf_Data *, const Elf_Data *, unsigned); 4940 Elf_Data *elf32_xlatetom(Elf_Data *, const Elf_Data *, unsigned); 4941 4942 4943 size_t elf64_fsize(Elf_Type, size_t, unsigned); 4944 Elf64_Ehdr *elf64_getehdr(Elf *); 4945 Elf64_Phdr *elf64_getphdr(Elf *); 4946 Elf64_Shdr *elf64_getshdr(Elf_Scn *); 4947 long elf64_checksum(Elf *); 4948 Elf64_Ehdr *elf64_newehdr(Elf *); 4949 Elf64_Phdr *elf64_newphdr(Elf *, size_t); 4950 Elf_Data *elf64_xlatetof(Elf_Data *, const Elf_Data *, unsigned); 4951 Elf_Data *elf64_xlatetom(Elf_Data *, const Elf_Data *, unsigned); 4952 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 2 4953 extern uint_t ld_version(uint_t); 4954 extern void ld_input_done(uint_t *); 4955 4956 extern void ld_start(const char *, const Elf32_Half, const char *); 4957 extern void ld_atexit(int); 4958 extern void ld_open(const char **, const char **, int *, int, Elf **, 4959 Elf *, size_t, const Elf_Kind); 4960 extern void ld_file(const char *, const Elf_Kind, int, Elf *); 4961 extern void ld_input_section(const char *, Elf32_Shdr **, Elf32_Word, 4962 Elf_Data *, Elf *, uint_t *); 4963 extern void ld_section(const char *, Elf32_Shdr *, Elf32_Word, 4964 Elf_Data *, Elf *); 4965 4966 4967 extern void ld_start64(const char *, const Elf64_Half, const char *); 4968 extern void ld_atexit64(int); 4969 extern void ld_open64(const char **, const char **, int *, int, Elf **, 4970 Elf *, size_t, const Elf_Kind); 4971 extern void ld_file64(const char *, const Elf_Kind, int, Elf *); 4972 extern void ld_input_section64(const char *, Elf64_Shdr **, Elf64_Word, 4973 Elf_Data *, Elf *, uint_t *); 4974 extern void ld_section64(const char *, Elf64_Shdr *, Elf64_Word, 4975 Elf_Data *, Elf *); 4976 4977 4978 4979 4980 /* 4981 * ld_version() version values. 4982 */ 4983 4984 4985 4986 4987 4988 4989 /* 4990 * Flags passed to ld support calls. 4991 */ 4992 4993 4994 4995 4996 4997 /* 4998 * Runtime link-map identifiers. 4999 */ 5000 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5001 /* 5002 * Runtime Link-Edit Auditing. 5003 */ 5004 # 118 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5005 /* 5006 * Flags that can be or'd into the la_objopen() return code 5007 */ 5008 5009 5010 5011 /* 5012 * Flags that can be or'd into the 'flags' argument of la_symbind() 5013 */ 5014 5015 5016 5017 /* structure as it's return code */ 5018 5019 /* a call to dlsym() */ 5020 5021 /* by la_symbind() */ 5022 5023 /* 5024 * Flags that describe the object passed to la_objsearch() 5025 */ 5026 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5027 /* 5028 * Flags that describe the la_activity() 5029 */ 5030 # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5031 typedef int lagreg_t; 5032 5033 5034 struct _la_sparc_regs { 5035 lagreg_t lr_rego0; 5036 lagreg_t lr_rego1; 5037 lagreg_t lr_rego2; 5038 lagreg_t lr_rego3; 5039 lagreg_t lr_rego4; 5040 lagreg_t lr_rego5; 5041 lagreg_t lr_rego6; 5042 lagreg_t lr_rego7; 5043 }; 5044 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5045 typedef struct _la_sparc_regs La_sparcv8_regs; 5046 typedef struct { 5047 lagreg_t lr_esp; 5048 lagreg_t lr_ebp; 5049 } La_i86_regs; 5050 # 206 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5051 extern uint_t la_version(uint_t); 5052 extern void la_activity(uintptr_t *, uint_t); 5053 extern void la_preinit(uintptr_t *); 5054 extern char *la_objsearch(const char *, uintptr_t *, uint_t); 5055 extern uint_t la_objopen(Link_map *, Lmid_t, uintptr_t *); 5056 extern uint_t la_objclose(uintptr_t *); 5057 extern int la_objfilter(uintptr_t *, const char *, uintptr_t *, 5058 uint_t); 5059 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 5060 extern uintptr_t la_symbind32(Elf32_Sym *, uint_t, uintptr_t *, 5061 uintptr_t *, uint_t *); 5062 extern uintptr_t la_sparcv8_pltenter(Elf32_Sym *, uint_t, uintptr_t *, 5063 uintptr_t *, La_sparcv8_regs *, uint_t *); 5064 extern uintptr_t la_i86_pltenter(Elf32_Sym *, uint_t, uintptr_t *, 5065 uintptr_t *, La_i86_regs *, uint_t *); 5066 extern uintptr_t la_pltexit(Elf32_Sym *, uint_t, uintptr_t *, 5067 uintptr_t *, uintptr_t); 5068 5069 5070 /* 5071 * The ElfW() macro is a GNU/Linux feature, provided as support for 5072 * the dl_phdr_info structure used by dl_phdr_iterate(), which also 5073 * originated under Linux. Given an ELF data type, without the ElfXX_ 5074 * prefix, it supplies the appropriate prefix (Elf32_ or Elf64_) for 5075 * the ELFCLASS of the code being compiled. 5076 * 5077 * Note that ElfW() is not suitable in situations in which the ELFCLASS 5078 * of the code being compiled does not match that of the objects that 5079 * code is intended to operate on (e.g. a 32-bit link-editor building 5080 * a 64-bit object). The macros defined in <sys/machelf.h> are 5081 * recommended in such cases. 5082 */ 5083 5084 5085 5086 5087 5088 5089 /* 5090 * The callback function to dl_interate_phdr() receives a pointer 5091 * to a structure of this type. 5092 * 5093 * dlpi_addr is defined such that the address of any segment in 5094 * the program header array can be calculated as: 5095 * 5096 * addr == info->dlpi_addr + info->dlpi_phdr[x].p_vaddr; 5097 * 5098 * It is therefore 0 for ET_EXEC objects, and the base address at 5099 * which the object is mapped otherwise. 5100 */ 5101 struct dl_phdr_info { 5102 Elf32_Addr dlpi_addr; /* Base address of object */ 5103 const char *dlpi_name; /* Null-terminated obj name */ 5104 const Elf32_Phdr *dlpi_phdr; /* Ptr to ELF program hdr arr */ 5105 Elf32_Half dlpi_phnum; /* # of items in dlpi_phdr[] */ 5106 5107 /* 5108 * Note: Following members were introduced after the first version 5109 * of this structure was available. The dl_iterate_phdr() callback 5110 * function is passed a 'size' argument giving the size of the info 5111 * structure, and must compare that size to the offset of these fields 5112 * before accessing them to ensure that they are present. 5113 */ 5114 5115 /* Incremented when a new object is mapped into the process */ 5116 u_longlong_t dlpi_adds; 5117 /* Incremented when an object is unmapped from the process */ 5118 u_longlong_t dlpi_subs; 5119 }; 5120 5121 extern int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), 5122 void *); 5123 # 29 "common/apptrace.c" 2 5124 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 5125 /* 5126 * CDDL HEADER START 5127 * 5128 * The contents of this file are subject to the terms of the 5129 * Common Development and Distribution License (the "License"). 5130 * You may not use this file except in compliance with the License. 5131 * 5132 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5133 * or http://www.opensolaris.org/os/licensing. 5134 * See the License for the specific language governing permissions 5135 * and limitations under the License. 5136 * 5137 * When distributing Covered Code, include this CDDL HEADER in each 5138 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5139 * If applicable, add the following below this CDDL HEADER, with the 5140 * fields enclosed by brackets "[]" replaced with your own identifying 5141 * information: Portions Copyright [yyyy] [name of copyright owner] 5142 * 5143 * CDDL HEADER END 5144 */ 5145 /* 5146 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5147 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 5148 * 5149 * Copyright (c) 1989 AT&T 5150 * All Rights Reserved 5151 * 5152 */ 5153 # 30 "common/apptrace.c" 2 5154 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5155 /* 5156 * CDDL HEADER START 5157 * 5158 * The contents of this file are subject to the terms of the 5159 * Common Development and Distribution License (the "License"). 5160 * You may not use this file except in compliance with the License. 5161 * 5162 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5163 * or http://www.opensolaris.org/os/licensing. 5164 * See the License for the specific language governing permissions 5165 * and limitations under the License. 5166 * 5167 * When distributing Covered Code, include this CDDL HEADER in each 5168 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5169 * If applicable, add the following below this CDDL HEADER, with the 5170 * fields enclosed by brackets "[]" replaced with your own identifying 5171 * information: Portions Copyright [yyyy] [name of copyright owner] 5172 * 5173 * CDDL HEADER END 5174 */ 5175 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5176 /* All Rights Reserved */ 5177 5178 5179 /* 5180 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5181 * Use is subject to license terms. 5182 * 5183 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5184 * Copyright 2016 Joyent, Inc. 5185 */ 5186 # 31 "common/apptrace.c" 2 5187 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 5188 /* 5189 * CDDL HEADER START 5190 * 5191 * The contents of this file are subject to the terms of the 5192 * Common Development and Distribution License (the "License"). 5193 * You may not use this file except in compliance with the License. 5194 * 5195 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5196 * or http://www.opensolaris.org/os/licensing. 5197 * See the License for the specific language governing permissions 5198 * and limitations under the License. 5199 * 5200 * When distributing Covered Code, include this CDDL HEADER in each 5201 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5202 * If applicable, add the following below this CDDL HEADER, with the 5203 * fields enclosed by brackets "[]" replaced with your own identifying 5204 * information: Portions Copyright [yyyy] [name of copyright owner] 5205 * 5206 * CDDL HEADER END 5207 */ 5208 5209 /* 5210 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 5211 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 5212 */ 5213 5214 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 5215 /* All Rights Reserved */ 5216 5217 /* 5218 * University Copyright- Copyright (c) 1982, 1986, 1988 5219 * The Regents of the University of California 5220 * All Rights Reserved 5221 * 5222 * University Acknowledgment- Portions of this document are derived from 5223 * software developed by the University of California, Berkeley, and its 5224 * contributors. 5225 */ 5226 5227 5228 5229 5230 5231 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5232 /* 5233 * CDDL HEADER START 5234 * 5235 * The contents of this file are subject to the terms of the 5236 * Common Development and Distribution License (the "License"). 5237 * You may not use this file except in compliance with the License. 5238 * 5239 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5240 * or http://www.opensolaris.org/os/licensing. 5241 * See the License for the specific language governing permissions 5242 * and limitations under the License. 5243 * 5244 * When distributing Covered Code, include this CDDL HEADER in each 5245 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5246 * If applicable, add the following below this CDDL HEADER, with the 5247 * fields enclosed by brackets "[]" replaced with your own identifying 5248 * information: Portions Copyright [yyyy] [name of copyright owner] 5249 * 5250 * CDDL HEADER END 5251 */ 5252 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5253 /* All Rights Reserved */ 5254 5255 5256 /* 5257 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5258 * Use is subject to license terms. 5259 * 5260 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5261 * Copyright 2016 Joyent, Inc. 5262 */ 5263 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 5265 /* 5266 * CDDL HEADER START 5267 * 5268 * The contents of this file are subject to the terms of the 5269 * Common Development and Distribution License (the "License"). 5270 * You may not use this file except in compliance with the License. 5271 * 5272 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5273 * or http://www.opensolaris.org/os/licensing. 5274 * See the License for the specific language governing permissions 5275 * and limitations under the License. 5276 * 5277 * 5278 * When distributing Covered Code, include this CDDL HEADER in each 5279 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5280 * If applicable, add the following below this CDDL HEADER, with the 5281 * fields enclosed by brackets "[]" replaced with your own identifying 5282 * information: Portions Copyright [yyyy] [name of copyright owner] 5283 * 5284 * CDDL HEADER END 5285 */ 5286 5287 /* 5288 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 5289 * Use is subject to license terms. 5290 * Copyright 2016 Joyent, Inc. 5291 */ 5292 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5293 5294 5295 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 5296 /* 5297 * This file and its contents are supplied under the terms of the 5298 * Common Development and Distribution License ("CDDL"), version 1.0. 5299 * You may only use this file in accordance with the terms of version 5300 * 1.0 of the CDDL. 5301 * 5302 * A full copy of the text of the CDDL should have accompanied this 5303 * source. A copy of the CDDL is also available via the Internet at 5304 * http://www.illumos.org/license/CDDL. 5305 */ 5306 5307 /* 5308 * Copyright 2014-2016 PALO, Richard. 5309 */ 5310 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5311 5312 5313 5314 5315 5316 /* 5317 * Fundamental variables; don't change too often. 5318 */ 5319 5320 /* 5321 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 5322 * an early merge with AT&T source. It has also historically been defined 5323 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 5324 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 5325 * Subsequent versions of the IEEE Standard as well as the X/Open 5326 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 5327 * while still allowing for it's existence in other headers. With the 5328 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 5329 */ 5330 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5331 /* compatibility purposes only */ 5332 /* and will be removed in a */ 5333 /* later release */ 5334 5335 /* 5336 * These define the maximum and minimum allowable values of the 5337 * configurable parameter NGROUPS_MAX. 5338 */ 5339 5340 5341 5342 5343 /* 5344 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 5345 */ 5346 5347 5348 /* 5349 * Default process priority. Keep it in sync with limits.h. 5350 */ 5351 5352 5353 /* 5354 * Fundamental constants of the implementation--cannot be changed easily. 5355 */ 5356 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5357 /* REMOTE -- whether machine is primary, secondary, or regular */ 5358 5359 5360 5361 /* 5362 * MAXPATHLEN defines the longest permissible path length, 5363 * including the terminating null, after expanding symbolic links. 5364 * TYPICALMAXPATHLEN is used in a few places as an optimization 5365 * with a local buffer on the stack to avoid kmem_alloc(). 5366 * MAXSYMLINKS defines the maximum number of symbolic links 5367 * that may be expanded in a path name. It should be set high 5368 * enough to allow all legitimate uses, but halt infinite loops 5369 * reasonably quickly. 5370 * MAXNAMELEN is the length (including the terminating null) of 5371 * the longest permissible file (component) name. 5372 */ 5373 5374 5375 5376 5377 5378 /* 5379 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 5380 * including the terminating NUL. Note that this must not be larger 5381 * than related networking constants such as LIFNAMSIZ. 5382 */ 5383 5384 5385 5386 5387 5388 5389 /* 5390 * The following are defined to be the same as 5391 * defined in /usr/include/limits.h. They are 5392 * needed for pipe and FIFO compatibility. 5393 */ 5394 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5395 /* macros replacing interleaving functions */ 5396 5397 5398 5399 /* 5400 * File system parameters and macros. 5401 * 5402 * The file system is made out of blocks of at most MAXBSIZE units, 5403 * with smaller units (fragments) only in the last direct block. 5404 * MAXBSIZE primarily determines the size of buffers in the buffer 5405 * pool. It may be made larger without any effect on existing 5406 * file systems; however making it smaller make make some file 5407 * systems unmountable. 5408 * 5409 * Note that the blocked devices are assumed to have DEV_BSIZE 5410 * "sectors" and that fragments must be some multiple of this size. 5411 */ 5412 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5413 /* 64 bit versions of btodb and dbtob */ 5414 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5415 /* 5416 * Size of arg list passed in by user. 5417 */ 5418 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5419 /* 5420 * Scale factor for scaled integers used to count 5421 * %cpu time and load averages. 5422 */ 5423 5424 5425 5426 /* 5427 * Delay units are in microseconds. 5428 * 5429 * XXX These macros are not part of the DDI! 5430 */ 5431 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5432 /* 5433 * The following is to free utilities from machine dependencies within 5434 * an architecture. Must be included after definition of DEV_BSIZE. 5435 */ 5436 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 5437 /* 5438 * The following are assorted machine dependent values which can be 5439 * obtained in a machine independent manner through sysconf(2) or 5440 * sysinfo(2). In order to guarantee that these provide the expected 5441 * value at all times, the System Private interface (leading underscore) 5442 * is used. 5443 */ 5444 5445 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 5446 /* 5447 * CDDL HEADER START 5448 * 5449 * The contents of this file are subject to the terms of the 5450 * Common Development and Distribution License (the "License"). 5451 * You may not use this file except in compliance with the License. 5452 * 5453 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5454 * or http://www.opensolaris.org/os/licensing. 5455 * See the License for the specific language governing permissions 5456 * and limitations under the License. 5457 * 5458 * When distributing Covered Code, include this CDDL HEADER in each 5459 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5460 * If applicable, add the following below this CDDL HEADER, with the 5461 * fields enclosed by brackets "[]" replaced with your own identifying 5462 * information: Portions Copyright [yyyy] [name of copyright owner] 5463 * 5464 * CDDL HEADER END 5465 */ 5466 5467 /* 5468 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 5469 * All Rights Reserved 5470 * 5471 */ 5472 5473 /* 5474 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5475 * Use is subject to license terms. 5476 */ 5477 5478 /* 5479 * WARNING: This is an implementation-specific header, 5480 * its contents are not guaranteed. Applications 5481 * should include <unistd.h> and not this header. 5482 */ 5483 5484 5485 5486 5487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5488 /* 5489 * CDDL HEADER START 5490 * 5491 * The contents of this file are subject to the terms of the 5492 * Common Development and Distribution License (the "License"). 5493 * You may not use this file except in compliance with the License. 5494 * 5495 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5496 * or http://www.opensolaris.org/os/licensing. 5497 * See the License for the specific language governing permissions 5498 * and limitations under the License. 5499 * 5500 * When distributing Covered Code, include this CDDL HEADER in each 5501 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5502 * If applicable, add the following below this CDDL HEADER, with the 5503 * fields enclosed by brackets "[]" replaced with your own identifying 5504 * information: Portions Copyright [yyyy] [name of copyright owner] 5505 * 5506 * CDDL HEADER END 5507 */ 5508 5509 /* 5510 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5511 * Copyright 2016 Joyent, Inc. 5512 * 5513 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5514 * Use is subject to license terms. 5515 */ 5516 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 5517 5518 5519 5520 5521 5522 /* command names for confstr */ 5523 5524 5525 5526 /* 5527 * command names for large file configuration information 5528 */ 5529 /* large file compilation environment configuration */ 5530 5531 5532 5533 5534 /* transitional large file interface configuration */ 5535 5536 5537 5538 5539 5540 /* UNIX 98 */ 5541 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5542 /* UNIX 03 */ 5543 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5544 /* command names for POSIX sysconf */ 5545 5546 /* POSIX.1 names */ 5547 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5548 /* SVR4 names */ 5549 5550 5551 5552 5553 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 5554 5555 5556 5557 5558 /* POSIX.4 names */ 5559 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5560 /* XPG4 names */ 5561 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5562 /* additional XSH4/XCU4 command names for sysconf */ 5563 5564 5565 5566 /* additional XPG4v2 (UNIX 95) command names */ 5567 5568 5569 5570 5571 5572 /* defined for XTI (XNS Issue 5) */ 5573 5574 5575 5576 5577 5578 5579 5580 /* 5581 * Hardware specific items 5582 * Note that not all items are supported on all architectures 5583 */ 5584 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5585 /* 5586 * POSIX.1c (pthreads) names. These values are defined above 5587 * the sub-500 range. See psarc case 1995/257. 5588 */ 5589 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5590 /* UNIX 98 */ 5591 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5592 /* UNIX 03 */ 5593 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5594 /* command names for POSIX pathconf */ 5595 5596 /* POSIX.1 names */ 5597 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5598 /* POSIX.4 names */ 5599 5600 5601 5602 /* UNIX 03 names */ 5603 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5604 /* UNIX 08 names */ 5605 5606 5607 /* 5608 * Large File Summit names 5609 * 5610 * This value matches the MIPS ABI choice, but leaves a large gap in the 5611 * value space. 5612 */ 5613 5614 5615 /* 5616 * Extended attributes 5617 */ 5618 5619 5620 5621 /* 5622 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 5623 */ 5624 5625 5626 /* 5627 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 5628 */ 5629 5630 5631 5632 /* 5633 * The value of 0 is returned when 5634 * ACL's are not supported 5635 */ 5636 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5637 /* 5638 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 5639 * should not rely on this value, it has been aligned with the current 5640 * standard to avoid confusion if used. 5641 */ 5642 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 5643 /* UNIX 03 names */ 5644 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 5645 5646 5647 5648 5649 5650 5651 extern long _sysconf(int); /* System Private interface to sysconf() */ 5652 # 32 "common/apptrace.c" 2 5653 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 5654 /* 5655 * CDDL HEADER START 5656 * 5657 * The contents of this file are subject to the terms of the 5658 * Common Development and Distribution License (the "License"). 5659 * You may not use this file except in compliance with the License. 5660 * 5661 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5662 * or http://www.opensolaris.org/os/licensing. 5663 * See the License for the specific language governing permissions 5664 * and limitations under the License. 5665 * 5666 * When distributing Covered Code, include this CDDL HEADER in each 5667 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5668 * If applicable, add the following below this CDDL HEADER, with the 5669 * fields enclosed by brackets "[]" replaced with your own identifying 5670 * information: Portions Copyright [yyyy] [name of copyright owner] 5671 * 5672 * CDDL HEADER END 5673 */ 5674 /* 5675 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 5676 * 5677 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5678 * Use is subject to license terms. 5679 */ 5680 5681 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5682 /* All Rights Reserved */ 5683 5684 /* 5685 * University Copyright- Copyright (c) 1982, 1986, 1988 5686 * The Regents of the University of California 5687 * All Rights Reserved 5688 * 5689 * University Acknowledgment- Portions of this document are derived from 5690 * software developed by the University of California, Berkeley, and its 5691 * contributors. 5692 */ 5693 5694 5695 5696 5697 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5698 /* 5699 * CDDL HEADER START 5700 * 5701 * The contents of this file are subject to the terms of the 5702 * Common Development and Distribution License (the "License"). 5703 * You may not use this file except in compliance with the License. 5704 * 5705 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5706 * or http://www.opensolaris.org/os/licensing. 5707 * See the License for the specific language governing permissions 5708 * and limitations under the License. 5709 * 5710 * When distributing Covered Code, include this CDDL HEADER in each 5711 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5712 * If applicable, add the following below this CDDL HEADER, with the 5713 * fields enclosed by brackets "[]" replaced with your own identifying 5714 * information: Portions Copyright [yyyy] [name of copyright owner] 5715 * 5716 * CDDL HEADER END 5717 */ 5718 5719 /* 5720 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5721 * Copyright 2016 Joyent, Inc. 5722 * 5723 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5724 * Use is subject to license terms. 5725 */ 5726 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 5727 5728 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 5729 /* 5730 * CDDL HEADER START 5731 * 5732 * The contents of this file are subject to the terms of the 5733 * Common Development and Distribution License (the "License"). 5734 * You may not use this file except in compliance with the License. 5735 * 5736 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5737 * or http://www.opensolaris.org/os/licensing. 5738 * See the License for the specific language governing permissions 5739 * and limitations under the License. 5740 * 5741 * When distributing Covered Code, include this CDDL HEADER in each 5742 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5743 * If applicable, add the following below this CDDL HEADER, with the 5744 * fields enclosed by brackets "[]" replaced with your own identifying 5745 * information: Portions Copyright [yyyy] [name of copyright owner] 5746 * 5747 * CDDL HEADER END 5748 */ 5749 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5750 /* All Rights Reserved */ 5751 5752 5753 /* 5754 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5755 * Use is subject to license terms. 5756 * 5757 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5758 * Copyright 2016 Joyent, Inc. 5759 */ 5760 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 5761 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 5762 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 5763 /* All Rights Reserved */ 5764 5765 5766 /* 5767 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 5768 * All rights reserved. The Berkeley software License Agreement 5769 * specifies the terms and conditions for redistribution. 5770 */ 5771 5772 /* 5773 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5774 * 5775 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5776 * Use is subject to license terms. 5777 * 5778 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 5779 */ 5780 5781 /* 5782 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 5783 */ 5784 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 2 5785 5786 5787 5788 5789 5790 /* 5791 * Process priority specifications 5792 */ 5793 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 5794 /* 5795 * Resource limits 5796 */ 5797 # 91 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 5798 /* 5799 * The definitions of the following types and constants differ between the 5800 * regular and large file compilation environments. 5801 */ 5802 5803 5804 typedef unsigned long rlim_t; 5805 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 5806 struct rlimit { 5807 rlim_t rlim_cur; /* current limit */ 5808 rlim_t rlim_max; /* maximum value for rlim_cur */ 5809 }; 5810 5811 /* transitional large file interface versions */ 5812 5813 5814 typedef u_longlong_t rlim64_t; 5815 5816 5817 5818 5819 5820 struct rlimit64 { 5821 rlim64_t rlim_cur; /* current limit */ 5822 rlim64_t rlim_max; /* maximum value for rlim_cur */ 5823 }; 5824 5825 5826 5827 /* 5828 * Although the saved rlimits were initially introduced by the large file API, 5829 * they are now available for all resource limits on the 64-bit kernel and for 5830 * cpu time and file size limits on the 32-bit kernel. 5831 */ 5832 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 5833 struct rusage { 5834 struct timeval ru_utime; /* user time used */ 5835 struct timeval ru_stime; /* system time used */ 5836 long ru_maxrss; /* <unimp> */ 5837 long ru_ixrss; /* <unimp> */ 5838 long ru_idrss; /* <unimp> */ 5839 long ru_isrss; /* <unimp> */ 5840 long ru_minflt; /* any page faults not requiring I/O */ 5841 long ru_majflt; /* any page faults requiring I/O */ 5842 long ru_nswap; /* swaps */ 5843 long ru_inblock; /* block input operations */ 5844 long ru_oublock; /* block output operations */ 5845 long ru_msgsnd; /* streams messsages sent */ 5846 long ru_msgrcv; /* streams messages received */ 5847 long ru_nsignals; /* signals received */ 5848 long ru_nvcsw; /* voluntary context switches */ 5849 long ru_nivcsw; /* involuntary " */ 5850 }; 5851 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 5852 extern int setrlimit(int, const struct rlimit *); 5853 extern int getrlimit(int, struct rlimit *); 5854 5855 /* transitional large file interfaces */ 5856 5857 5858 extern int setrlimit64(int, const struct rlimit64 *); 5859 extern int getrlimit64(int, struct rlimit64 *); 5860 5861 5862 extern int getpriority(int, id_t); 5863 extern int setpriority(int, id_t, int); 5864 extern int getrusage(int, struct rusage *); 5865 # 33 "common/apptrace.c" 2 5866 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 5867 /* 5868 * CDDL HEADER START 5869 * 5870 * The contents of this file are subject to the terms of the 5871 * Common Development and Distribution License (the "License"). 5872 * You may not use this file except in compliance with the License. 5873 * 5874 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5875 * or http://www.opensolaris.org/os/licensing. 5876 * See the License for the specific language governing permissions 5877 * and limitations under the License. 5878 * 5879 * When distributing Covered Code, include this CDDL HEADER in each 5880 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5881 * If applicable, add the following below this CDDL HEADER, with the 5882 * fields enclosed by brackets "[]" replaced with your own identifying 5883 * information: Portions Copyright [yyyy] [name of copyright owner] 5884 * 5885 * CDDL HEADER END 5886 */ 5887 5888 /* 5889 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5890 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 5891 */ 5892 5893 /* Copyright (c) 1988 AT&T */ 5894 /* All Rights Reserved */ 5895 5896 /* 5897 * User-visible pieces of the ANSI C standard I/O package. 5898 */ 5899 5900 5901 5902 5903 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 5904 /* 5905 * CDDL HEADER START 5906 * 5907 * The contents of this file are subject to the terms of the 5908 * Common Development and Distribution License (the "License"). 5909 * You may not use this file except in compliance with the License. 5910 * 5911 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5912 * or http://www.opensolaris.org/os/licensing. 5913 * See the License for the specific language governing permissions 5914 * and limitations under the License. 5915 * 5916 * When distributing Covered Code, include this CDDL HEADER in each 5917 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5918 * If applicable, add the following below this CDDL HEADER, with the 5919 * fields enclosed by brackets "[]" replaced with your own identifying 5920 * information: Portions Copyright [yyyy] [name of copyright owner] 5921 * 5922 * CDDL HEADER END 5923 */ 5924 5925 /* 5926 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 5927 * Copyright 2016 Joyent, Inc. 5928 * 5929 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5930 * Use is subject to license terms. 5931 */ 5932 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 5933 5934 5935 5936 5937 5938 /* 5939 * Do all of our 'redefine_extname' processing before 5940 * declarations of the associated functions are seen. 5941 * This is necessary to keep gcc happy. 5942 */ 5943 5944 5945 /* large file compilation environment setup */ 5946 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 5947 /* In the LP64 compilation environment, all APIs are already large file */ 5948 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 5949 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 1 5950 /* 5951 * CDDL HEADER START 5952 * 5953 * The contents of this file are subject to the terms of the 5954 * Common Development and Distribution License, Version 1.0 only 5955 * (the "License"). You may not use this file except in compliance 5956 * with the License. 5957 * 5958 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 5959 * or http://www.opensolaris.org/os/licensing. 5960 * See the License for the specific language governing permissions 5961 * and limitations under the License. 5962 * 5963 * When distributing Covered Code, include this CDDL HEADER in each 5964 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 5965 * If applicable, add the following below this CDDL HEADER, with the 5966 * fields enclosed by brackets "[]" replaced with your own identifying 5967 * information: Portions Copyright [yyyy] [name of copyright owner] 5968 * 5969 * CDDL HEADER END 5970 */ 5971 /* 5972 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5973 * Copyright 2014 PALO, Richard. 5974 * 5975 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 5976 * Use is subject to license terms. 5977 */ 5978 5979 /* Copyright (c) 1988 AT&T */ 5980 /* All Rights Reserved */ 5981 5982 /* 5983 * An application should not include this header directly. Instead it 5984 * should be included only through the inclusion of other Sun headers. 5985 * 5986 * The contents of this header is limited to identifiers specified in the 5987 * C Standard. Any new identifiers specified in future amendments to the 5988 * C Standard must be placed in this header. If these new identifiers 5989 * are required to also be in the C++ Standard "std" namespace, then for 5990 * anything other than macro definitions, corresponding "using" directives 5991 * must also be added to <stdio.h>. 5992 */ 5993 5994 /* 5995 * User-visible pieces of the ANSI C standard I/O package. 5996 */ 5997 5998 5999 6000 6001 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6002 /* 6003 * CDDL HEADER START 6004 * 6005 * The contents of this file are subject to the terms of the 6006 * Common Development and Distribution License (the "License"). 6007 * You may not use this file except in compliance with the License. 6008 * 6009 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6010 * or http://www.opensolaris.org/os/licensing. 6011 * See the License for the specific language governing permissions 6012 * and limitations under the License. 6013 * 6014 * When distributing Covered Code, include this CDDL HEADER in each 6015 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6016 * If applicable, add the following below this CDDL HEADER, with the 6017 * fields enclosed by brackets "[]" replaced with your own identifying 6018 * information: Portions Copyright [yyyy] [name of copyright owner] 6019 * 6020 * CDDL HEADER END 6021 */ 6022 6023 /* 6024 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6025 * Copyright 2016 Joyent, Inc. 6026 * 6027 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6028 * Use is subject to license terms. 6029 */ 6030 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 6031 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6032 /* 6033 * This file and its contents are supplied under the terms of the 6034 * Common Development and Distribution License ("CDDL"), version 1.0. 6035 * You may only use this file in accordance with the terms of version 6036 * 1.0 of the CDDL. 6037 * 6038 * A full copy of the text of the CDDL should have accompanied this 6039 * source. A copy of the CDDL is also available via the Internet at 6040 * http://www.illumos.org/license/CDDL. 6041 */ 6042 6043 /* 6044 * Copyright 2014-2016 PALO, Richard. 6045 */ 6046 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 6047 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 6048 /* 6049 * CDDL HEADER START 6050 * 6051 * The contents of this file are subject to the terms of the 6052 * Common Development and Distribution License, Version 1.0 only 6053 * (the "License"). You may not use this file except in compliance 6054 * with the License. 6055 * 6056 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6057 * or http://www.opensolaris.org/os/licensing. 6058 * See the License for the specific language governing permissions 6059 * and limitations under the License. 6060 * 6061 * When distributing Covered Code, include this CDDL HEADER in each 6062 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6063 * If applicable, add the following below this CDDL HEADER, with the 6064 * fields enclosed by brackets "[]" replaced with your own identifying 6065 * information: Portions Copyright [yyyy] [name of copyright owner] 6066 * 6067 * CDDL HEADER END 6068 */ 6069 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 6070 /* All Rights Reserved */ 6071 6072 6073 /* 6074 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6075 * 6076 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6077 * Use is subject to license terms. 6078 */ 6079 6080 6081 6082 6083 /* 6084 * An application should not include this header directly. Instead it 6085 * should be included only through the inclusion of other Sun headers. 6086 * 6087 * The purpose of this header is to provide the type definitions for 6088 * the va_list argument used by a number of printf and printf like 6089 * functions. The headers that define these various function prototypes 6090 * #include this header directly. These include but are not necessarily 6091 * limited to <stdio.h>, <stdio_iso.h>, <wchar_iso.h>, <strlog.h> and 6092 * <syslog.h>. The type definitions included in this header are for 6093 * the benefit of consumers of va_list. 6094 * 6095 * Any application that accepts variable argument lists must as documented, 6096 * include either <varargs.h> or the preferred <stdarg.h>. Doing so will 6097 * pull in the appropriate compiler protocols defined in <sys/va_impl.h> 6098 * which is in turn is included by <varargs.h> and <stdarg.h>. See comments 6099 * in <sys/va_impl.h> for more detailed information regarding implementation 6100 * and compiler specific protocols. 6101 */ 6102 6103 /* 6104 * The common definitions exported by this header or compilers using 6105 * this header are: 6106 * 6107 * the identifier __builtin_va_alist for the variable list pseudo parameter 6108 * the type __va_alist_type for the variable list pseudo parameter 6109 * the type __va_list defining the type of the variable list iterator 6110 * 6111 * The feature macros (e.g. __BUILTIN_VA_STRUCT) and compiler macros 6112 * (__GNUC__) and processor macros (e.g. __amd64) are intended to be 6113 * defined by the compilation system, not the user of the system. 6114 */ 6115 6116 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6117 /* 6118 * CDDL HEADER START 6119 * 6120 * The contents of this file are subject to the terms of the 6121 * Common Development and Distribution License (the "License"). 6122 * You may not use this file except in compliance with the License. 6123 * 6124 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6125 * or http://www.opensolaris.org/os/licensing. 6126 * See the License for the specific language governing permissions 6127 * and limitations under the License. 6128 * 6129 * 6130 * When distributing Covered Code, include this CDDL HEADER in each 6131 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6132 * If applicable, add the following below this CDDL HEADER, with the 6133 * fields enclosed by brackets "[]" replaced with your own identifying 6134 * information: Portions Copyright [yyyy] [name of copyright owner] 6135 * 6136 * CDDL HEADER END 6137 */ 6138 6139 /* 6140 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6141 * Use is subject to license terms. 6142 * Copyright 2016 Joyent, Inc. 6143 */ 6144 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 2 6145 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 6146 typedef __builtin_va_list __gnuc_va_list; 6147 /* 6148 * XX64 This seems unnecessary .. but is needed because vcmn_err is 6149 * defined with __va_list instead of plain old va_list. 6150 * Perhaps that should be fixed! 6151 */ 6152 typedef __builtin_va_list __va_list; 6153 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 6154 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 6155 /* 6156 * CDDL HEADER START 6157 * 6158 * The contents of this file are subject to the terms of the 6159 * Common Development and Distribution License, Version 1.0 only 6160 * (the "License"). You may not use this file except in compliance 6161 * with the License. 6162 * 6163 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6164 * or http://www.opensolaris.org/os/licensing. 6165 * See the License for the specific language governing permissions 6166 * and limitations under the License. 6167 * 6168 * When distributing Covered Code, include this CDDL HEADER in each 6169 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6170 * If applicable, add the following below this CDDL HEADER, with the 6171 * fields enclosed by brackets "[]" replaced with your own identifying 6172 * information: Portions Copyright [yyyy] [name of copyright owner] 6173 * 6174 * CDDL HEADER END 6175 */ 6176 /* 6177 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6178 * Use is subject to license terms. 6179 */ 6180 6181 6182 6183 6184 #pragma ident "%Z%%M% %I% %E% SMI" 6185 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 6186 typedef struct __FILE __FILE; 6187 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 6188 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 1 6189 /* 6190 * CDDL HEADER START 6191 * 6192 * The contents of this file are subject to the terms of the 6193 * Common Development and Distribution License (the "License"). 6194 * You may not use this file except in compliance with the License. 6195 * 6196 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6197 * or http://www.opensolaris.org/os/licensing. 6198 * See the License for the specific language governing permissions 6199 * and limitations under the License. 6200 * 6201 * When distributing Covered Code, include this CDDL HEADER in each 6202 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6203 * If applicable, add the following below this CDDL HEADER, with the 6204 * fields enclosed by brackets "[]" replaced with your own identifying 6205 * information: Portions Copyright [yyyy] [name of copyright owner] 6206 * 6207 * CDDL HEADER END 6208 */ 6209 6210 /* 6211 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6212 * Use is subject to license terms. 6213 */ 6214 6215 6216 6217 6218 #pragma ident "%Z%%M% %I% %E% SMI" 6219 6220 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 6221 /* 6222 * CDDL HEADER START 6223 * 6224 * The contents of this file are subject to the terms of the 6225 * Common Development and Distribution License (the "License"). 6226 * You may not use this file except in compliance with the License. 6227 * 6228 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6229 * or http://www.opensolaris.org/os/licensing. 6230 * See the License for the specific language governing permissions 6231 * and limitations under the License. 6232 * 6233 * 6234 * When distributing Covered Code, include this CDDL HEADER in each 6235 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6236 * If applicable, add the following below this CDDL HEADER, with the 6237 * fields enclosed by brackets "[]" replaced with your own identifying 6238 * information: Portions Copyright [yyyy] [name of copyright owner] 6239 * 6240 * CDDL HEADER END 6241 */ 6242 6243 /* 6244 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 6245 * Use is subject to license terms. 6246 * Copyright 2016 Joyent, Inc. 6247 */ 6248 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 2 6249 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_impl.h" 6250 struct __FILE /* needs to be binary-compatible with old versions */ 6251 { 6252 6253 6254 6255 6256 int _cnt; /* number of available characters in buffer */ 6257 unsigned char *_ptr; /* next character from/to here in buffer */ 6258 6259 unsigned char *_base; /* the buffer */ 6260 unsigned char _flag; /* the state of the stream */ 6261 unsigned char _magic; /* Old home of the file descriptor */ 6262 /* Only fileno(3C) can retrieve the value now */ 6263 unsigned __orientation:2; /* the orientation of the stream */ 6264 unsigned __ionolock:1; /* turn off implicit locking */ 6265 unsigned __seekable:1; /* is file seekable? */ 6266 unsigned __extendedfd:1; /* enable extended FILE */ 6267 unsigned __xf_nocheck:1; /* no extended FILE runtime check */ 6268 unsigned __filler:10; 6269 }; 6270 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 2 6271 6272 /* 6273 * If feature test macros are set that enable interfaces that use types 6274 * defined in <sys/types.h>, get those types by doing the include. 6275 * 6276 * Note that in asking for the interfaces associated with this feature test 6277 * macro one also asks for definitions of the POSIX types. 6278 */ 6279 6280 6281 6282 6283 6284 6285 /* 6286 * The following typedefs are adopted from ones in <sys/types.h> (with leading 6287 * underscores added to avoid polluting the ANSI C name space). See the 6288 * commentary there for further explanation. 6289 */ 6290 6291 typedef long long __longlong_t; 6292 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 6293 typedef __FILE FILE; 6294 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 6295 typedef long fpos_t; 6296 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 6297 /* 6298 * The value of _NFILE is defined in the Processor Specific ABI. The value 6299 * is chosen for historical reasons rather than for truly processor related 6300 * attribute. Note that the SPARC Processor Specific ABI uses the common 6301 * UNIX historical value of 20 so it is allowed to fall through. 6302 */ 6303 # 156 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 6304 extern __FILE __iob[60]; 6305 # 191 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_iso.h" 6306 extern int remove(const char *); 6307 extern int rename(const char *, const char *); 6308 extern FILE *tmpfile(void); 6309 extern char *tmpnam(char *); 6310 extern int fclose(FILE *); 6311 extern int fflush(FILE *); 6312 extern FILE *fopen(const char *, const char *); 6313 extern FILE *freopen(const char *, 6314 const char *, FILE *); 6315 extern void setbuf(FILE *, char *); 6316 extern int setvbuf(FILE *, char *, int, 6317 size_t); 6318 /* PRINTFLIKE2 */ 6319 extern int fprintf(FILE *, const char *, ...); 6320 /* SCANFLIKE2 */ 6321 extern int fscanf(FILE *, const char *, ...); 6322 /* PRINTFLIKE1 */ 6323 extern int printf(const char *, ...); 6324 /* SCANFLIKE1 */ 6325 extern int scanf(const char *, ...); 6326 /* PRINTFLIKE2 */ 6327 extern int sprintf(char *, const char *, ...); 6328 /* SCANFLIKE2 */ 6329 extern int sscanf(const char *, 6330 const char *, ...); 6331 extern int vfprintf(FILE *, const char *, 6332 __va_list); 6333 extern int vprintf(const char *, __va_list); 6334 extern int vsprintf(char *, const char *, 6335 __va_list); 6336 extern int fgetc(FILE *); 6337 extern char *fgets(char *, int, FILE *); 6338 extern int fputc(int, FILE *); 6339 extern int fputs(const char *, FILE *); 6340 6341 6342 extern int getc(FILE *); 6343 extern int putc(int, FILE *); 6344 6345 6346 6347 extern int getchar(void); 6348 extern int putchar(int); 6349 6350 6351 /* 6352 * ISO/IEC C11 removed gets from the standard library. Therefore if a strict C11 6353 * environment has been requested, we remove it. 6354 */ 6355 6356 extern char *gets(char *); 6357 6358 extern int puts(const char *); 6359 extern int ungetc(int, FILE *); 6360 extern size_t fread(void *, size_t, size_t, 6361 FILE *); 6362 extern size_t fwrite(const void *, size_t, size_t, 6363 FILE *); 6364 6365 extern int fgetpos(FILE *, fpos_t *); 6366 extern int fsetpos(FILE *, const fpos_t *); 6367 6368 extern int fseek(FILE *, long, int); 6369 extern long ftell(FILE *); 6370 extern void rewind(FILE *); 6371 6372 6373 extern void clearerr(FILE *); 6374 extern int feof(FILE *); 6375 extern int ferror(FILE *); 6376 6377 extern void perror(const char *); 6378 6379 6380 extern int __filbuf(FILE *); 6381 extern int __flsbuf(int, FILE *); 6382 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 6383 6384 /* 6385 * If feature test macros are set that enable interfaces that use types 6386 * defined in <sys/types.h>, get those types by doing the include. 6387 * 6388 * Note that in asking for the interfaces associated with this feature test 6389 * macro one also asks for definitions of the POSIX types. 6390 */ 6391 6392 /* 6393 * Allow global visibility for symbols defined in 6394 * C++ "std" namespace in <iso/stdio_iso.h>. 6395 */ 6396 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6397 /* 6398 * This header needs to be included here because it relies on the global 6399 * visibility of FILE and size_t in the C++ environment. 6400 */ 6401 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 1 6402 /* 6403 * CDDL HEADER START 6404 * 6405 * The contents of this file are subject to the terms of the 6406 * Common Development and Distribution License, Version 1.0 only 6407 * (the "License"). You may not use this file except in compliance 6408 * with the License. 6409 * 6410 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6411 * or http://www.opensolaris.org/os/licensing. 6412 * See the License for the specific language governing permissions 6413 * and limitations under the License. 6414 * 6415 * When distributing Covered Code, include this CDDL HEADER in each 6416 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6417 * If applicable, add the following below this CDDL HEADER, with the 6418 * fields enclosed by brackets "[]" replaced with your own identifying 6419 * information: Portions Copyright [yyyy] [name of copyright owner] 6420 * 6421 * CDDL HEADER END 6422 */ 6423 /* 6424 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6425 * 6426 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6427 * Use is subject to license terms. 6428 */ 6429 6430 /* 6431 * An application should not include this header directly. Instead it 6432 * should be included only through the inclusion of other Sun headers. 6433 * 6434 * The contents of this header is limited to identifiers specified in 6435 * the C99 standard and in conflict with the C++ implementation of the 6436 * standard header. The C++ standard may adopt the C99 standard at 6437 * which point it is expected that the symbols included here will 6438 * become part of the C++ std namespace. 6439 */ 6440 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 6441 /* 6442 * The following have been added as a result of the ISO/IEC 9899:1999 6443 * standard. For a strictly conforming C application, visibility is 6444 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 6445 * For non-strictly conforming C applications, there are no restrictions 6446 * on the C namespace. 6447 */ 6448 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdio_c99.h" 6449 extern int vfscanf(FILE *, const char *, __va_list); 6450 extern int vscanf(const char *, __va_list); 6451 extern int vsscanf(const char *, const char *, 6452 __va_list); 6453 6454 6455 6456 6457 extern int snprintf(char *, size_t, const char *, 6458 ...); 6459 extern int vsnprintf(char *, size_t, const char *, 6460 __va_list); 6461 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 2 6462 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6463 typedef __longlong_t fpos64_t; 6464 6465 6466 6467 /* 6468 * XPG4 requires that va_list be defined in <stdio.h> "as described in 6469 * <stdarg.h>". ANSI-C and POSIX require that the namespace of <stdio.h> 6470 * not be polluted with this name. 6471 */ 6472 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6473 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 6474 # 213 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6475 extern unsigned char _sibuf[], _sobuf[]; 6476 6477 6478 /* large file compilation environment setup */ 6479 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6480 extern unsigned char *_bufendtab[]; 6481 extern FILE *_lastbuf; 6482 6483 6484 /* In the LP64 compilation environment, all APIs are already large file */ 6485 # 268 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6486 extern char *tmpnam_r(char *); 6487 6488 6489 6490 6491 extern int fcloseall(void); 6492 extern void setbuffer(FILE *, char *, size_t); 6493 extern int setlinebuf(FILE *); 6494 /* PRINTFLIKE2 */ 6495 extern int asprintf(char **, const char *, ...); 6496 /* PRINTFLIKE2 */ 6497 extern int vasprintf(char **, const char *, __va_list); 6498 6499 6500 6501 6502 /* || defined(_XPG7) */ 6503 extern ssize_t getdelim(char **, size_t *, 6504 int, FILE *); 6505 extern ssize_t getline(char **, size_t *, 6506 FILE *); 6507 6508 6509 /* 6510 * The following are known to POSIX and XOPEN, but not to ANSI-C. 6511 */ 6512 6513 6514 6515 extern FILE *fdopen(int, const char *); 6516 extern char *ctermid(char *); 6517 extern int fileno(FILE *); 6518 6519 6520 6521 /* 6522 * The following are known to POSIX.1c, but not to ANSI-C or XOPEN. 6523 */ 6524 # 318 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 6525 /* 6526 * The following are known to XOPEN, but not to ANSI-C or POSIX. 6527 */ 6528 6529 6530 extern FILE *popen(const char *, const char *); 6531 extern char *tempnam(const char *, const char *); 6532 extern int pclose(FILE *); 6533 6534 extern int getsubopt(char **, char *const *, char **); 6535 6536 6537 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 6538 6539 extern char *cuserid(char *); 6540 extern int getopt(int, char *const *, const char *); 6541 extern char *optarg; 6542 extern int optind, opterr, optopt; 6543 extern int getw(FILE *); 6544 extern int putw(int, FILE *); 6545 6546 6547 6548 6549 /* 6550 * The following are defined as part of the Large File Summit interfaces. 6551 */ 6552 6553 extern int fseeko(FILE *, off_t, int); 6554 extern off_t ftello(FILE *); 6555 6556 6557 /* 6558 * The following are defined as part of the transitional Large File Summit 6559 * interfaces. 6560 */ 6561 6562 6563 extern FILE *fopen64(const char *, const char *); 6564 extern FILE *freopen64(const char *, const char *, FILE *); 6565 extern FILE *tmpfile64(void); 6566 extern int fgetpos64(FILE *, fpos64_t *); 6567 extern int fsetpos64(FILE *, const fpos64_t *); 6568 extern int fseeko64(FILE *, off64_t, int); 6569 extern off64_t ftello64(FILE *); 6570 6571 6572 /* 6573 * XPG7 symbols 6574 */ 6575 6576 extern FILE *fmemopen(void *, size_t, 6577 const char *); 6578 extern FILE *open_memstream(char **, size_t *); 6579 # 34 "common/apptrace.c" 2 6580 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 6581 /* 6582 * CDDL HEADER START 6583 * 6584 * The contents of this file are subject to the terms of the 6585 * Common Development and Distribution License (the "License"). 6586 * You may not use this file except in compliance with the License. 6587 * 6588 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6589 * or http://www.opensolaris.org/os/licensing. 6590 * See the License for the specific language governing permissions 6591 * and limitations under the License. 6592 * 6593 * When distributing Covered Code, include this CDDL HEADER in each 6594 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6595 * If applicable, add the following below this CDDL HEADER, with the 6596 * fields enclosed by brackets "[]" replaced with your own identifying 6597 * information: Portions Copyright [yyyy] [name of copyright owner] 6598 * 6599 * CDDL HEADER END 6600 */ 6601 6602 /* 6603 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6604 * Copyright (c) 2013 Gary Mills 6605 * 6606 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 6607 */ 6608 6609 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 6610 6611 /* Copyright (c) 1988 AT&T */ 6612 /* All Rights Reserved */ 6613 6614 6615 6616 6617 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 1 6618 /* 6619 * CDDL HEADER START 6620 * 6621 * The contents of this file are subject to the terms of the 6622 * Common Development and Distribution License, Version 1.0 only 6623 * (the "License"). You may not use this file except in compliance 6624 * 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 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6641 * Copyright 2014 PALO, Richard. 6642 * 6643 * Copyright 2005 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 * An application should not include this header directly. Instead it 6653 * should be included only through the inclusion of other Sun headers. 6654 * 6655 * The contents of this header is limited to identifiers specified in the 6656 * C Standard. Any new identifiers specified in future amendments to the 6657 * C Standard must be placed in this header. If these new identifiers 6658 * are required to also be in the C++ Standard "std" namespace, then for 6659 * anything other than macro definitions, corresponding "using" directives 6660 * must also be added to <locale.h>. 6661 */ 6662 6663 6664 6665 6666 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6667 /* 6668 * CDDL HEADER START 6669 * 6670 * The contents of this file are subject to the terms of the 6671 * Common Development and Distribution License (the "License"). 6672 * You may not use this file except in compliance with the License. 6673 * 6674 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6675 * or http://www.opensolaris.org/os/licensing. 6676 * See the License for the specific language governing permissions 6677 * and limitations under the License. 6678 * 6679 * When distributing Covered Code, include this CDDL HEADER in each 6680 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6681 * If applicable, add the following below this CDDL HEADER, with the 6682 * fields enclosed by brackets "[]" replaced with your own identifying 6683 * information: Portions Copyright [yyyy] [name of copyright owner] 6684 * 6685 * CDDL HEADER END 6686 */ 6687 6688 /* 6689 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6690 * Copyright 2016 Joyent, Inc. 6691 * 6692 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6693 * Use is subject to license terms. 6694 */ 6695 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 6696 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 6697 /* 6698 * This file and its contents are supplied under the terms of the 6699 * Common Development and Distribution License ("CDDL"), version 1.0. 6700 * You may only use this file in accordance with the terms of version 6701 * 1.0 of the CDDL. 6702 * 6703 * A full copy of the text of the CDDL should have accompanied this 6704 * source. A copy of the CDDL is also available via the Internet at 6705 * http://www.illumos.org/license/CDDL. 6706 */ 6707 6708 /* 6709 * Copyright 2014-2016 PALO, Richard. 6710 */ 6711 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 2 6712 6713 6714 6715 6716 6717 unsigned char __mb_cur_max(void); 6718 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 6719 typedef struct { 6720 int quot; 6721 int rem; 6722 } div_t; 6723 6724 typedef struct { 6725 long quot; 6726 long rem; 6727 } ldiv_t; 6728 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 6729 /* 6730 * wchar_t is a built-in type in standard C++ and as such is not 6731 * defined here when using standard C++. However, the GNU compiler 6732 * fixincludes utility nonetheless creates its own version of this 6733 * header for use by gcc and g++. In that version it adds a redundant 6734 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 6735 * header we need to include the following magic comment: 6736 * 6737 * we must use the C++ compiler's type 6738 * 6739 * The above comment should not be removed or changed until GNU 6740 * gcc/fixinc/inclhack.def is updated to bypass this header. 6741 */ 6742 6743 6744 6745 6746 6747 6748 typedef long wchar_t; 6749 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_iso.h" 6750 extern void abort(void) __attribute__((__noreturn__)); 6751 extern int abs(int); 6752 extern int atexit(void (*)(void)); 6753 extern double atof(const char *); 6754 extern int atoi(const char *); 6755 extern long int atol(const char *); 6756 extern void *bsearch(const void *, const void *, size_t, size_t, 6757 int (*)(const void *, const void *)); 6758 6759 6760 6761 6762 6763 6764 extern void *calloc(size_t, size_t); 6765 extern div_t div(int, int); 6766 extern void exit(int) 6767 __attribute__((__noreturn__)); 6768 extern void free(void *); 6769 extern char *getenv(const char *); 6770 extern long int labs(long); 6771 extern ldiv_t ldiv(long, long); 6772 extern void *malloc(size_t); 6773 extern int mblen(const char *, size_t); 6774 extern size_t mbstowcs(wchar_t *, const char *, 6775 size_t); 6776 extern int mbtowc(wchar_t *, const char *, size_t); 6777 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); 6778 6779 6780 6781 6782 6783 extern int rand(void); 6784 extern void *realloc(void *, size_t); 6785 extern void srand(unsigned int); 6786 extern double strtod(const char *, char **); 6787 extern long int strtol(const char *, char **, int); 6788 extern unsigned long int strtoul(const char *, 6789 char **, int); 6790 extern int system(const char *); 6791 extern int wctomb(char *, wchar_t); 6792 extern size_t wcstombs(char *, const wchar_t *, 6793 size_t); 6794 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 6795 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 1 6796 /* 6797 * CDDL HEADER START 6798 * 6799 * The contents of this file are subject to the terms of the 6800 * Common Development and Distribution License, Version 1.0 only 6801 * (the "License"). You may not use this file except in compliance 6802 * with the License. 6803 * 6804 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6805 * or http://www.opensolaris.org/os/licensing. 6806 * See the License for the specific language governing permissions 6807 * and limitations under the License. 6808 * 6809 * When distributing Covered Code, include this CDDL HEADER in each 6810 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6811 * If applicable, add the following below this CDDL HEADER, with the 6812 * fields enclosed by brackets "[]" replaced with your own identifying 6813 * information: Portions Copyright [yyyy] [name of copyright owner] 6814 * 6815 * CDDL HEADER END 6816 */ 6817 /* 6818 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 6819 * 6820 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 6821 * Use is subject to license terms. 6822 */ 6823 6824 /* 6825 * An application should not include this header directly. Instead it 6826 * should be included only through the inclusion of other Sun headers. 6827 * 6828 * The contents of this header is limited to identifiers specified in 6829 * the C99 standard and in conflict with the C++ implementation of the 6830 * standard header. The C++ standard may adopt the C99 standard at 6831 * which point it is expected that the symbols included here will 6832 * become part of the C++ std namespace. 6833 */ 6834 6835 6836 6837 6838 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6839 /* 6840 * CDDL HEADER START 6841 * 6842 * The contents of this file are subject to the terms of the 6843 * Common Development and Distribution License (the "License"). 6844 * You may not use this file except in compliance with the License. 6845 * 6846 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6847 * or http://www.opensolaris.org/os/licensing. 6848 * See the License for the specific language governing permissions 6849 * and limitations under the License. 6850 * 6851 * When distributing Covered Code, include this CDDL HEADER in each 6852 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6853 * If applicable, add the following below this CDDL HEADER, with the 6854 * fields enclosed by brackets "[]" replaced with your own identifying 6855 * information: Portions Copyright [yyyy] [name of copyright owner] 6856 * 6857 * CDDL HEADER END 6858 */ 6859 6860 /* 6861 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6862 * Copyright 2016 Joyent, Inc. 6863 * 6864 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6865 * Use is subject to license terms. 6866 */ 6867 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 2 6868 6869 6870 6871 6872 6873 /* 6874 * The following have been added as a result of the ISO/IEC 9899:1999 6875 * standard. For a strictly conforming C application, visibility is 6876 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 6877 * For non-strictly conforming C applications, there are no restrictions 6878 * on the C namespace. 6879 */ 6880 6881 6882 typedef struct { 6883 long long quot; 6884 long long rem; 6885 } lldiv_t; 6886 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c99.h" 6887 extern void _Exit(int); 6888 extern float strtof(const char *, char **); 6889 extern long double strtold(const char *, char **); 6890 6891 6892 extern long long atoll(const char *); 6893 extern long long llabs(long long); 6894 extern lldiv_t lldiv(long long, long long); 6895 extern long long strtoll(const char *, char **, 6896 int); 6897 extern unsigned long long strtoull(const char *, 6898 char **, int); 6899 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 6900 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 1 6901 /* 6902 * This file and its contents are supplied under the terms of the 6903 * Common Development and Distribution License ("CDDL"), version 1.0. 6904 * You may only use this file in accordance with the terms of version 6905 * 1.0 of the CDDL. 6906 * 6907 * A full copy of the text of the CDDL should have accompanied this 6908 * source. A copy of the CDDL is also available via the Internet at 6909 * http://www.illumos.org/license/CDDL. 6910 */ 6911 6912 /* 6913 * Copyright 2016 Joyent, Inc. 6914 */ 6915 6916 /* 6917 * An application should not include this header directly. Instead it 6918 * should be included only through the inclusion of other illumos headers. 6919 * 6920 * The contents of this header is limited to identifiers specified in 6921 * the C11 standard and in conflict with the C++ implementation of the 6922 * standard header. The C++ standard may adopt the C11 standard at 6923 * which point it is expected that the symbols included here will 6924 * become part of the C++ std namespace. 6925 */ 6926 6927 6928 6929 6930 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 6931 /* 6932 * CDDL HEADER START 6933 * 6934 * The contents of this file are subject to the terms of the 6935 * Common Development and Distribution License (the "License"). 6936 * You may not use this file except in compliance with the License. 6937 * 6938 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 6939 * or http://www.opensolaris.org/os/licensing. 6940 * See the License for the specific language governing permissions 6941 * and limitations under the License. 6942 * 6943 * When distributing Covered Code, include this CDDL HEADER in each 6944 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 6945 * If applicable, add the following below this CDDL HEADER, with the 6946 * fields enclosed by brackets "[]" replaced with your own identifying 6947 * information: Portions Copyright [yyyy] [name of copyright owner] 6948 * 6949 * CDDL HEADER END 6950 */ 6951 6952 /* 6953 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 6954 * Copyright 2016 Joyent, Inc. 6955 * 6956 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 6957 * Use is subject to license terms. 6958 */ 6959 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 2 6960 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 6961 /* 6962 * The following have been added as a result of the ISO/IEC 9899:2011 6963 * standard. For a strictly conforming C application, visibility is 6964 * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 6965 * For non-strictly conforming C applications, there are no restrictions 6966 * on the C namespace. 6967 */ 6968 6969 /* 6970 * Work around fix-includes and other bad actors with using multiple headers. 6971 */ 6972 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdlib_c11.h" 6973 extern void *aligned_alloc(size_t, size_t); 6974 extern int at_quick_exit(void (*)(void)); 6975 extern void quick_exit(int); 6976 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 6977 6978 6979 6980 6981 6982 /* 6983 * Allow global visibility for symbols defined in 6984 * C++ "std" namespace in <iso/stdlib_iso.h>. 6985 */ 6986 # 83 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 6987 /* 6988 * Allow global visibility for symbols defined in 6989 * C++ "std" namespace in <iso/stdlib_c11.h>. 6990 */ 6991 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 6992 /* large file compilation environment setup */ 6993 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 6994 /* In the LP64 compilation environment, all APIs are already large file */ 6995 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 6996 extern int rand_r(unsigned int *); 6997 6998 6999 extern void _exithandle(void); 7000 7001 7002 7003 7004 extern double drand48(void); 7005 extern double erand48(unsigned short *); 7006 extern long jrand48(unsigned short *); 7007 extern void lcong48(unsigned short *); 7008 extern long lrand48(void); 7009 extern long mrand48(void); 7010 extern long nrand48(unsigned short *); 7011 extern unsigned short *seed48(unsigned short *); 7012 extern void srand48(long); 7013 extern int putenv(char *); 7014 extern void setkey(const char *); 7015 7016 7017 /* 7018 * swab() has historically been in <stdlib.h> as delivered from AT&T 7019 * and continues to be visible in the default compilation environment. 7020 * As of Issue 4 of the X/Open Portability Guides, swab() was declared 7021 * in <unistd.h>. As a result, with respect to X/Open namespace the 7022 * swab() declaration in this header is only visible for the XPG3 7023 * environment. 7024 */ 7025 # 182 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 7026 extern void swab(const char *, char *, ssize_t); 7027 7028 7029 7030 7031 7032 extern int mkstemp(char *); 7033 7034 extern int mkstemps(char *, int); 7035 7036 7037 7038 7039 7040 extern int mkstemp64(char *); 7041 7042 extern int mkstemps64(char *, int); 7043 7044 7045 7046 7047 extern char *mkdtemp(char *); 7048 7049 7050 7051 extern int mkostemp(char *, int); 7052 extern int mkostemps(char *, int, int); 7053 7054 7055 extern int mkostemp64(char *, int); 7056 extern int mkostemps64(char *, int, int); 7057 7058 7059 7060 7061 7062 7063 extern long a64l(const char *); 7064 extern char *ecvt(double, int, int *, int *); 7065 extern char *fcvt(double, int, int *, int *); 7066 extern char *gcvt(double, int, char *); 7067 extern int getsubopt(char **, char *const *, char **); 7068 extern int grantpt(int); 7069 extern char *initstate(unsigned, char *, size_t); 7070 extern char *l64a(long); 7071 extern char *mktemp(char *); 7072 extern char *ptsname(int); 7073 extern long random(void); 7074 extern char *realpath(const char *, char *); 7075 extern char *setstate(const char *); 7076 extern void srandom(unsigned); 7077 extern int unlockpt(int); 7078 /* Marked LEGACY in SUSv2 and removed in SUSv3 */ 7079 7080 extern int ttyslot(void); 7081 extern void *valloc(size_t); 7082 7083 7084 7085 7086 7087 7088 extern int posix_memalign(void **, size_t, size_t); 7089 extern int posix_openpt(int); 7090 extern int setenv(const char *, const char *, int); 7091 extern int unsetenv(const char *); 7092 7093 7094 7095 7096 extern char *canonicalize_file_name(const char *); 7097 extern int clearenv(void); 7098 extern void closefrom(int); 7099 extern int daemon(int, int); 7100 extern int dup2(int, int); 7101 extern int dup3(int, int, int); 7102 extern int fdwalk(int (*)(void *, int), void *); 7103 extern char *qecvt(long double, int, int *, int *); 7104 extern char *qfcvt(long double, int, int *, int *); 7105 extern char *qgcvt(long double, int, char *); 7106 extern char *getcwd(char *, size_t); 7107 extern const char *getexecname(void); 7108 7109 7110 7111 7112 7113 7114 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 7115 #pragma redefine_extname getlogin getloginx 7116 # 269 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 7117 7118 7119 7120 7121 7122 7123 extern char *getlogin(void); 7124 7125 7126 extern int getopt(int, char *const *, const char *); 7127 extern char *optarg; 7128 extern int optind, opterr, optopt; 7129 extern char *getpass(const char *); 7130 extern char *getpassphrase(const char *); 7131 extern int getpw(uid_t, char *); 7132 extern int isatty(int); 7133 extern void *memalign(size_t, size_t); 7134 extern char *ttyname(int); 7135 extern char *mkdtemp(char *); 7136 extern const char *getprogname(void); 7137 extern void setprogname(const char *); 7138 7139 7140 extern char *lltostr(long long, char *); 7141 extern char *ulltostr(unsigned long long, char *); 7142 7143 7144 7145 7146 /* OpenBSD compatibility functions */ 7147 7148 7149 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 1 7150 /* 7151 * CDDL HEADER START 7152 * 7153 * The contents of this file are subject to the terms of the 7154 * Common Development and Distribution License, Version 1.0 only 7155 * (the "License"). You may not use this file except in compliance 7156 * with the License. 7157 * 7158 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7159 * or http://www.opensolaris.org/os/licensing. 7160 * See the License for the specific language governing permissions 7161 * and limitations under the License. 7162 * 7163 * When distributing Covered Code, include this CDDL HEADER in each 7164 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7165 * If applicable, add the following below this CDDL HEADER, with the 7166 * fields enclosed by brackets "[]" replaced with your own identifying 7167 * information: Portions Copyright [yyyy] [name of copyright owner] 7168 * 7169 * CDDL HEADER END 7170 */ 7171 /* 7172 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7173 * 7174 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 7175 * Use is subject to license terms. 7176 */ 7177 7178 7179 7180 7181 /* 7182 * This file, <inttypes.h>, is specified by the ISO C standard, 7183 * standard, ISO/IEC 9899:1999 Programming language - C and is 7184 * also defined by SUSv3. 7185 * 7186 * ISO International Organization for Standardization. 7187 * SUSv3 Single Unix Specification, Version 3 7188 */ 7189 7190 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7191 /* 7192 * CDDL HEADER START 7193 * 7194 * The contents of this file are subject to the terms of the 7195 * Common Development and Distribution License (the "License"). 7196 * You may not use this file except in compliance with the License. 7197 * 7198 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7199 * or http://www.opensolaris.org/os/licensing. 7200 * See the License for the specific language governing permissions 7201 * and limitations under the License. 7202 * 7203 * When distributing Covered Code, include this CDDL HEADER in each 7204 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7205 * If applicable, add the following below this CDDL HEADER, with the 7206 * fields enclosed by brackets "[]" replaced with your own identifying 7207 * information: Portions Copyright [yyyy] [name of copyright owner] 7208 * 7209 * CDDL HEADER END 7210 */ 7211 7212 /* 7213 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7214 * Copyright 2016 Joyent, Inc. 7215 * 7216 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7217 * Use is subject to license terms. 7218 */ 7219 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 7220 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 1 7221 /* 7222 * CDDL HEADER START 7223 * 7224 * The contents of this file are subject to the terms of the 7225 * Common Development and Distribution License, Version 1.0 only 7226 * (the "License"). You may not use this file except in compliance 7227 * with the License. 7228 * 7229 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7230 * or http://www.opensolaris.org/os/licensing. 7231 * See the License for the specific language governing permissions 7232 * and limitations under the License. 7233 * 7234 * When distributing Covered Code, include this CDDL HEADER in each 7235 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7236 * If applicable, add the following below this CDDL HEADER, with the 7237 * fields enclosed by brackets "[]" replaced with your own identifying 7238 * information: Portions Copyright [yyyy] [name of copyright owner] 7239 * 7240 * CDDL HEADER END 7241 */ 7242 /* 7243 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 7244 * Use is subject to license terms. 7245 */ 7246 7247 7248 7249 7250 #pragma ident "%Z%%M% %I% %E% SMI" 7251 7252 /* 7253 * This header, <sys/inttypes.h>, contains (through nested inclusion) the 7254 * vast majority of the facilities specified for <inttypes.h> as defined 7255 * by the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 7256 * 7257 * Kernel/Driver developers are encouraged to include this file to access 7258 * the fixed size types, limits and utility macros. Application developers 7259 * should use the standard defined header <inttypes.h>. 7260 */ 7261 7262 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7263 /* 7264 * CDDL HEADER START 7265 * 7266 * The contents of this file are subject to the terms of the 7267 * Common Development and Distribution License (the "License"). 7268 * You may not use this file except in compliance with the License. 7269 * 7270 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7271 * or http://www.opensolaris.org/os/licensing. 7272 * See the License for the specific language governing permissions 7273 * and limitations under the License. 7274 * 7275 * When distributing Covered Code, include this CDDL HEADER in each 7276 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7277 * If applicable, add the following below this CDDL HEADER, with the 7278 * fields enclosed by brackets "[]" replaced with your own identifying 7279 * information: Portions Copyright [yyyy] [name of copyright owner] 7280 * 7281 * CDDL HEADER END 7282 */ 7283 7284 /* 7285 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7286 * Copyright 2016 Joyent, Inc. 7287 * 7288 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7289 * Use is subject to license terms. 7290 */ 7291 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 7292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 7293 /* 7294 * CDDL HEADER START 7295 * 7296 * The contents of this file are subject to the terms of the 7297 * Common Development and Distribution License, Version 1.0 only 7298 * (the "License"). You may not use this file except in compliance 7299 * with the License. 7300 * 7301 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7302 * or http://www.opensolaris.org/os/licensing. 7303 * See the License for the specific language governing permissions 7304 * and limitations under the License. 7305 * 7306 * When distributing Covered Code, include this CDDL HEADER in each 7307 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7308 * If applicable, add the following below this CDDL HEADER, with the 7309 * fields enclosed by brackets "[]" replaced with your own identifying 7310 * information: Portions Copyright [yyyy] [name of copyright owner] 7311 * 7312 * CDDL HEADER END 7313 */ 7314 /* 7315 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7316 * 7317 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7318 * Use is subject to license terms. 7319 */ 7320 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 7321 7322 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 7323 /* 7324 * CDDL HEADER START 7325 * 7326 * The contents of this file are subject to the terms of the 7327 * Common Development and Distribution License, Version 1.0 only 7328 * (the "License"). You may not use this file except in compliance 7329 * with the License. 7330 * 7331 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7332 * or http://www.opensolaris.org/os/licensing. 7333 * See the License for the specific language governing permissions 7334 * and limitations under the License. 7335 * 7336 * When distributing Covered Code, include this CDDL HEADER in each 7337 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7338 * If applicable, add the following below this CDDL HEADER, with the 7339 * fields enclosed by brackets "[]" replaced with your own identifying 7340 * information: Portions Copyright [yyyy] [name of copyright owner] 7341 * 7342 * CDDL HEADER END 7343 */ 7344 /* 7345 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7346 * 7347 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7348 * Use is subject to license terms. 7349 */ 7350 7351 7352 7353 7354 /* 7355 * This file, <sys/int_limits.h>, is part of the Sun Microsystems implementation 7356 * of <inttypes.h> as defined in the ISO C standard, ISO/IEC 9899:1999 7357 * Programming language - C. 7358 * 7359 * Programs/Modules should not directly include this file. Access to the 7360 * types defined in this file should be through the inclusion of one of the 7361 * following files: 7362 * 7363 * <limits.h> This nested inclusion is disabled for strictly 7364 * ANSI-C conforming compilations. The *_MIN 7365 * definitions are not visible to POSIX or XPG 7366 * conforming applications (due to what may be 7367 * a bug in the specification - this is under 7368 * investigation) 7369 * 7370 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 7371 * components of <inttypes.h>. 7372 * 7373 * <inttypes.h> For use by applications. 7374 * 7375 * See these files for more details. 7376 */ 7377 7378 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7379 /* 7380 * CDDL HEADER START 7381 * 7382 * The contents of this file are subject to the terms of the 7383 * Common Development and Distribution License (the "License"). 7384 * You may not use this file except in compliance with the License. 7385 * 7386 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7387 * or http://www.opensolaris.org/os/licensing. 7388 * See the License for the specific language governing permissions 7389 * and limitations under the License. 7390 * 7391 * When distributing Covered Code, include this CDDL HEADER in each 7392 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7393 * If applicable, add the following below this CDDL HEADER, with the 7394 * fields enclosed by brackets "[]" replaced with your own identifying 7395 * information: Portions Copyright [yyyy] [name of copyright owner] 7396 * 7397 * CDDL HEADER END 7398 */ 7399 7400 /* 7401 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7402 * Copyright 2016 Joyent, Inc. 7403 * 7404 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7405 * Use is subject to license terms. 7406 */ 7407 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 2 7408 7409 7410 7411 7412 7413 /* 7414 * Limits 7415 * 7416 * The following define the limits for the types defined in <sys/int_types.h>. 7417 * 7418 * INTMAX_MIN (minimum value of the largest supported signed integer type), 7419 * INTMAX_MAX (maximum value of the largest supported signed integer type), 7420 * and UINTMAX_MAX (maximum value of the largest supported unsigned integer 7421 * type) can be set to implementation defined limits. 7422 * 7423 * NOTE : A programmer can test to see whether an implementation supports 7424 * a particular size of integer by testing if the macro that gives the 7425 * maximum for that datatype is defined. For example, if #ifdef UINT64_MAX 7426 * tests false, the implementation does not support unsigned 64 bit integers. 7427 * 7428 * The type of these macros is intentionally unspecified. 7429 * 7430 * The types int8_t, int_least8_t, and int_fast8_t are not defined for ISAs 7431 * where the ABI specifies "char" as unsigned when the translation mode is 7432 * not ANSI-C. 7433 */ 7434 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 7435 /* 7436 * The following 2 macros are provided for testing whether the types 7437 * intptr_t and uintptr_t (integers large enough to hold a void *) are 7438 * defined in this header. They are needed in case the architecture can't 7439 * represent a pointer in any standard integral type. 7440 */ 7441 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 7442 /* Maximum limits of ptrdiff_t defined in <sys/types.h> */ 7443 7444 7445 7446 7447 7448 7449 /* 7450 * Maximum value of a "size_t". SIZE_MAX was previously defined 7451 * in <limits.h>, however, the standards specify it be defined 7452 * in <stdint.h>. The <stdint.h> headers includes this header as 7453 * does <limits.h>. The value of SIZE_MAX should not deviate 7454 * from the value of ULONG_MAX defined <sys/types.h>. 7455 */ 7456 7457 7458 7459 7460 7461 7462 /* Maximum limit of sig_atomic_t defined in <sys/types.h> */ 7463 7464 7465 7466 7467 /* 7468 * Maximum limit of wchar_t. The WCHAR_* macros are also 7469 * defined in <iso/wchar_iso.h>, but inclusion of that header 7470 * will break ISO/IEC C namespace. 7471 */ 7472 7473 7474 7475 7476 /* Maximum limit of wint_t */ 7477 7478 7479 7480 7481 /* 7482 * It is probably a bug in the POSIX specification (IEEE-1003.1-1990) that 7483 * when including <limits.h> that the suffix _MAX is reserved but not the 7484 * suffix _MIN. However, until that issue is resolved.... 7485 */ 7486 # 230 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 7487 /* Minimum value of a pointer-holding signed integer type */ 7488 7489 7490 7491 7492 7493 7494 /* Minimum limits of ptrdiff_t defined in <sys/types.h> */ 7495 7496 7497 7498 7499 7500 7501 /* Minimum limit of sig_atomic_t defined in <sys/types.h> */ 7502 7503 7504 7505 7506 /* 7507 * Minimum limit of wchar_t. The WCHAR_* macros are also 7508 * defined in <iso/wchar_iso.h>, but inclusion of that header 7509 * will break ISO/IEC C namespace. 7510 */ 7511 7512 7513 7514 7515 /* Minimum limit of wint_t */ 7516 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 7517 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 7518 /* 7519 * CDDL HEADER START 7520 * 7521 * The contents of this file are subject to the terms of the 7522 * Common Development and Distribution License, Version 1.0 only 7523 * (the "License"). You may not use this file except in compliance 7524 * with the License. 7525 * 7526 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7527 * or http://www.opensolaris.org/os/licensing. 7528 * See the License for the specific language governing permissions 7529 * and limitations under the License. 7530 * 7531 * When distributing Covered Code, include this CDDL HEADER in each 7532 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7533 * If applicable, add the following below this CDDL HEADER, with the 7534 * fields enclosed by brackets "[]" replaced with your own identifying 7535 * information: Portions Copyright [yyyy] [name of copyright owner] 7536 * 7537 * CDDL HEADER END 7538 */ 7539 /* 7540 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7541 * 7542 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7543 * Use is subject to license terms. 7544 */ 7545 7546 7547 7548 7549 /* 7550 * This file, <sys/int_const.h>, is part of the Sun Microsystems implementation 7551 * of <inttypes.h> as proposed in the ISO/JTC1/SC22/WG14 C committee's working 7552 * draft for the revision of the current ISO C standard, ISO/IEC 9899:1990 7553 * Programming language - C. 7554 * 7555 * Programs/Modules should not directly include this file. Access to the 7556 * types defined in this file should be through the inclusion of one of the 7557 * following files: 7558 * 7559 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 7560 * components of <inttypes.h>. 7561 * 7562 * <inttypes.h> For use by applications. 7563 * 7564 * See these files for more details. 7565 * 7566 * Use at your own risk. This file will track the evolution of the revision 7567 * of the current ISO C standard. As of February 1996, the committee is 7568 * squarely behind the fixed sized types. 7569 */ 7570 7571 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7572 /* 7573 * CDDL HEADER START 7574 * 7575 * The contents of this file are subject to the terms of the 7576 * Common Development and Distribution License (the "License"). 7577 * You may not use this file except in compliance with the License. 7578 * 7579 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7580 * or http://www.opensolaris.org/os/licensing. 7581 * See the License for the specific language governing permissions 7582 * and limitations under the License. 7583 * 7584 * When distributing Covered Code, include this CDDL HEADER in each 7585 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7586 * If applicable, add the following below this CDDL HEADER, with the 7587 * fields enclosed by brackets "[]" replaced with your own identifying 7588 * information: Portions Copyright [yyyy] [name of copyright owner] 7589 * 7590 * CDDL HEADER END 7591 */ 7592 7593 /* 7594 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7595 * Copyright 2016 Joyent, Inc. 7596 * 7597 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7598 * Use is subject to license terms. 7599 */ 7600 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 2 7601 7602 7603 7604 7605 7606 /* 7607 * Constants 7608 * 7609 * The following macros create constants of the types defined in 7610 * <sys/int_types.h>. The intent is that: 7611 * Constants defined using these macros have a specific size and 7612 * signedness. The suffix used for int64_t and uint64_t (ll and ull) 7613 * are for examples only. Implementations are permitted to use other 7614 * suffixes. 7615 * 7616 * The "CSTYLED" comments are flags to an internal code style analysis tool 7617 * telling it to silently accept the line which follows. This internal 7618 * standard requires a space between arguments, but the historical, 7619 * non-ANSI-C ``method'' of concatenation can't tolerate those spaces. 7620 */ 7621 /* CSTYLED */ 7622 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 7623 /* CSTYLED */ 7624 7625 7626 7627 7628 /* CSTYLED */ 7629 7630 /* CSTYLED */ 7631 7632 /* CSTYLED */ 7633 7634 7635 7636 7637 7638 7639 /* CSTYLED */ 7640 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 7641 /* CSTYLED */ 7642 7643 /* CSTYLED */ 7644 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 7645 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 1 7646 /* 7647 * CDDL HEADER START 7648 * 7649 * The contents of this file are subject to the terms of the 7650 * Common Development and Distribution License, Version 1.0 only 7651 * (the "License"). You may not use this file except in compliance 7652 * with the License. 7653 * 7654 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7655 * or http://www.opensolaris.org/os/licensing. 7656 * See the License for the specific language governing permissions 7657 * and limitations under the License. 7658 * 7659 * When distributing Covered Code, include this CDDL HEADER in each 7660 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7661 * If applicable, add the following below this CDDL HEADER, with the 7662 * fields enclosed by brackets "[]" replaced with your own identifying 7663 * information: Portions Copyright [yyyy] [name of copyright owner] 7664 * 7665 * CDDL HEADER END 7666 */ 7667 /* 7668 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7669 * 7670 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7671 * Use is subject to license terms. 7672 */ 7673 7674 7675 7676 7677 /* 7678 * This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation 7679 * of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999 7680 * Programming language - C. 7681 * 7682 * ISO International Organization for Standardization. 7683 * 7684 * Programs/Modules should not directly include this file. Access to the 7685 * types defined in this file should be through the inclusion of one of the 7686 * following files: 7687 * 7688 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 7689 * components of <inttypes.h>. 7690 * 7691 * <inttypes.h> For use by applications. 7692 * 7693 * See these files for more details. 7694 */ 7695 7696 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7697 /* 7698 * CDDL HEADER START 7699 * 7700 * The contents of this file are subject to the terms of the 7701 * Common Development and Distribution License (the "License"). 7702 * You may not use this file except in compliance with the License. 7703 * 7704 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7705 * or http://www.opensolaris.org/os/licensing. 7706 * See the License for the specific language governing permissions 7707 * and limitations under the License. 7708 * 7709 * When distributing Covered Code, include this CDDL HEADER in each 7710 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7711 * If applicable, add the following below this CDDL HEADER, with the 7712 * fields enclosed by brackets "[]" replaced with your own identifying 7713 * information: Portions Copyright [yyyy] [name of copyright owner] 7714 * 7715 * CDDL HEADER END 7716 */ 7717 7718 /* 7719 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 7720 * Copyright 2016 Joyent, Inc. 7721 * 7722 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 7723 * Use is subject to license terms. 7724 */ 7725 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 2 7726 7727 7728 7729 7730 7731 /* 7732 * Formatted I/O 7733 * 7734 * The following macros can be used even when an implementation has not 7735 * extended the printf/scanf family of functions. 7736 * 7737 * The form of the names of the macros is either "PRI" for printf specifiers 7738 * or "SCN" for scanf specifiers, followed by the conversion specifier letter 7739 * followed by the datatype size. For example, PRId32 is the macro for 7740 * the printf d conversion specifier with the flags for 32 bit datatype. 7741 * 7742 * An example using one of these macros: 7743 * 7744 * uint64_t u; 7745 * printf("u = %016" PRIx64 "\n", u); 7746 * 7747 * For the purpose of example, the definitions of the printf/scanf macros 7748 * below have the values appropriate for a machine with 8 bit shorts, 16 7749 * bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation 7750 * mode, and 64 bit long longs. 7751 */ 7752 7753 /* 7754 * fprintf macros for signed integers 7755 */ 7756 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 7757 /* 7758 * fprintf macros for unsigned integers 7759 */ 7760 # 227 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 7761 /* 7762 * fprintf macros for pointers 7763 */ 7764 # 247 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 7765 /* 7766 * fscanf macros for signed integers 7767 */ 7768 # 282 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 7769 /* 7770 * fscanf macros for unsigned integers 7771 */ 7772 # 349 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_fmtio.h" 7773 /* 7774 * The following macros define I/O formats for intmax_t and uintmax_t. 7775 */ 7776 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/inttypes.h" 2 7777 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 7778 7779 7780 7781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 1 7782 /* 7783 * CDDL HEADER START 7784 * 7785 * The contents of this file are subject to the terms of the 7786 * Common Development and Distribution License, Version 1.0 only 7787 * (the "License"). You may not use this file except in compliance 7788 * with the License. 7789 * 7790 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7791 * or http://www.opensolaris.org/os/licensing. 7792 * See the License for the specific language governing permissions 7793 * and limitations under the License. 7794 * 7795 * When distributing Covered Code, include this CDDL HEADER in each 7796 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7797 * If applicable, add the following below this CDDL HEADER, with the 7798 * fields enclosed by brackets "[]" replaced with your own identifying 7799 * information: Portions Copyright [yyyy] [name of copyright owner] 7800 * 7801 * CDDL HEADER END 7802 */ 7803 /* 7804 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 7805 * Use is subject to license terms. 7806 */ 7807 7808 7809 7810 7811 #pragma ident "%Z%%M% %I% %E% SMI" 7812 7813 /* 7814 * This header is included by <stdint.h> which was introduced by 7815 * the ISO C Standard, ISO/IEC 9899:1999 Programming language - C. 7816 * The header is a subset of the <inttypes.h> header. 7817 */ 7818 7819 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 7820 /* 7821 * CDDL HEADER START 7822 * 7823 * The contents of this file are subject to the terms of the 7824 * Common Development and Distribution License, Version 1.0 only 7825 * (the "License"). You may not use this file except in compliance 7826 * with the License. 7827 * 7828 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7829 * or http://www.opensolaris.org/os/licensing. 7830 * See the License for the specific language governing permissions 7831 * and limitations under the License. 7832 * 7833 * When distributing Covered Code, include this CDDL HEADER in each 7834 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7835 * If applicable, add the following below this CDDL HEADER, with the 7836 * fields enclosed by brackets "[]" replaced with your own identifying 7837 * information: Portions Copyright [yyyy] [name of copyright owner] 7838 * 7839 * CDDL HEADER END 7840 */ 7841 /* 7842 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7843 * 7844 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7845 * Use is subject to license terms. 7846 */ 7847 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 7848 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 7849 /* 7850 * CDDL HEADER START 7851 * 7852 * The contents of this file are subject to the terms of the 7853 * Common Development and Distribution License, Version 1.0 only 7854 * (the "License"). You may not use this file except in compliance 7855 * with the License. 7856 * 7857 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7858 * or http://www.opensolaris.org/os/licensing. 7859 * See the License for the specific language governing permissions 7860 * and limitations under the License. 7861 * 7862 * When distributing Covered Code, include this CDDL HEADER in each 7863 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7864 * If applicable, add the following below this CDDL HEADER, with the 7865 * fields enclosed by brackets "[]" replaced with your own identifying 7866 * information: Portions Copyright [yyyy] [name of copyright owner] 7867 * 7868 * CDDL HEADER END 7869 */ 7870 /* 7871 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7872 * 7873 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7874 * Use is subject to license terms. 7875 */ 7876 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 7877 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_const.h" 1 7878 /* 7879 * CDDL HEADER START 7880 * 7881 * The contents of this file are subject to the terms of the 7882 * Common Development and Distribution License, Version 1.0 only 7883 * (the "License"). You may not use this file except in compliance 7884 * with the License. 7885 * 7886 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7887 * or http://www.opensolaris.org/os/licensing. 7888 * See the License for the specific language governing permissions 7889 * and limitations under the License. 7890 * 7891 * When distributing Covered Code, include this CDDL HEADER in each 7892 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7893 * If applicable, add the following below this CDDL HEADER, with the 7894 * fields enclosed by brackets "[]" replaced with your own identifying 7895 * information: Portions Copyright [yyyy] [name of copyright owner] 7896 * 7897 * CDDL HEADER END 7898 */ 7899 /* 7900 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7901 * 7902 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 7903 * Use is subject to license terms. 7904 */ 7905 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stdint.h" 2 7906 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 2 7907 7908 7909 7910 7911 7912 7913 /* Inclusion of <stddef.h> breaks namespace, therefore define wchar_t */ 7914 7915 /* 7916 * wchar_t is a built-in type in standard C++ and as such is not 7917 * defined here when using standard C++. However, the GNU compiler 7918 * fixincludes utility nonetheless creates its own version of this 7919 * header for use by gcc and g++. In that version it adds a redundant 7920 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 7921 * header we need to include the following magic comment: 7922 * 7923 * we must use the C++ compiler's type 7924 * 7925 * The above comment should not be removed or changed until GNU 7926 * gcc/fixinc/inclhack.def is updated to bypass this header. 7927 */ 7928 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 7929 typedef struct { 7930 intmax_t quot; 7931 intmax_t rem; 7932 } imaxdiv_t; 7933 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/inttypes.h" 7934 extern intmax_t imaxabs(intmax_t); 7935 extern imaxdiv_t imaxdiv(intmax_t, intmax_t); 7936 extern intmax_t strtoimax(const char *, char **, 7937 int); 7938 extern uintmax_t strtoumax(const char *, char **, 7939 int); 7940 extern intmax_t wcstoimax(const wchar_t *, 7941 wchar_t **, int); 7942 extern uintmax_t wcstoumax(const wchar_t *, 7943 wchar_t **, int); 7944 # 302 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 2 7945 extern uint32_t arc4random(void); 7946 extern void arc4random_buf(void *, size_t); 7947 extern uint32_t arc4random_uniform(uint32_t); 7948 extern void freezero(void *, size_t); 7949 extern void *recallocarray(void *, size_t, size_t, size_t); 7950 # 35 "common/apptrace.c" 2 7951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 7952 /* 7953 * CDDL HEADER START 7954 * 7955 * The contents of this file are subject to the terms of the 7956 * Common Development and Distribution License (the "License"). 7957 * You may not use this file except in compliance with the License. 7958 * 7959 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7960 * or http://www.opensolaris.org/os/licensing. 7961 * See the License for the specific language governing permissions 7962 * and limitations under the License. 7963 * 7964 * When distributing Covered Code, include this CDDL HEADER in each 7965 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 7966 * If applicable, add the following below this CDDL HEADER, with the 7967 * fields enclosed by brackets "[]" replaced with your own identifying 7968 * information: Portions Copyright [yyyy] [name of copyright owner] 7969 * 7970 * CDDL HEADER END 7971 */ 7972 7973 /* 7974 * Copyright 2014 PALO, Richard. 7975 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 7976 * Copyright (c) 2013 Gary Mills 7977 * 7978 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 7979 */ 7980 7981 /* Copyright (c) 1988 AT&T */ 7982 /* All Rights Reserved */ 7983 7984 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 7985 7986 7987 7988 7989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 7990 /* 7991 * CDDL HEADER START 7992 * 7993 * The contents of this file are subject to the terms of the 7994 * Common Development and Distribution License (the "License"). 7995 * You may not use this file except in compliance with the License. 7996 * 7997 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7998 * or http://www.opensolaris.org/os/licensing. 7999 * See the License for the specific language governing permissions 8000 * and limitations under the License. 8001 * 8002 * When distributing Covered Code, include this CDDL HEADER in each 8003 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8004 * If applicable, add the following below this CDDL HEADER, with the 8005 * fields enclosed by brackets "[]" replaced with your own identifying 8006 * information: Portions Copyright [yyyy] [name of copyright owner] 8007 * 8008 * CDDL HEADER END 8009 */ 8010 8011 /* 8012 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8013 * Copyright 2016 Joyent, Inc. 8014 * 8015 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8016 * Use is subject to license terms. 8017 */ 8018 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 8019 8020 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 8021 /* 8022 * This file and its contents are supplied under the terms of the 8023 * Common Development and Distribution License ("CDDL"), version 1.0. 8024 * You may only use this file in accordance with the terms of version 8025 * 1.0 of the CDDL. 8026 * 8027 * A full copy of the text of the CDDL should have accompanied this 8028 * source. A copy of the CDDL is also available via the Internet at 8029 * http://www.illumos.org/license/CDDL. 8030 */ 8031 8032 /* 8033 * Copyright 2014-2016 PALO, Richard. 8034 */ 8035 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 8036 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8037 /* 8038 * CDDL HEADER START 8039 * 8040 * The contents of this file are subject to the terms of the 8041 * Common Development and Distribution License (the "License"). 8042 * You may not use this file except in compliance with the License. 8043 * 8044 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8045 * or http://www.opensolaris.org/os/licensing. 8046 * See the License for the specific language governing permissions 8047 * and limitations under the License. 8048 * 8049 * When distributing Covered Code, include this CDDL HEADER in each 8050 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8051 * If applicable, add the following below this CDDL HEADER, with the 8052 * fields enclosed by brackets "[]" replaced with your own identifying 8053 * information: Portions Copyright [yyyy] [name of copyright owner] 8054 * 8055 * CDDL HEADER END 8056 */ 8057 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 8058 /* All Rights Reserved */ 8059 8060 8061 /* 8062 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8063 * Use is subject to license terms. 8064 * 8065 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 8066 * Copyright 2016 Joyent, Inc. 8067 */ 8068 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 8069 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 8070 /* 8071 * CDDL HEADER START 8072 * 8073 * The contents of this file are subject to the terms of the 8074 * Common Development and Distribution License (the "License"). 8075 * You may not use this file except in compliance with the License. 8076 * 8077 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8078 * or http://www.opensolaris.org/os/licensing. 8079 * See the License for the specific language governing permissions 8080 * and limitations under the License. 8081 * 8082 * When distributing Covered Code, include this CDDL HEADER in each 8083 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8084 * If applicable, add the following below this CDDL HEADER, with the 8085 * fields enclosed by brackets "[]" replaced with your own identifying 8086 * information: Portions Copyright [yyyy] [name of copyright owner] 8087 * 8088 * CDDL HEADER END 8089 */ 8090 8091 /* 8092 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 8093 * All Rights Reserved 8094 * 8095 */ 8096 8097 /* 8098 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 8099 * Use is subject to license terms. 8100 */ 8101 8102 /* 8103 * WARNING: This is an implementation-specific header, 8104 * its contents are not guaranteed. Applications 8105 * should include <unistd.h> and not this header. 8106 */ 8107 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 2 8108 8109 8110 8111 8112 8113 /* Symbolic constants for the "access" routine: */ 8114 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8115 /* Symbolic constants for the "lseek" routine: */ 8116 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8117 /* Path names: */ 8118 8119 8120 8121 8122 /* 8123 * compile-time symbolic constants, 8124 * Support does not mean the feature is enabled. 8125 * Use pathconf/sysconf to obtain actual configuration value. 8126 */ 8127 8128 /* Values unchanged in UNIX 03 */ 8129 8130 8131 8132 8133 8134 /* 8135 * POSIX.1b compile-time symbolic constants. 8136 */ 8137 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8138 /* 8139 * POSIX.1c compile-time symbolic constants. 8140 */ 8141 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8142 /* New in UNIX 03 */ 8143 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8144 /* 8145 * Support for the POSIX.1 mutex protocol attribute. For realtime applications 8146 * which need mutexes to support priority inheritance/ceiling. 8147 */ 8148 # 187 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8149 /* 8150 * Large File Summit-related announcement macros. The system supports both 8151 * the additional and transitional Large File Summit interfaces. (The final 8152 * two macros provide a finer granularity breakdown of _LFS64_LARGEFILE.) 8153 */ 8154 8155 8156 8157 8158 8159 /* large file compilation environment setup */ 8160 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8161 /* In the LP64 compilation environment, the APIs are already large file */ 8162 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8163 extern int access(const char *, int); 8164 8165 extern int acct(const char *); 8166 8167 extern unsigned alarm(unsigned); 8168 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 8169 8170 8171 extern int brk(void *); 8172 8173 extern int chdir(const char *); 8174 extern int chown(const char *, uid_t, gid_t); 8175 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 8176 8177 8178 extern int chroot(const char *); 8179 8180 extern int close(int); 8181 8182 8183 8184 8185 8186 8187 extern char *ctermid(char *); 8188 8189 8190 extern char *ctermid_r(char *); 8191 8192 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 8193 8194 extern char *cuserid(char *); 8195 8196 extern int dup(int); 8197 extern int dup2(int, int); 8198 extern int dup3(int, int, int); 8199 8200 8201 8202 8203 extern void endusershell(void); 8204 8205 extern int execl(const char *, const char *, ...); 8206 extern int execle(const char *, const char *, ...); 8207 extern int execlp(const char *, const char *, ...); 8208 extern int execv(const char *, char *const *); 8209 extern int execve(const char *, char *const *, char *const *); 8210 extern int execvp(const char *, char *const *); 8211 extern void _exit(int) 8212 __attribute__((__noreturn__)); 8213 /* 8214 * The following fattach prototype is duplicated in <stropts.h>. The 8215 * duplication is necessitated by XPG4.2 which requires the prototype 8216 * be defined in <stropts.h>. 8217 */ 8218 8219 extern int fattach(int, const char *); 8220 8221 8222 extern int fchdir(int); 8223 extern int fchown(int, uid_t, gid_t); 8224 8225 8226 extern int fchroot(int); 8227 8228 8229 8230 extern int fdatasync(int); 8231 8232 /* 8233 * The following fdetach prototype is duplicated in <stropts.h>. The 8234 * duplication is necessitated by XPG4.2 which requires the prototype 8235 * be defined in <stropts.h>. 8236 */ 8237 8238 extern int fdetach(const char *); 8239 8240 extern pid_t fork(void); 8241 8242 extern pid_t fork1(void); 8243 extern pid_t forkall(void); 8244 8245 extern long fpathconf(int, int); 8246 8247 8248 extern int fsync(int); 8249 8250 8251 8252 8253 extern int ftruncate(int, off_t); 8254 8255 extern char *getcwd(char *, size_t); 8256 8257 8258 extern int getdtablesize(void); 8259 8260 extern gid_t getegid(void); 8261 extern uid_t geteuid(void); 8262 extern gid_t getgid(void); 8263 extern int getgroups(int, gid_t *); 8264 8265 extern long gethostid(void); 8266 8267 8268 8269 8270 extern int gethostname(char *, int); 8271 # 372 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8272 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 8273 8274 extern int getpagesize(void); 8275 8276 extern pid_t getpgid(pid_t); 8277 8278 extern pid_t getpid(void); 8279 extern pid_t getppid(void); 8280 extern pid_t getpgrp(void); 8281 8282 8283 char *gettxt(const char *, const char *); 8284 8285 8286 extern pid_t getsid(pid_t); 8287 8288 extern uid_t getuid(void); 8289 8290 extern char *getusershell(void); 8291 8292 /* 8293 * The following ioctl prototype is duplicated in <stropts.h>. The 8294 * duplication is necessitated by XPG4.2 which requires the prototype 8295 * be defined in <stropts.h>. 8296 */ 8297 8298 extern int ioctl(int, int, ...); 8299 extern int isaexec(const char *, char *const *, char *const *); 8300 extern int issetugid(void); 8301 8302 extern int isatty(int); 8303 8304 extern int lchown(const char *, uid_t, gid_t); 8305 8306 extern int link(const char *, const char *); 8307 8308 extern offset_t llseek(int, offset_t, int); 8309 8310 8311 8312 8313 extern int lockf(int, int, off_t); 8314 8315 extern off_t lseek(int, off_t, int); 8316 8317 8318 extern int nice(int); 8319 8320 8321 extern int mincore(caddr_t, size_t, char *); 8322 8323 extern long pathconf(const char *, int); 8324 extern int pause(void); 8325 extern int pipe(int *); 8326 extern int pipe2(int *, int); 8327 8328 8329 8330 extern ssize_t pread(int, void *, size_t, off_t); 8331 8332 8333 extern void profil(unsigned short *, size_t, unsigned long, unsigned int); 8334 8335 /* 8336 * pthread_atfork() is also declared in <pthread.h> as per SUSv3. The 8337 * declarations are identical. A change to either one may also require 8338 * appropriate namespace updates in order to avoid redeclaration 8339 * warnings in the case where both prototypes are exposed via inclusion 8340 * of both <pthread.h> and <unistd.h>. 8341 */ 8342 8343 8344 8345 extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); 8346 8347 8348 8349 extern int ptrace(int, pid_t, int, int); 8350 8351 8352 8353 8354 extern ssize_t pwrite(int, const void *, size_t, off_t); 8355 8356 8357 /* per RFC 3542; This is also defined in netdb.h */ 8358 extern int rcmd_af(char **, unsigned short, const char *, const char *, 8359 const char *, int *, int); 8360 8361 extern ssize_t read(int, void *, size_t); 8362 8363 8364 extern ssize_t readlink(const char *, char *, 8365 size_t); 8366 8367 8368 8369 8370 8371 8372 extern int rename(const char *, const char *); 8373 8374 8375 8376 8377 8378 8379 8380 extern int resolvepath(const char *, char *, size_t); 8381 /* per RFC 3542; This is also defined in netdb.h */ 8382 extern int rexec_af(char **, unsigned short, const char *, const char *, 8383 const char *, int *, int); 8384 8385 extern int rmdir(const char *); 8386 8387 /* per RFC 3542; This is also defined in netdb.h */ 8388 extern int rresvport_af(int *, int); 8389 8390 8391 8392 8393 extern void *sbrk(intptr_t); 8394 8395 8396 extern int setegid(gid_t); 8397 extern int seteuid(uid_t); 8398 8399 extern int setgid(gid_t); 8400 8401 extern int setgroups(int, const gid_t *); 8402 extern int sethostname(char *, int); 8403 8404 extern int setpgid(pid_t, pid_t); 8405 8406 extern pid_t setpgrp(void); 8407 extern int setregid(gid_t, gid_t); 8408 extern int setreuid(uid_t, uid_t); 8409 8410 extern pid_t setsid(void); 8411 extern int setuid(uid_t); 8412 8413 extern void setusershell(void); 8414 8415 extern unsigned sleep(unsigned); 8416 8417 extern int stime(const time_t *); 8418 8419 8420 8421 8422 8423 8424 extern int symlink(const char *, const char *); 8425 extern void sync(void); 8426 # 534 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8427 extern long sysconf(int); 8428 extern pid_t tcgetpgrp(int); 8429 extern int tcsetpgrp(int, pid_t); 8430 8431 8432 8433 extern off_t tell(int); 8434 8435 8436 8437 8438 extern int truncate(const char *, off_t); 8439 8440 extern char *ttyname(int); 8441 8442 extern useconds_t ualarm(useconds_t, useconds_t); 8443 8444 extern int unlink(const char *); 8445 8446 extern char *getwd(char *); 8447 extern int usleep(useconds_t); 8448 extern pid_t vfork(void) __attribute__((__returns_twice__)); 8449 #pragma unknown_control_flow(vfork) 8450 8451 8452 extern void vhangup(void); 8453 8454 extern ssize_t write(int, const void *, size_t); 8455 8456 extern void yield(void); 8457 8458 8459 8460 8461 /* || defined(_XPG7) */ 8462 extern int faccessat(int, const char *, int, int); 8463 extern int fchownat(int, const char *, uid_t, gid_t, int); 8464 extern int linkat(int, const char *, int, const char *, int); 8465 extern ssize_t readlinkat(int, const char *, 8466 char *, size_t); 8467 extern int renameat(int, const char *, int, const char *); 8468 extern int symlinkat(const char *, int, const char *); 8469 extern int unlinkat(int, const char *, int); 8470 8471 8472 extern int get_nprocs(void); 8473 extern int get_nprocs_conf(void); 8474 8475 8476 /* transitional large file interface versions */ 8477 8478 8479 extern int ftruncate64(int, off64_t); 8480 extern off64_t lseek64(int, off64_t, int); 8481 extern ssize_t pread64(int, void *, size_t, off64_t); 8482 extern ssize_t pwrite64(int, const void *, size_t, off64_t); 8483 extern off64_t tell64(int); 8484 extern int truncate64(const char *, off64_t); 8485 extern int lockf64(int, int, off64_t); 8486 8487 8488 /* 8489 * getlogin_r() & ttyname_r() prototypes are defined here. 8490 */ 8491 8492 /* 8493 * Previous releases of Solaris, starting at 2.3, provided definitions of 8494 * various functions as specified in POSIX.1c, Draft 6. For some of these 8495 * functions, the final POSIX 1003.1c standard had a different number of 8496 * arguments and return values. 8497 * 8498 * The following segment of this header provides support for the standard 8499 * interfaces while supporting applications written under earlier 8500 * releases. The application defines appropriate values of the feature 8501 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 8502 * whether it was written to expect the Draft 6 or standard versions of 8503 * these interfaces, before including this header. This header then 8504 * provides a mapping from the source version of the interface to an 8505 * appropriate binary interface. Such mappings permit an application 8506 * to be built from libraries and objects which have mixed expectations 8507 * of the definitions of these functions. 8508 * 8509 * For applications using the Draft 6 definitions, the binary symbol is the 8510 * same as the source symbol, and no explicit mapping is needed. For the 8511 * standard interface, the function func() is mapped to the binary symbol 8512 * _posix_func(). The preferred mechanism for the remapping is a compiler 8513 * #pragma. If the compiler does not provide such a #pragma, the header file 8514 * defines a static function func() which calls the _posix_func() version; 8515 * this has to be done instead of #define since POSIX specifies that an 8516 * application can #undef the symbol and still be bound to the correct 8517 * implementation. Unfortunately, the statics confuse lint so we fallback to 8518 * #define in that case. 8519 * 8520 * NOTE: Support for the Draft 6 definitions is provided for compatibility 8521 * only. New applications/libraries should use the standard definitions. 8522 */ 8523 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8524 8525 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8526 #pragma redefine_extname getlogin_r getloginx_r 8527 # 693 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 8528 8529 8530 8531 8532 8533 8534 extern char *getlogin_r(char *, int); 8535 8536 extern char *ttyname_r(int, char *, int); 8537 8538 8539 8540 8541 8542 8543 extern int getentropy(void *, size_t); 8544 # 36 "common/apptrace.c" 2 8545 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 8546 /* 8547 * CDDL HEADER START 8548 * 8549 * The contents of this file are subject to the terms of the 8550 * Common Development and Distribution License (the "License"). 8551 * You may not use this file except in compliance with the License. 8552 * 8553 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8554 * or http://www.opensolaris.org/os/licensing. 8555 * See the License for the specific language governing permissions 8556 * and limitations under the License. 8557 * 8558 * When distributing Covered Code, include this CDDL HEADER in each 8559 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8560 * If applicable, add the following below this CDDL HEADER, with the 8561 * fields enclosed by brackets "[]" replaced with your own identifying 8562 * information: Portions Copyright [yyyy] [name of copyright owner] 8563 * 8564 * CDDL HEADER END 8565 */ 8566 8567 /* 8568 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8569 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 8570 */ 8571 8572 /* Copyright (c) 1988 AT&T */ 8573 /* All Rights Reserved */ 8574 8575 8576 8577 8578 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 1 8579 /* 8580 * CDDL HEADER START 8581 * 8582 * The contents of this file are subject to the terms of the 8583 * Common Development and Distribution License, Version 1.0 only 8584 * (the "License"). You may not use this file except in compliance 8585 * with the License. 8586 * 8587 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8588 * or http://www.opensolaris.org/os/licensing. 8589 * See the License for the specific language governing permissions 8590 * and limitations under the License. 8591 * 8592 * When distributing Covered Code, include this CDDL HEADER in each 8593 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8594 * If applicable, add the following below this CDDL HEADER, with the 8595 * fields enclosed by brackets "[]" replaced with your own identifying 8596 * information: Portions Copyright [yyyy] [name of copyright owner] 8597 * 8598 * CDDL HEADER END 8599 */ 8600 /* Copyright (c) 1988 AT&T */ 8601 /* All Rights Reserved */ 8602 8603 8604 /* 8605 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8606 * Copyright 2014 PALO, Richard. 8607 * 8608 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 8609 * Use is subject to license terms. 8610 */ 8611 8612 /* 8613 * An application should not include this header directly. Instead it 8614 * should be included only through the inclusion of other Sun headers. 8615 * 8616 * The contents of this header is limited to identifiers specified in the 8617 * C Standard. Any new identifiers specified in future amendments to the 8618 * C Standard must be placed in this header. If these new identifiers 8619 * are required to also be in the C++ Standard "std" namespace, then for 8620 * anything other than macro definitions, corresponding "using" directives 8621 * must also be added to <string.h>. 8622 */ 8623 8624 8625 8626 8627 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8628 /* 8629 * CDDL HEADER START 8630 * 8631 * The contents of this file are subject to the terms of the 8632 * Common Development and Distribution License (the "License"). 8633 * You may not use this file except in compliance with the License. 8634 * 8635 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8636 * or http://www.opensolaris.org/os/licensing. 8637 * See the License for the specific language governing permissions 8638 * and limitations under the License. 8639 * 8640 * When distributing Covered Code, include this CDDL HEADER in each 8641 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8642 * If applicable, add the following below this CDDL HEADER, with the 8643 * fields enclosed by brackets "[]" replaced with your own identifying 8644 * information: Portions Copyright [yyyy] [name of copyright owner] 8645 * 8646 * CDDL HEADER END 8647 */ 8648 8649 /* 8650 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8651 * Copyright 2016 Joyent, Inc. 8652 * 8653 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8654 * Use is subject to license terms. 8655 */ 8656 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 8657 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 8658 /* 8659 * This file and its contents are supplied under the terms of the 8660 * Common Development and Distribution License ("CDDL"), version 1.0. 8661 * You may only use this file in accordance with the terms of version 8662 * 1.0 of the CDDL. 8663 * 8664 * A full copy of the text of the CDDL should have accompanied this 8665 * source. A copy of the CDDL is also available via the Internet at 8666 * http://www.illumos.org/license/CDDL. 8667 */ 8668 8669 /* 8670 * Copyright 2014-2016 PALO, Richard. 8671 */ 8672 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 2 8673 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 8674 extern int memcmp(const void *, const void *, size_t); 8675 extern void *memcpy(void *, const void *, size_t); 8676 extern void *memmove(void *, const void *, size_t); 8677 extern void *memset(void *, int, size_t); 8678 extern char *strcat(char *, const char *); 8679 extern int strcmp(const char *, const char *); 8680 extern char *strcpy(char *, const char *); 8681 extern int strcoll(const char *, const char *); 8682 extern size_t strcspn(const char *, const char *); 8683 extern char *strerror(int); 8684 extern size_t strlen(const char *); 8685 extern char *strncat(char *, const char *, size_t); 8686 extern int strncmp(const char *, const char *, size_t); 8687 extern char *strncpy(char *, const char *, size_t); 8688 extern size_t strspn(const char *, const char *); 8689 extern char *strtok(char *, const char *); 8690 extern size_t strxfrm(char *, const char *, size_t); 8691 8692 /* 8693 * The C++ Standard (ISO/IEC 14882:1998) specifies that each of the 8694 * function signatures for the following functions be replaced by 8695 * two declarations, both of which have the same behavior. 8696 */ 8697 # 139 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/string_iso.h" 8698 extern void *memchr(const void *, int, size_t); 8699 extern char *strchr(const char *, int); 8700 extern char *strpbrk(const char *, const char *); 8701 extern char *strrchr(const char *, int); 8702 extern char *strstr(const char *, const char *); 8703 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 2 8704 8705 /* 8706 * Allow global visibility for symbols defined in 8707 * C++ "std" namespace in <iso/string_iso.h>. 8708 */ 8709 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 8710 extern int strerror_r(int, char *, size_t); 8711 8712 8713 8714 8715 8716 extern char *strtok_r(char *, const char *, 8717 char **); 8718 8719 8720 8721 8722 extern void *memccpy(void *, const void *, 8723 int, size_t); 8724 8725 8726 8727 8728 extern char *stpcpy(char *, const char *); 8729 extern char *stpncpy(char *, const char *, size_t); 8730 extern char *strndup(const char *, size_t); 8731 extern size_t strnlen(const char *, size_t); 8732 extern char *strsignal(int); 8733 8734 8735 8736 8737 8738 8739 extern int strcoll_l(const char *, const char *, locale_t); 8740 extern size_t strxfrm_l(char *, const char *, 8741 size_t, locale_t); 8742 extern int strcasecmp_l(const char *, const char *, locale_t); 8743 extern int strncasecmp_l(const char *, const char *, size_t, locale_t); 8744 extern char *strerror_l(int, locale_t); 8745 8746 8747 8748 8749 8750 /* Note that some of these are also declared in strings.h for XPG4_2+ */ 8751 extern void explicit_bzero(void *, size_t); 8752 extern int uucopy(const void *, void *, size_t); 8753 extern int uucopystr(const void *, void *, size_t); 8754 extern int ffs(int); 8755 extern int ffsl(long); 8756 extern int ffsll(long long); 8757 extern int fls(int); 8758 extern int flsl(long); 8759 extern int flsll(long long); 8760 extern void *memmem(const void *, size_t, const void *, size_t); 8761 extern char *strcasestr(const char *, const char *); 8762 extern char *strnstr(const char *, const char *, size_t); 8763 extern size_t strlcpy(char *, const char *, size_t); 8764 extern size_t strlcat(char *, const char *, size_t); 8765 extern char *strsep(char **stringp, const char *delim); 8766 extern char *strchrnul(const char *, int); 8767 extern char *strcasestr_l(const char *, const char *, locale_t); 8768 extern int strcasecmp(const char *, const char *); 8769 extern int strncasecmp(const char *, const char *, size_t); 8770 8771 8772 8773 8774 8775 extern char *strdup(const char *); 8776 8777 8778 8779 8780 8781 8782 /* 8783 * gcc provides this inlining facility but Studio C does not. 8784 * We should use it exclusively once Studio C also provides it. 8785 */ 8786 extern void *__builtin_alloca(size_t); 8787 # 37 "common/apptrace.c" 2 8788 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 1 8789 /* 8790 * CDDL HEADER START 8791 * 8792 * The contents of this file are subject to the terms of the 8793 * Common Development and Distribution License, Version 1.0 only 8794 * (the "License"). You may not use this file except in compliance 8795 * with the License. 8796 * 8797 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8798 * or http://www.opensolaris.org/os/licensing. 8799 * See the License for the specific language governing permissions 8800 * and limitations under the License. 8801 * 8802 * When distributing Covered Code, include this CDDL HEADER in each 8803 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8804 * If applicable, add the following below this CDDL HEADER, with the 8805 * fields enclosed by brackets "[]" replaced with your own identifying 8806 * information: Portions Copyright [yyyy] [name of copyright owner] 8807 * 8808 * CDDL HEADER END 8809 */ 8810 /* Copyright (c) 1988 AT&T */ 8811 /* All Rights Reserved */ 8812 8813 8814 /* 8815 * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. 8816 * Use is subject to license terms. 8817 */ 8818 8819 8820 8821 8822 8823 #pragma ident "%Z%%M% %I% %E% SMI" 8824 8825 /* 8826 * Error codes 8827 */ 8828 8829 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 1 8830 /* 8831 * CDDL HEADER START 8832 * 8833 * The contents of this file are subject to the terms of the 8834 * Common Development and Distribution License, Version 1.0 only 8835 * (the "License"). You may not use this file except in compliance 8836 * with the License. 8837 * 8838 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8839 * or http://www.opensolaris.org/os/licensing. 8840 * See the License for the specific language governing permissions 8841 * and limitations under the License. 8842 * 8843 * When distributing Covered Code, include this CDDL HEADER in each 8844 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8845 * If applicable, add the following below this CDDL HEADER, with the 8846 * fields enclosed by brackets "[]" replaced with your own identifying 8847 * information: Portions Copyright [yyyy] [name of copyright owner] 8848 * 8849 * CDDL HEADER END 8850 */ 8851 /* 8852 * Copyright 2000 Sun Microsystems, Inc. All rights reserved. 8853 * Use is subject to license terms. 8854 */ 8855 8856 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 8857 /* All Rights Reserved */ 8858 8859 /* 8860 * University Copyright- Copyright (c) 1982, 1986, 1988 8861 * The Regents of the University of California 8862 * All Rights Reserved 8863 * 8864 * University Acknowledgment- Portions of this document are derived from 8865 * software developed by the University of California, Berkeley, and its 8866 * contributors. 8867 */ 8868 8869 8870 8871 8872 #pragma ident "%Z%%M% %I% %E% SMI" 8873 8874 8875 8876 8877 8878 /* 8879 * Error codes 8880 */ 8881 # 102 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8882 /* Filesystem Quotas */ 8883 8884 8885 /* Convergent Error Returns */ 8886 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8887 /* Interprocess Robust Locks */ 8888 8889 8890 8891 /* stream problems */ 8892 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8893 /* Interprocess Robust Locks */ 8894 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8895 /* shared library problems */ 8896 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8897 /* BSD Networking Software */ 8898 /* argument errors */ 8899 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8900 /* protocol family */ 8901 8902 8903 /* operational errors */ 8904 8905 8906 8907 /* of reset */ 8908 8909 8910 8911 8912 8913 /* XENIX has 135 - 142 */ 8914 # 198 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/errno.h" 8915 /* SUN Network File System */ 8916 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 2 8917 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/errno.h" 8918 extern int *___errno(); 8919 # 38 "common/apptrace.c" 2 8920 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 1 8921 /* 8922 * CDDL HEADER START 8923 * 8924 * The contents of this file are subject to the terms of the 8925 * Common Development and Distribution License, Version 1.0 only 8926 * (the "License"). You may not use this file except in compliance 8927 * with the License. 8928 * 8929 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8930 * or http://www.opensolaris.org/os/licensing. 8931 * See the License for the specific language governing permissions 8932 * and limitations under the License. 8933 * 8934 * When distributing Covered Code, include this CDDL HEADER in each 8935 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8936 * If applicable, add the following below this CDDL HEADER, with the 8937 * fields enclosed by brackets "[]" replaced with your own identifying 8938 * information: Portions Copyright [yyyy] [name of copyright owner] 8939 * 8940 * CDDL HEADER END 8941 */ 8942 /* 8943 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 8944 * 8945 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 8946 * Use is subject to license terms. 8947 */ 8948 8949 /* 8950 * Copyright 1989, 1994 by Mortice Kern Systems Inc. 8951 * All rights reserved. 8952 */ 8953 /* 8954 * Copyright 2010 Nexenta Systems, Inc. All rights reserved. 8955 * Use is subject to license terms. 8956 */ 8957 8958 8959 8960 8961 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 8962 /* 8963 * CDDL HEADER START 8964 * 8965 * The contents of this file are subject to the terms of the 8966 * Common Development and Distribution License (the "License"). 8967 * You may not use this file except in compliance with the License. 8968 * 8969 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8970 * or http://www.opensolaris.org/os/licensing. 8971 * See the License for the specific language governing permissions 8972 * and limitations under the License. 8973 * 8974 * When distributing Covered Code, include this CDDL HEADER in each 8975 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 8976 * If applicable, add the following below this CDDL HEADER, with the 8977 * fields enclosed by brackets "[]" replaced with your own identifying 8978 * information: Portions Copyright [yyyy] [name of copyright owner] 8979 * 8980 * CDDL HEADER END 8981 */ 8982 8983 /* 8984 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 8985 * Copyright 2016 Joyent, Inc. 8986 * 8987 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 8988 * Use is subject to license terms. 8989 */ 8990 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2 8991 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 8992 /* 8993 * CDDL HEADER START 8994 * 8995 * The contents of this file are subject to the terms of the 8996 * Common Development and Distribution License (the "License"). 8997 * You may not use this file except in compliance with the License. 8998 * 8999 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9000 * or http://www.opensolaris.org/os/licensing. 9001 * See the License for the specific language governing permissions 9002 * and limitations under the License. 9003 * 9004 * When distributing Covered Code, include this CDDL HEADER in each 9005 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9006 * If applicable, add the following below this CDDL HEADER, with the 9007 * fields enclosed by brackets "[]" replaced with your own identifying 9008 * information: Portions Copyright [yyyy] [name of copyright owner] 9009 * 9010 * CDDL HEADER END 9011 */ 9012 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9013 /* All Rights Reserved */ 9014 9015 9016 /* 9017 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9018 * Use is subject to license terms. 9019 * 9020 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9021 * Copyright 2016 Joyent, Inc. 9022 */ 9023 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 2 9024 9025 9026 9027 9028 9029 9030 /* 9031 * wchar_t is a built-in type in standard C++ and as such is not 9032 * defined here when using standard C++. However, the GNU compiler 9033 * fixincludes utility nonetheless creates its own version of this 9034 * header for use by gcc and g++. In that version it adds a redundant 9035 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 9036 * header we need to include the following magic comment: 9037 * 9038 * we must use the C++ compiler's type 9039 * 9040 * The above comment should not be removed or changed until GNU 9041 * gcc/fixinc/inclhack.def is updated to bypass this header. 9042 */ 9043 # 73 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 9044 typedef ssize_t regoff_t; 9045 9046 /* regcomp flags */ 9047 9048 9049 9050 9051 9052 9053 9054 /* non-standard flags - note that most of these are not supported */ 9055 9056 9057 9058 9059 9060 /* FreeBSD additions */ 9061 9062 9063 9064 9065 9066 /* internal flags */ 9067 9068 9069 /* regexec flags */ 9070 9071 9072 9073 9074 /* regcomp and regexec return codes */ 9075 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/regex.h" 9076 typedef struct { /* regcomp() data saved for regexec() */ 9077 size_t re_nsub; /* # of subexpressions in RE pattern */ 9078 9079 /* 9080 * Internal use only. Note that any changes to this structure 9081 * have to preserve sizing, as it is baked into applications. 9082 */ 9083 struct re_guts *re_g; 9084 int re_magic; 9085 const char *re_endp; 9086 9087 /* here for compat */ 9088 size_t re_len; /* # wchar_t chars in compiled pattern */ 9089 struct _regex_ext_t *re_sc; /* for binary compatibility */ 9090 } regex_t; 9091 9092 /* subexpression positions */ 9093 typedef struct { 9094 const char *rm_sp, *rm_ep; /* Start pointer, end pointer */ 9095 regoff_t rm_so, rm_eo; /* Start offset, end offset */ 9096 int rm_ss, rm_es; /* Used internally */ 9097 } regmatch_t; 9098 9099 9100 /* 9101 * Additional API and structs to support regular expression manipulations 9102 * on wide characters. 9103 */ 9104 9105 extern int regcomp(regex_t *, const char *, int); 9106 extern int regexec(const regex_t *, const char *, 9107 size_t, regmatch_t *, int); 9108 extern size_t regerror(int, const regex_t *, 9109 char *, size_t); 9110 extern void regfree(regex_t *); 9111 # 39 "common/apptrace.c" 2 9112 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1 9113 /* 9114 * CDDL HEADER START 9115 * 9116 * The contents of this file are subject to the terms of the 9117 * Common Development and Distribution License, Version 1.0 only 9118 * (the "License"). You may not use this file except in compliance 9119 * with the License. 9120 * 9121 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9122 * or http://www.opensolaris.org/os/licensing. 9123 * See the License for the specific language governing permissions 9124 * and limitations under the License. 9125 * 9126 * When distributing Covered Code, include this CDDL HEADER in each 9127 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9128 * If applicable, add the following below this CDDL HEADER, with the 9129 * fields enclosed by brackets "[]" replaced with your own identifying 9130 * information: Portions Copyright [yyyy] [name of copyright owner] 9131 * 9132 * CDDL HEADER END 9133 */ 9134 /* Copyright (c) 1988 AT&T */ 9135 /* All Rights Reserved */ 9136 9137 /* 9138 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9139 * 9140 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9141 * Use is subject to license terms. 9142 */ 9143 9144 9145 9146 9147 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9148 /* 9149 * CDDL HEADER START 9150 * 9151 * The contents of this file are subject to the terms of the 9152 * Common Development and Distribution License (the "License"). 9153 * You may not use this file except in compliance with the License. 9154 * 9155 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9156 * or http://www.opensolaris.org/os/licensing. 9157 * See the License for the specific language governing permissions 9158 * and limitations under the License. 9159 * 9160 * When distributing Covered Code, include this CDDL HEADER in each 9161 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9162 * If applicable, add the following below this CDDL HEADER, with the 9163 * fields enclosed by brackets "[]" replaced with your own identifying 9164 * information: Portions Copyright [yyyy] [name of copyright owner] 9165 * 9166 * CDDL HEADER END 9167 */ 9168 9169 /* 9170 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9171 * Copyright 2016 Joyent, Inc. 9172 * 9173 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9174 * Use is subject to license terms. 9175 */ 9176 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9177 9178 9179 9180 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9181 /* 9182 * CDDL HEADER START 9183 * 9184 * The contents of this file are subject to the terms of the 9185 * Common Development and Distribution License (the "License"). 9186 * You may not use this file except in compliance with the License. 9187 * 9188 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9189 * or http://www.opensolaris.org/os/licensing. 9190 * See the License for the specific language governing permissions 9191 * and limitations under the License. 9192 * 9193 * When distributing Covered Code, include this CDDL HEADER in each 9194 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9195 * If applicable, add the following below this CDDL HEADER, with the 9196 * fields enclosed by brackets "[]" replaced with your own identifying 9197 * information: Portions Copyright [yyyy] [name of copyright owner] 9198 * 9199 * CDDL HEADER END 9200 */ 9201 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9202 /* All Rights Reserved */ 9203 9204 9205 /* 9206 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9207 * Use is subject to license terms. 9208 * 9209 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9210 * Copyright 2016 Joyent, Inc. 9211 */ 9212 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9213 9214 9215 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 1 9216 /* 9217 * CDDL HEADER START 9218 * 9219 * The contents of this file are subject to the terms of the 9220 * Common Development and Distribution License, Version 1.0 only 9221 * (the "License"). You may not use this file except in compliance 9222 * with the License. 9223 * 9224 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9225 * or http://www.opensolaris.org/os/licensing. 9226 * See the License for the specific language governing permissions 9227 * and limitations under the License. 9228 * 9229 * When distributing Covered Code, include this CDDL HEADER in each 9230 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9231 * If applicable, add the following below this CDDL HEADER, with the 9232 * fields enclosed by brackets "[]" replaced with your own identifying 9233 * information: Portions Copyright [yyyy] [name of copyright owner] 9234 * 9235 * CDDL HEADER END 9236 */ 9237 /* Copyright (c) 1988 AT&T */ 9238 /* All Rights Reserved */ 9239 9240 9241 /* 9242 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 9243 * 9244 * Copyright (c) 1998-1999, by Sun Microsystems, Inc. 9245 * All rights reserved. 9246 */ 9247 9248 /* 9249 * An application should not include this header directly. Instead it 9250 * should be included only through the inclusion of other Sun headers. 9251 * 9252 * The contents of this header is limited to identifiers specified in the 9253 * C Standard. Any new identifiers specified in future amendments to the 9254 * C Standard must be placed in this header. If these new identifiers 9255 * are required to also be in the C++ Standard "std" namespace, then for 9256 * anything other than macro definitions, corresponding "using" directives 9257 * must also be added to <signal.h>. 9258 */ 9259 9260 9261 9262 9263 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 9264 /* 9265 * CDDL HEADER START 9266 * 9267 * The contents of this file are subject to the terms of the 9268 * Common Development and Distribution License (the "License"). 9269 * You may not use this file except in compliance with the License. 9270 * 9271 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9272 * or http://www.opensolaris.org/os/licensing. 9273 * See the License for the specific language governing permissions 9274 * and limitations under the License. 9275 * 9276 * When distributing Covered Code, include this CDDL HEADER in each 9277 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9278 * If applicable, add the following below this CDDL HEADER, with the 9279 * fields enclosed by brackets "[]" replaced with your own identifying 9280 * information: Portions Copyright [yyyy] [name of copyright owner] 9281 * 9282 * CDDL HEADER END 9283 */ 9284 9285 /* 9286 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9287 * Use is subject to license terms. 9288 */ 9289 9290 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9291 /* All Rights Reserved */ 9292 9293 /* 9294 * An application should not include this header directly. Instead it 9295 * should be included only through the inclusion of other Sun headers. 9296 * 9297 * The contents of this header is limited to identifiers specified in the 9298 * C Standard. Any new identifiers specified in future amendments to the 9299 * C Standard must be placed in this header. If these new identifiers 9300 * are required to also be in the C++ Standard "std" namespace, then for 9301 * anything other than macro definitions, corresponding "using" directives 9302 * must also be added to <sys/signal.h.h>. 9303 */ 9304 9305 9306 9307 9308 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 9309 /* 9310 * CDDL HEADER START 9311 * 9312 * The contents of this file are subject to the terms of the 9313 * Common Development and Distribution License (the "License"). 9314 * You may not use this file except in compliance with the License. 9315 * 9316 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9317 * or http://www.opensolaris.org/os/licensing. 9318 * See the License for the specific language governing permissions 9319 * and limitations under the License. 9320 * 9321 * When distributing Covered Code, include this CDDL HEADER in each 9322 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9323 * If applicable, add the following below this CDDL HEADER, with the 9324 * fields enclosed by brackets "[]" replaced with your own identifying 9325 * information: Portions Copyright [yyyy] [name of copyright owner] 9326 * 9327 * CDDL HEADER END 9328 */ 9329 9330 /* 9331 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 9332 * All Rights Reserved 9333 * 9334 */ 9335 9336 /* 9337 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9338 * Use is subject to license terms. 9339 */ 9340 9341 /* 9342 * WARNING: This is an implementation-specific header, 9343 * its contents are not guaranteed. Applications 9344 * should include <unistd.h> and not this header. 9345 */ 9346 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 2 9347 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 9348 /* insert new signals here, and move _SIGRTM* appropriately */ 9349 9350 9351 extern long _sysconf(int); /* System Private interface to sysconf() */ 9352 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 2 9353 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/signal_iso.h" 9354 typedef int sig_atomic_t; 9355 9356 9357 9358 9359 extern void (*signal(int, void (*)(int)))(int); 9360 9361 extern int raise(int); 9362 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 9363 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 9364 /* 9365 * CDDL HEADER START 9366 * 9367 * The contents of this file are subject to the terms of the 9368 * Common Development and Distribution License (the "License"). 9369 * You may not use this file except in compliance with the License. 9370 * 9371 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9372 * or http://www.opensolaris.org/os/licensing. 9373 * See the License for the specific language governing permissions 9374 * and limitations under the License. 9375 * 9376 * When distributing Covered Code, include this CDDL HEADER in each 9377 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9378 * If applicable, add the following below this CDDL HEADER, with the 9379 * fields enclosed by brackets "[]" replaced with your own identifying 9380 * information: Portions Copyright [yyyy] [name of copyright owner] 9381 * 9382 * CDDL HEADER END 9383 */ 9384 9385 /* 9386 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9387 * Use is subject to license terms. 9388 */ 9389 9390 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9391 /* All Rights Reserved */ 9392 9393 /* 9394 * University Copyright- Copyright (c) 1982, 1986, 1988 9395 * The Regents of the University of California 9396 * All Rights Reserved 9397 * 9398 * University Acknowledgment- Portions of this document are derived from 9399 * software developed by the University of California, Berkeley, and its 9400 * contributors. 9401 */ 9402 9403 9404 9405 9406 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9407 /* 9408 * CDDL HEADER START 9409 * 9410 * The contents of this file are subject to the terms of the 9411 * Common Development and Distribution License (the "License"). 9412 * You may not use this file except in compliance with the License. 9413 * 9414 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9415 * or http://www.opensolaris.org/os/licensing. 9416 * See the License for the specific language governing permissions 9417 * and limitations under the License. 9418 * 9419 * When distributing Covered Code, include this CDDL HEADER in each 9420 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9421 * If applicable, add the following below this CDDL HEADER, with the 9422 * fields enclosed by brackets "[]" replaced with your own identifying 9423 * information: Portions Copyright [yyyy] [name of copyright owner] 9424 * 9425 * CDDL HEADER END 9426 */ 9427 9428 /* 9429 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9430 * Copyright 2016 Joyent, Inc. 9431 * 9432 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9433 * Use is subject to license terms. 9434 */ 9435 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 9436 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/iso/signal_iso.h" 1 9437 /* 9438 * CDDL HEADER START 9439 * 9440 * The contents of this file are subject to the terms of the 9441 * Common Development and Distribution License (the "License"). 9442 * You may not use this file except in compliance with the License. 9443 * 9444 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9445 * or http://www.opensolaris.org/os/licensing. 9446 * See the License for the specific language governing permissions 9447 * and limitations under the License. 9448 * 9449 * When distributing Covered Code, include this CDDL HEADER in each 9450 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9451 * If applicable, add the following below this CDDL HEADER, with the 9452 * fields enclosed by brackets "[]" replaced with your own identifying 9453 * information: Portions Copyright [yyyy] [name of copyright owner] 9454 * 9455 * CDDL HEADER END 9456 */ 9457 9458 /* 9459 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 9460 * Use is subject to license terms. 9461 */ 9462 9463 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9464 /* All Rights Reserved */ 9465 9466 /* 9467 * An application should not include this header directly. Instead it 9468 * should be included only through the inclusion of other Sun headers. 9469 * 9470 * The contents of this header is limited to identifiers specified in the 9471 * C Standard. Any new identifiers specified in future amendments to the 9472 * C Standard must be placed in this header. If these new identifiers 9473 * are required to also be in the C++ Standard "std" namespace, then for 9474 * anything other than macro definitions, corresponding "using" directives 9475 * must also be added to <sys/signal.h.h>. 9476 */ 9477 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 9478 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 9479 /* 9480 * We need <sys/siginfo.h> for the declaration of siginfo_t. 9481 */ 9482 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 9483 /* 9484 * CDDL HEADER START 9485 * 9486 * The contents of this file are subject to the terms of the 9487 * Common Development and Distribution License, Version 1.0 only 9488 * (the "License"). You may not use this file except in compliance 9489 * with the License. 9490 * 9491 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9492 * or http://www.opensolaris.org/os/licensing. 9493 * See the License for the specific language governing permissions 9494 * and limitations under the License. 9495 * 9496 * When distributing Covered Code, include this CDDL HEADER in each 9497 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9498 * If applicable, add the following below this CDDL HEADER, with the 9499 * fields enclosed by brackets "[]" replaced with your own identifying 9500 * information: Portions Copyright [yyyy] [name of copyright owner] 9501 * 9502 * CDDL HEADER END 9503 */ 9504 /* 9505 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 9506 * Use is subject to license terms. 9507 */ 9508 9509 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9510 /* All Rights Reserved */ 9511 9512 9513 9514 9515 #pragma ident "%Z%%M% %I% %E% SMI" 9516 9517 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9518 /* 9519 * CDDL HEADER START 9520 * 9521 * The contents of this file are subject to the terms of the 9522 * Common Development and Distribution License (the "License"). 9523 * You may not use this file except in compliance with the License. 9524 * 9525 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9526 * or http://www.opensolaris.org/os/licensing. 9527 * See the License for the specific language governing permissions 9528 * and limitations under the License. 9529 * 9530 * When distributing Covered Code, include this CDDL HEADER in each 9531 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9532 * If applicable, add the following below this CDDL HEADER, with the 9533 * fields enclosed by brackets "[]" replaced with your own identifying 9534 * information: Portions Copyright [yyyy] [name of copyright owner] 9535 * 9536 * CDDL HEADER END 9537 */ 9538 9539 /* 9540 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9541 * Copyright 2016 Joyent, Inc. 9542 * 9543 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9544 * Use is subject to license terms. 9545 */ 9546 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9547 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9548 /* 9549 * CDDL HEADER START 9550 * 9551 * The contents of this file are subject to the terms of the 9552 * Common Development and Distribution License (the "License"). 9553 * You may not use this file except in compliance with the License. 9554 * 9555 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9556 * or http://www.opensolaris.org/os/licensing. 9557 * See the License for the specific language governing permissions 9558 * and limitations under the License. 9559 * 9560 * When distributing Covered Code, include this CDDL HEADER in each 9561 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9562 * If applicable, add the following below this CDDL HEADER, with the 9563 * fields enclosed by brackets "[]" replaced with your own identifying 9564 * information: Portions Copyright [yyyy] [name of copyright owner] 9565 * 9566 * CDDL HEADER END 9567 */ 9568 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9569 /* All Rights Reserved */ 9570 9571 9572 /* 9573 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9574 * Use is subject to license terms. 9575 * 9576 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9577 * Copyright 2016 Joyent, Inc. 9578 */ 9579 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9580 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9581 /* 9582 * The union sigval is also defined in <time.h> as per X/Open and 9583 * POSIX requirements. 9584 */ 9585 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9586 /* 9587 * The sigevent structure is also defined in <time.h> as per X/Open and 9588 * POSIX requirements. 9589 */ 9590 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9591 /* values of sigev_notify */ 9592 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9593 /* 9594 * negative signal codes are reserved for future use for user generated 9595 * signals 9596 */ 9597 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9598 /* 9599 * Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and 9600 * SIGBUS) from <sys/machsig.h> 9601 */ 9602 9603 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 1 9604 /* 9605 * CDDL HEADER START 9606 * 9607 * The contents of this file are subject to the terms of the 9608 * Common Development and Distribution License, Version 1.0 only 9609 * (the "License"). You may not use this file except in compliance 9610 * with the License. 9611 * 9612 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9613 * or http://www.opensolaris.org/os/licensing. 9614 * See the License for the specific language governing permissions 9615 * and limitations under the License. 9616 * 9617 * When distributing Covered Code, include this CDDL HEADER in each 9618 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9619 * If applicable, add the following below this CDDL HEADER, with the 9620 * fields enclosed by brackets "[]" replaced with your own identifying 9621 * information: Portions Copyright [yyyy] [name of copyright owner] 9622 * 9623 * CDDL HEADER END 9624 */ 9625 /* 9626 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 9627 * Use is subject to license terms. 9628 */ 9629 9630 /* Copyright (c) 1988 AT&T */ 9631 /* All Rights Reserved */ 9632 9633 9634 9635 9636 9637 #pragma ident "%Z%%M% %I% %E% SMI" 9638 9639 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 9640 /* 9641 * CDDL HEADER START 9642 * 9643 * The contents of this file are subject to the terms of the 9644 * Common Development and Distribution License (the "License"). 9645 * You may not use this file except in compliance with the License. 9646 * 9647 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9648 * or http://www.opensolaris.org/os/licensing. 9649 * See the License for the specific language governing permissions 9650 * and limitations under the License. 9651 * 9652 * When distributing Covered Code, include this CDDL HEADER in each 9653 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9654 * If applicable, add the following below this CDDL HEADER, with the 9655 * fields enclosed by brackets "[]" replaced with your own identifying 9656 * information: Portions Copyright [yyyy] [name of copyright owner] 9657 * 9658 * CDDL HEADER END 9659 */ 9660 9661 /* 9662 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 9663 * Copyright 2016 Joyent, Inc. 9664 * 9665 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 9666 * Use is subject to license terms. 9667 */ 9668 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 9669 9670 9671 9672 9673 9674 /* 9675 * machsig.h is the machine dependent portion of siginfo.h (and is 9676 * included by siginfo.h). A version of machsig.h should exist for 9677 * each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS 9678 * are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and 9679 * SIGPOLL are architecture independent and may be found in siginfo.h. 9680 */ 9681 9682 9683 9684 9685 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 1 9686 /* 9687 * CDDL HEADER START 9688 * 9689 * The contents of this file are subject to the terms of the 9690 * Common Development and Distribution License (the "License"). 9691 * You may not use this file except in compliance with the License. 9692 * 9693 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9694 * or http://www.opensolaris.org/os/licensing. 9695 * See the License for the specific language governing permissions 9696 * and limitations under the License. 9697 * 9698 * When distributing Covered Code, include this CDDL HEADER in each 9699 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9700 * If applicable, add the following below this CDDL HEADER, with the 9701 * fields enclosed by brackets "[]" replaced with your own identifying 9702 * information: Portions Copyright [yyyy] [name of copyright owner] 9703 * 9704 * CDDL HEADER END 9705 */ 9706 /* 9707 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 9708 * Use is subject to license terms. 9709 */ 9710 9711 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9712 /* All Rights Reserved */ 9713 9714 /* 9715 * University Copyright- Copyright (c) 1982, 1986, 1988 9716 * The Regents of the University of California 9717 * All Rights Reserved 9718 * 9719 * University Acknowledgment- Portions of this document are derived from 9720 * software developed by the University of California, Berkeley, and its 9721 * contributors. 9722 */ 9723 9724 9725 9726 9727 #pragma ident "%Z%%M% %I% %E% SMI" 9728 9729 9730 9731 9732 9733 /* 9734 * This file describes the data type returned by vm routines 9735 * which handle faults. 9736 * 9737 * If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value 9738 * returned by the underlying object mapped at the fault address. 9739 */ 9740 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/vm/faultcode.h" 9741 typedef int faultcode_t; /* type returned by vm fault routines */ 9742 9743 extern int fc_decode(faultcode_t); 9744 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 2 9745 9746 9747 /* 9748 * SIGILL signal codes 9749 */ 9750 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 9751 /* 9752 * SIGEMT signal codes 9753 */ 9754 9755 9756 9757 9758 9759 9760 /* 9761 * SIGFPE signal codes 9762 */ 9763 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machsig.h" 9764 /* 9765 * SIGSEGV signal codes 9766 */ 9767 9768 9769 9770 9771 9772 9773 9774 /* 9775 * SIGBUS signal codes 9776 */ 9777 # 147 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9778 9779 /* 9780 * SIGTRAP signal codes 9781 */ 9782 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9783 /* 9784 * SIGCLD signal codes 9785 */ 9786 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9787 /* 9788 * SIGPOLL signal codes 9789 */ 9790 # 195 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9791 /* 9792 * SIGPROF signal codes 9793 */ 9794 # 215 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9795 /* 9796 * Inclusion of <sys/time_impl.h> is needed for the declaration of 9797 * timestruc_t. However, since inclusion of <sys/time_impl.h> results 9798 * in X/Open and POSIX namespace pollution, the definition for 9799 * timestruct_t has been duplicated in a standards namespace safe header 9800 * <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure 9801 * name, tag, and member names, as well as the type itself, all have 9802 * leading underscores to protect namespace. 9803 */ 9804 9805 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 9806 /* 9807 * CDDL HEADER START 9808 * 9809 * The contents of this file are subject to the terms of the 9810 * Common Development and Distribution License, Version 1.0 only 9811 * (the "License"). You may not use this file except in compliance 9812 * with the License. 9813 * 9814 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9815 * or http://www.opensolaris.org/os/licensing. 9816 * See the License for the specific language governing permissions 9817 * and limitations under the License. 9818 * 9819 * When distributing Covered Code, include this CDDL HEADER in each 9820 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9821 * If applicable, add the following below this CDDL HEADER, with the 9822 * fields enclosed by brackets "[]" replaced with your own identifying 9823 * information: Portions Copyright [yyyy] [name of copyright owner] 9824 * 9825 * CDDL HEADER END 9826 */ 9827 /* 9828 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 9829 * Use is subject to license terms. 9830 */ 9831 9832 /* 9833 * Implementation-private. This header should not be included 9834 * directly by an application. The application should instead 9835 * include <time.h> which includes this header conditionally 9836 * depending on which feature test macros are defined. By default, 9837 * this header is included by <time.h>. X/Open and POSIX 9838 * standards requirements result in this header being included 9839 * by <time.h> only under a restricted set of conditions. 9840 */ 9841 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9842 9843 9844 9845 9846 /* 9847 * The inclusion of <sys/types.h> is needed for definitions of pid_t, etc. 9848 * Placement here is due to a dependency in <sys/select.h> which is included 9849 * by <sys/types.h> for the sigevent structure. Hence this inclusion must 9850 * follow that definition. 9851 */ 9852 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 9853 /* 9854 * CDDL HEADER START 9855 * 9856 * The contents of this file are subject to the terms of the 9857 * Common Development and Distribution License (the "License"). 9858 * You may not use this file except in compliance with the License. 9859 * 9860 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9861 * or http://www.opensolaris.org/os/licensing. 9862 * See the License for the specific language governing permissions 9863 * and limitations under the License. 9864 * 9865 * When distributing Covered Code, include this CDDL HEADER in each 9866 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 9867 * If applicable, add the following below this CDDL HEADER, with the 9868 * fields enclosed by brackets "[]" replaced with your own identifying 9869 * information: Portions Copyright [yyyy] [name of copyright owner] 9870 * 9871 * CDDL HEADER END 9872 */ 9873 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 9874 /* All Rights Reserved */ 9875 9876 9877 /* 9878 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 9879 * Use is subject to license terms. 9880 * 9881 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 9882 * Copyright 2016 Joyent, Inc. 9883 */ 9884 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 2 9885 9886 9887 typedef struct siginfo { /* pollutes POSIX/XOPEN namespace */ 9888 9889 9890 9891 int si_signo; /* signal from signal.h */ 9892 int si_code; /* code from above */ 9893 int si_errno; /* error from errno.h */ 9894 9895 9896 9897 union { 9898 9899 int __pad[((128 / sizeof (int)) - 3)]; /* for future growth */ 9900 9901 struct { /* kill(), SIGCLD, siqqueue() */ 9902 pid_t __pid; /* process ID */ 9903 union { 9904 struct { 9905 uid_t __uid; 9906 9907 9908 union sigval __value; 9909 9910 9911 9912 } __kill; 9913 struct { 9914 clock_t __utime; 9915 int __status; 9916 clock_t __stime; 9917 } __cld; 9918 } __pdata; 9919 ctid_t __ctid; /* contract ID */ 9920 zoneid_t __zoneid; /* zone ID */ 9921 } __proc; 9922 9923 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 9924 void *__addr; /* faulting address */ 9925 int __trapno; /* illegal trap number */ 9926 caddr_t __pc; /* instruction address */ 9927 } __fault; 9928 9929 struct { /* SIGPOLL, SIGXFSZ */ 9930 /* fd not currently available for SIGPOLL */ 9931 int __fd; /* file descriptor */ 9932 long __band; 9933 } __file; 9934 9935 struct { /* SIGPROF */ 9936 caddr_t __faddr; /* last fault address */ 9937 9938 timestruc_t __tstamp; /* real time stamp */ 9939 9940 9941 9942 short __syscall; /* current syscall */ 9943 char __nsysarg; /* number of arguments */ 9944 char __fault; /* last fault type */ 9945 long __sysarg[8]; /* syscall arguments */ 9946 int __mstate[10]; /* see <sys/msacct.h> */ 9947 } __prof; 9948 9949 struct { /* SI_RCTL */ 9950 int32_t __entity; /* type of entity exceeding */ 9951 } __rctl; 9952 } __data; 9953 9954 } siginfo_t; 9955 # 374 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 9956 /* 9957 * XXX -- internal version is identical to siginfo_t but without the padding. 9958 * This must be maintained in sync with it. 9959 */ 9960 9961 9962 9963 typedef struct k_siginfo { 9964 int si_signo; /* signal from signal.h */ 9965 int si_code; /* code from above */ 9966 int si_errno; /* error from errno.h */ 9967 9968 9969 9970 union { 9971 struct { /* kill(), SIGCLD, siqqueue() */ 9972 pid_t __pid; /* process ID */ 9973 union { 9974 struct { 9975 uid_t __uid; 9976 union sigval __value; 9977 } __kill; 9978 struct { 9979 clock_t __utime; 9980 int __status; 9981 clock_t __stime; 9982 } __cld; 9983 } __pdata; 9984 ctid_t __ctid; /* contract ID */ 9985 zoneid_t __zoneid; /* zone ID */ 9986 } __proc; 9987 9988 struct { /* SIGSEGV, SIGBUS, SIGILL, SIGTRAP, SIGFPE */ 9989 void *__addr; /* faulting address */ 9990 int __trapno; /* illegal trap number */ 9991 caddr_t __pc; /* instruction address */ 9992 } __fault; 9993 9994 struct { /* SIGPOLL, SIGXFSZ */ 9995 /* fd not currently available for SIGPOLL */ 9996 int __fd; /* file descriptor */ 9997 long __band; 9998 } __file; 9999 10000 struct { /* SIGPROF */ 10001 caddr_t __faddr; /* last fault address */ 10002 10003 10004 timestruc_t __tstamp; /* real time stamp */ 10005 10006 10007 10008 short __syscall; /* current syscall */ 10009 char __nsysarg; /* number of arguments */ 10010 char __fault; /* last fault type */ 10011 /* these are omitted to keep k_siginfo_t small */ 10012 /* long __sysarg[8]; */ 10013 /* int __mstate[10]; */ 10014 } __prof; 10015 10016 struct { /* SI_RCTL */ 10017 int32_t __entity; /* type of entity exceeding */ 10018 } __rctl; 10019 10020 } __data; 10021 10022 } k_siginfo_t; 10023 10024 typedef struct sigqueue { 10025 struct sigqueue *sq_next; 10026 k_siginfo_t sq_info; 10027 void (*sq_func)(struct sigqueue *); /* destructor function */ 10028 void *sq_backptr; /* pointer to the data structure */ 10029 /* associated by sq_func() */ 10030 int sq_external; /* comes from outside the contract */ 10031 } sigqueue_t; 10032 10033 /* indication whether to queue the signal or not */ 10034 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 2 10035 10036 10037 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements */ 10038 10039 10040 10041 10042 10043 10044 10045 typedef struct { 10046 unsigned int __sigbits[3]; 10047 } k_sigset_t; 10048 10049 /* 10050 * The signal handler routine can have either one or three arguments. 10051 * Existing C code has used either form so not specifing the arguments 10052 * neatly finesses the problem. C++ doesn't accept this. To C++ 10053 * "(*sa_handler)()" indicates a routine with no arguments (ANSI C would 10054 * specify this as "(*sa_handler)(void)"). One or the other form must be 10055 * used for C++ and the only logical choice is "(*sa_handler)(int)" to allow 10056 * the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)" 10057 * can be used for the three argument form. 10058 */ 10059 10060 /* 10061 * Note: storage overlap by sa_handler and sa_sigaction 10062 */ 10063 struct sigaction { 10064 int sa_flags; 10065 union { 10066 10067 10068 10069 void (*_handler)(); 10070 10071 10072 10073 10074 void (*_sigaction)(int, siginfo_t *, void *); 10075 10076 } _funcptr; 10077 sigset_t sa_mask; 10078 10079 int sa_resv[2]; 10080 10081 }; 10082 # 126 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10083 /* this is only valid for SIGCLD */ 10084 10085 10086 10087 10088 10089 10090 10091 /* non-conformant ANSI compilation */ 10092 10093 /* definitions for the sa_flags field */ 10094 # 153 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10095 /* this is only valid for SIGCLD */ 10096 10097 10098 10099 /* 10100 * use of these symbols by applications is injurious 10101 * to binary compatibility 10102 */ 10103 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10104 /* Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements. */ 10105 10106 10107 10108 typedef struct sigaltstack { 10109 10110 10111 10112 void *ss_sp; 10113 size_t ss_size; 10114 int ss_flags; 10115 } stack_t; 10116 # 203 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10117 /* signotify id used only by libc for mq_notify()/aio_notify() */ 10118 typedef struct signotify_id { /* signotify id struct */ 10119 pid_t sn_pid; /* pid of proc to be notified */ 10120 int sn_index; /* index in preallocated pool */ 10121 int sn_pad; /* reserved */ 10122 } signotify_id_t; 10123 # 222 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 10124 /* Command codes for sig_notify call */ 10125 10126 10127 10128 10129 10130 10131 10132 /* Added as per XPG4v2 */ 10133 10134 10135 10136 struct sigstack { 10137 void *ss_sp; 10138 int ss_onstack; 10139 }; 10140 10141 10142 /* 10143 * For definition of ucontext_t; must follow struct definition 10144 * for sigset_t 10145 */ 10146 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 10147 10148 /* 10149 * Allow global visibility for symbols defined in 10150 * C++ "std" namespace in <iso/signal_iso.h>. 10151 */ 10152 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 10153 extern const char **_sys_siglistp; /* signal descriptions */ 10154 extern const int _sys_siglistn; /* # of signal descriptions */ 10155 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 10156 extern int kill(pid_t, int); 10157 extern int sigaction(int, const struct sigaction *, 10158 struct sigaction *); 10159 10160 extern int sigaddset(sigset_t *, int); 10161 extern int sigdelset(sigset_t *, int); 10162 extern int sigemptyset(sigset_t *); 10163 extern int sigfillset(sigset_t *); 10164 extern int sigismember(const sigset_t *, int); 10165 10166 extern int sigpending(sigset_t *); 10167 extern int sigprocmask(int, const sigset_t *, 10168 sigset_t *); 10169 extern int sigsuspend(const sigset_t *); 10170 10171 10172 10173 10174 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 10175 /* 10176 * CDDL HEADER START 10177 * 10178 * The contents of this file are subject to the terms of the 10179 * Common Development and Distribution License, Version 1.0 only 10180 * (the "License"). You may not use this file except in compliance 10181 * with the License. 10182 * 10183 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10184 * or http://www.opensolaris.org/os/licensing. 10185 * See the License for the specific language governing permissions 10186 * and limitations under the License. 10187 * 10188 * When distributing Covered Code, include this CDDL HEADER in each 10189 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10190 * If applicable, add the following below this CDDL HEADER, with the 10191 * fields enclosed by brackets "[]" replaced with your own identifying 10192 * information: Portions Copyright [yyyy] [name of copyright owner] 10193 * 10194 * CDDL HEADER END 10195 */ 10196 /* 10197 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10198 * Use is subject to license terms. 10199 */ 10200 10201 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10202 /* All Rights Reserved */ 10203 10204 10205 10206 10207 10208 #pragma ident "%Z%%M% %I% %E% SMI" 10209 10210 10211 10212 10213 10214 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 10215 /* 10216 * CDDL HEADER START 10217 * 10218 * The contents of this file are subject to the terms of the 10219 * Common Development and Distribution License (the "License"). 10220 * You may not use this file except in compliance with the License. 10221 * 10222 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10223 * or http://www.opensolaris.org/os/licensing. 10224 * See the License for the specific language governing permissions 10225 * and limitations under the License. 10226 * 10227 * When distributing Covered Code, include this CDDL HEADER in each 10228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10229 * If applicable, add the following below this CDDL HEADER, with the 10230 * fields enclosed by brackets "[]" replaced with your own identifying 10231 * information: Portions Copyright [yyyy] [name of copyright owner] 10232 * 10233 * CDDL HEADER END 10234 */ 10235 10236 /* 10237 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 10238 * Copyright 2016 Joyent, Inc. 10239 * 10240 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 10241 * Use is subject to license terms. 10242 */ 10243 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10244 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10245 /* 10246 * CDDL HEADER START 10247 * 10248 * The contents of this file are subject to the terms of the 10249 * Common Development and Distribution License (the "License"). 10250 * You may not use this file except in compliance with the License. 10251 * 10252 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10253 * or http://www.opensolaris.org/os/licensing. 10254 * See the License for the specific language governing permissions 10255 * and limitations under the License. 10256 * 10257 * When distributing Covered Code, include this CDDL HEADER in each 10258 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10259 * If applicable, add the following below this CDDL HEADER, with the 10260 * fields enclosed by brackets "[]" replaced with your own identifying 10261 * information: Portions Copyright [yyyy] [name of copyright owner] 10262 * 10263 * CDDL HEADER END 10264 */ 10265 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10266 /* All Rights Reserved */ 10267 10268 10269 /* 10270 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10271 * Use is subject to license terms. 10272 * 10273 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10274 * Copyright 2016 Joyent, Inc. 10275 */ 10276 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10277 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 10278 /* 10279 * CDDL HEADER START 10280 * 10281 * The contents of this file are subject to the terms of the 10282 * Common Development and Distribution License (the "License"). 10283 * You may not use this file except in compliance with the License. 10284 * 10285 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10286 * or http://www.opensolaris.org/os/licensing. 10287 * See the License for the specific language governing permissions 10288 * and limitations under the License. 10289 * 10290 * When distributing Covered Code, include this CDDL HEADER in each 10291 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10292 * If applicable, add the following below this CDDL HEADER, with the 10293 * fields enclosed by brackets "[]" replaced with your own identifying 10294 * information: Portions Copyright [yyyy] [name of copyright owner] 10295 * 10296 * CDDL HEADER END 10297 */ 10298 10299 /* 10300 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 10301 * Use is subject to license terms. 10302 */ 10303 10304 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10305 /* All Rights Reserved */ 10306 10307 /* 10308 * University Copyright- Copyright (c) 1982, 1986, 1988 10309 * The Regents of the University of California 10310 * All Rights Reserved 10311 * 10312 * University Acknowledgment- Portions of this document are derived from 10313 * software developed by the University of California, Berkeley, and its 10314 * contributors. 10315 */ 10316 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 2 10317 10318 /* 10319 * This file defines the data needed to specify a set of 10320 * processes. These types are used by the sigsend, sigsendset, 10321 * priocntl, priocntlset, waitid, evexit, and evexitset system 10322 * calls. 10323 */ 10324 10325 10326 10327 10328 10329 /* 10330 * The following defines the values for an identifier type. It 10331 * specifies the interpretation of an id value. An idtype and 10332 * id together define a simple set of processes. 10333 */ 10334 typedef enum 10335 10336 idtype /* pollutes XPG4.2 namespace */ 10337 10338 { 10339 P_PID, /* A process identifier. */ 10340 P_PPID, /* A parent process identifier. */ 10341 P_PGID, /* A process group (job control group) */ 10342 /* identifier. */ 10343 P_SID, /* A session identifier. */ 10344 P_CID, /* A scheduling class identifier. */ 10345 P_UID, /* A user identifier. */ 10346 P_GID, /* A group identifier. */ 10347 P_ALL, /* All processes. */ 10348 P_LWPID, /* An LWP identifier. */ 10349 P_TASKID, /* A task identifier. */ 10350 P_PROJID, /* A project identifier. */ 10351 P_POOLID, /* A pool identifier. */ 10352 P_ZONEID, /* A zone identifier. */ 10353 P_CTID, /* A (process) contract identifier. */ 10354 P_CPUID, /* CPU identifier. */ 10355 P_PSETID /* Processor set identifier */ 10356 } idtype_t; 10357 10358 10359 /* 10360 * The following defines the operations which can be performed to 10361 * combine two simple sets of processes to form another set of 10362 * processes. 10363 */ 10364 10365 typedef enum idop { 10366 POP_DIFF, /* Set difference. The processes which */ 10367 /* are in the left operand set and not */ 10368 /* in the right operand set. */ 10369 POP_AND, /* Set disjunction. The processes */ 10370 /* which are in both the left and right */ 10371 /* operand sets. */ 10372 POP_OR, /* Set conjunction. The processes */ 10373 /* which are in either the left or the */ 10374 /* right operand sets (or both). */ 10375 POP_XOR /* Set exclusive or. The processes */ 10376 /* which are in either the left or */ 10377 /* right operand sets but not in both. */ 10378 } idop_t; 10379 10380 10381 /* 10382 * The following structure is used to define a set of processes. 10383 * The set is defined in terms of two simple sets of processes 10384 * and an operator which operates on these two operand sets. 10385 */ 10386 typedef struct procset { 10387 idop_t p_op; /* The operator connection the */ 10388 /* following two operands each */ 10389 /* of which is a simple set of */ 10390 /* processes. */ 10391 10392 idtype_t p_lidtype; 10393 /* The type of the left operand */ 10394 /* simple set. */ 10395 id_t p_lid; /* The id of the left operand. */ 10396 10397 idtype_t p_ridtype; 10398 /* The type of the right */ 10399 /* operand simple set. */ 10400 id_t p_rid; /* The id of the right operand. */ 10401 } procset_t; 10402 10403 /* 10404 * The following macro can be used to initialize a procset_t 10405 * structure. 10406 */ 10407 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 10408 extern int gsignal(int); 10409 extern int (*ssignal(int, int (*)(int)))(int); 10410 extern int sigsend(idtype_t, id_t, int); 10411 extern int sigsendset(const procset_t *, int); 10412 extern int sig2str(int, char *); 10413 extern int str2sig(const char *, int *); 10414 10415 10416 10417 10418 10419 extern void (*bsd_signal(int, void (*)(int)))(int); 10420 extern int killpg(pid_t, int); 10421 extern int siginterrupt(int, int); 10422 extern int sigaltstack(const stack_t *, stack_t *); 10423 extern int sighold(int); 10424 extern int sigignore(int); 10425 extern int sigpause(int); 10426 extern int sigrelse(int); 10427 extern void (*sigset(int, void (*)(int)))(int); 10428 10429 10430 /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ 10431 10432 10433 10434 extern int sigstack(struct sigstack *, struct sigstack *); 10435 10436 10437 10438 10439 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 10440 /* 10441 * CDDL HEADER START 10442 * 10443 * The contents of this file are subject to the terms of the 10444 * Common Development and Distribution License, Version 1.0 only 10445 * (the "License"). You may not use this file except in compliance 10446 * with the License. 10447 * 10448 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10449 * or http://www.opensolaris.org/os/licensing. 10450 * See the License for the specific language governing permissions 10451 * and limitations under the License. 10452 * 10453 * When distributing Covered Code, include this CDDL HEADER in each 10454 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10455 * If applicable, add the following below this CDDL HEADER, with the 10456 * fields enclosed by brackets "[]" replaced with your own identifying 10457 * information: Portions Copyright [yyyy] [name of copyright owner] 10458 * 10459 * CDDL HEADER END 10460 */ 10461 /* 10462 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10463 * Use is subject to license terms. 10464 */ 10465 10466 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10467 /* All Rights Reserved */ 10468 # 121 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 10469 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 10470 /* 10471 * CDDL HEADER START 10472 * 10473 * The contents of this file are subject to the terms of the 10474 * Common Development and Distribution License (the "License"). 10475 * You may not use this file except in compliance with the License. 10476 * 10477 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10478 * or http://www.opensolaris.org/os/licensing. 10479 * See the License for the specific language governing permissions 10480 * and limitations under the License. 10481 * 10482 * When distributing Covered Code, include this CDDL HEADER in each 10483 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10484 * If applicable, add the following below this CDDL HEADER, with the 10485 * fields enclosed by brackets "[]" replaced with your own identifying 10486 * information: Portions Copyright [yyyy] [name of copyright owner] 10487 * 10488 * CDDL HEADER END 10489 */ 10490 /* Copyright (c) 1988 AT&T */ 10491 /* All Rights Reserved */ 10492 10493 10494 /* 10495 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10496 * 10497 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 10498 * Use is subject to license terms. 10499 */ 10500 /* 10501 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 10502 * Copyright 2016 Joyent, Inc. 10503 */ 10504 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 2 10505 extern int pthread_kill(pthread_t, int); 10506 extern int pthread_sigmask(int, const sigset_t *, 10507 sigset_t *); 10508 extern int sigwaitinfo(const sigset_t *, 10509 siginfo_t *); 10510 extern int sigtimedwait(const sigset_t *, 10511 siginfo_t *, const struct timespec *); 10512 extern int sigqueue(pid_t, int, const union sigval); 10513 10514 10515 /* 10516 * sigwait() prototype is defined here. 10517 */ 10518 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 10519 extern int sigwait(sigset_t *); 10520 # 40 "common/apptrace.c" 2 10521 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 10522 /* 10523 * CDDL HEADER START 10524 * 10525 * The contents of this file are subject to the terms of the 10526 * Common Development and Distribution License (the "License"). 10527 * You may not use this file except in compliance with the License. 10528 * 10529 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10530 * or http://www.opensolaris.org/os/licensing. 10531 * See the License for the specific language governing permissions 10532 * and limitations under the License. 10533 * 10534 * When distributing Covered Code, include this CDDL HEADER in each 10535 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10536 * If applicable, add the following below this CDDL HEADER, with the 10537 * fields enclosed by brackets "[]" replaced with your own identifying 10538 * information: Portions Copyright [yyyy] [name of copyright owner] 10539 * 10540 * CDDL HEADER END 10541 */ 10542 10543 /* 10544 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10545 * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. 10546 */ 10547 10548 10549 10550 10551 /* 10552 * synch.h: 10553 * definitions needed to use the thread synchronization interface 10554 */ 10555 10556 10557 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 10558 /* 10559 * CDDL HEADER START 10560 * 10561 * The contents of this file are subject to the terms of the 10562 * Common Development and Distribution License (the "License"). 10563 * You may not use this file except in compliance with the License. 10564 * 10565 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10566 * or http://www.opensolaris.org/os/licensing. 10567 * See the License for the specific language governing permissions 10568 * and limitations under the License. 10569 * 10570 * When distributing Covered Code, include this CDDL HEADER in each 10571 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10572 * If applicable, add the following below this CDDL HEADER, with the 10573 * fields enclosed by brackets "[]" replaced with your own identifying 10574 * information: Portions Copyright [yyyy] [name of copyright owner] 10575 * 10576 * CDDL HEADER END 10577 */ 10578 /* 10579 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 10580 * Use is subject to license terms. 10581 * Copyright 2016 Joyent, Inc. 10582 */ 10583 10584 10585 10586 10587 #pragma ident "%Z%%M% %I% %E% SMI" 10588 10589 10590 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10591 /* 10592 * CDDL HEADER START 10593 * 10594 * The contents of this file are subject to the terms of the 10595 * Common Development and Distribution License (the "License"). 10596 * You may not use this file except in compliance with the License. 10597 * 10598 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10599 * or http://www.opensolaris.org/os/licensing. 10600 * See the License for the specific language governing permissions 10601 * and limitations under the License. 10602 * 10603 * When distributing Covered Code, include this CDDL HEADER in each 10604 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10605 * If applicable, add the following below this CDDL HEADER, with the 10606 * fields enclosed by brackets "[]" replaced with your own identifying 10607 * information: Portions Copyright [yyyy] [name of copyright owner] 10608 * 10609 * CDDL HEADER END 10610 */ 10611 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10612 /* All Rights Reserved */ 10613 10614 10615 /* 10616 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10617 * Use is subject to license terms. 10618 * 10619 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10620 * Copyright 2016 Joyent, Inc. 10621 */ 10622 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 10623 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 10624 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10625 /* All Rights Reserved */ 10626 10627 10628 /* 10629 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 10630 * All rights reserved. The Berkeley software License Agreement 10631 * specifies the terms and conditions for redistribution. 10632 */ 10633 10634 /* 10635 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10636 * 10637 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10638 * Use is subject to license terms. 10639 * 10640 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10641 */ 10642 10643 /* 10644 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 10645 */ 10646 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 2 10647 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 10648 typedef lock_t disp_lock_t; /* dispatcher lock type */ 10649 10650 /* 10651 * SPIN_LOCK() macro indicates whether lock is implemented as a spin lock or 10652 * an adaptive mutex, depending on what interrupt levels use it. 10653 */ 10654 10655 10656 /* 10657 * Macro to control loops which spin on a lock and then check state 10658 * periodically. Its passed an integer, and returns a boolean value 10659 * that if true indicates its a good time to get the scheduler lock and 10660 * check the state of the current owner of the lock. 10661 */ 10662 10663 10664 /* 10665 * Externs for CLOCK_LOCK and clock resolution 10666 */ 10667 extern volatile uint32_t hres_lock; 10668 extern hrtime_t hrtime_base; 10669 extern int clock_res; 10670 10671 10672 10673 /* 10674 * The definitions of the symbolic interrupt levels: 10675 * 10676 * CLOCK_LEVEL => The level at which one must be to block the clock. 10677 * 10678 * LOCK_LEVEL => The highest level at which one may block (and thus the 10679 * highest level at which one may acquire adaptive locks) 10680 * Also the highest level at which one may be preempted. 10681 * 10682 * DISP_LEVEL => The level at which one must be to perform dispatcher 10683 * operations. 10684 * 10685 * The constraints on the platform: 10686 * 10687 * - CLOCK_LEVEL must be less than or equal to LOCK_LEVEL 10688 * - LOCK_LEVEL must be less than DISP_LEVEL 10689 * - DISP_LEVEL should be as close to LOCK_LEVEL as possible 10690 * 10691 * Note that LOCK_LEVEL and CLOCK_LEVEL have historically always been equal; 10692 * changing this relationship is probably possible but not advised. 10693 * 10694 */ 10695 # 117 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 10696 /* 10697 * The following mask is for the cpu_intr_actv bits corresponding to 10698 * high-level PILs. It should equal: 10699 * ((((1 << PIL_MAX + 1) - 1) >> LOCK_LEVEL + 1) << LOCK_LEVEL + 1) 10700 */ 10701 10702 10703 /* 10704 * The semaphore code depends on being able to represent a lock plus 10705 * owner in a single 32-bit word. (Mutexes used to have a similar 10706 * dependency, but no longer.) Thus the owner must contain at most 10707 * 24 significant bits. At present only threads and semaphores 10708 * must be aware of this vile constraint. Different ISAs may handle this 10709 * differently depending on their capabilities (e.g. compare-and-swap) 10710 * and limitations (e.g. constraints on alignment and/or KERNELBASE). 10711 */ 10712 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 10713 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 10714 /* 10715 * CDDL HEADER START 10716 * 10717 * The contents of this file are subject to the terms of the 10718 * Common Development and Distribution License, Version 1.0 only 10719 * (the "License"). You may not use this file except in compliance 10720 * with the License. 10721 * 10722 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10723 * or http://www.opensolaris.org/os/licensing. 10724 * See the License for the specific language governing permissions 10725 * and limitations under the License. 10726 * 10727 * When distributing Covered Code, include this CDDL HEADER in each 10728 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10729 * If applicable, add the following below this CDDL HEADER, with the 10730 * fields enclosed by brackets "[]" replaced with your own identifying 10731 * information: Portions Copyright [yyyy] [name of copyright owner] 10732 * 10733 * CDDL HEADER END 10734 */ 10735 /* 10736 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 10737 * Use is subject to license terms. 10738 */ 10739 10740 /* 10741 * Implementation-private. This header should not be included 10742 * directly by an application. The application should instead 10743 * include <time.h> which includes this header conditionally 10744 * depending on which feature test macros are defined. By default, 10745 * this header is included by <time.h>. X/Open and POSIX 10746 * standards requirements result in this header being included 10747 * by <time.h> only under a restricted set of conditions. 10748 */ 10749 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 10750 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 1 10751 /* 10752 * CDDL HEADER START 10753 * 10754 * The contents of this file are subject to the terms of the 10755 * Common Development and Distribution License (the "License"). 10756 * You may not use this file except in compliance with the License. 10757 * 10758 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10759 * or http://www.opensolaris.org/os/licensing. 10760 * See the License for the specific language governing permissions 10761 * and limitations under the License. 10762 * 10763 * When distributing Covered Code, include this CDDL HEADER in each 10764 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10765 * If applicable, add the following below this CDDL HEADER, with the 10766 * fields enclosed by brackets "[]" replaced with your own identifying 10767 * information: Portions Copyright [yyyy] [name of copyright owner] 10768 * 10769 * CDDL HEADER END 10770 */ 10771 10772 /* 10773 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 10774 * Use is subject to license terms. 10775 */ 10776 10777 10778 10779 10780 #pragma ident "%Z%%M% %I% %E% SMI" 10781 10782 10783 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 10784 /* 10785 * CDDL HEADER START 10786 * 10787 * The contents of this file are subject to the terms of the 10788 * Common Development and Distribution License (the "License"). 10789 * You may not use this file except in compliance with the License. 10790 * 10791 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10792 * or http://www.opensolaris.org/os/licensing. 10793 * See the License for the specific language governing permissions 10794 * and limitations under the License. 10795 * 10796 * When distributing Covered Code, include this CDDL HEADER in each 10797 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 10798 * If applicable, add the following below this CDDL HEADER, with the 10799 * fields enclosed by brackets "[]" replaced with your own identifying 10800 * information: Portions Copyright [yyyy] [name of copyright owner] 10801 * 10802 * CDDL HEADER END 10803 */ 10804 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 10805 /* All Rights Reserved */ 10806 10807 10808 /* 10809 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 10810 * Use is subject to license terms. 10811 * 10812 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 10813 * Copyright 2016 Joyent, Inc. 10814 */ 10815 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 2 10816 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 10817 /* 10818 * CDDL HEADER START 10819 * 10820 * The contents of this file are subject to the terms of the 10821 * Common Development and Distribution License, Version 1.0 only 10822 * (the "License"). You may not use this file except in compliance 10823 * 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 /* 10839 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 10840 * 10841 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 10842 * Use is subject to license terms. 10843 */ 10844 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 2 10845 10846 10847 10848 10849 10850 10851 10852 /* 10853 * Thread and LWP mutexes have the same type 10854 * definitions. 10855 * 10856 * NOTE: 10857 * 10858 * POSIX requires that <pthread.h> define the structures pthread_mutex_t 10859 * and pthread_cond_t. Although these structures are identical to mutex_t 10860 * (lwp_mutex_t) and cond_t (lwp_cond_t), defined here, a typedef of these 10861 * types would require including <synch.h> in <pthread.h>, pulling in 10862 * non-posix symbols/constants, violating POSIX namespace restrictions. Hence, 10863 * pthread_mutex_t/pthread_cond_t have been redefined (in <sys/types.h>). 10864 * Any modifications done to mutex_t/lwp_mutex_t or cond_t/lwp_cond_t must 10865 * also be done to pthread_mutex_t/pthread_cond_t. 10866 */ 10867 typedef struct _lwp_mutex { 10868 struct { 10869 uint16_t flag1; 10870 uint8_t flag2; 10871 uint8_t ceiling; 10872 union { 10873 uint16_t bcptype; 10874 struct { 10875 uint8_t count_type1; 10876 uint8_t count_type2; 10877 } mtype_rcount; 10878 } mbcp_type_un; 10879 uint16_t magic; 10880 } flags; 10881 union { 10882 struct { 10883 uint8_t pad[8]; 10884 } lock64; 10885 struct { 10886 uint32_t ownerpid; 10887 uint32_t lockword; 10888 } lock32; 10889 upad64_t owner64; 10890 } lock; 10891 upad64_t data; 10892 } lwp_mutex_t; 10893 10894 /* 10895 * Thread and LWP condition variables have the same 10896 * type definition. 10897 * NOTE: 10898 * The layout of the following structure should be kept in sync with the 10899 * layout of pthread_cond_t in sys/types.h. See NOTE above for lwp_mutex_t. 10900 */ 10901 typedef struct _lwp_cond { 10902 struct { 10903 uint8_t flag[4]; 10904 uint16_t type; 10905 uint16_t magic; 10906 } flags; 10907 upad64_t data; 10908 } lwp_cond_t; 10909 10910 /* 10911 * LWP semaphores 10912 */ 10913 typedef struct _lwp_sema { 10914 uint32_t count; /* semaphore count */ 10915 uint16_t type; 10916 uint16_t magic; 10917 uint8_t flags[8]; /* last byte reserved for waiters */ 10918 upad64_t data; /* optional data */ 10919 } lwp_sema_t; 10920 10921 /* 10922 * Thread and LWP rwlocks have the same type definition. 10923 * NOTE: The layout of this structure should be kept in sync with the layout 10924 * of the correponding structure of pthread_rwlock_t in sys/types.h. 10925 * Also, because we have to deal with C++, there is an identical structure 10926 * for rwlock_t in head/sync.h that we cannot change. 10927 */ 10928 typedef struct _lwp_rwlock { 10929 int32_t readers; /* rwstate word */ 10930 uint16_t type; 10931 uint16_t magic; 10932 lwp_mutex_t mutex; /* used with process-shared rwlocks */ 10933 lwp_cond_t readercv; /* used only to indicate ownership */ 10934 lwp_cond_t writercv; /* used only to indicate ownership */ 10935 } lwp_rwlock_t; 10936 10937 10938 /* 10939 * Definitions of synchronization types. 10940 */ 10941 10942 10943 10944 /* Keep the following values in sync with pthread.h */ 10945 # 143 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 10946 /* 10947 * USYNC_PROCESS_ROBUST is a deprecated historical type. It is mapped 10948 * into (USYNC_PROCESS | LOCK_ROBUST) by mutex_init(). Application code 10949 * should be revised to use (USYNC_PROCESS | LOCK_ROBUST) rather than this. 10950 */ 10951 10952 10953 /* 10954 * lwp_mutex_t flags 10955 */ 10956 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 2 10957 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 10958 /* 10959 * Semaphores 10960 */ 10961 typedef struct _sema { 10962 /* this structure must be the same as sem_t in <semaphore.h> */ 10963 uint32_t count; /* semaphore count */ 10964 uint16_t type; 10965 uint16_t magic; 10966 upad64_t pad1[3]; /* reserved for a mutex_t */ 10967 upad64_t pad2[2]; /* reserved for a cond_t */ 10968 } sema_t; 10969 10970 /* 10971 * POSIX.1c Note: 10972 * POSIX.1c requires that <pthread.h> define the structures pthread_mutex_t 10973 * and pthread_cond_t. These structures are identical to mutex_t (lwp_mutex_t) 10974 * and cond_t (lwp_cond_t) which are defined in <synch.h>. A nested included 10975 * of <synch.h> (to allow a "#typedef mutex_t pthread_mutex_t") would pull in 10976 * non-posix symbols/constants violating the namespace restrictions. Hence, 10977 * pthread_mutex_t/pthread_cond_t have been redefined in <pthread.h> (actually 10978 * in <sys/types.h>). Any modifications done to mutex_t/lwp_mutex_t or 10979 * cond_t/lwp_cond_t should also be done to pthread_mutex_t/pthread_cond_t. 10980 */ 10981 typedef lwp_mutex_t mutex_t; 10982 typedef lwp_cond_t cond_t; 10983 10984 /* 10985 * Readers/writer locks 10986 * 10987 * NOTE: The layout of this structure should be kept in sync with the layout 10988 * of the correponding structure of pthread_rwlock_t in sys/types.h. 10989 * Also, there is an identical structure for lwp_rwlock_t in <sys/synch.h>. 10990 * Because we have to deal with C++, we cannot redefine this one as that one. 10991 */ 10992 typedef struct _rwlock { 10993 int32_t readers; /* rwstate word */ 10994 uint16_t type; 10995 uint16_t magic; 10996 mutex_t mutex; /* used with process-shared rwlocks */ 10997 cond_t readercv; /* used only to indicate ownership */ 10998 cond_t writercv; /* used only to indicate ownership */ 10999 } rwlock_t; 11000 11001 int _lwp_mutex_lock(lwp_mutex_t *); 11002 int _lwp_mutex_unlock(lwp_mutex_t *); 11003 int _lwp_mutex_trylock(lwp_mutex_t *); 11004 int _lwp_cond_wait(lwp_cond_t *, lwp_mutex_t *); 11005 int _lwp_cond_timedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *); 11006 int _lwp_cond_reltimedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *); 11007 int _lwp_cond_signal(lwp_cond_t *); 11008 int _lwp_cond_broadcast(lwp_cond_t *); 11009 int _lwp_sema_init(lwp_sema_t *, int); 11010 int _lwp_sema_wait(lwp_sema_t *); 11011 int _lwp_sema_trywait(lwp_sema_t *); 11012 int _lwp_sema_post(lwp_sema_t *); 11013 int cond_init(cond_t *, int, void *); 11014 int cond_destroy(cond_t *); 11015 int cond_wait(cond_t *, mutex_t *); 11016 int cond_timedwait(cond_t *, mutex_t *, const timespec_t *); 11017 int cond_reltimedwait(cond_t *, mutex_t *, const timespec_t *); 11018 int cond_signal(cond_t *); 11019 int cond_broadcast(cond_t *); 11020 int mutex_init(mutex_t *, int, void *); 11021 int mutex_destroy(mutex_t *); 11022 int mutex_consistent(mutex_t *); 11023 int mutex_lock(mutex_t *); 11024 int mutex_trylock(mutex_t *); 11025 int mutex_unlock(mutex_t *); 11026 int rwlock_init(rwlock_t *, int, void *); 11027 int rwlock_destroy(rwlock_t *); 11028 int rw_rdlock(rwlock_t *); 11029 int rw_wrlock(rwlock_t *); 11030 int rw_unlock(rwlock_t *); 11031 int rw_tryrdlock(rwlock_t *); 11032 int rw_trywrlock(rwlock_t *); 11033 int sema_init(sema_t *, unsigned int, int, void *); 11034 int sema_destroy(sema_t *); 11035 int sema_wait(sema_t *); 11036 int sema_timedwait(sema_t *, const timespec_t *); 11037 int sema_reltimedwait(sema_t *, const timespec_t *); 11038 int sema_post(sema_t *); 11039 int sema_trywait(sema_t *); 11040 11041 11042 11043 /* "Magic numbers" tagging synchronization object types */ 11044 11045 11046 11047 11048 11049 /* 11050 * POSIX.1c Note: 11051 * DEFAULTMUTEX is defined same as PTHREAD_MUTEX_INITIALIZER in <pthread.h>. 11052 * DEFAULTCV is defined same as PTHREAD_COND_INITIALIZER in <pthread.h>. 11053 * DEFAULTRWLOCK is defined same as PTHREAD_RWLOCK_INITIALIZER in <pthread.h>. 11054 * Any changes to these macros should be reflected in <pthread.h> 11055 */ 11056 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 11057 /* 11058 * Tests on lock states. 11059 */ 11060 11061 11062 11063 11064 11065 11066 /* 11067 * The following definitions are for assertions which can be checked 11068 * statically by tools like lock_lint. You can also define your own 11069 * run-time test for each. If you don't, we define them to 1 so that 11070 * such assertions simply pass. 11071 */ 11072 # 197 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 11073 /* 11074 * The *_held() functions apply equally well to Solaris threads 11075 * and to Posix threads synchronization objects, but the formal 11076 * type declarations are different, so we just declare the argument 11077 * to each *_held() function to be a void *, expecting that they will 11078 * be called with the proper type of argument in each case. 11079 */ 11080 int _sema_held(void *); /* sema_t or sem_t */ 11081 int _rw_read_held(void *); /* rwlock_t or pthread_rwlock_t */ 11082 int _rw_write_held(void *); /* rwlock_t or pthread_rwlock_t */ 11083 int _mutex_held(void *); /* mutex_t or pthread_mutex_t */ 11084 11085 /* Pause API */ 11086 void smt_pause(void); 11087 11088 11089 11090 /* 11091 * Panicking versions of our favorite friends. 11092 */ 11093 void mutex_enter(mutex_t *); 11094 void mutex_exit(mutex_t *); 11095 # 41 "common/apptrace.c" 2 11096 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 11097 /* 11098 * CDDL HEADER START 11099 * 11100 * The contents of this file are subject to the terms of the 11101 * Common Development and Distribution License (the "License"). 11102 * You may not use this file except in compliance with the License. 11103 * 11104 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11105 * or http://www.opensolaris.org/os/licensing. 11106 * See the License for the specific language governing permissions 11107 * and limitations under the License. 11108 * 11109 * When distributing Covered Code, include this CDDL HEADER in each 11110 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11111 * If applicable, add the following below this CDDL HEADER, with the 11112 * fields enclosed by brackets "[]" replaced with your own identifying 11113 * information: Portions Copyright [yyyy] [name of copyright owner] 11114 * 11115 * CDDL HEADER END 11116 */ 11117 11118 /* 11119 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11120 * 11121 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 11122 * Use is subject to license terms. 11123 */ 11124 11125 /* Copyright (c) 1988 AT&T */ 11126 /* All Rights Reserved */ 11127 11128 11129 11130 11131 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11132 /* 11133 * CDDL HEADER START 11134 * 11135 * The contents of this file are subject to the terms of the 11136 * Common Development and Distribution License (the "License"). 11137 * You may not use this file except in compliance with the License. 11138 * 11139 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11140 * or http://www.opensolaris.org/os/licensing. 11141 * See the License for the specific language governing permissions 11142 * and limitations under the License. 11143 * 11144 * When distributing Covered Code, include this CDDL HEADER in each 11145 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11146 * If applicable, add the following below this CDDL HEADER, with the 11147 * fields enclosed by brackets "[]" replaced with your own identifying 11148 * information: Portions Copyright [yyyy] [name of copyright owner] 11149 * 11150 * CDDL HEADER END 11151 */ 11152 11153 /* 11154 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11155 * Copyright 2016 Joyent, Inc. 11156 * 11157 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11158 * Use is subject to license terms. 11159 */ 11160 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 11161 11162 11163 11164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11165 /* 11166 * CDDL HEADER START 11167 * 11168 * The contents of this file are subject to the terms of the 11169 * Common Development and Distribution License (the "License"). 11170 * You may not use this file except in compliance with the License. 11171 * 11172 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11173 * or http://www.opensolaris.org/os/licensing. 11174 * See the License for the specific language governing permissions 11175 * and limitations under the License. 11176 * 11177 * When distributing Covered Code, include this CDDL HEADER in each 11178 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11179 * If applicable, add the following below this CDDL HEADER, with the 11180 * fields enclosed by brackets "[]" replaced with your own identifying 11181 * information: Portions Copyright [yyyy] [name of copyright owner] 11182 * 11183 * CDDL HEADER END 11184 */ 11185 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11186 /* All Rights Reserved */ 11187 11188 11189 /* 11190 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11191 * Use is subject to license terms. 11192 * 11193 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11194 * Copyright 2016 Joyent, Inc. 11195 */ 11196 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 11197 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 1 11198 /* 11199 * CDDL HEADER START 11200 * 11201 * The contents of this file are subject to the terms of the 11202 * Common Development and Distribution License (the "License"). 11203 * You may not use this file except in compliance with the License. 11204 * 11205 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11206 * or http://www.opensolaris.org/os/licensing. 11207 * See the License for the specific language governing permissions 11208 * and limitations under the License. 11209 * 11210 * When distributing Covered Code, include this CDDL HEADER in each 11211 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11212 * If applicable, add the following below this CDDL HEADER, with the 11213 * fields enclosed by brackets "[]" replaced with your own identifying 11214 * information: Portions Copyright [yyyy] [name of copyright owner] 11215 * 11216 * CDDL HEADER END 11217 */ 11218 11219 /* 11220 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 11221 */ 11222 11223 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11224 /* All Rights Reserved */ 11225 11226 /* 11227 * University Copyright- Copyright (c) 1982, 1986, 1988 11228 * The Regents of the University of California 11229 * All Rights Reserved 11230 * 11231 * University Acknowledgment- Portions of this document are derived from 11232 * software developed by the University of California, Berkeley, and its 11233 * contributors. 11234 */ 11235 11236 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 11237 /* Copyright 2015, Joyent, Inc. */ 11238 11239 11240 11241 11242 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11243 /* 11244 * CDDL HEADER START 11245 * 11246 * The contents of this file are subject to the terms of the 11247 * Common Development and Distribution License (the "License"). 11248 * You may not use this file except in compliance with the License. 11249 * 11250 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11251 * or http://www.opensolaris.org/os/licensing. 11252 * See the License for the specific language governing permissions 11253 * and limitations under the License. 11254 * 11255 * When distributing Covered Code, include this CDDL HEADER in each 11256 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11257 * If applicable, add the following below this CDDL HEADER, with the 11258 * fields enclosed by brackets "[]" replaced with your own identifying 11259 * information: Portions Copyright [yyyy] [name of copyright owner] 11260 * 11261 * CDDL HEADER END 11262 */ 11263 11264 /* 11265 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11266 * Copyright 2016 Joyent, Inc. 11267 * 11268 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11269 * Use is subject to license terms. 11270 */ 11271 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 11272 11273 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11274 /* 11275 * CDDL HEADER START 11276 * 11277 * The contents of this file are subject to the terms of the 11278 * Common Development and Distribution License (the "License"). 11279 * You may not use this file except in compliance with the License. 11280 * 11281 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11282 * or http://www.opensolaris.org/os/licensing. 11283 * See the License for the specific language governing permissions 11284 * and limitations under the License. 11285 * 11286 * When distributing Covered Code, include this CDDL HEADER in each 11287 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11288 * If applicable, add the following below this CDDL HEADER, with the 11289 * fields enclosed by brackets "[]" replaced with your own identifying 11290 * information: Portions Copyright [yyyy] [name of copyright owner] 11291 * 11292 * CDDL HEADER END 11293 */ 11294 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11295 /* All Rights Reserved */ 11296 11297 11298 /* 11299 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11300 * Use is subject to license terms. 11301 * 11302 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11303 * Copyright 2016 Joyent, Inc. 11304 */ 11305 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 2 11306 11307 11308 11309 11310 11311 /* 11312 * Flag values accessible to open(2) and fcntl(2) 11313 * The first five can only be set (exclusively) by open(2). 11314 */ 11315 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11316 /* defines read/write file integrity */ 11317 11318 11319 11320 11321 11322 11323 /* 11324 * Flag values accessible only to open(2). 11325 */ 11326 # 93 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11327 /* 11328 * fcntl(2) requests 11329 * 11330 * N.B.: values are not necessarily assigned sequentially below. 11331 */ 11332 11333 11334 11335 11336 11337 11338 11339 /* 11340 * Applications that read /dev/mem must be built like the kernel. A 11341 * new symbol "_KMEMUSER" is defined for this purpose. 11342 */ 11343 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11344 /* EINVAL is fildes matches arg1 */ 11345 # 137 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11346 /* 11347 * Numbers 20-22 have been removed and should not be reused. 11348 */ 11349 11350 11351 11352 11353 11354 /* manager */ 11355 11356 /* 11357 * Commands that refer to flock structures. The argument types differ between 11358 * the large and small file environments; therefore, the #defined values must 11359 * as well. 11360 * The NBMAND forms are private and should not be used. 11361 * The FLOCK forms are also private and should not be used. 11362 */ 11363 11364 11365 /* "Native" application compilation environment */ 11366 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11367 /* 11368 * transitional large file interface version 11369 * These are only valid in a 32 bit application compiled with large files 11370 * option, for source compatibility, the 64-bit versions are mapped back 11371 * to the native versions. 11372 */ 11373 # 233 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11374 /* 11375 * File segment locking set data type - information passed to system by user. 11376 */ 11377 11378 /* regular version, for both small and large file compilation environment */ 11379 typedef struct flock { 11380 short l_type; 11381 short l_whence; 11382 off_t l_start; 11383 off_t l_len; /* len == 0 means until end of file */ 11384 int l_sysid; 11385 pid_t l_pid; 11386 long l_pad[4]; /* reserve area */ 11387 } flock_t; 11388 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11389 /* transitional large file interface version */ 11390 11391 11392 11393 typedef struct flock64 { 11394 short l_type; 11395 short l_whence; 11396 off64_t l_start; 11397 off64_t l_len; /* len == 0 means until end of file */ 11398 int l_sysid; 11399 pid_t l_pid; 11400 long l_pad[4]; /* reserve area */ 11401 } flock64_t; 11402 # 328 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11403 /* 11404 * File segment locking types. 11405 */ 11406 11407 11408 11409 11410 11411 /* 11412 * POSIX constants 11413 */ 11414 11415 /* Mask for file access modes */ 11416 11417 11418 11419 /* 11420 * DIRECTIO 11421 */ 11422 11423 11424 11425 11426 /* 11427 * File share reservation type 11428 */ 11429 typedef struct fshare { 11430 short f_access; 11431 short f_deny; 11432 int f_id; 11433 } fshare_t; 11434 11435 /* 11436 * f_access values 11437 */ 11438 11439 11440 11441 11442 11443 11444 /* 11445 * f_deny values 11446 */ 11447 # 381 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11448 /* 11449 * Special flags for functions such as openat(), fstatat().... 11450 */ 11451 11452 11453 /* || defined(_XPG7) */ 11454 # 396 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fcntl.h" 11455 /* advice for posix_fadvise */ 11456 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 2 11457 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 11458 /* large file compilation environment setup */ 11459 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 11460 extern int fcntl(int, int, ...); 11461 extern int open(const char *, int, ...); 11462 extern int creat(const char *, mode_t); 11463 11464 extern int posix_fadvise(int, off_t, off_t, int); 11465 extern int posix_fallocate(int, off_t, off_t); 11466 11467 11468 11469 extern int openat(int, const char *, int, ...); 11470 extern int attropen(const char *, const char *, int, ...); 11471 11472 11473 extern int directio(int, int); 11474 11475 11476 /* transitional large file interface versions */ 11477 11478 11479 extern int open64(const char *, int, ...); 11480 extern int creat64(const char *, mode_t); 11481 11482 extern int posix_fadvise64(int, off64_t, off64_t, int); 11483 extern int posix_fallocate64(int, off64_t, off64_t); 11484 11485 11486 11487 extern int openat64(int, const char *, int, ...); 11488 extern int attropen64(const char *, const char *, int, ...); 11489 # 42 "common/apptrace.c" 2 11490 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 11491 /* 11492 * CDDL HEADER START 11493 * 11494 * The contents of this file are subject to the terms of the 11495 * Common Development and Distribution License (the "License"). 11496 * You may not use this file except in compliance with the License. 11497 * 11498 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11499 * or http://www.opensolaris.org/os/licensing. 11500 * See the License for the specific language governing permissions 11501 * and limitations under the License. 11502 * 11503 * When distributing Covered Code, include this CDDL HEADER in each 11504 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11505 * If applicable, add the following below this CDDL HEADER, with the 11506 * fields enclosed by brackets "[]" replaced with your own identifying 11507 * information: Portions Copyright [yyyy] [name of copyright owner] 11508 * 11509 * CDDL HEADER END 11510 */ 11511 11512 /* 11513 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11514 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 11515 */ 11516 11517 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 11518 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 11519 /* All Rights Reserved */ 11520 11521 11522 11523 11524 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11525 /* 11526 * CDDL HEADER START 11527 * 11528 * The contents of this file are subject to the terms of the 11529 * Common Development and Distribution License (the "License"). 11530 * You may not use this file except in compliance with the License. 11531 * 11532 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11533 * or http://www.opensolaris.org/os/licensing. 11534 * See the License for the specific language governing permissions 11535 * and limitations under the License. 11536 * 11537 * When distributing Covered Code, include this CDDL HEADER in each 11538 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11539 * If applicable, add the following below this CDDL HEADER, with the 11540 * fields enclosed by brackets "[]" replaced with your own identifying 11541 * information: Portions Copyright [yyyy] [name of copyright owner] 11542 * 11543 * CDDL HEADER END 11544 */ 11545 11546 /* 11547 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11548 * Copyright 2016 Joyent, Inc. 11549 * 11550 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11551 * Use is subject to license terms. 11552 */ 11553 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 11554 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11555 /* 11556 * CDDL HEADER START 11557 * 11558 * The contents of this file are subject to the terms of the 11559 * Common Development and Distribution License (the "License"). 11560 * You may not use this file except in compliance with the License. 11561 * 11562 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11563 * or http://www.opensolaris.org/os/licensing. 11564 * See the License for the specific language governing permissions 11565 * and limitations under the License. 11566 * 11567 * When distributing Covered Code, include this CDDL HEADER in each 11568 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11569 * If applicable, add the following below this CDDL HEADER, with the 11570 * fields enclosed by brackets "[]" replaced with your own identifying 11571 * information: Portions Copyright [yyyy] [name of copyright owner] 11572 * 11573 * CDDL HEADER END 11574 */ 11575 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11576 /* All Rights Reserved */ 11577 11578 11579 /* 11580 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11581 * Use is subject to license terms. 11582 * 11583 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11584 * Copyright 2016 Joyent, Inc. 11585 */ 11586 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 11587 11588 11589 11590 11591 11592 /* 11593 * The implementation specific header <sys/time_impl.h> includes a 11594 * definition for timestruc_t needed by the stat structure. However, 11595 * including either <time.h>, which includes <sys/time_impl.h>, or 11596 * including <sys/time_impl.h> directly will break both X/Open and 11597 * POSIX namespace. Preceeding tag, structure, and structure member 11598 * names with underscores eliminates the namespace breakage and at the 11599 * same time, with unique type names, eliminates the possibility of 11600 * timespec_t or timestruct_t naming conflicts that could otherwise 11601 * result based on the order of inclusion of <sys/stat.h> and 11602 * <sys/time.h>. The header <sys/time_std_impl.h> contains the 11603 * standards namespace safe versions of these definitions. 11604 */ 11605 11606 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 11607 /* 11608 * CDDL HEADER START 11609 * 11610 * The contents of this file are subject to the terms of the 11611 * Common Development and Distribution License, Version 1.0 only 11612 * (the "License"). You may not use this file except in compliance 11613 * with the License. 11614 * 11615 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11616 * or http://www.opensolaris.org/os/licensing. 11617 * See the License for the specific language governing permissions 11618 * and limitations under the License. 11619 * 11620 * When distributing Covered Code, include this CDDL HEADER in each 11621 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11622 * If applicable, add the following below this CDDL HEADER, with the 11623 * fields enclosed by brackets "[]" replaced with your own identifying 11624 * information: Portions Copyright [yyyy] [name of copyright owner] 11625 * 11626 * CDDL HEADER END 11627 */ 11628 /* 11629 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 11630 * Use is subject to license terms. 11631 */ 11632 11633 /* 11634 * Implementation-private. This header should not be included 11635 * directly by an application. The application should instead 11636 * include <time.h> which includes this header conditionally 11637 * depending on which feature test macros are defined. By default, 11638 * this header is included by <time.h>. X/Open and POSIX 11639 * standards requirements result in this header being included 11640 * by <time.h> only under a restricted set of conditions. 11641 */ 11642 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 11643 11644 11645 11646 11647 11648 11649 /* 11650 * stat structure, used by stat(2) and fstat(2) 11651 */ 11652 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11653 /* 11654 * large file compilation environment setup 11655 */ 11656 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11657 /* 11658 * In the LP64 compilation environment, map large file interfaces 11659 * back to native versions where possible. 11660 */ 11661 # 211 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11662 /* 11663 * User level stat structure definitions. 11664 */ 11665 # 242 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11666 struct stat { 11667 dev_t st_dev; 11668 long st_pad1[3]; /* reserved for network id */ 11669 ino_t st_ino; 11670 mode_t st_mode; 11671 nlink_t st_nlink; 11672 uid_t st_uid; 11673 gid_t st_gid; 11674 dev_t st_rdev; 11675 long st_pad2[2]; 11676 off_t st_size; 11677 11678 long st_pad3; /* future off_t expansion */ 11679 11680 11681 timestruc_t st_atim; 11682 timestruc_t st_mtim; 11683 timestruc_t st_ctim; 11684 11685 11686 11687 11688 11689 blksize_t st_blksize; 11690 blkcnt_t st_blocks; 11691 char st_fstype[16]; 11692 long st_pad4[8]; /* expansion area */ 11693 }; 11694 11695 11696 11697 /* transitional large file interface version */ 11698 # 303 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11699 struct stat64 { 11700 dev_t st_dev; 11701 long st_pad1[3]; /* reserved for network id */ 11702 ino64_t st_ino; 11703 mode_t st_mode; 11704 nlink_t st_nlink; 11705 uid_t st_uid; 11706 gid_t st_gid; 11707 dev_t st_rdev; 11708 long st_pad2[2]; 11709 off64_t st_size; 11710 11711 timestruc_t st_atim; 11712 timestruc_t st_mtim; 11713 timestruc_t st_ctim; 11714 11715 11716 11717 11718 11719 blksize_t st_blksize; 11720 blkcnt64_t st_blocks; 11721 char st_fstype[16]; 11722 long st_pad4[8]; /* expansion area */ 11723 }; 11724 # 401 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11725 /* MODE MASKS */ 11726 11727 /* de facto standard definitions */ 11728 11729 11730 11731 11732 11733 11734 /* XENIX definitions are not relevant to Solaris */ 11735 # 428 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11736 /* the following macros are for POSIX conformance */ 11737 # 454 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11738 /* POSIX.4 macros */ 11739 11740 11741 11742 11743 11744 11745 /* 11746 * A version number is included in the x86 SVR4 stat and mknod interfaces 11747 * so that SVR4 binaries can be supported. An LP64 kernel that supports 11748 * the i386 ABI need to be aware of this too. 11749 */ 11750 # 476 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11751 /* || defined(_XPG7) */ 11752 /* for use with futimens() and utimensat() */ 11753 # 486 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 11754 extern int fchmod(int, mode_t); 11755 11756 11757 extern int chmod(const char *, mode_t); 11758 extern int mkdir(const char *, mode_t); 11759 extern int mkfifo(const char *, mode_t); 11760 extern mode_t umask(mode_t); 11761 11762 /* transitional large file interfaces */ 11763 11764 11765 extern int fstat64(int, struct stat64 *); 11766 extern int stat64(const char *, struct stat64 *); 11767 extern int lstat64(const char *, struct stat64 *); 11768 11769 11770 extern int fstatat64(int, const char *, struct stat64 *, int); 11771 11772 11773 11774 11775 11776 /* || defined(_XPG7) */ 11777 extern int mkdirat(int, const char *, mode_t); 11778 extern int mkfifoat(int, const char *, mode_t); 11779 extern int mknodat(int, const char *, mode_t, dev_t); 11780 extern int fchmodat(int, const char *, mode_t, int); 11781 extern int futimens(int, const struct timespec[2]); 11782 extern int utimensat(int, const char *, const struct timespec[2], int); 11783 11784 11785 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 1 11786 /* 11787 * CDDL HEADER START 11788 * 11789 * The contents of this file are subject to the terms of the 11790 * Common Development and Distribution License (the "License"). 11791 * You may not use this file except in compliance with the License. 11792 * 11793 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11794 * or http://www.opensolaris.org/os/licensing. 11795 * See the License for the specific language governing permissions 11796 * and limitations under the License. 11797 * 11798 * When distributing Covered Code, include this CDDL HEADER in each 11799 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11800 * If applicable, add the following below this CDDL HEADER, with the 11801 * fields enclosed by brackets "[]" replaced with your own identifying 11802 * information: Portions Copyright [yyyy] [name of copyright owner] 11803 * 11804 * CDDL HEADER END 11805 */ 11806 11807 /* 11808 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 11809 * Use is subject to license terms. 11810 */ 11811 11812 11813 11814 11815 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 11816 /* 11817 * CDDL HEADER START 11818 * 11819 * The contents of this file are subject to the terms of the 11820 * Common Development and Distribution License (the "License"). 11821 * You may not use this file except in compliance with the License. 11822 * 11823 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11824 * or http://www.opensolaris.org/os/licensing. 11825 * See the License for the specific language governing permissions 11826 * and limitations under the License. 11827 * 11828 * When distributing Covered Code, include this CDDL HEADER in each 11829 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11830 * If applicable, add the following below this CDDL HEADER, with the 11831 * fields enclosed by brackets "[]" replaced with your own identifying 11832 * information: Portions Copyright [yyyy] [name of copyright owner] 11833 * 11834 * CDDL HEADER END 11835 */ 11836 11837 /* 11838 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 11839 * Copyright 2016 Joyent, Inc. 11840 * 11841 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 11842 * Use is subject to license terms. 11843 */ 11844 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 11845 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 11846 /* 11847 * CDDL HEADER START 11848 * 11849 * The contents of this file are subject to the terms of the 11850 * Common Development and Distribution License (the "License"). 11851 * You may not use this file except in compliance with the License. 11852 * 11853 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11854 * or http://www.opensolaris.org/os/licensing. 11855 * See the License for the specific language governing permissions 11856 * and limitations under the License. 11857 * 11858 * When distributing Covered Code, include this CDDL HEADER in each 11859 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11860 * If applicable, add the following below this CDDL HEADER, with the 11861 * fields enclosed by brackets "[]" replaced with your own identifying 11862 * information: Portions Copyright [yyyy] [name of copyright owner] 11863 * 11864 * CDDL HEADER END 11865 */ 11866 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 11867 /* All Rights Reserved */ 11868 11869 11870 /* 11871 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 11872 * Use is subject to license terms. 11873 * 11874 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 11875 * Copyright 2016 Joyent, Inc. 11876 */ 11877 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 2 11878 11879 11880 11881 11882 11883 /* 11884 * The implementation specific header for <sys/stat.h> 11885 */ 11886 11887 11888 11889 11890 11891 extern int fstat(int, struct stat *); 11892 extern int stat(const char *, struct stat *); 11893 11894 11895 11896 extern int fstatat(int, const char *, struct stat *, int); 11897 11898 11899 11900 extern int lstat(const char *, struct stat *); 11901 extern int mknod(const char *, mode_t, dev_t); 11902 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat_impl.h" 11903 /* 11904 * Obsolete SVR3 compatibility functions. 11905 * Application software should NOT program to the _xstat interface. 11906 */ 11907 11908 11909 extern int _fxstat(const int, int, struct stat *); 11910 extern int _xstat(const int, const char *, struct stat *); 11911 extern int _lxstat(const int, const char *, struct stat *); 11912 extern int _xmknod(const int, const char *, mode_t, dev_t); 11913 # 518 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 2 11914 # 43 "common/apptrace.c" 2 11915 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 1 11916 /* 11917 * CDDL HEADER START 11918 * 11919 * The contents of this file are subject to the terms of the 11920 * Common Development and Distribution License, Version 1.0 only 11921 * (the "License"). You may not use this file except in compliance 11922 * with the License. 11923 * 11924 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11925 * or http://www.opensolaris.org/os/licensing. 11926 * See the License for the specific language governing permissions 11927 * and limitations under the License. 11928 * 11929 * When distributing Covered Code, include this CDDL HEADER in each 11930 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11931 * If applicable, add the following below this CDDL HEADER, with the 11932 * fields enclosed by brackets "[]" replaced with your own identifying 11933 * information: Portions Copyright [yyyy] [name of copyright owner] 11934 * 11935 * CDDL HEADER END 11936 */ 11937 /* 11938 * Copyright (c) 1998-2000 by Sun Microsystems, Inc. 11939 * All rights reserved. 11940 */ 11941 11942 11943 11944 11945 #pragma ident "%Z%%M% %I% %E% SMI" 11946 11947 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 11948 /* 11949 * CDDL HEADER START 11950 * 11951 * The contents of this file are subject to the terms of the 11952 * Common Development and Distribution License (the "License"). 11953 * You may not use this file except in compliance with the License. 11954 * 11955 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11956 * or http://www.opensolaris.org/os/licensing. 11957 * See the License for the specific language governing permissions 11958 * and limitations under the License. 11959 * 11960 * When distributing Covered Code, include this CDDL HEADER in each 11961 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11962 * If applicable, add the following below this CDDL HEADER, with the 11963 * fields enclosed by brackets "[]" replaced with your own identifying 11964 * information: Portions Copyright [yyyy] [name of copyright owner] 11965 * 11966 * CDDL HEADER END 11967 */ 11968 11969 /* 11970 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 11971 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 11972 */ 11973 11974 /* Copyright (c) 1988 AT&T */ 11975 /* All Rights Reserved */ 11976 11977 /* 11978 * User-visible pieces of the ANSI C standard I/O package. 11979 */ 11980 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 11981 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/string.h" 1 11982 /* 11983 * CDDL HEADER START 11984 * 11985 * The contents of this file are subject to the terms of the 11986 * Common Development and Distribution License (the "License"). 11987 * You may not use this file except in compliance with the License. 11988 * 11989 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11990 * or http://www.opensolaris.org/os/licensing. 11991 * See the License for the specific language governing permissions 11992 * and limitations under the License. 11993 * 11994 * When distributing Covered Code, include this CDDL HEADER in each 11995 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 11996 * If applicable, add the following below this CDDL HEADER, with the 11997 * fields enclosed by brackets "[]" replaced with your own identifying 11998 * information: Portions Copyright [yyyy] [name of copyright owner] 11999 * 12000 * CDDL HEADER END 12001 */ 12002 12003 /* 12004 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12005 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 12006 */ 12007 12008 /* Copyright (c) 1988 AT&T */ 12009 /* All Rights Reserved */ 12010 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12011 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 1 12012 /* 12013 * CDDL HEADER START 12014 * 12015 * The contents of this file are subject to the terms of the 12016 * Common Development and Distribution License, Version 1.0 only 12017 * (the "License"). You may not use this file except in compliance 12018 * with the License. 12019 * 12020 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12021 * or http://www.opensolaris.org/os/licensing. 12022 * See the License for the specific language governing permissions 12023 * and limitations under the License. 12024 * 12025 * When distributing Covered Code, include this CDDL HEADER in each 12026 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12027 * If applicable, add the following below this CDDL HEADER, with the 12028 * fields enclosed by brackets "[]" replaced with your own identifying 12029 * information: Portions Copyright [yyyy] [name of copyright owner] 12030 * 12031 * CDDL HEADER END 12032 */ 12033 /* Copyright (c) 1988 AT&T */ 12034 /* All Rights Reserved */ 12035 12036 /* 12037 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12038 * 12039 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12040 * Use is subject to license terms. 12041 */ 12042 12043 12044 12045 12046 /* 12047 * This header defines the ISO C 1989, ISO C++ 1998, and ISO C 1999 12048 * variable argument definitions. For legacy support, it also defines 12049 * the pre-standard variable argument definitions. 12050 * 12051 * The varargs definitions within this header are defined in terms of 12052 * implementation definitions. These implementation definitions reside 12053 * in <sys/va_list.h>. This organization enables protected use of 12054 * the implementation by other standard headers without introducing 12055 * names into the users' namespace. 12056 */ 12057 12058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 1 12059 /* 12060 * CDDL HEADER START 12061 * 12062 * The contents of this file are subject to the terms of the 12063 * Common Development and Distribution License, Version 1.0 only 12064 * (the "License"). You may not use this file except in compliance 12065 * with the License. 12066 * 12067 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12068 * or http://www.opensolaris.org/os/licensing. 12069 * See the License for the specific language governing permissions 12070 * and limitations under the License. 12071 * 12072 * When distributing Covered Code, include this CDDL HEADER in each 12073 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12074 * If applicable, add the following below this CDDL HEADER, with the 12075 * fields enclosed by brackets "[]" replaced with your own identifying 12076 * information: Portions Copyright [yyyy] [name of copyright owner] 12077 * 12078 * CDDL HEADER END 12079 */ 12080 /* Copyright (c) 1988 AT&T */ 12081 /* All Rights Reserved */ 12082 12083 12084 /* 12085 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12086 * Use is subject to license terms. 12087 */ 12088 12089 /* 12090 * An application should not include this header directly. Instead it 12091 * should be included only through the inclusion of other Sun headers. 12092 * 12093 * The contents of this header is limited to identifiers specified in the 12094 * C Standard. Any new identifiers specified in future amendments to the 12095 * C Standard must be placed in this header. If these new identifiers 12096 * are required to also be in the C++ Standard "std" namespace, then for 12097 * anything other than macro definitions, corresponding "using" directives 12098 * must also be added to <stdarg.h>. 12099 */ 12100 12101 12102 12103 12104 #pragma ident "%Z%%M% %I% %E% SMI" 12105 12106 /* 12107 * This header defines the ISO C 1989 and ISO C++ 1998 variable 12108 * argument definitions. 12109 * 12110 * The varargs definitions within this header are defined in terms of 12111 * implementation definitions. These implementation definitions reside 12112 * in <sys/va_impl.h>. This organization enables protected use of 12113 * the implementation by other standard headers without introducing 12114 * names into the users' namespace. 12115 */ 12116 12117 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 1 12118 /* 12119 * CDDL HEADER START 12120 * 12121 * The contents of this file are subject to the terms of the 12122 * Common Development and Distribution License, Version 1.0 only 12123 * (the "License"). You may not use this file except in compliance 12124 * with the License. 12125 * 12126 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12127 * or http://www.opensolaris.org/os/licensing. 12128 * See the License for the specific language governing permissions 12129 * and limitations under the License. 12130 * 12131 * When distributing Covered Code, include this CDDL HEADER in each 12132 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12133 * If applicable, add the following below this CDDL HEADER, with the 12134 * fields enclosed by brackets "[]" replaced with your own identifying 12135 * information: Portions Copyright [yyyy] [name of copyright owner] 12136 * 12137 * CDDL HEADER END 12138 */ 12139 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12140 /* All Rights Reserved */ 12141 12142 12143 /* 12144 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12145 * 12146 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12147 * Use is subject to license terms. 12148 */ 12149 12150 12151 12152 12153 /* 12154 * An application should not include this header directly. Instead it 12155 * should be included only through the inclusion of other Sun headers, 12156 * specifically <stdarg.h> and <varargs.h>. 12157 * 12158 * This header serves two purposes. 12159 * 12160 * First, it provides a common set of definitions that implementations 12161 * of the various standards for variable argument lists may use. These 12162 * various standards are implemented in <varargs.h>, <stdarg.h>, 12163 * <iso/stdarg_iso.h>, <iso/stdarg_c99.h>, and <sys/varargs.h>. 12164 * 12165 * Second, it provides varying implementations of the common definitions, 12166 * depending upon the compiler. 12167 */ 12168 12169 /* 12170 * The common definitions exported by this header or compilers using 12171 * this header are: 12172 * 12173 * the macro __va_start(list, name) starting the list iteration 12174 * the macro __va_arg(list, type) getting the current arg and iterating 12175 * the macro __va_copy(to, from) to bookmark the list iteration 12176 * the macro __va_end(list) to end the iteration 12177 * 12178 * In addition, the following are exported via inclusion of <sys/va_list.h>: 12179 * 12180 * the identifier __builtin_va_alist for the variable list pseudo parameter 12181 * the type __va_alist_type for the variable list pseudo parameter 12182 * the type __va_list defining the type of the variable list iterator 12183 */ 12184 12185 /* 12186 * This header uses feature macros (e.g. __BUILTIN_VA_ARG_INCR and 12187 * __BUILTIN_VA_STRUCT), compiler macros (e.g. __GNUC__), and processor 12188 * macros (e.g. __sparc) to determine the protocol appropriate to the 12189 * current compilation. It is intended that the compilation system 12190 * define the feature, processor, and compiler macros, not the user of 12191 * the system. 12192 */ 12193 12194 /* 12195 * Many compilation systems depend upon the use of special functions 12196 * built into the the compilation system to handle variable argument 12197 * lists. These built-in symbols may include one or more of the 12198 * following: 12199 * 12200 * __builtin_va_alist 12201 * __builtin_va_start 12202 * __builtin_va_arg_incr 12203 * __builtin_stdarg_start 12204 * __builtin_va_end 12205 * __builtin_va_arg 12206 * __builtin_va_copy 12207 */ 12208 12209 /* 12210 * The following are defined in <sys/va_list.h>: 12211 * 12212 * __va_alist_type 12213 * __va_void() 12214 * __va_ptr_base 12215 * ISA definitions via inclusion of <sys/isa_defs.h> 12216 * 12217 * Inclusion of this header also makes visible the symbols in <sys/va_list.h>. 12218 * This header is included in <varargs.h>, <sys/varargs.h> and in <stdarg.h> 12219 * via inclusion of <iso/stdarg_iso.h>. 12220 */ 12221 12222 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 12223 /* 12224 * CDDL HEADER START 12225 * 12226 * The contents of this file are subject to the terms of the 12227 * Common Development and Distribution License, Version 1.0 only 12228 * (the "License"). You may not use this file except in compliance 12229 * with the License. 12230 * 12231 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12232 * or http://www.opensolaris.org/os/licensing. 12233 * See the License for the specific language governing permissions 12234 * and limitations under the License. 12235 * 12236 * When distributing Covered Code, include this CDDL HEADER in each 12237 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12238 * If applicable, add the following below this CDDL HEADER, with the 12239 * fields enclosed by brackets "[]" replaced with your own identifying 12240 * information: Portions Copyright [yyyy] [name of copyright owner] 12241 * 12242 * CDDL HEADER END 12243 */ 12244 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 12245 /* All Rights Reserved */ 12246 12247 12248 /* 12249 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12250 * 12251 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12252 * Use is subject to license terms. 12253 */ 12254 # 106 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_impl.h" 2 12255 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 2 12256 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_iso.h" 12257 typedef __va_list va_list; 12258 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 12259 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 1 12260 /* 12261 * CDDL HEADER START 12262 * 12263 * The contents of this file are subject to the terms of the 12264 * Common Development and Distribution License, Version 1.0 only 12265 * (the "License"). You may not use this file except in compliance 12266 * with the License. 12267 * 12268 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12269 * or http://www.opensolaris.org/os/licensing. 12270 * See the License for the specific language governing permissions 12271 * and limitations under the License. 12272 * 12273 * When distributing Covered Code, include this CDDL HEADER in each 12274 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12275 * If applicable, add the following below this CDDL HEADER, with the 12276 * fields enclosed by brackets "[]" replaced with your own identifying 12277 * information: Portions Copyright [yyyy] [name of copyright owner] 12278 * 12279 * CDDL HEADER END 12280 */ 12281 /* Copyright (c) 1988 AT&T */ 12282 /* All Rights Reserved */ 12283 12284 12285 /* 12286 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12287 * Use is subject to license terms. 12288 */ 12289 12290 12291 12292 12293 #pragma ident "%Z%%M% %I% %E% SMI" 12294 12295 /* 12296 * An application should not include this header directly. Instead it 12297 * should be included only through the inclusion of other Sun headers. 12298 * 12299 * This header defines the va_copy variable argument macro, which is 12300 * new in ISO C 1999, and thus not present in ISO C 1989 and ISO C++ 12301 * 1998. Because this macro is a long-standing Solaris extension, it 12302 * is also permitted in other contexts. 12303 * 12304 * The varargs definitions within this header are defined in terms of 12305 * implementation definitions. These implementation definitions reside 12306 * in <sys/va_list.h>. This organization enables protected use of 12307 * the implementation by other standard headers without introducing 12308 * names into the users' namespace. 12309 */ 12310 12311 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12312 /* 12313 * CDDL HEADER START 12314 * 12315 * The contents of this file are subject to the terms of the 12316 * Common Development and Distribution License (the "License"). 12317 * You may not use this file except in compliance with the License. 12318 * 12319 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12320 * or http://www.opensolaris.org/os/licensing. 12321 * See the License for the specific language governing permissions 12322 * and limitations under the License. 12323 * 12324 * When distributing Covered Code, include this CDDL HEADER in each 12325 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12326 * If applicable, add the following below this CDDL HEADER, with the 12327 * fields enclosed by brackets "[]" replaced with your own identifying 12328 * information: Portions Copyright [yyyy] [name of copyright owner] 12329 * 12330 * CDDL HEADER END 12331 */ 12332 12333 /* 12334 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12335 * Copyright 2016 Joyent, Inc. 12336 * 12337 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12338 * Use is subject to license terms. 12339 */ 12340 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stdarg_c99.h" 2 12341 12342 12343 12344 12345 12346 /* 12347 * va_copy was initially a Solaris extension to provide a portable 12348 * way to perform a variable argument list ``bookmarking'' function. 12349 * It is now specified in the ISO/IEC 9899:1999 standard. 12350 */ 12351 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdarg.h" 2 12352 12353 /* 12354 * Allow global visibility for symbols defined in 12355 * C++ "std" namespace in <iso/stdarg_iso.h>. 12356 */ 12357 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12358 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/dlfcn.h" 1 12359 /* 12360 * CDDL HEADER START 12361 * 12362 * The contents of this file are subject to the terms of the 12363 * Common Development and Distribution License (the "License"). 12364 * You may not use this file except in compliance with the License. 12365 * 12366 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12367 * or http://www.opensolaris.org/os/licensing. 12368 * See the License for the specific language governing permissions 12369 * and limitations under the License. 12370 * 12371 * When distributing Covered Code, include this CDDL HEADER in each 12372 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12373 * If applicable, add the following below this CDDL HEADER, with the 12374 * fields enclosed by brackets "[]" replaced with your own identifying 12375 * information: Portions Copyright [yyyy] [name of copyright owner] 12376 * 12377 * CDDL HEADER END 12378 */ 12379 /* 12380 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12381 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 12382 * 12383 * Copyright (c) 1989 AT&T 12384 * All Rights Reserved 12385 * 12386 */ 12387 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12388 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 12389 /* 12390 * CDDL HEADER START 12391 * 12392 * The contents of this file are subject to the terms of the 12393 * Common Development and Distribution License (the "License"). 12394 * You may not use this file except in compliance with the License. 12395 * 12396 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12397 * or http://www.opensolaris.org/os/licensing. 12398 * See the License for the specific language governing permissions 12399 * and limitations under the License. 12400 * 12401 * When distributing Covered Code, include this CDDL HEADER in each 12402 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12403 * If applicable, add the following below this CDDL HEADER, with the 12404 * fields enclosed by brackets "[]" replaced with your own identifying 12405 * information: Portions Copyright [yyyy] [name of copyright owner] 12406 * 12407 * CDDL HEADER END 12408 */ 12409 /* 12410 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12411 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 12412 */ 12413 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12414 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/signal.h" 1 12415 /* 12416 * CDDL HEADER START 12417 * 12418 * The contents of this file are subject to the terms of the 12419 * Common Development and Distribution License, Version 1.0 only 12420 * (the "License"). You may not use this file except in compliance 12421 * with the License. 12422 * 12423 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12424 * or http://www.opensolaris.org/os/licensing. 12425 * See the License for the specific language governing permissions 12426 * and limitations under the License. 12427 * 12428 * When distributing Covered Code, include this CDDL HEADER in each 12429 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12430 * If applicable, add the following below this CDDL HEADER, with the 12431 * fields enclosed by brackets "[]" replaced with your own identifying 12432 * information: Portions Copyright [yyyy] [name of copyright owner] 12433 * 12434 * CDDL HEADER END 12435 */ 12436 /* Copyright (c) 1988 AT&T */ 12437 /* All Rights Reserved */ 12438 12439 /* 12440 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12441 * 12442 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12443 * Use is subject to license terms. 12444 */ 12445 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12446 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 12447 /* 12448 * CDDL HEADER START 12449 * 12450 * The contents of this file are subject to the terms of the 12451 * Common Development and Distribution License (the "License"). 12452 * You may not use this file except in compliance with the License. 12453 * 12454 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12455 * or http://www.opensolaris.org/os/licensing. 12456 * See the License for the specific language governing permissions 12457 * and limitations under the License. 12458 * 12459 * When distributing Covered Code, include this CDDL HEADER in each 12460 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12461 * If applicable, add the following below this CDDL HEADER, with the 12462 * fields enclosed by brackets "[]" replaced with your own identifying 12463 * information: Portions Copyright [yyyy] [name of copyright owner] 12464 * 12465 * CDDL HEADER END 12466 */ 12467 12468 /* 12469 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12470 * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. 12471 */ 12472 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 12473 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 1 12474 /* 12475 * CDDL HEADER START 12476 * 12477 * The contents of this file are subject to the terms of the 12478 * Common Development and Distribution License (the "License"). 12479 * You may not use this file except in compliance with the License. 12480 * 12481 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12482 * or http://www.opensolaris.org/os/licensing. 12483 * See the License for the specific language governing permissions 12484 * and limitations under the License. 12485 * 12486 * When distributing Covered Code, include this CDDL HEADER in each 12487 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12488 * If applicable, add the following below this CDDL HEADER, with the 12489 * fields enclosed by brackets "[]" replaced with your own identifying 12490 * information: Portions Copyright [yyyy] [name of copyright owner] 12491 * 12492 * CDDL HEADER END 12493 */ 12494 12495 /* 12496 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12497 * Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved. 12498 */ 12499 12500 12501 12502 12503 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12504 /* 12505 * CDDL HEADER START 12506 * 12507 * The contents of this file are subject to the terms of the 12508 * Common Development and Distribution License (the "License"). 12509 * You may not use this file except in compliance with the License. 12510 * 12511 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12512 * or http://www.opensolaris.org/os/licensing. 12513 * See the License for the specific language governing permissions 12514 * and limitations under the License. 12515 * 12516 * When distributing Covered Code, include this CDDL HEADER in each 12517 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12518 * If applicable, add the following below this CDDL HEADER, with the 12519 * fields enclosed by brackets "[]" replaced with your own identifying 12520 * information: Portions Copyright [yyyy] [name of copyright owner] 12521 * 12522 * CDDL HEADER END 12523 */ 12524 12525 /* 12526 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12527 * Copyright 2016 Joyent, Inc. 12528 * 12529 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12530 * Use is subject to license terms. 12531 */ 12532 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 12533 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 1 12534 /* 12535 * CDDL HEADER START 12536 * 12537 * The contents of this file are subject to the terms of the 12538 * Common Development and Distribution License (the "License"). 12539 * You may not use this file except in compliance with the License. 12540 * 12541 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12542 * or http://www.opensolaris.org/os/licensing. 12543 * See the License for the specific language governing permissions 12544 * and limitations under the License. 12545 * 12546 * When distributing Covered Code, include this CDDL HEADER in each 12547 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12548 * If applicable, add the following below this CDDL HEADER, with the 12549 * fields enclosed by brackets "[]" replaced with your own identifying 12550 * information: Portions Copyright [yyyy] [name of copyright owner] 12551 * 12552 * CDDL HEADER END 12553 */ 12554 12555 /* 12556 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12557 * Copyright 2014 PALO, Richard. 12558 * 12559 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12560 * Use is subject to license terms. 12561 */ 12562 12563 /* 12564 * An application should not include this header directly. Instead it 12565 * should be included only through the inclusion of other Sun headers. 12566 * 12567 * The contents of this header is limited to identifiers specified in the 12568 * C Standard. Any new identifiers specified in future amendments to the 12569 * C Standard must be placed in this header. If these new identifiers 12570 * are required to also be in the C++ Standard "std" namespace, then for 12571 * anything other than macro definitions, corresponding "using" directives 12572 * must also be added to <wchar.h>. 12573 */ 12574 12575 12576 12577 12578 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12579 /* 12580 * CDDL HEADER START 12581 * 12582 * The contents of this file are subject to the terms of the 12583 * Common Development and Distribution License (the "License"). 12584 * You may not use this file except in compliance with the License. 12585 * 12586 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12587 * or http://www.opensolaris.org/os/licensing. 12588 * See the License for the specific language governing permissions 12589 * and limitations under the License. 12590 * 12591 * When distributing Covered Code, include this CDDL HEADER in each 12592 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12593 * If applicable, add the following below this CDDL HEADER, with the 12594 * fields enclosed by brackets "[]" replaced with your own identifying 12595 * information: Portions Copyright [yyyy] [name of copyright owner] 12596 * 12597 * CDDL HEADER END 12598 */ 12599 12600 /* 12601 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12602 * Copyright 2016 Joyent, Inc. 12603 * 12604 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12605 * Use is subject to license terms. 12606 */ 12607 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12608 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 12609 /* 12610 * This file and its contents are supplied under the terms of the 12611 * Common Development and Distribution License ("CDDL"), version 1.0. 12612 * You may only use this file in accordance with the terms of version 12613 * 1.0 of the CDDL. 12614 * 12615 * A full copy of the text of the CDDL should have accompanied this 12616 * source. A copy of the CDDL is also available via the Internet at 12617 * http://www.illumos.org/license/CDDL. 12618 */ 12619 12620 /* 12621 * Copyright 2014-2016 PALO, Richard. 12622 */ 12623 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12624 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio_tag.h" 1 12625 /* 12626 * CDDL HEADER START 12627 * 12628 * The contents of this file are subject to the terms of the 12629 * Common Development and Distribution License, Version 1.0 only 12630 * (the "License"). You may not use this file except in compliance 12631 * with the License. 12632 * 12633 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12634 * or http://www.opensolaris.org/os/licensing. 12635 * See the License for the specific language governing permissions 12636 * and limitations under the License. 12637 * 12638 * When distributing Covered Code, include this CDDL HEADER in each 12639 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12640 * If applicable, add the following below this CDDL HEADER, with the 12641 * fields enclosed by brackets "[]" replaced with your own identifying 12642 * information: Portions Copyright [yyyy] [name of copyright owner] 12643 * 12644 * CDDL HEADER END 12645 */ 12646 /* 12647 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12648 * Use is subject to license terms. 12649 */ 12650 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12651 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar_impl.h" 1 12652 /* 12653 * CDDL HEADER START 12654 * 12655 * The contents of this file are subject to the terms of the 12656 * Common Development and Distribution License, Version 1.0 only 12657 * (the "License"). You may not use this file except in compliance 12658 * with the License. 12659 * 12660 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12661 * or http://www.opensolaris.org/os/licensing. 12662 * See the License for the specific language governing permissions 12663 * and limitations under the License. 12664 * 12665 * When distributing Covered Code, include this CDDL HEADER in each 12666 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12667 * If applicable, add the following below this CDDL HEADER, with the 12668 * fields enclosed by brackets "[]" replaced with your own identifying 12669 * information: Portions Copyright [yyyy] [name of copyright owner] 12670 * 12671 * CDDL HEADER END 12672 */ 12673 /* 12674 * Copyright (c) 1998 by Sun Microsystems, Inc. 12675 * All rights reserved. 12676 */ 12677 12678 12679 12680 12681 #pragma ident "%Z%%M% %I% %E% SMI" 12682 12683 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 12684 /* 12685 * CDDL HEADER START 12686 * 12687 * The contents of this file are subject to the terms of the 12688 * Common Development and Distribution License (the "License"). 12689 * You may not use this file except in compliance with the License. 12690 * 12691 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12692 * or http://www.opensolaris.org/os/licensing. 12693 * See the License for the specific language governing permissions 12694 * and limitations under the License. 12695 * 12696 * 12697 * When distributing Covered Code, include this CDDL HEADER in each 12698 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12699 * If applicable, add the following below this CDDL HEADER, with the 12700 * fields enclosed by brackets "[]" replaced with your own identifying 12701 * information: Portions Copyright [yyyy] [name of copyright owner] 12702 * 12703 * CDDL HEADER END 12704 */ 12705 12706 /* 12707 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 12708 * Use is subject to license terms. 12709 * Copyright 2016 Joyent, Inc. 12710 */ 12711 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar_impl.h" 2 12712 12713 12714 12715 12716 12717 12718 12719 typedef struct __mbstate_t { 12720 12721 12722 12723 int __filler[6]; 12724 12725 } __mbstate_t; 12726 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12727 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 12728 /* 12729 * CDDL HEADER START 12730 * 12731 * The contents of this file are subject to the terms of the 12732 * Common Development and Distribution License, Version 1.0 only 12733 * (the "License"). You may not use this file except in compliance 12734 * with the License. 12735 * 12736 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12737 * or http://www.opensolaris.org/os/licensing. 12738 * See the License for the specific language governing permissions 12739 * and limitations under the License. 12740 * 12741 * When distributing Covered Code, include this CDDL HEADER in each 12742 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12743 * If applicable, add the following below this CDDL HEADER, with the 12744 * fields enclosed by brackets "[]" replaced with your own identifying 12745 * information: Portions Copyright [yyyy] [name of copyright owner] 12746 * 12747 * CDDL HEADER END 12748 */ 12749 /* Copyright (c) 1988 AT&T */ 12750 /* All Rights Reserved */ 12751 12752 /* 12753 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12754 * Copyright 2014 PALO, Richard. 12755 * 12756 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12757 * Use is subject to license terms. 12758 */ 12759 12760 /* 12761 * An application should not include this header directly. Instead it 12762 * should be included only through the inclusion of other Sun headers. 12763 * 12764 * The contents of this header is limited to identifiers specified in the 12765 * C Standard. Any new identifiers specified in future amendments to the 12766 * C Standard must be placed in this header. If these new identifiers 12767 * are required to also be in the C++ Standard "std" namespace, then for 12768 * anything other than macro definitions, corresponding "using" directives 12769 * must also be added to <time.h.h>. 12770 */ 12771 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12772 12773 12774 12775 12776 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdio.h" 1 12777 /* 12778 * CDDL HEADER START 12779 * 12780 * The contents of this file are subject to the terms of the 12781 * Common Development and Distribution License (the "License"). 12782 * You may not use this file except in compliance with the License. 12783 * 12784 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12785 * or http://www.opensolaris.org/os/licensing. 12786 * See the License for the specific language governing permissions 12787 * and limitations under the License. 12788 * 12789 * When distributing Covered Code, include this CDDL HEADER in each 12790 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12791 * If applicable, add the following below this CDDL HEADER, with the 12792 * fields enclosed by brackets "[]" replaced with your own identifying 12793 * information: Portions Copyright [yyyy] [name of copyright owner] 12794 * 12795 * CDDL HEADER END 12796 */ 12797 12798 /* 12799 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12800 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 12801 */ 12802 12803 /* Copyright (c) 1988 AT&T */ 12804 /* All Rights Reserved */ 12805 12806 /* 12807 * User-visible pieces of the ANSI C standard I/O package. 12808 */ 12809 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12810 12811 12812 12813 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 1 12814 /* 12815 * CDDL HEADER START 12816 * 12817 * The contents of this file are subject to the terms of the 12818 * Common Development and Distribution License, Version 1.0 only 12819 * (the "License"). You may not use this file except in compliance 12820 * with the License. 12821 * 12822 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12823 * or http://www.opensolaris.org/os/licensing. 12824 * See the License for the specific language governing permissions 12825 * and limitations under the License. 12826 * 12827 * When distributing Covered Code, include this CDDL HEADER in each 12828 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12829 * If applicable, add the following below this CDDL HEADER, with the 12830 * fields enclosed by brackets "[]" replaced with your own identifying 12831 * information: Portions Copyright [yyyy] [name of copyright owner] 12832 * 12833 * CDDL HEADER END 12834 */ 12835 /* Copyright (c) 1988 AT&T */ 12836 /* All Rights Reserved */ 12837 12838 12839 /* 12840 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12841 * 12842 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12843 * Use is subject to license terms. 12844 */ 12845 12846 12847 12848 12849 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 1 12850 /* 12851 * CDDL HEADER START 12852 * 12853 * The contents of this file are subject to the terms of the 12854 * Common Development and Distribution License, Version 1.0 only 12855 * (the "License"). You may not use this file except in compliance 12856 * with the License. 12857 * 12858 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12859 * or http://www.opensolaris.org/os/licensing. 12860 * See the License for the specific language governing permissions 12861 * and limitations under the License. 12862 * 12863 * When distributing Covered Code, include this CDDL HEADER in each 12864 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12865 * If applicable, add the following below this CDDL HEADER, with the 12866 * fields enclosed by brackets "[]" replaced with your own identifying 12867 * information: Portions Copyright [yyyy] [name of copyright owner] 12868 * 12869 * CDDL HEADER END 12870 */ 12871 /* Copyright (c) 1988 AT&T */ 12872 /* All Rights Reserved */ 12873 12874 /* 12875 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 12876 * 12877 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 12878 * Use is subject to license terms. 12879 */ 12880 12881 /* 12882 * An application should not include this header directly. Instead it 12883 * should be included only through the inclusion of other Sun headers. 12884 * 12885 * The contents of this header is limited to identifiers specified in the 12886 * C Standard. Any new identifiers specified in future amendments to the 12887 * C Standard must be placed in this header. If these new identifiers 12888 * are required to also be in the C++ Standard "std" namespace, then for 12889 * anything other than macro definitions, corresponding "using" directives 12890 * must also be added to <ctype.h>. 12891 */ 12892 12893 12894 12895 12896 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 12897 /* 12898 * CDDL HEADER START 12899 * 12900 * The contents of this file are subject to the terms of the 12901 * Common Development and Distribution License (the "License"). 12902 * You may not use this file except in compliance with the License. 12903 * 12904 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12905 * or http://www.opensolaris.org/os/licensing. 12906 * See the License for the specific language governing permissions 12907 * and limitations under the License. 12908 * 12909 * When distributing Covered Code, include this CDDL HEADER in each 12910 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 12911 * If applicable, add the following below this CDDL HEADER, with the 12912 * fields enclosed by brackets "[]" replaced with your own identifying 12913 * information: Portions Copyright [yyyy] [name of copyright owner] 12914 * 12915 * CDDL HEADER END 12916 */ 12917 12918 /* 12919 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 12920 * Copyright 2016 Joyent, Inc. 12921 * 12922 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 12923 * Use is subject to license terms. 12924 */ 12925 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 2 12926 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/ctype_iso.h" 12927 extern unsigned char __ctype[]; 12928 extern unsigned int *__ctype_mask; 12929 extern int *__trans_upper; 12930 extern int *__trans_lower; 12931 12932 12933 12934 12935 12936 /* 12937 * These used to be macros, which while more efficient, precludes operation 12938 * with thread specific locales. The old macros will still work, but new 12939 * code compiles to use functions. This is specifically permitted by the 12940 * various standards. Only _tolower and _toupper were required to be 12941 * delivered in macro form. 12942 */ 12943 extern int isalnum(int); 12944 extern int isalpha(int); 12945 extern int iscntrl(int); 12946 extern int isdigit(int); 12947 extern int isgraph(int); 12948 extern int islower(int); 12949 extern int isprint(int); 12950 extern int ispunct(int); 12951 extern int isspace(int); 12952 extern int isupper(int); 12953 extern int isxdigit(int); 12954 12955 extern int isblank(int); 12956 12957 12958 extern int tolower(int); 12959 extern int toupper(int); 12960 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 2 12961 12962 /* 12963 * Allow global visibility for symbols defined in 12964 * C++ "std" namespace in <iso/ctype_iso.h>. 12965 */ 12966 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 12967 extern int isascii(int); 12968 extern int toascii(int); 12969 extern int _tolower(int); 12970 extern int _toupper(int); 12971 # 98 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ctype.h" 12972 extern int isalnum_l(int, locale_t); 12973 extern int isalpha_l(int, locale_t); 12974 extern int isblank_l(int, locale_t); 12975 extern int iscntrl_l(int, locale_t); 12976 extern int isdigit_l(int, locale_t); 12977 extern int isgraph_l(int, locale_t); 12978 extern int islower_l(int, locale_t); 12979 extern int isprint_l(int, locale_t); 12980 extern int ispunct_l(int, locale_t); 12981 extern int isspace_l(int, locale_t); 12982 extern int isupper_l(int, locale_t); 12983 extern int isxdigit_l(int, locale_t); 12984 extern int tolower_l(int, locale_t); 12985 extern int toupper_l(int, locale_t); 12986 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 12987 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 1 12988 /* 12989 * CDDL HEADER START 12990 * 12991 * The contents of this file are subject to the terms of the 12992 * Common Development and Distribution License, Version 1.0 only 12993 * (the "License"). You may not use this file except in compliance 12994 * with the License. 12995 * 12996 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12997 * or http://www.opensolaris.org/os/licensing. 12998 * See the License for the specific language governing permissions 12999 * and limitations under the License. 13000 * 13001 * When distributing Covered Code, include this CDDL HEADER in each 13002 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13003 * If applicable, add the following below this CDDL HEADER, with the 13004 * fields enclosed by brackets "[]" replaced with your own identifying 13005 * information: Portions Copyright [yyyy] [name of copyright owner] 13006 * 13007 * CDDL HEADER END 13008 */ 13009 /* Copyright (c) 1988 AT&T */ 13010 /* All Rights Reserved */ 13011 13012 13013 /* 13014 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 13015 * Use is subject to license terms. 13016 */ 13017 13018 13019 13020 13021 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13022 /* 13023 * CDDL HEADER START 13024 * 13025 * The contents of this file are subject to the terms of the 13026 * Common Development and Distribution License (the "License"). 13027 * You may not use this file except in compliance with the License. 13028 * 13029 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13030 * or http://www.opensolaris.org/os/licensing. 13031 * See the License for the specific language governing permissions 13032 * and limitations under the License. 13033 * 13034 * 13035 * When distributing Covered Code, include this CDDL HEADER in each 13036 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13037 * If applicable, add the following below this CDDL HEADER, with the 13038 * fields enclosed by brackets "[]" replaced with your own identifying 13039 * information: Portions Copyright [yyyy] [name of copyright owner] 13040 * 13041 * CDDL HEADER END 13042 */ 13043 13044 /* 13045 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13046 * Use is subject to license terms. 13047 * Copyright 2016 Joyent, Inc. 13048 */ 13049 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 13050 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 1 13051 /* 13052 * CDDL HEADER START 13053 * 13054 * The contents of this file are subject to the terms of the 13055 * Common Development and Distribution License, Version 1.0 only 13056 * (the "License"). You may not use this file except in compliance 13057 * with the License. 13058 * 13059 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13060 * or http://www.opensolaris.org/os/licensing. 13061 * See the License for the specific language governing permissions 13062 * and limitations under the License. 13063 * 13064 * When distributing Covered Code, include this CDDL HEADER in each 13065 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13066 * If applicable, add the following below this CDDL HEADER, with the 13067 * fields enclosed by brackets "[]" replaced with your own identifying 13068 * information: Portions Copyright [yyyy] [name of copyright owner] 13069 * 13070 * CDDL HEADER END 13071 */ 13072 /* Copyright (c) 1988 AT&T */ 13073 /* All Rights Reserved */ 13074 13075 13076 /* 13077 * Copyright 1999-2003 Sun Microsystems, Inc. All rights reserved. 13078 * Use is subject to license terms. 13079 */ 13080 13081 /* 13082 * Copyright 2014 PALO, Richard. 13083 * Copyright 2016 Joyent, Inc. 13084 */ 13085 13086 /* 13087 * An application should not include this header directly. Instead it 13088 * should be included only through the inclusion of other Sun headers. 13089 * 13090 * The contents of this header is limited to identifiers specified in the 13091 * C Standard. Any new identifiers specified in future amendments to the 13092 * C Standard must be placed in this header. If these new identifiers 13093 * are required to also be in the C++ Standard "std" namespace, then for 13094 * anything other than macro definitions, corresponding "using" directives 13095 * must also be added to <stddef.h.h>. 13096 */ 13097 13098 13099 13100 13101 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13102 /* 13103 * CDDL HEADER START 13104 * 13105 * The contents of this file are subject to the terms of the 13106 * Common Development and Distribution License (the "License"). 13107 * You may not use this file except in compliance with the License. 13108 * 13109 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13110 * or http://www.opensolaris.org/os/licensing. 13111 * See the License for the specific language governing permissions 13112 * and limitations under the License. 13113 * 13114 * 13115 * When distributing Covered Code, include this CDDL HEADER in each 13116 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13117 * If applicable, add the following below this CDDL HEADER, with the 13118 * fields enclosed by brackets "[]" replaced with your own identifying 13119 * information: Portions Copyright [yyyy] [name of copyright owner] 13120 * 13121 * CDDL HEADER END 13122 */ 13123 13124 /* 13125 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13126 * Use is subject to license terms. 13127 * Copyright 2016 Joyent, Inc. 13128 */ 13129 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 13130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 13131 /* 13132 * CDDL HEADER START 13133 * 13134 * The contents of this file are subject to the terms of the 13135 * Common Development and Distribution License (the "License"). 13136 * You may not use this file except in compliance with the License. 13137 * 13138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13139 * or http://www.opensolaris.org/os/licensing. 13140 * See the License for the specific language governing permissions 13141 * and limitations under the License. 13142 * 13143 * When distributing Covered Code, include this CDDL HEADER in each 13144 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13145 * If applicable, add the following below this CDDL HEADER, with the 13146 * fields enclosed by brackets "[]" replaced with your own identifying 13147 * information: Portions Copyright [yyyy] [name of copyright owner] 13148 * 13149 * CDDL HEADER END 13150 */ 13151 13152 /* 13153 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 13154 * Copyright 2016 Joyent, Inc. 13155 * 13156 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13157 * Use is subject to license terms. 13158 */ 13159 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 13160 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 13161 /* 13162 * This file and its contents are supplied under the terms of the 13163 * Common Development and Distribution License ("CDDL"), version 1.0. 13164 * You may only use this file in accordance with the terms of version 13165 * 1.0 of the CDDL. 13166 * 13167 * A full copy of the text of the CDDL should have accompanied this 13168 * source. A copy of the CDDL is also available via the Internet at 13169 * http://www.illumos.org/license/CDDL. 13170 */ 13171 13172 /* 13173 * Copyright 2014-2016 PALO, Richard. 13174 */ 13175 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 2 13176 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/stddef_iso.h" 13177 typedef long max_align_t; 13178 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 13179 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 13180 /* 13181 * This file and its contents are supplied under the terms of the 13182 * Common Development and Distribution License ("CDDL"), version 1.0. 13183 * You may only use this file in accordance with the terms of version 13184 * 1.0 of the CDDL. 13185 * 13186 * A full copy of the text of the CDDL should have accompanied this 13187 * source. A copy of the CDDL is also available via the Internet at 13188 * http://www.illumos.org/license/CDDL. 13189 */ 13190 13191 /* 13192 * Copyright 2017 Toomas Soome <tsoome@me.com> 13193 */ 13194 13195 13196 13197 13198 /* 13199 * Commonly used macros and definitions. 13200 */ 13201 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 13202 /* 13203 * We must not expose container_of() to userland, but we want it 13204 * to be available for early boot and for the kernel. 13205 */ 13206 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 2 13207 13208 /* 13209 * Allow global visibility for symbols defined in 13210 * C++ "std" namespace in <iso/stddef_iso.h>. 13211 */ 13212 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stddef.h" 13213 /* 13214 * wchar_t is a built-in type in standard C++ and as such is not 13215 * defined here when using standard C++. However, the GNU compiler 13216 * fixincludes utility nonetheless creates its own version of this 13217 * header for use by gcc and g++. In that version it adds a redundant 13218 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 13219 * header we need to include the following magic comment: 13220 * 13221 * we must use the C++ compiler's type 13222 * 13223 * The above comment should not be removed or changed until GNU 13224 * gcc/fixinc/inclhack.def is updated to bypass this header. 13225 */ 13226 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 13227 13228 13229 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/va_list.h" 1 13230 /* 13231 * CDDL HEADER START 13232 * 13233 * The contents of this file are subject to the terms of the 13234 * Common Development and Distribution License, Version 1.0 only 13235 * (the "License"). You may not use this file except in compliance 13236 * with the License. 13237 * 13238 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13239 * or http://www.opensolaris.org/os/licensing. 13240 * See the License for the specific language governing permissions 13241 * and limitations under the License. 13242 * 13243 * When distributing Covered Code, include this CDDL HEADER in each 13244 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13245 * If applicable, add the following below this CDDL HEADER, with the 13246 * fields enclosed by brackets "[]" replaced with your own identifying 13247 * information: Portions Copyright [yyyy] [name of copyright owner] 13248 * 13249 * CDDL HEADER END 13250 */ 13251 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13252 /* All Rights Reserved */ 13253 13254 13255 /* 13256 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13257 * 13258 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13259 * Use is subject to license terms. 13260 */ 13261 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 2 13262 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13263 /* 13264 * wchar_t is a built-in type in standard C++ and as such is not 13265 * defined here when using standard C++. However, the GNU compiler 13266 * fixincludes utility nonetheless creates its own version of this 13267 * header for use by gcc and g++. In that version it adds a redundant 13268 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 13269 * header we need to include the following magic comment: 13270 * 13271 * we must use the C++ compiler's type 13272 * 13273 * The above comment should not be removed or changed until GNU 13274 * gcc/fixinc/inclhack.def is updated to bypass this header. 13275 */ 13276 # 101 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13277 typedef long wint_t; 13278 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13279 /* not XPG4 and not XPG4v2 */ 13280 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13281 typedef __mbstate_t mbstate_t; 13282 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13283 /* not XPG4 and not XPG4v2 */ 13284 13285 13286 13287 # 172 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13288 #pragma redefine_extname fgetwc __fgetwc_xpg5 13289 # 172 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13290 13291 13292 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13293 #pragma redefine_extname getwc __getwc_xpg5 13294 # 173 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13295 13296 13297 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13298 #pragma redefine_extname getwchar __getwchar_xpg5 13299 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13300 13301 13302 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13303 #pragma redefine_extname fputwc __fputwc_xpg5 13304 # 175 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13305 13306 13307 # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13308 #pragma redefine_extname putwc __putwc_xpg5 13309 # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13310 13311 13312 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13313 #pragma redefine_extname putwchar __putwchar_xpg5 13314 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13315 13316 13317 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13318 #pragma redefine_extname fgetws __fgetws_xpg5 13319 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13320 13321 13322 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13323 #pragma redefine_extname fputws __fputws_xpg5 13324 # 179 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13325 13326 13327 # 180 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13328 #pragma redefine_extname ungetwc __ungetwc_xpg5 13329 # 180 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13330 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13331 extern wint_t fgetwc(__FILE *); 13332 extern wchar_t *fgetws(wchar_t *, int, __FILE *); 13333 extern wint_t fputwc(wint_t, __FILE *); 13334 extern int fputws(const wchar_t *, __FILE *); 13335 extern wint_t ungetwc(wint_t, __FILE *); 13336 extern wint_t getwc(__FILE *); 13337 extern wint_t getwchar(void); 13338 extern wint_t putwc(wint_t, __FILE *); 13339 extern wint_t putwchar(wint_t); 13340 extern double wcstod(const wchar_t *, wchar_t **); 13341 extern long wcstol(const wchar_t *, wchar_t **, 13342 int); 13343 extern unsigned long wcstoul(const wchar_t *, 13344 wchar_t **, int); 13345 extern wchar_t *wcscat(wchar_t *, const wchar_t *); 13346 extern int wcscmp(const wchar_t *, const wchar_t *); 13347 extern int wcscoll(const wchar_t *, const wchar_t *); 13348 extern wchar_t *wcscpy(wchar_t *, const wchar_t *); 13349 extern size_t wcscspn(const wchar_t *, const wchar_t *); 13350 extern size_t wcslen(const wchar_t *); 13351 extern wchar_t *wcsncat(wchar_t *, const wchar_t *, 13352 size_t); 13353 extern int wcsncmp(const wchar_t *, const wchar_t *, size_t); 13354 extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, 13355 size_t); 13356 extern size_t wcsspn(const wchar_t *, const wchar_t *); 13357 extern size_t wcsxfrm(wchar_t *, const wchar_t *, 13358 size_t); 13359 # 253 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13360 extern wchar_t *wcschr(const wchar_t *, wchar_t); 13361 extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *); 13362 extern wchar_t *wcsrchr(const wchar_t *, wchar_t); 13363 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13364 13365 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13366 #pragma redefine_extname wcstok __wcstok_xpg5 13367 # 264 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13368 13369 13370 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13371 #pragma redefine_extname wcsftime __wcsftime_xpg5 13372 # 265 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13373 13374 extern wchar_t *wcstok(wchar_t *, const wchar_t *, 13375 wchar_t **); 13376 extern size_t wcsftime(wchar_t *, size_t, 13377 const wchar_t *, const struct tm *); 13378 # 281 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13379 /* not XPG4 and not XPG4v2 */ 13380 13381 extern wint_t btowc(int); 13382 extern int fwprintf(__FILE *, const wchar_t *, 13383 ...); 13384 extern int fwscanf(__FILE *, const wchar_t *, 13385 ...); 13386 extern int fwide(__FILE *, int); 13387 extern int mbsinit(const mbstate_t *); 13388 extern size_t mbrlen(const char *, size_t, 13389 mbstate_t *); 13390 extern size_t mbrtowc(wchar_t *, const char *, 13391 size_t, mbstate_t *); 13392 extern size_t mbsrtowcs(wchar_t *, const char **, 13393 size_t, mbstate_t *); 13394 extern int swprintf(wchar_t *, size_t, 13395 const wchar_t *, ...); 13396 extern int swscanf(const wchar_t *, 13397 const wchar_t *, ...); 13398 extern int vfwprintf(__FILE *, const wchar_t *, 13399 __va_list); 13400 extern int vwprintf(const wchar_t *, __va_list); 13401 extern int vswprintf(wchar_t *, size_t, 13402 const wchar_t *, __va_list); 13403 extern size_t wcrtomb(char *, wchar_t, 13404 mbstate_t *); 13405 extern size_t wcsrtombs(char *, const wchar_t **, 13406 size_t, mbstate_t *); 13407 13408 extern size_t wcsnrtombs(char *, const wchar_t **, 13409 size_t, size_t, mbstate_t *); 13410 13411 extern int wctob(wint_t); 13412 extern int wmemcmp(const wchar_t *, const wchar_t *, size_t); 13413 extern wchar_t *wmemcpy(wchar_t *, 13414 const wchar_t *, size_t); 13415 extern wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); 13416 extern wchar_t *wmemset(wchar_t *, wchar_t, size_t); 13417 extern int wprintf(const wchar_t *, ...); 13418 extern int wscanf(const wchar_t *, ...); 13419 # 335 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_iso.h" 13420 extern wchar_t *wcsstr(const wchar_t *, 13421 const wchar_t *); 13422 extern wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); 13423 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 13424 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" 1 13425 /* 13426 * CDDL HEADER START 13427 * 13428 * The contents of this file are subject to the terms of the 13429 * Common Development and Distribution License, Version 1.0 only 13430 * (the "License"). You may not use this file except in compliance 13431 * with the License. 13432 * 13433 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13434 * or http://www.opensolaris.org/os/licensing. 13435 * See the License for the specific language governing permissions 13436 * and limitations under the License. 13437 * 13438 * When distributing Covered Code, include this CDDL HEADER in each 13439 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13440 * If applicable, add the following below this CDDL HEADER, with the 13441 * fields enclosed by brackets "[]" replaced with your own identifying 13442 * information: Portions Copyright [yyyy] [name of copyright owner] 13443 * 13444 * CDDL HEADER END 13445 */ 13446 /* 13447 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13448 * 13449 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 13450 * Use is subject to license terms. 13451 */ 13452 13453 /* 13454 * An application should not include this header directly. Instead it 13455 * should be included only through the inclusion of other Sun headers. 13456 * 13457 * The contents of this header is limited to identifiers specified in 13458 * the C99 standard and in conflict with the C++ implementation of the 13459 * standard header. The C++ standard may adopt the C99 standard at 13460 * which point it is expected that the symbols included here will 13461 * become part of the C++ std namespace. 13462 */ 13463 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" 13464 /* Introduced in ISO/IEC 9899:1999 standard */ 13465 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/wchar_c99.h" 13466 extern int vfwscanf(__FILE *, const wchar_t *, 13467 __va_list); 13468 extern int vswscanf(const wchar_t *, 13469 const wchar_t *, __va_list); 13470 extern int vwscanf(const wchar_t *, __va_list); 13471 extern float wcstof(const wchar_t *, 13472 wchar_t **); 13473 13474 extern long double wcstold(const wchar_t *, 13475 wchar_t **); 13476 extern long long wcstoll(const wchar_t *, 13477 wchar_t **, int); 13478 extern unsigned long long wcstoull(const wchar_t *, 13479 wchar_t **, int); 13480 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 2 13481 13482 /* 13483 * Allow global visibility for symbols defined in 13484 * C++ "std" namespace in <iso/wchar_iso.h>. 13485 */ 13486 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 13487 typedef int wctype_t; 13488 13489 13490 13491 /* 13492 * XPG6 requires that va_list be defined as defined in <stdarg.h>, 13493 * however, inclusion of <stdarg.h> breaks Standard C namespace. 13494 */ 13495 # 127 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 13496 extern int iswalpha(wint_t); 13497 extern int iswupper(wint_t); 13498 extern int iswlower(wint_t); 13499 extern int iswdigit(wint_t); 13500 extern int iswxdigit(wint_t); 13501 extern int iswalnum(wint_t); 13502 extern int iswspace(wint_t); 13503 extern int iswpunct(wint_t); 13504 extern int iswprint(wint_t); 13505 extern int iswgraph(wint_t); 13506 extern int iswcntrl(wint_t); 13507 extern int iswctype(wint_t, wctype_t); 13508 extern wint_t towlower(wint_t); 13509 extern wint_t towupper(wint_t); 13510 extern wchar_t *wcswcs(const wchar_t *, const wchar_t *); 13511 extern int wcswidth(const wchar_t *, size_t); 13512 extern int wcwidth(wchar_t); 13513 extern wctype_t wctype(const char *); 13514 # 176 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/wchar.h" 13515 extern size_t wcsnlen(const wchar_t *, size_t); 13516 extern wchar_t *wcpcpy(wchar_t *, const wchar_t *); 13517 extern wchar_t *wcpncpy(wchar_t *, const wchar_t *, 13518 size_t); 13519 extern size_t wcsxfrm_l(wchar_t *, const wchar_t *, 13520 size_t, locale_t); 13521 extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); 13522 extern wchar_t *wcsdup(const wchar_t *); 13523 extern int wcscasecmp(const wchar_t *, const wchar_t *); 13524 extern int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); 13525 extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); 13526 extern int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); 13527 extern size_t mbsnrtowcs(wchar_t *, const char **, 13528 size_t, size_t, mbstate_t *); 13529 13530 extern FILE *open_wmemstream(wchar_t **, size_t *); 13531 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 13532 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 1 13533 /* 13534 * CDDL HEADER START 13535 * 13536 * The contents of this file are subject to the terms of the 13537 * Common Development and Distribution License (the "License"). 13538 * You may not use this file except in compliance with the License. 13539 * 13540 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13541 * or http://www.opensolaris.org/os/licensing. 13542 * See the License for the specific language governing permissions 13543 * and limitations under the License. 13544 * 13545 * When distributing Covered Code, include this CDDL HEADER in each 13546 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13547 * If applicable, add the following below this CDDL HEADER, with the 13548 * fields enclosed by brackets "[]" replaced with your own identifying 13549 * information: Portions Copyright [yyyy] [name of copyright owner] 13550 * 13551 * CDDL HEADER END 13552 */ 13553 13554 /* 13555 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13556 * 13557 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 13558 * Use is subject to license terms. 13559 */ 13560 13561 13562 13563 13564 /* 13565 * thread.h: 13566 * definitions needed to use the thread interface except synchronization. 13567 * use <synch.h> for thread synchronization. 13568 */ 13569 13570 13571 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 13572 /* 13573 * CDDL HEADER START 13574 * 13575 * The contents of this file are subject to the terms of the 13576 * Common Development and Distribution License (the "License"). 13577 * You may not use this file except in compliance with the License. 13578 * 13579 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13580 * or http://www.opensolaris.org/os/licensing. 13581 * See the License for the specific language governing permissions 13582 * and limitations under the License. 13583 * 13584 * When distributing Covered Code, include this CDDL HEADER in each 13585 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13586 * If applicable, add the following below this CDDL HEADER, with the 13587 * fields enclosed by brackets "[]" replaced with your own identifying 13588 * information: Portions Copyright [yyyy] [name of copyright owner] 13589 * 13590 * CDDL HEADER END 13591 */ 13592 13593 /* 13594 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 13595 * Use is subject to license terms. 13596 */ 13597 13598 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13599 /* All Rights Reserved */ 13600 13601 /* 13602 * University Copyright- Copyright (c) 1982, 1986, 1988 13603 * The Regents of the University of California 13604 * All Rights Reserved 13605 * 13606 * University Acknowledgment- Portions of this document are derived from 13607 * software developed by the University of California, Berkeley, and its 13608 * contributors. 13609 */ 13610 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 13611 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 13612 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 13613 /* All Rights Reserved */ 13614 13615 13616 /* 13617 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 13618 * All rights reserved. The Berkeley software License Agreement 13619 * specifies the terms and conditions for redistribution. 13620 */ 13621 13622 /* 13623 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13624 * 13625 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 13626 * Use is subject to license terms. 13627 * 13628 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 13629 */ 13630 13631 /* 13632 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 13633 */ 13634 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 13635 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/synch.h" 1 13636 /* 13637 * CDDL HEADER START 13638 * 13639 * The contents of this file are subject to the terms of the 13640 * Common Development and Distribution License (the "License"). 13641 * You may not use this file except in compliance with the License. 13642 * 13643 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13644 * or http://www.opensolaris.org/os/licensing. 13645 * See the License for the specific language governing permissions 13646 * and limitations under the License. 13647 * 13648 * When distributing Covered Code, include this CDDL HEADER in each 13649 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13650 * If applicable, add the following below this CDDL HEADER, with the 13651 * fields enclosed by brackets "[]" replaced with your own identifying 13652 * information: Portions Copyright [yyyy] [name of copyright owner] 13653 * 13654 * CDDL HEADER END 13655 */ 13656 13657 /* 13658 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13659 * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. 13660 */ 13661 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/thread.h" 2 13662 13663 13664 13665 13666 13667 13668 13669 typedef unsigned int thread_t; 13670 typedef unsigned int thread_key_t; 13671 13672 extern int thr_create(void *, size_t, void *(*)(void *), void *, long, 13673 thread_t *); 13674 extern int thr_join(thread_t, thread_t *, void **); 13675 extern int thr_setconcurrency(int); 13676 extern int thr_getconcurrency(void); 13677 extern void thr_exit(void *) __attribute__((__noreturn__)); 13678 extern thread_t thr_self(void); 13679 13680 /* 13681 * the definition of thr_sigsetmask() is not strict ansi-c since sigset_t is 13682 * not in the strict ansi-c name space. Hence, include the prototype for 13683 * thr_sigsetmask() only if strict ansi-c conformance is not turned on. 13684 */ 13685 13686 extern int thr_sigsetmask(int, const sigset_t *, sigset_t *); 13687 13688 13689 /* 13690 * the definition of thr_stksegment() is not strict ansi-c since stack_t is 13691 * not in the strict ansi-c name space. Hence, include the prototype for 13692 * thr_stksegment() only if strict ansi-c conformance is not turned on. 13693 */ 13694 13695 extern int thr_stksegment(stack_t *); 13696 13697 13698 extern int thr_main(void); 13699 extern int thr_kill(thread_t, int); 13700 extern int thr_suspend(thread_t); 13701 extern int thr_continue(thread_t); 13702 extern void thr_yield(void); 13703 extern int thr_setprio(thread_t, int); 13704 extern int thr_getprio(thread_t, int *); 13705 extern int thr_keycreate(thread_key_t *, void(*)(void *)); 13706 extern int thr_keycreate_once(thread_key_t *, void(*)(void *)); 13707 extern int thr_setspecific(thread_key_t, void *); 13708 extern int thr_getspecific(thread_key_t, void **); 13709 extern size_t thr_min_stack(void); 13710 13711 13712 13713 13714 /* 13715 * thread flags (one word bit mask) 13716 */ 13717 /* 13718 * POSIX.1c Note: 13719 * THR_BOUND is defined same as PTHREAD_SCOPE_SYSTEM in <pthread.h> 13720 * THR_DETACHED is defined same as PTHREAD_CREATE_DETACHED in <pthread.h> 13721 * Any changes in these definitions should be reflected in <pthread.h> 13722 */ 13723 13724 13725 13726 13727 13728 13729 /* 13730 * The key to be created by thr_keycreate_once() 13731 * must be statically initialized with THR_ONCE_KEY. 13732 * This must be the same as PTHREAD_ONCE_KEY_NP in <pthread.h> 13733 */ 13734 13735 13736 /* 13737 * The available register states returned by thr_getstate(). 13738 */ 13739 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 13740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace_impl.h" 1 13741 /* 13742 * CDDL HEADER START 13743 * 13744 * The contents of this file are subject to the terms of the 13745 * Common Development and Distribution License (the "License"). 13746 * You may not use this file except in compliance with the License. 13747 * 13748 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13749 * or http://www.opensolaris.org/os/licensing. 13750 * See the License for the specific language governing permissions 13751 * and limitations under the License. 13752 * 13753 * When distributing Covered Code, include this CDDL HEADER in each 13754 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13755 * If applicable, add the following below this CDDL HEADER, with the 13756 * fields enclosed by brackets "[]" replaced with your own identifying 13757 * information: Portions Copyright [yyyy] [name of copyright owner] 13758 * 13759 * CDDL HEADER END 13760 */ 13761 /* 13762 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13763 * 13764 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 13765 * Use is subject to license terms. 13766 */ 13767 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace_impl.h" 13768 typedef struct abisym { 13769 void *a_real; 13770 int a_vflag; 13771 int a_tflag; 13772 } abisym_t; 13773 13774 /* 13775 * From the apptrace auditing object 13776 */ 13777 extern FILE *__abi_outfile; 13778 extern struct liblist *__abi_pflib_list; 13779 13780 extern sigset_t abisigset; 13781 13782 extern void abilock(sigset_t *); 13783 extern void abiunlock(sigset_t *); 13784 13785 extern int is_empty_string(char const *); 13786 13787 extern int (*abi_thr_main)(void); 13788 extern thread_t (*abi_thr_self)(void); 13789 extern int (*abi_sigsetmask)(int, const sigset_t *, sigset_t *); 13790 extern int (*abi_sigaction)(int, const struct sigaction *, struct sigaction *); 13791 extern int (*abi_mutex_lock)(mutex_t *); 13792 extern int (*abi_mutex_unlock)(mutex_t *); 13793 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 2 13794 13795 13796 13797 13798 13799 /* 13800 * Extract the verbosity flag. 13801 */ 13802 13803 13804 13805 /* 13806 * Extract the function pointer to the real ABI function. 13807 */ 13808 13809 13810 13811 /* 13812 * Macro to create the part of a function call prior 13813 * to the arg list. 13814 * cast is a full cast expression for a _pointer_ to 13815 * the ABI function being called. 13816 * 13817 * e.g. ABI_CALL_REAL(libc, getpid, (pid_t (*)(void))) (); 13818 */ 13819 13820 13821 13822 13823 13824 13825 /* 13826 * The following declarations and macros are needed for 13827 * anybody needing the vprintf family of calls where they 13828 * MUST come from the BASE link map instead of the auditing 13829 * link map. 13830 */ 13831 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/apptrace.h" 13832 /* From libstabspf */ 13833 typedef enum { 13834 STAB_SUCCESS = 0, /* All is well. */ 13835 STAB_FAIL = -1, /* Parsing error. */ 13836 STAB_NA = -2, /* Information is Not Applicable. */ 13837 STAB_NOMEM = -3 /* Out of Memory! */ 13838 } stabsret_t; 13839 13840 extern int (*__abi_real_vfprintf)(FILE *, const char *, va_list); 13841 extern int (*__abi_real_vfwprintf)(FILE *, const wchar_t *, va_list); 13842 extern int (*__abi_real_vprintf)(const char *, va_list); 13843 extern int (*__abi_real_vsnprintf)(char *, size_t, const char *, va_list); 13844 extern int (*__abi_real_vsprintf)(char *, const char *, va_list); 13845 extern int (*__abi_real_vswprintf)(wchar_t *, size_t, const wchar_t *, va_list); 13846 extern int (*__abi_real_vwprintf)(const wchar_t *, va_list); 13847 extern int *(*__abi_real_errno)(void); 13848 13849 extern void *abi_malloc(size_t); 13850 extern void *abi_calloc(size_t, size_t); 13851 extern void *abi_realloc(void *, size_t); 13852 extern int abi_putc(int, FILE *); 13853 extern int abi_fputs(const char *, FILE *); 13854 extern void abi_free(void *); 13855 13856 /* From libstabspf */ 13857 extern stabsret_t spf_load_stabs(const char *); 13858 extern int spf_prtype(FILE *, char const *, int, void const *); 13859 13860 extern int abi_strpsz; /* size constraint for string printing */ 13861 # 44 "common/apptrace.c" 2 13862 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 13863 /* 13864 * CDDL HEADER START 13865 * 13866 * The contents of this file are subject to the terms of the 13867 * Common Development and Distribution License (the "License"). 13868 * You may not use this file except in compliance with the License. 13869 * 13870 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13871 * or http://www.opensolaris.org/os/licensing. 13872 * See the License for the specific language governing permissions 13873 * and limitations under the License. 13874 * 13875 * When distributing Covered Code, include this CDDL HEADER in each 13876 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13877 * If applicable, add the following below this CDDL HEADER, with the 13878 * fields enclosed by brackets "[]" replaced with your own identifying 13879 * information: Portions Copyright [yyyy] [name of copyright owner] 13880 * 13881 * CDDL HEADER END 13882 */ 13883 /* 13884 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13885 * 13886 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13887 * Use is subject to license terms. 13888 */ 13889 13890 13891 13892 13893 13894 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 13895 /* 13896 * CDDL HEADER START 13897 * 13898 * The contents of this file are subject to the terms of the 13899 * Common Development and Distribution License (the "License"). 13900 * You may not use this file except in compliance with the License. 13901 * 13902 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13903 * or http://www.opensolaris.org/os/licensing. 13904 * See the License for the specific language governing permissions 13905 * and limitations under the License. 13906 * 13907 * 13908 * When distributing Covered Code, include this CDDL HEADER in each 13909 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13910 * If applicable, add the following below this CDDL HEADER, with the 13911 * fields enclosed by brackets "[]" replaced with your own identifying 13912 * information: Portions Copyright [yyyy] [name of copyright owner] 13913 * 13914 * CDDL HEADER END 13915 */ 13916 13917 /* 13918 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 13919 * Use is subject to license terms. 13920 * Copyright 2016 Joyent, Inc. 13921 */ 13922 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 2 13923 13924 13925 13926 13927 13928 /* 13929 * wchar_t is a built-in type in standard C++ and as such is not 13930 * defined here when using standard C++. However, the GNU compiler 13931 * fixincludes utility nonetheless creates its own version of this 13932 * header for use by gcc and g++. In that version it adds a redundant 13933 * guard for __cplusplus. To avoid the creation of a gcc/g++ specific 13934 * header we need to include the following magic comment: 13935 * 13936 * we must use the C++ compiler's type 13937 * 13938 * The above comment should not be removed or changed until GNU 13939 * gcc/fixinc/inclhack.def is updated to bypass this header. 13940 */ 13941 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 13942 extern char *dcgettext(const char *, const char *, const int); 13943 extern char *dgettext(const char *, const char *); 13944 extern char *gettext(const char *); 13945 extern char *textdomain(const char *); 13946 extern char *bindtextdomain(const char *, const char *); 13947 13948 /* 13949 * LI18NUX 2000 Globalization Specification Version 1.0 13950 * with Amendment 2 13951 */ 13952 extern char *dcngettext(const char *, const char *, 13953 const char *, unsigned long int, int); 13954 extern char *dngettext(const char *, const char *, 13955 const char *, unsigned long int); 13956 extern char *ngettext(const char *, const char *, unsigned long int); 13957 extern char *bind_textdomain_codeset(const char *, const char *); 13958 13959 /* Word handling functions --- requires dynamic linking */ 13960 /* Warning: these are experimental and subject to change. */ 13961 extern int wdinit(void); 13962 extern int wdchkind(wchar_t); 13963 extern int wdbindf(wchar_t, wchar_t, int); 13964 extern wchar_t *wddelim(wchar_t, wchar_t, int); 13965 extern wchar_t mcfiller(void); 13966 extern int mcwrap(void); 13967 # 45 "common/apptrace.c" 2 13968 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 1 13969 /* 13970 * CDDL HEADER START 13971 * 13972 * The contents of this file are subject to the terms of the 13973 * Common Development and Distribution License, Version 1.0 only 13974 * (the "License"). You may not use this file except in compliance 13975 * with the License. 13976 * 13977 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13978 * or http://www.opensolaris.org/os/licensing. 13979 * See the License for the specific language governing permissions 13980 * and limitations under the License. 13981 * 13982 * When distributing Covered Code, include this CDDL HEADER in each 13983 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13984 * If applicable, add the following below this CDDL HEADER, with the 13985 * fields enclosed by brackets "[]" replaced with your own identifying 13986 * information: Portions Copyright [yyyy] [name of copyright owner] 13987 * 13988 * CDDL HEADER END 13989 */ 13990 /* 13991 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 13992 * Use is subject to license terms. 13993 */ 13994 13995 /* 13996 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 13997 * 13998 * Portions of this file developed by Garrett D'Amore are licensed 13999 * under the terms of the Common Development and Distribution License (CDDL) 14000 * version 1.0 only. The use of subsequent versions of the License are 14001 * is specifically prohibited unless those terms are not in conflict with 14002 * version 1.0 of the License. You can find this license on-line at 14003 * http://www.illumos.org/license/CDDL 14004 */ 14005 14006 14007 14008 14009 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 1 14010 /* 14011 * CDDL HEADER START 14012 * 14013 * The contents of this file are subject to the terms of the 14014 * Common Development and Distribution License, Version 1.0 only 14015 * (the "License"). You may not use this file except in compliance 14016 * with the License. 14017 * 14018 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14019 * or http://www.opensolaris.org/os/licensing. 14020 * See the License for the specific language governing permissions 14021 * and limitations under the License. 14022 * 14023 * When distributing Covered Code, include this CDDL HEADER in each 14024 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14025 * If applicable, add the following below this CDDL HEADER, with the 14026 * fields enclosed by brackets "[]" replaced with your own identifying 14027 * information: Portions Copyright [yyyy] [name of copyright owner] 14028 * 14029 * CDDL HEADER END 14030 */ 14031 /* 14032 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14033 * Copyright 2014 PALO, Richard. 14034 * 14035 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 14036 * Use is subject to license terms. 14037 */ 14038 14039 /* Copyright (c) 1988 AT&T */ 14040 /* All Rights Reserved */ 14041 14042 14043 /* 14044 * An application should not include this header directly. Instead it 14045 * should be included only through the inclusion of other Sun headers. 14046 * 14047 * The contents of this header is limited to identifiers specified in the 14048 * C Standard. Any new identifiers specified in future amendments to the 14049 * C Standard must be placed in this header. If these new identifiers 14050 * are required to also be in the C++ Standard "std" namespace, then for 14051 * anything other than macro definitions, corresponding "using" directives 14052 * must also be added to <locale.h>. 14053 */ 14054 14055 14056 14057 14058 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 14059 /* 14060 * CDDL HEADER START 14061 * 14062 * The contents of this file are subject to the terms of the 14063 * Common Development and Distribution License (the "License"). 14064 * You may not use this file except in compliance with the License. 14065 * 14066 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14067 * or http://www.opensolaris.org/os/licensing. 14068 * See the License for the specific language governing permissions 14069 * and limitations under the License. 14070 * 14071 * When distributing Covered Code, include this CDDL HEADER in each 14072 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14073 * If applicable, add the following below this CDDL HEADER, with the 14074 * fields enclosed by brackets "[]" replaced with your own identifying 14075 * information: Portions Copyright [yyyy] [name of copyright owner] 14076 * 14077 * CDDL HEADER END 14078 */ 14079 14080 /* 14081 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 14082 * Copyright 2016 Joyent, Inc. 14083 * 14084 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 14085 * Use is subject to license terms. 14086 */ 14087 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 14088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 14089 /* 14090 * This file and its contents are supplied under the terms of the 14091 * Common Development and Distribution License ("CDDL"), version 1.0. 14092 * You may only use this file in accordance with the terms of version 14093 * 1.0 of the CDDL. 14094 * 14095 * A full copy of the text of the CDDL should have accompanied this 14096 * source. A copy of the CDDL is also available via the Internet at 14097 * http://www.illumos.org/license/CDDL. 14098 */ 14099 14100 /* 14101 * Copyright 2014-2016 PALO, Richard. 14102 */ 14103 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 2 14104 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 14105 struct lconv { 14106 char *decimal_point; 14107 char *thousands_sep; 14108 char *grouping; 14109 char *int_curr_symbol; 14110 char *currency_symbol; 14111 char *mon_decimal_point; 14112 char *mon_thousands_sep; 14113 char *mon_grouping; 14114 char *positive_sign; 14115 char *negative_sign; 14116 char int_frac_digits; 14117 char frac_digits; 14118 char p_cs_precedes; 14119 char p_sep_by_space; 14120 char n_cs_precedes; 14121 char n_sep_by_space; 14122 char p_sign_posn; 14123 char n_sign_posn; 14124 14125 /* 14126 * New in IEEE Std 1003.1-2001 for alignment with the ISO/IEC 9899:1999 14127 * standard. Namespace and binary compatibility dictate that visibility 14128 * of these new members be limited. Visibility is limited to a strictly 14129 * conforming ANSI C environment (-Xc) or if _LCONV_C99 is defined. 14130 */ 14131 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 14132 }; 14133 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/locale_iso.h" 14134 extern char *setlocale(int, const char *); 14135 extern struct lconv *localeconv(void); 14136 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 14137 14138 14139 14140 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libintl.h" 1 14141 /* 14142 * CDDL HEADER START 14143 * 14144 * The contents of this file are subject to the terms of the 14145 * Common Development and Distribution License (the "License"). 14146 * You may not use this file except in compliance with the License. 14147 * 14148 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14149 * or http://www.opensolaris.org/os/licensing. 14150 * See the License for the specific language governing permissions 14151 * and limitations under the License. 14152 * 14153 * When distributing Covered Code, include this CDDL HEADER in each 14154 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14155 * If applicable, add the following below this CDDL HEADER, with the 14156 * fields enclosed by brackets "[]" replaced with your own identifying 14157 * information: Portions Copyright [yyyy] [name of copyright owner] 14158 * 14159 * CDDL HEADER END 14160 */ 14161 /* 14162 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14163 * 14164 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 14165 * Use is subject to license terms. 14166 */ 14167 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 2 14168 14169 14170 /* 14171 * Allow global visibility for symbols defined in 14172 * C++ "std" namespace in <iso/locale_iso.h>. 14173 */ 14174 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 14175 /* 14176 * These were added in POSIX 2008 as part of the newlocale() specification. 14177 */ 14178 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/locale.h" 14179 extern locale_t duplocale(locale_t); 14180 extern void freelocale(locale_t); 14181 extern locale_t newlocale(int, const char *, locale_t); 14182 extern locale_t uselocale(locale_t); 14183 14184 14185 extern locale_t __global_locale(void); 14186 # 46 "common/apptrace.c" 2 14187 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 1 14188 /* 14189 * CDDL HEADER START 14190 * 14191 * The contents of this file are subject to the terms of the 14192 * Common Development and Distribution License (the "License"). 14193 * You may not use this file except in compliance with the License. 14194 * 14195 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14196 * or http://www.opensolaris.org/os/licensing. 14197 * See the License for the specific language governing permissions 14198 * and limitations under the License. 14199 * 14200 * When distributing Covered Code, include this CDDL HEADER in each 14201 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14202 * If applicable, add the following below this CDDL HEADER, with the 14203 * fields enclosed by brackets "[]" replaced with your own identifying 14204 * information: Portions Copyright [yyyy] [name of copyright owner] 14205 * 14206 * CDDL HEADER END 14207 */ 14208 14209 /* 14210 * Copyright (c) 2013 Gary Mills 14211 * 14212 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 14213 * Use is subject to license terms. 14214 */ 14215 14216 /* Copyright (c) 1988 AT&T */ 14217 /* All Rights Reserved */ 14218 14219 14220 14221 14222 14223 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 14224 /* 14225 * CDDL HEADER START 14226 * 14227 * The contents of this file are subject to the terms of the 14228 * Common Development and Distribution License (the "License"). 14229 * You may not use this file except in compliance with the License. 14230 * 14231 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14232 * or http://www.opensolaris.org/os/licensing. 14233 * See the License for the specific language governing permissions 14234 * and limitations under the License. 14235 * 14236 * When distributing Covered Code, include this CDDL HEADER in each 14237 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14238 * If applicable, add the following below this CDDL HEADER, with the 14239 * fields enclosed by brackets "[]" replaced with your own identifying 14240 * information: Portions Copyright [yyyy] [name of copyright owner] 14241 * 14242 * CDDL HEADER END 14243 */ 14244 14245 /* 14246 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 14247 * Copyright 2016 Joyent, Inc. 14248 * 14249 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 14250 * Use is subject to license terms. 14251 */ 14252 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 14253 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 14254 /* 14255 * CDDL HEADER START 14256 * 14257 * The contents of this file are subject to the terms of the 14258 * Common Development and Distribution License (the "License"). 14259 * You may not use this file except in compliance with the License. 14260 * 14261 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14262 * or http://www.opensolaris.org/os/licensing. 14263 * See the License for the specific language governing permissions 14264 * and limitations under the License. 14265 * 14266 * 14267 * When distributing Covered Code, include this CDDL HEADER in each 14268 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14269 * If applicable, add the following below this CDDL HEADER, with the 14270 * fields enclosed by brackets "[]" replaced with your own identifying 14271 * information: Portions Copyright [yyyy] [name of copyright owner] 14272 * 14273 * CDDL HEADER END 14274 */ 14275 14276 /* 14277 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 14278 * Use is subject to license terms. 14279 * Copyright 2016 Joyent, Inc. 14280 */ 14281 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 14282 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 1 14283 /* 14284 * CDDL HEADER START 14285 * 14286 * The contents of this file are subject to the terms of the 14287 * Common Development and Distribution License, Version 1.0 only 14288 * (the "License"). You may not use this file except in compliance 14289 * with the License. 14290 * 14291 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14292 * or http://www.opensolaris.org/os/licensing. 14293 * See the License for the specific language governing permissions 14294 * and limitations under the License. 14295 * 14296 * When distributing Covered Code, include this CDDL HEADER in each 14297 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14298 * If applicable, add the following below this CDDL HEADER, with the 14299 * fields enclosed by brackets "[]" replaced with your own identifying 14300 * information: Portions Copyright [yyyy] [name of copyright owner] 14301 * 14302 * CDDL HEADER END 14303 */ 14304 /* 14305 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 14306 * Use is subject to license terms. 14307 */ 14308 14309 /* Copyright (c) 1988 AT&T */ 14310 /* All Rights Reserved */ 14311 14312 14313 /* 14314 * An application should not include this header directly. Instead it 14315 * should be included only through the inclusion of other Sun headers. 14316 * 14317 * The contents of this header is limited to identifiers specified in the 14318 * C Standard. Any new identifiers specified in future amendments to the 14319 * C Standard must be placed in this header. If these new identifiers 14320 * are required to also be in the C++ Standard "std" namespace, then for 14321 * anything other than macro definitions, corresponding "using" directives 14322 * must also be added to <limits.h>. 14323 */ 14324 14325 14326 14327 14328 #pragma ident "%Z%%M% %I% %E% SMI" 14329 14330 14331 14332 14333 14334 /* 14335 * Sizes of integral types 14336 */ 14337 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/limits_iso.h" 14338 /* min value of a "long int" */ 14339 14340 14341 14342 14343 14344 /* min value of a long long */ 14345 14346 /* max value of a long long */ 14347 14348 /* max value of "unsigned long long */ 14349 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 14350 14351 /* 14352 * Include fixed width type limits as proposed by the ISO/JTC1/SC22/WG14 C 14353 * committee's working draft for the revision of the current ISO C standard, 14354 * ISO/IEC 9899:1990 Programming language - C. These are not currently 14355 * required by any standard but constitute a useful, general purpose set 14356 * of type definitions and limits which is namespace clean with respect to 14357 * all standards. 14358 */ 14359 14360 14361 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_limits.h" 1 14362 /* 14363 * CDDL HEADER START 14364 * 14365 * The contents of this file are subject to the terms of the 14366 * Common Development and Distribution License, Version 1.0 only 14367 * (the "License"). You may not use this file except in compliance 14368 * with the License. 14369 * 14370 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14371 * or http://www.opensolaris.org/os/licensing. 14372 * See the License for the specific language governing permissions 14373 * and limitations under the License. 14374 * 14375 * When distributing Covered Code, include this CDDL HEADER in each 14376 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14377 * If applicable, add the following below this CDDL HEADER, with the 14378 * fields enclosed by brackets "[]" replaced with your own identifying 14379 * information: Portions Copyright [yyyy] [name of copyright owner] 14380 * 14381 * CDDL HEADER END 14382 */ 14383 /* 14384 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 14385 * 14386 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 14387 * Use is subject to license terms. 14388 */ 14389 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 2 14390 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14391 /* 14392 * ARG_MAX is calculated as follows: 14393 * NCARGS - space for other stuff on initial stack 14394 * like aux vectors, saved registers, etc.. 14395 */ 14396 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14397 /* 14398 * POSIX conformant definitions - An implementation may define 14399 * other symbols which reflect the actual implementation. Alternate 14400 * definitions may not be as restrictive as the POSIX definitions. 14401 */ 14402 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14403 /* POSIX.1c conformant */ 14404 14405 14406 14407 14408 14409 /* UNIX 03 conformant */ 14410 14411 14412 14413 14414 14415 /* 14416 * POSIX.2 and XPG4-XSH4 conformant definitions 14417 */ 14418 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14419 /* UNIX 03 conformant */ 14420 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14421 /* 14422 * For dual definitions for PASS_MAX and sysconf.c 14423 */ 14424 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14425 /* NLS printf() and scanf() */ 14426 # 216 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14427 /* Marked as LEGACY in SUSv2 and removed in UNIX 03 */ 14428 14429 14430 14431 /* of a double */ 14432 14433 14434 /* of a "float" */ 14435 14436 14437 /* Marked as LEGACY in SUSv1 and removed in SUSv2 */ 14438 14439 14440 /* of a double */ 14441 14442 /* of a float */ 14443 # 248 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14444 /* 14445 * POSIX 1003.1a, section 2.9.5, table 2-5 contains [NAME_MAX] and the 14446 * related text states: 14447 * 14448 * A definition of one of the values from Table 2-5 shall be omitted from the 14449 * <limits.h> on specific implementations where the corresponding value is 14450 * equal to or greater than the stated minimum, but where the value can vary 14451 * depending on the file to which it is applied. The actual value supported for 14452 * a specific pathname shall be provided by the pathconf() (5.7.1) function. 14453 * 14454 * This is clear that any machine supporting multiple file system types 14455 * and/or a network can not include this define, regardless of protection 14456 * by the _POSIX_SOURCE and _POSIX_C_SOURCE flags. 14457 * 14458 * #define NAME_MAX 14 14459 */ 14460 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/limits.h" 14461 /* Increased for illumos */ 14462 # 47 "common/apptrace.c" 2 14463 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 1 14464 /* 14465 * CDDL HEADER START 14466 * 14467 * The contents of this file are subject to the terms of the 14468 * Common Development and Distribution License (the "License"). 14469 * You may not use this file except in compliance with the License. 14470 * 14471 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14472 * or http://www.opensolaris.org/os/licensing. 14473 * See the License for the specific language governing permissions 14474 * and limitations under the License. 14475 * 14476 * When distributing Covered Code, include this CDDL HEADER in each 14477 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14478 * If applicable, add the following below this CDDL HEADER, with the 14479 * fields enclosed by brackets "[]" replaced with your own identifying 14480 * information: Portions Copyright [yyyy] [name of copyright owner] 14481 * 14482 * CDDL HEADER END 14483 */ 14484 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14485 /* All Rights Reserved */ 14486 14487 14488 /* 14489 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 14490 * Use is subject to license terms. 14491 * 14492 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14493 * 14494 * Copyright 2018 Joyent Inc. 14495 */ 14496 14497 14498 14499 14500 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 14501 /* 14502 * CDDL HEADER START 14503 * 14504 * The contents of this file are subject to the terms of the 14505 * Common Development and Distribution License (the "License"). 14506 * You may not use this file except in compliance with the License. 14507 * 14508 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14509 * or http://www.opensolaris.org/os/licensing. 14510 * See the License for the specific language governing permissions 14511 * and limitations under the License. 14512 * 14513 * When distributing Covered Code, include this CDDL HEADER in each 14514 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14515 * If applicable, add the following below this CDDL HEADER, with the 14516 * fields enclosed by brackets "[]" replaced with your own identifying 14517 * information: Portions Copyright [yyyy] [name of copyright owner] 14518 * 14519 * CDDL HEADER END 14520 */ 14521 14522 /* 14523 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 14524 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 14525 */ 14526 14527 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 14528 /* All Rights Reserved */ 14529 14530 /* 14531 * University Copyright- Copyright (c) 1982, 1986, 1988 14532 * The Regents of the University of California 14533 * All Rights Reserved 14534 * 14535 * University Acknowledgment- Portions of this document are derived from 14536 * software developed by the University of California, Berkeley, and its 14537 * contributors. 14538 */ 14539 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 14540 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 14541 /* 14542 * This file and its contents are supplied under the terms of the 14543 * Common Development and Distribution License ("CDDL"), version 1.0. 14544 * You may only use this file in accordance with the terms of version 14545 * 1.0 of the CDDL. 14546 * 14547 * A full copy of the text of the CDDL should have accompanied this 14548 * source. A copy of the CDDL is also available via the Internet at 14549 * http://www.illumos.org/license/CDDL. 14550 */ 14551 14552 /* 14553 * Copyright 2017 Toomas Soome <tsoome@me.com> 14554 */ 14555 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 14556 14557 14558 14559 14560 14561 /* 14562 * Some macros for units conversion 14563 */ 14564 /* 14565 * Disk blocks (sectors) and bytes. 14566 */ 14567 14568 14569 14570 14571 14572 /* common macros */ 14573 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14574 /* 14575 * WARNING: The device number macros defined here should not be used by device 14576 * drivers or user software. Device drivers should use the device functions 14577 * defined in the DDI/DKI interface (see also ddi.h). Application software 14578 * should make use of the library routines available in makedev(3). A set of 14579 * new device macros are provided to operate on the expanded device number 14580 * format supported in SVR4. Macro versions of the DDI device functions are 14581 * provided for use by kernel proper routines only. Macro routines bmajor(), 14582 * major(), minor(), emajor(), eminor(), and makedev() will be removed or 14583 * their definitions changed at the next major release following SVR4. 14584 */ 14585 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14586 /* For 3b2 hardware devices the minor is */ 14587 /* restricted to 256 (0-255) */ 14588 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14589 /* major part of a device external from the kernel (same as emajor below) */ 14590 14591 14592 14593 /* minor part of a device external from the kernel (same as eminor below) */ 14594 14595 14596 14597 14598 14599 /* create old device number */ 14600 14601 14602 14603 /* make an new device number */ 14604 14605 14606 14607 14608 /* 14609 * emajor() allows kernel/driver code to print external major numbers 14610 * eminor() allows kernel/driver code to print external minor numbers 14611 */ 14612 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14613 /* 14614 * get external major and minor device 14615 * components from expanded device number 14616 */ 14617 14618 14619 14620 14621 /* 14622 * These are versions of the kernel routines for compressing and 14623 * expanding long device numbers that don't return errors. 14624 */ 14625 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14626 /* convert to old (SVR3.2) dev format */ 14627 14628 14629 14630 14631 14632 14633 /* convert to new (SVR4) dev format */ 14634 14635 14636 14637 14638 14639 /* 14640 * Macro for checking power of 2 address alignment. 14641 */ 14642 14643 14644 /* 14645 * Macros for counting and rounding. 14646 */ 14647 14648 14649 14650 /* 14651 * Macro to determine if value is a power of 2 14652 */ 14653 14654 14655 /* 14656 * Macros for various sorts of alignment and rounding. The "align" must 14657 * be a power of 2. Often times it is a block, sector, or page. 14658 */ 14659 14660 /* 14661 * return x rounded down to an align boundary 14662 * eg, P2ALIGN(1200, 1024) == 1024 (1*align) 14663 * eg, P2ALIGN(1024, 1024) == 1024 (1*align) 14664 * eg, P2ALIGN(0x1234, 0x100) == 0x1200 (0x12*align) 14665 * eg, P2ALIGN(0x5600, 0x100) == 0x5600 (0x56*align) 14666 */ 14667 14668 14669 /* 14670 * return x % (mod) align 14671 * eg, P2PHASE(0x1234, 0x100) == 0x34 (x-0x12*align) 14672 * eg, P2PHASE(0x5600, 0x100) == 0x00 (x-0x56*align) 14673 */ 14674 14675 14676 /* 14677 * return how much space is left in this block (but if it's perfectly 14678 * aligned, return 0). 14679 * eg, P2NPHASE(0x1234, 0x100) == 0xcc (0x13*align-x) 14680 * eg, P2NPHASE(0x5600, 0x100) == 0x00 (0x56*align-x) 14681 */ 14682 14683 14684 /* 14685 * return x rounded up to an align boundary 14686 * eg, P2ROUNDUP(0x1234, 0x100) == 0x1300 (0x13*align) 14687 * eg, P2ROUNDUP(0x5600, 0x100) == 0x5600 (0x56*align) 14688 */ 14689 14690 14691 /* 14692 * return the ending address of the block that x is in 14693 * eg, P2END(0x1234, 0x100) == 0x12ff (0x13*align - 1) 14694 * eg, P2END(0x5600, 0x100) == 0x56ff (0x57*align - 1) 14695 */ 14696 14697 14698 /* 14699 * return x rounded up to the next phase (offset) within align. 14700 * phase should be < align. 14701 * eg, P2PHASEUP(0x1234, 0x100, 0x10) == 0x1310 (0x13*align + phase) 14702 * eg, P2PHASEUP(0x5600, 0x100, 0x10) == 0x5610 (0x56*align + phase) 14703 */ 14704 14705 14706 /* 14707 * return TRUE if adding len to off would cause it to cross an align 14708 * boundary. 14709 * eg, P2BOUNDARY(0x1234, 0xe0, 0x100) == TRUE (0x1234 + 0xe0 == 0x1314) 14710 * eg, P2BOUNDARY(0x1234, 0x50, 0x100) == FALSE (0x1234 + 0x50 == 0x1284) 14711 */ 14712 14713 14714 14715 /* 14716 * Return TRUE if they have the same highest bit set. 14717 * eg, P2SAMEHIGHBIT(0x1234, 0x1001) == TRUE (the high bit is 0x1000) 14718 * eg, P2SAMEHIGHBIT(0x1234, 0x3010) == FALSE (high bit of 0x3010 is 0x2000) 14719 */ 14720 14721 14722 /* 14723 * Typed version of the P2* macros. These macros should be used to ensure 14724 * that the result is correctly calculated based on the data type of (x), 14725 * which is passed in as the last argument, regardless of the data 14726 * type of the alignment. For example, if (x) is of type uint64_t, 14727 * and we want to round it up to a page boundary using "PAGESIZE" as 14728 * the alignment, we can do either 14729 * P2ROUNDUP(x, (uint64_t)PAGESIZE) 14730 * or 14731 * P2ROUNDUP_TYPED(x, PAGESIZE, uint64_t) 14732 */ 14733 # 325 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 14734 /* 14735 * Macros to atomically increment/decrement a variable. mutex and var 14736 * must be pointers. 14737 */ 14738 14739 14740 14741 /* 14742 * Macros to declare bitfields - the order in the parameter list is 14743 * Low to High - that is, declare bit 0 first. We only support 8-bit bitfields 14744 * because if a field crosses a byte boundary it's not likely to be meaningful 14745 * without reassembly in its nonnative endianness. 14746 */ 14747 # 48 "common/apptrace.c" 2 14748 # 1 "common/abienv.h" 1 14749 /* 14750 * CDDL HEADER START 14751 * 14752 * The contents of this file are subject to the terms of the 14753 * Common Development and Distribution License, Version 1.0 only 14754 * (the "License"). You may not use this file except in compliance 14755 * with the License. 14756 * 14757 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14758 * or http://www.opensolaris.org/os/licensing. 14759 * See the License for the specific language governing permissions 14760 * and limitations under the License. 14761 * 14762 * When distributing Covered Code, include this CDDL HEADER in each 14763 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14764 * If applicable, add the following below this CDDL HEADER, with the 14765 * fields enclosed by brackets "[]" replaced with your own identifying 14766 * information: Portions Copyright [yyyy] [name of copyright owner] 14767 * 14768 * CDDL HEADER END 14769 */ 14770 /* 14771 * Copyright (c) 1996-1999 by Sun Microsystems, Inc. 14772 * All rights reserved. 14773 */ 14774 14775 14776 14777 14778 #pragma ident "%Z%%M% %I% %E% SMI" 14779 14780 typedef struct liblist { 14781 char *l_libname; 14782 void *l_handle; 14783 struct liblist *l_next; 14784 } Liblist; 14785 14786 typedef struct intlist { 14787 char *i_name; 14788 struct intlist *i_next; 14789 } Intlist; 14790 14791 extern void appendlist(Liblist **, Liblist **, 14792 char const *, int); 14793 extern void build_env_list(Liblist **, char const *); 14794 extern void build_env_list1(Liblist **, Liblist **, char const *); 14795 extern Liblist *check_list(Liblist *, char const *); 14796 extern char *checkenv(char const *); 14797 extern int build_interceptor_path(char *, size_t, char const *); 14798 extern char *abibasename(char const *); 14799 14800 extern void env_to_intlist(Intlist **, char const *); 14801 extern int check_intlist(Intlist *, char const *); 14802 # 49 "common/apptrace.c" 2 14803 # 1 "common/mach.h" 1 14804 /* 14805 * CDDL HEADER START 14806 * 14807 * The contents of this file are subject to the terms of the 14808 * Common Development and Distribution License, Version 1.0 only 14809 * (the "License"). You may not use this file except in compliance 14810 * with the License. 14811 * 14812 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14813 * or http://www.opensolaris.org/os/licensing. 14814 * See the License for the specific language governing permissions 14815 * and limitations under the License. 14816 * 14817 * When distributing Covered Code, include this CDDL HEADER in each 14818 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14819 * If applicable, add the following below this CDDL HEADER, with the 14820 * fields enclosed by brackets "[]" replaced with your own identifying 14821 * information: Portions Copyright [yyyy] [name of copyright owner] 14822 * 14823 * CDDL HEADER END 14824 */ 14825 /* 14826 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 14827 * Use is subject to license terms. 14828 */ 14829 14830 14831 14832 14833 #pragma ident "%Z%%M% %I% %E% SMI" 14834 14835 14836 14837 14838 14839 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/reg.h" 1 14840 /* 14841 * CDDL HEADER START 14842 * 14843 * The contents of this file are subject to the terms of the 14844 * Common Development and Distribution License, Version 1.0 only 14845 * (the "License"). You may not use this file except in compliance 14846 * with the License. 14847 * 14848 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14849 * or http://www.opensolaris.org/os/licensing. 14850 * See the License for the specific language governing permissions 14851 * and limitations under the License. 14852 * 14853 * When distributing Covered Code, include this CDDL HEADER in each 14854 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14855 * If applicable, add the following below this CDDL HEADER, with the 14856 * fields enclosed by brackets "[]" replaced with your own identifying 14857 * information: Portions Copyright [yyyy] [name of copyright owner] 14858 * 14859 * CDDL HEADER END 14860 */ 14861 /* 14862 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 14863 * Use is subject to license terms. 14864 */ 14865 14866 14867 14868 14869 #pragma ident "%Z%%M% %I% %E% SMI" 14870 14871 14872 14873 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/reg.h" 1 14874 /* 14875 * CDDL HEADER START 14876 * 14877 * The contents of this file are subject to the terms of the 14878 * Common Development and Distribution License, Version 1.0 only 14879 * (the "License"). You may not use this file except in compliance 14880 * with the License. 14881 * 14882 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14883 * or http://www.opensolaris.org/os/licensing. 14884 * See the License for the specific language governing permissions 14885 * and limitations under the License. 14886 * 14887 * When distributing Covered Code, include this CDDL HEADER in each 14888 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14889 * If applicable, add the following below this CDDL HEADER, with the 14890 * fields enclosed by brackets "[]" replaced with your own identifying 14891 * information: Portions Copyright [yyyy] [name of copyright owner] 14892 * 14893 * CDDL HEADER END 14894 */ 14895 /* 14896 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 14897 * Use is subject to license terms. 14898 */ 14899 14900 14901 14902 14903 #pragma ident "%Z%%M% %I% %E% SMI" 14904 14905 14906 14907 14908 14909 /* 14910 * This file only exists for i386 backwards compatibility. 14911 * Kernel code should not include it. 14912 */ 14913 14914 14915 14916 14917 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 1 14918 /* 14919 * CDDL HEADER START 14920 * 14921 * The contents of this file are subject to the terms of the 14922 * Common Development and Distribution License (the "License"). 14923 * You may not use this file except in compliance with the License. 14924 * 14925 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14926 * or http://www.opensolaris.org/os/licensing. 14927 * See the License for the specific language governing permissions 14928 * and limitations under the License. 14929 * 14930 * When distributing Covered Code, include this CDDL HEADER in each 14931 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14932 * If applicable, add the following below this CDDL HEADER, with the 14933 * fields enclosed by brackets "[]" replaced with your own identifying 14934 * information: Portions Copyright [yyyy] [name of copyright owner] 14935 * 14936 * CDDL HEADER END 14937 */ 14938 /* 14939 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 14940 * 14941 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 14942 */ 14943 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 14944 14945 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 14946 /* All Rights Reserved */ 14947 14948 14949 14950 14951 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 14952 /* 14953 * CDDL HEADER START 14954 * 14955 * The contents of this file are subject to the terms of the 14956 * Common Development and Distribution License (the "License"). 14957 * You may not use this file except in compliance with the License. 14958 * 14959 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14960 * or http://www.opensolaris.org/os/licensing. 14961 * See the License for the specific language governing permissions 14962 * and limitations under the License. 14963 * 14964 * When distributing Covered Code, include this CDDL HEADER in each 14965 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14966 * If applicable, add the following below this CDDL HEADER, with the 14967 * fields enclosed by brackets "[]" replaced with your own identifying 14968 * information: Portions Copyright [yyyy] [name of copyright owner] 14969 * 14970 * CDDL HEADER END 14971 */ 14972 14973 /* 14974 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 14975 * Copyright 2016 Joyent, Inc. 14976 * 14977 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 14978 * Use is subject to license terms. 14979 */ 14980 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 14981 14982 14983 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 14984 /* 14985 * CDDL HEADER START 14986 * 14987 * The contents of this file are subject to the terms of the 14988 * Common Development and Distribution License (the "License"). 14989 * You may not use this file except in compliance with the License. 14990 * 14991 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14992 * or http://www.opensolaris.org/os/licensing. 14993 * See the License for the specific language governing permissions 14994 * and limitations under the License. 14995 * 14996 * When distributing Covered Code, include this CDDL HEADER in each 14997 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14998 * If applicable, add the following below this CDDL HEADER, with the 14999 * fields enclosed by brackets "[]" replaced with your own identifying 15000 * information: Portions Copyright [yyyy] [name of copyright owner] 15001 * 15002 * CDDL HEADER END 15003 */ 15004 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15005 /* All Rights Reserved */ 15006 15007 15008 /* 15009 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15010 * Use is subject to license terms. 15011 * 15012 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15013 * Copyright 2016 Joyent, Inc. 15014 */ 15015 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 15016 15017 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 1 15018 /* 15019 * CDDL HEADER START 15020 * 15021 * The contents of this file are subject to the terms of the 15022 * Common Development and Distribution License (the "License"). 15023 * You may not use this file except in compliance with the License. 15024 * 15025 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15026 * or http://www.opensolaris.org/os/licensing. 15027 * See the License for the specific language governing permissions 15028 * and limitations under the License. 15029 * 15030 * When distributing Covered Code, include this CDDL HEADER in each 15031 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15032 * If applicable, add the following below this CDDL HEADER, with the 15033 * fields enclosed by brackets "[]" replaced with your own identifying 15034 * information: Portions Copyright [yyyy] [name of copyright owner] 15035 * 15036 * CDDL HEADER END 15037 */ 15038 /* 15039 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 15040 * 15041 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 15042 */ 15043 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 15044 15045 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15046 /* All Rights Reserved */ 15047 15048 /* 15049 * Essential struct definitions for mcontext_t needed by ucontext.h 15050 * These were formerly in regset.h, which now includes this file. 15051 */ 15052 15053 15054 15055 15056 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 15057 /* 15058 * CDDL HEADER START 15059 * 15060 * The contents of this file are subject to the terms of the 15061 * Common Development and Distribution License (the "License"). 15062 * You may not use this file except in compliance with the License. 15063 * 15064 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15065 * or http://www.opensolaris.org/os/licensing. 15066 * See the License for the specific language governing permissions 15067 * and limitations under the License. 15068 * 15069 * When distributing Covered Code, include this CDDL HEADER in each 15070 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15071 * If applicable, add the following below this CDDL HEADER, with the 15072 * fields enclosed by brackets "[]" replaced with your own identifying 15073 * information: Portions Copyright [yyyy] [name of copyright owner] 15074 * 15075 * CDDL HEADER END 15076 */ 15077 15078 /* 15079 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 15080 * Copyright 2016 Joyent, Inc. 15081 * 15082 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 15083 * Use is subject to license terms. 15084 */ 15085 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 2 15086 15087 15088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15089 /* 15090 * CDDL HEADER START 15091 * 15092 * The contents of this file are subject to the terms of the 15093 * Common Development and Distribution License (the "License"). 15094 * You may not use this file except in compliance with the License. 15095 * 15096 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15097 * or http://www.opensolaris.org/os/licensing. 15098 * See the License for the specific language governing permissions 15099 * and limitations under the License. 15100 * 15101 * When distributing Covered Code, include this CDDL HEADER in each 15102 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15103 * If applicable, add the following below this CDDL HEADER, with the 15104 * fields enclosed by brackets "[]" replaced with your own identifying 15105 * information: Portions Copyright [yyyy] [name of copyright owner] 15106 * 15107 * CDDL HEADER END 15108 */ 15109 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15110 /* All Rights Reserved */ 15111 15112 15113 /* 15114 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15115 * Use is subject to license terms. 15116 * 15117 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15118 * Copyright 2016 Joyent, Inc. 15119 */ 15120 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 2 15121 15122 15123 15124 15125 15126 15127 /* 15128 * A gregset_t is defined as an array type for compatibility with the reference 15129 * source. This is important due to differences in the way the C language 15130 * treats arrays and structures as parameters. 15131 */ 15132 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 15133 typedef int greg_t; 15134 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 15135 typedef greg_t gregset_t[19]; 15136 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 15137 /* 15138 * Floating point definitions. 15139 */ 15140 # 120 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 15141 /* 15142 * This definition of the floating point structure is binary 15143 * compatible with the Intel386 psABI definition, and source 15144 * compatible with that specification for x87-style floating point. 15145 * It also allows SSE/SSE2 state to be accessed on machines that 15146 * possess such hardware capabilities. 15147 */ 15148 typedef struct _fpu { 15149 union { 15150 struct _fpchip_state { 15151 uint32_t state[27]; /* 287/387 saved state */ 15152 uint32_t status; /* saved at exception */ 15153 uint32_t mxcsr; /* SSE control and status */ 15154 uint32_t xstatus; /* SSE mxcsr at exception */ 15155 uint32_t __pad[2]; /* align to 128-bits */ 15156 upad128_t xmm[8]; /* %xmm0-%xmm7 */ 15157 } fpchip_state; 15158 struct _fp_emul_space { /* for emulator(s) */ 15159 uint8_t fp_emul[246]; 15160 uint8_t fp_epad[2]; 15161 } fp_emul_space; 15162 uint32_t f_fpregs[95]; /* union of the above */ 15163 } fp_reg_set; 15164 } fpregset_t; 15165 # 167 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 15166 /* 15167 * Structure mcontext defines the complete hardware machine state. 15168 * (This structure is specified in the i386 ABI suppl.) 15169 */ 15170 typedef struct { 15171 gregset_t gregs; /* general register set */ 15172 fpregset_t fpregs; /* floating point register set */ 15173 } mcontext_t; 15174 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 15175 15176 15177 15178 15179 15180 /* 15181 * The names and offsets defined here should be specified by the 15182 * AMD64 ABI suppl. 15183 * 15184 * We make fsbase and gsbase part of the lwp context (since they're 15185 * the only way to access the full 64-bit address range via the segment 15186 * registers) and thus belong here too. However we treat them as 15187 * read-only; if %fs or %gs are updated, the results of the descriptor 15188 * table lookup that those updates implicitly cause will be reflected 15189 * in the corresponding fsbase and/or gsbase values the next time the 15190 * context can be inspected. However it is NOT possible to override 15191 * the fsbase/gsbase settings via this interface. 15192 * 15193 * Direct modification of the base registers (thus overriding the 15194 * descriptor table base address) can be achieved with _lwp_setprivate. 15195 */ 15196 # 92 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 15197 /* 15198 * The names and offsets defined here are specified by i386 ABI suppl. 15199 */ 15200 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 15201 /* aliases for portability */ 15202 # 143 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 15203 /* 15204 * (This structure definition is specified in the i386 ABI supplement) 15205 * It's likely we can just get rid of the struct __old_fpu or maybe 15206 * move it to $SRC/uts/intel/ia32/os/fpu.c which appears to be the 15207 * only place that uses it. See: www.illumos.org/issues/6284 15208 */ 15209 typedef struct __old_fpu { 15210 union { 15211 struct __old_fpchip_state /* fp extension state */ 15212 { 15213 int state[27]; /* 287/387 saved state */ 15214 int status; /* status word saved at */ 15215 /* exception */ 15216 } fpchip_state; 15217 struct __old_fp_emul_space /* for emulator(s) */ 15218 { 15219 char fp_emul[246]; 15220 char fp_epad[2]; 15221 } fp_emul_space; 15222 int f_fpregs[62]; /* union of the above */ 15223 } fp_reg_set; 15224 long f_wregs[33]; /* saved weitek state */ 15225 } __old_fpregset_t; 15226 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 15227 typedef struct dbregset { 15228 unsigned long debugreg[8]; 15229 } dbregset_t; 15230 15231 15232 15233 /* 15234 * The version of privregs.h that is used on implementations that run on 15235 * processors that support the AMD64 instruction set is deliberately not 15236 * imported here. 15237 * 15238 * The amd64 'struct regs' definition may -not- compatible with either 15239 * 32-bit or 64-bit core file contents, nor with the ucontext. As a result, 15240 * the 'regs' structure cannot be used portably by applications, and should 15241 * only be used by the kernel implementation. 15242 * 15243 * The inclusion of the i386 version of privregs.h allows for some limited 15244 * source compatibility with 32-bit applications who expect to use 15245 * 'struct regs' to match the context of a 32-bit core file, or a ucontext_t. 15246 * 15247 * Note that the ucontext_t actually describes the general register in terms 15248 * of the gregset_t data type, as described in this file. Note also 15249 * that the core file content is defined by core(4) in terms of data types 15250 * defined by procfs -- see proc(4). 15251 */ 15252 15253 15254 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/privregs.h" 1 15255 /* 15256 * CDDL HEADER START 15257 * 15258 * The contents of this file are subject to the terms of the 15259 * Common Development and Distribution License, Version 1.0 only 15260 * (the "License"). You may not use this file except in compliance 15261 * with the License. 15262 * 15263 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15264 * or http://www.opensolaris.org/os/licensing. 15265 * See the License for the specific language governing permissions 15266 * and limitations under the License. 15267 * 15268 * When distributing Covered Code, include this CDDL HEADER in each 15269 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15270 * If applicable, add the following below this CDDL HEADER, with the 15271 * fields enclosed by brackets "[]" replaced with your own identifying 15272 * information: Portions Copyright [yyyy] [name of copyright owner] 15273 * 15274 * CDDL HEADER END 15275 */ 15276 /* 15277 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 15278 * Use is subject to license terms. 15279 */ 15280 15281 15282 15283 15284 #pragma ident "%Z%%M% %I% %E% SMI" 15285 15286 15287 15288 15289 15290 15291 15292 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 1 15293 /* 15294 * CDDL HEADER START 15295 * 15296 * The contents of this file are subject to the terms of the 15297 * Common Development and Distribution License (the "License"). 15298 * You may not use this file except in compliance with the License. 15299 * 15300 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15301 * or http://www.opensolaris.org/os/licensing. 15302 * See the License for the specific language governing permissions 15303 * and limitations under the License. 15304 * 15305 * When distributing Covered Code, include this CDDL HEADER in each 15306 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15307 * If applicable, add the following below this CDDL HEADER, with the 15308 * fields enclosed by brackets "[]" replaced with your own identifying 15309 * information: Portions Copyright [yyyy] [name of copyright owner] 15310 * 15311 * CDDL HEADER END 15312 */ 15313 15314 /* 15315 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 15316 * Use is subject to license terms. 15317 */ 15318 15319 15320 15321 15322 #pragma ident "%Z%%M% %I% %E% SMI" 15323 15324 15325 15326 15327 15328 /* 15329 * This file describes the cpu's privileged register set, and 15330 * how the machine state is saved on the stack when a trap occurs. 15331 */ 15332 15333 15334 15335 15336 15337 15338 15339 /* 15340 * This is NOT the structure to use for general purpose debugging; 15341 * see /proc for that. This is NOT the structure to use to decode 15342 * the ucontext or grovel about in a core file; see <sys/regset.h>. 15343 */ 15344 15345 struct regs { 15346 /* 15347 * Extra frame for mdb to follow through high level interrupts and 15348 * system traps. Set them to 0 to terminate stacktrace. 15349 */ 15350 greg_t r_savfp; /* a copy of %ebp */ 15351 greg_t r_savpc; /* a copy of %eip */ 15352 15353 greg_t r_gs; 15354 greg_t r_fs; 15355 greg_t r_es; 15356 greg_t r_ds; 15357 greg_t r_edi; 15358 greg_t r_esi; 15359 greg_t r_ebp; 15360 greg_t r_esp; 15361 greg_t r_ebx; 15362 greg_t r_edx; 15363 greg_t r_ecx; 15364 greg_t r_eax; 15365 greg_t r_trapno; 15366 greg_t r_err; 15367 greg_t r_eip; 15368 greg_t r_cs; 15369 greg_t r_efl; 15370 greg_t r_uesp; 15371 greg_t r_ss; 15372 }; 15373 # 219 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 15374 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 1 15375 /* 15376 * CDDL HEADER START 15377 * 15378 * The contents of this file are subject to the terms of the 15379 * Common Development and Distribution License (the "License"). 15380 * You may not use this file except in compliance with the License. 15381 * 15382 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15383 * or http://www.opensolaris.org/os/licensing. 15384 * See the License for the specific language governing permissions 15385 * and limitations under the License. 15386 * 15387 * When distributing Covered Code, include this CDDL HEADER in each 15388 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15389 * If applicable, add the following below this CDDL HEADER, with the 15390 * fields enclosed by brackets "[]" replaced with your own identifying 15391 * information: Portions Copyright [yyyy] [name of copyright owner] 15392 * 15393 * CDDL HEADER END 15394 */ 15395 /* 15396 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 15397 * Copyright 2015, Joyent, Inc. 15398 */ 15399 15400 15401 15402 15403 15404 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15405 /* 15406 * CDDL HEADER START 15407 * 15408 * The contents of this file are subject to the terms of the 15409 * Common Development and Distribution License (the "License"). 15410 * You may not use this file except in compliance with the License. 15411 * 15412 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15413 * or http://www.opensolaris.org/os/licensing. 15414 * See the License for the specific language governing permissions 15415 * and limitations under the License. 15416 * 15417 * When distributing Covered Code, include this CDDL HEADER in each 15418 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15419 * If applicable, add the following below this CDDL HEADER, with the 15420 * fields enclosed by brackets "[]" replaced with your own identifying 15421 * information: Portions Copyright [yyyy] [name of copyright owner] 15422 * 15423 * CDDL HEADER END 15424 */ 15425 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15426 /* All Rights Reserved */ 15427 15428 15429 /* 15430 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15431 * Use is subject to license terms. 15432 * 15433 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15434 * Copyright 2016 Joyent, Inc. 15435 */ 15436 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 2 15437 15438 15439 15440 15441 15442 15443 /* 15444 * This file describes the x86 architecture control registers which 15445 * are part of the privileged architecture. 15446 * 15447 * Many of these definitions are shared between IA-32-style and 15448 * AMD64-style processors. 15449 */ 15450 15451 /* CR0 Register */ 15452 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15453 /* XX64 eliminate these compatibility defines */ 15454 15455 15456 15457 15458 15459 15460 15461 /* 15462 * Set the FPU-related control bits to explain to the processor that 15463 * we're managing FPU state: 15464 * - set monitor coprocessor (allow TS bit to control FPU) 15465 * - set numeric exception (disable IGNNE# mechanism) 15466 * - set task switch (#nm on first fp instruction) 15467 * - clear emulate math bit (cause we're not emulating!) 15468 */ 15469 15470 15471 15472 /* 15473 * Set the FPU-related control bits to explain to the processor that 15474 * we're -not- managing FPU state: 15475 * - set emulate (all fp instructions cause #nm) 15476 * - clear monitor coprocessor (so fwait/wait doesn't #nm) 15477 */ 15478 15479 15480 15481 /* CR3 Register */ 15482 15483 15484 15485 15486 15487 15488 /* CR4 Register */ 15489 # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15490 /* 0x0800 reserved */ 15491 /* 0x1000 reserved */ 15492 # 118 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15493 /* 15494 * Enable the SSE-related control bits to explain to the processor that 15495 * we're managing XMM state and exceptions 15496 */ 15497 15498 15499 15500 /* 15501 * Disable the SSE-related control bits to explain to the processor 15502 * that we're NOT managing XMM state 15503 */ 15504 15505 15506 15507 /* Intel's SYSENTER configuration registers */ 15508 15509 15510 15511 15512 15513 /* Intel's microcode registers */ 15514 15515 15516 15517 15518 /* Intel's platform identification */ 15519 15520 15521 15522 15523 /* AMD's EFER register */ 15524 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15525 /* AMD's SYSCFG register */ 15526 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15527 /* AMD's syscall/sysret MSRs */ 15528 15529 15530 15531 15532 15533 15534 /* AMD's FS.base and GS.base MSRs */ 15535 15536 15537 15538 15539 15540 15541 /* AMD's configuration MSRs, weakly documented in the revision guide */ 15542 15543 15544 15545 15546 15547 15548 /* AMD's HWCR MSR */ 15549 15550 15551 15552 15553 15554 15555 15556 /* AMD's NorthBridge Config MSR, SHOULD ONLY BE WRITTEN TO BY BIOS */ 15557 # 218 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/controlregs.h" 15558 /* AMD's osvw MSRs */ 15559 15560 15561 15562 15563 15564 15565 15566 /* 15567 * Enable PCI Extended Configuration Space (ECS) on Greyhound 15568 */ 15569 15570 15571 /* AMD microcode patch loader */ 15572 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 2 15573 15574 /* Control register layout for panic dump */ 15575 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/privregs.h" 15576 typedef uint64_t creg64_t; 15577 15578 struct cregs { 15579 creg64_t cr_gdt; 15580 creg64_t cr_idt; 15581 uint16_t cr_ldt; 15582 uint16_t cr_task; 15583 uint32_t cr_cr0; 15584 uint32_t cr_cr2; 15585 uint32_t cr_cr3; 15586 uint32_t cr_cr4; 15587 }; 15588 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/privregs.h" 2 15589 # 202 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 2 15590 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/reg.h" 2 15591 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/reg.h" 2 15592 # 37 "common/mach.h" 2 15593 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15594 /* 15595 * CDDL HEADER START 15596 * 15597 * The contents of this file are subject to the terms of the 15598 * Common Development and Distribution License (the "License"). 15599 * You may not use this file except in compliance with the License. 15600 * 15601 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15602 * or http://www.opensolaris.org/os/licensing. 15603 * See the License for the specific language governing permissions 15604 * and limitations under the License. 15605 * 15606 * When distributing Covered Code, include this CDDL HEADER in each 15607 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15608 * If applicable, add the following below this CDDL HEADER, with the 15609 * fields enclosed by brackets "[]" replaced with your own identifying 15610 * information: Portions Copyright [yyyy] [name of copyright owner] 15611 * 15612 * CDDL HEADER END 15613 */ 15614 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15615 /* All Rights Reserved */ 15616 15617 15618 /* 15619 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15620 * Use is subject to license terms. 15621 * 15622 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15623 * Copyright 2016 Joyent, Inc. 15624 */ 15625 # 38 "common/mach.h" 2 15626 # 50 "common/apptrace.c" 2 15627 15628 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 1 15629 /* 15630 * CDDL HEADER START 15631 * 15632 * The contents of this file are subject to the terms of the 15633 * Common Development and Distribution License (the "License"). 15634 * You may not use this file except in compliance with the License. 15635 * 15636 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15637 * or http://www.opensolaris.org/os/licensing. 15638 * See the License for the specific language governing permissions 15639 * and limitations under the License. 15640 * 15641 * When distributing Covered Code, include this CDDL HEADER in each 15642 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15643 * If applicable, add the following below this CDDL HEADER, with the 15644 * fields enclosed by brackets "[]" replaced with your own identifying 15645 * information: Portions Copyright [yyyy] [name of copyright owner] 15646 * 15647 * CDDL HEADER END 15648 */ 15649 15650 /* 15651 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15652 * Use is subject to license terms. 15653 * 15654 * Portions Copyright 2007 Chad Mynhier 15655 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 15656 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 15657 * Copyright (c) 2013 by Delphix. All rights reserved. 15658 */ 15659 15660 /* 15661 * Interfaces available from the process control library, libproc. 15662 * 15663 * libproc provides process control functions for the /proc tools 15664 * (commands in /usr/proc/bin), /usr/bin/truss, and /usr/bin/gcore. 15665 * libproc is a private support library for these commands only. 15666 * It is _not_ a public interface, although it might become one 15667 * in the fullness of time, when the interfaces settle down. 15668 * 15669 * In the meantime, be aware that any program linked with libproc in this 15670 * release of Solaris is almost guaranteed to break in the next release. 15671 * 15672 * In short, do not use this header file or libproc for any purpose. 15673 */ 15674 15675 15676 15677 15678 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/stdlib.h" 1 15679 /* 15680 * CDDL HEADER START 15681 * 15682 * The contents of this file are subject to the terms of the 15683 * Common Development and Distribution License (the "License"). 15684 * You may not use this file except in compliance with the License. 15685 * 15686 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15687 * or http://www.opensolaris.org/os/licensing. 15688 * See the License for the specific language governing permissions 15689 * and limitations under the License. 15690 * 15691 * When distributing Covered Code, include this CDDL HEADER in each 15692 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15693 * If applicable, add the following below this CDDL HEADER, with the 15694 * fields enclosed by brackets "[]" replaced with your own identifying 15695 * information: Portions Copyright [yyyy] [name of copyright owner] 15696 * 15697 * CDDL HEADER END 15698 */ 15699 15700 /* 15701 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15702 * Copyright (c) 2013 Gary Mills 15703 * 15704 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 15705 */ 15706 15707 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 15708 15709 /* Copyright (c) 1988 AT&T */ 15710 /* All Rights Reserved */ 15711 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 15712 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/unistd.h" 1 15713 /* 15714 * CDDL HEADER START 15715 * 15716 * The contents of this file are subject to the terms of the 15717 * Common Development and Distribution License (the "License"). 15718 * You may not use this file except in compliance with the License. 15719 * 15720 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15721 * or http://www.opensolaris.org/os/licensing. 15722 * See the License for the specific language governing permissions 15723 * and limitations under the License. 15724 * 15725 * When distributing Covered Code, include this CDDL HEADER in each 15726 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15727 * If applicable, add the following below this CDDL HEADER, with the 15728 * fields enclosed by brackets "[]" replaced with your own identifying 15729 * information: Portions Copyright [yyyy] [name of copyright owner] 15730 * 15731 * CDDL HEADER END 15732 */ 15733 15734 /* 15735 * Copyright 2014 PALO, Richard. 15736 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15737 * Copyright (c) 2013 Gary Mills 15738 * 15739 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 15740 */ 15741 15742 /* Copyright (c) 1988 AT&T */ 15743 /* All Rights Reserved */ 15744 15745 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 15746 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 15747 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/fcntl.h" 1 15748 /* 15749 * CDDL HEADER START 15750 * 15751 * The contents of this file are subject to the terms of the 15752 * Common Development and Distribution License (the "License"). 15753 * You may not use this file except in compliance with the License. 15754 * 15755 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15756 * or http://www.opensolaris.org/os/licensing. 15757 * See the License for the specific language governing permissions 15758 * and limitations under the License. 15759 * 15760 * When distributing Covered Code, include this CDDL HEADER in each 15761 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15762 * If applicable, add the following below this CDDL HEADER, with the 15763 * fields enclosed by brackets "[]" replaced with your own identifying 15764 * information: Portions Copyright [yyyy] [name of copyright owner] 15765 * 15766 * CDDL HEADER END 15767 */ 15768 15769 /* 15770 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15771 * 15772 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 15773 * Use is subject to license terms. 15774 */ 15775 15776 /* Copyright (c) 1988 AT&T */ 15777 /* All Rights Reserved */ 15778 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 15779 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/nlist.h" 1 15780 /* 15781 * CDDL HEADER START 15782 * 15783 * The contents of this file are subject to the terms of the 15784 * Common Development and Distribution License, Version 1.0 only 15785 * (the "License"). You may not use this file except in compliance 15786 * with the License. 15787 * 15788 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15789 * or http://www.opensolaris.org/os/licensing. 15790 * See the License for the specific language governing permissions 15791 * and limitations under the License. 15792 * 15793 * When distributing Covered Code, include this CDDL HEADER in each 15794 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15795 * If applicable, add the following below this CDDL HEADER, with the 15796 * fields enclosed by brackets "[]" replaced with your own identifying 15797 * information: Portions Copyright [yyyy] [name of copyright owner] 15798 * 15799 * CDDL HEADER END 15800 */ 15801 /* 15802 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 15803 */ 15804 /* Copyright (c) 1988 AT&T */ 15805 /* All Rights Reserved */ 15806 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/nlist.h" 15807 struct nlist { 15808 char *n_name; /* symbol name */ 15809 long n_value; /* value of symbol */ 15810 short n_scnum; /* section number */ 15811 unsigned short n_type; /* type and derived type */ 15812 char n_sclass; /* storage class */ 15813 char n_numaux; /* number of aux. entries */ 15814 }; 15815 15816 extern int nlist(const char *, struct nlist *); 15817 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 15818 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 1 15819 /* 15820 * CDDL HEADER START 15821 * 15822 * The contents of this file are subject to the terms of the 15823 * Common Development and Distribution License (the "License"). 15824 * You may not use this file except in compliance with the License. 15825 * 15826 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15827 * or http://www.opensolaris.org/os/licensing. 15828 * See the License for the specific language governing permissions 15829 * and limitations under the License. 15830 * 15831 * When distributing Covered Code, include this CDDL HEADER in each 15832 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15833 * If applicable, add the following below this CDDL HEADER, with the 15834 * fields enclosed by brackets "[]" replaced with your own identifying 15835 * information: Portions Copyright [yyyy] [name of copyright owner] 15836 * 15837 * CDDL HEADER END 15838 */ 15839 15840 /* 15841 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15842 * Use is subject to license terms. 15843 */ 15844 15845 15846 15847 15848 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15849 /* 15850 * CDDL HEADER START 15851 * 15852 * The contents of this file are subject to the terms of the 15853 * Common Development and Distribution License (the "License"). 15854 * You may not use this file except in compliance with the License. 15855 * 15856 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15857 * or http://www.opensolaris.org/os/licensing. 15858 * See the License for the specific language governing permissions 15859 * and limitations under the License. 15860 * 15861 * When distributing Covered Code, include this CDDL HEADER in each 15862 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15863 * If applicable, add the following below this CDDL HEADER, with the 15864 * fields enclosed by brackets "[]" replaced with your own identifying 15865 * information: Portions Copyright [yyyy] [name of copyright owner] 15866 * 15867 * CDDL HEADER END 15868 */ 15869 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15870 /* All Rights Reserved */ 15871 15872 15873 /* 15874 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15875 * Use is subject to license terms. 15876 * 15877 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15878 * Copyright 2016 Joyent, Inc. 15879 */ 15880 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 15881 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 1 15882 /* 15883 * CDDL HEADER START 15884 * 15885 * The contents of this file are subject to the terms of the 15886 * Common Development and Distribution License (the "License"). 15887 * You may not use this file except in compliance with the License. 15888 * 15889 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15890 * or http://www.opensolaris.org/os/licensing. 15891 * See the License for the specific language governing permissions 15892 * and limitations under the License. 15893 * 15894 * When distributing Covered Code, include this CDDL HEADER in each 15895 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15896 * If applicable, add the following below this CDDL HEADER, with the 15897 * fields enclosed by brackets "[]" replaced with your own identifying 15898 * information: Portions Copyright [yyyy] [name of copyright owner] 15899 * 15900 * CDDL HEADER END 15901 */ 15902 /* 15903 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15904 * Use is subject to license terms. 15905 */ 15906 15907 /* 15908 * The door lightweight RPC I/F. 15909 */ 15910 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 15911 /* 15912 * Attributes associated with doors. 15913 */ 15914 15915 /* Attributes originally obtained from door_create operation */ 15916 15917 15918 15919 15920 15921 15922 15923 /* Attributes (additional) returned with door_info and door_desc_t data */ 15924 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 15925 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 15926 /* 15927 * CDDL HEADER START 15928 * 15929 * The contents of this file are subject to the terms of the 15930 * Common Development and Distribution License (the "License"). 15931 * You may not use this file except in compliance with the License. 15932 * 15933 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 15934 * or http://www.opensolaris.org/os/licensing. 15935 * See the License for the specific language governing permissions 15936 * and limitations under the License. 15937 * 15938 * When distributing Covered Code, include this CDDL HEADER in each 15939 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15940 * If applicable, add the following below this CDDL HEADER, with the 15941 * fields enclosed by brackets "[]" replaced with your own identifying 15942 * information: Portions Copyright [yyyy] [name of copyright owner] 15943 * 15944 * CDDL HEADER END 15945 */ 15946 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 15947 /* All Rights Reserved */ 15948 15949 15950 /* 15951 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 15952 * Use is subject to license terms. 15953 * 15954 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15955 * Copyright 2016 Joyent, Inc. 15956 */ 15957 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 2 15958 15959 15960 15961 15962 15963 15964 15965 /* Basic door type information */ 15966 typedef unsigned long long door_ptr_t; /* Handle 64 bit pointers */ 15967 typedef unsigned long long door_id_t; /* Unique door identifier */ 15968 typedef unsigned int door_attr_t; /* Door attributes */ 15969 # 79 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 15970 /* Door descriptor passed to door_info to get current thread's binding */ 15971 15972 15973 /* Masks of applicable flags */ 15974 15975 15976 15977 15978 15979 /* Mask of above attributes */ 15980 15981 15982 15983 /* Attributes used to describe door_desc_t data */ 15984 15985 15986 15987 15988 15989 15990 /* Misc attributes used internally */ 15991 15992 15993 15994 /* door parameters */ 15995 15996 15997 15998 15999 /* 16000 * On AMD64, 32-bit pack door_desc and door_info to avoid needing special 16001 * copyin/copyout conversions due to differing alignment rules between 16002 * 32-bit x86 and 64-bit amd64. 16003 */ 16004 16005 16006 16007 16008 16009 /* 16010 * Structure used to pass descriptors/objects in door invocations 16011 */ 16012 16013 typedef struct door_desc { 16014 door_attr_t d_attributes; /* Tag for union */ 16015 union { 16016 /* File descriptor is passed */ 16017 struct { 16018 int d_descriptor; 16019 door_id_t d_id; /* unique id */ 16020 } d_desc; 16021 16022 16023 16024 16025 /* Reserved space */ 16026 int d_resv[5]; 16027 } d_data; 16028 } door_desc_t; 16029 16030 /* 16031 * Structure used to return info from door_info 16032 */ 16033 typedef struct door_info { 16034 pid_t di_target; /* Server process */ 16035 door_ptr_t di_proc; /* Server procedure */ 16036 door_ptr_t di_data; /* Data cookie */ 16037 door_attr_t di_attributes; /* Attributes associated with door */ 16038 door_id_t di_uniquifier; /* Unique number */ 16039 int di_resv[4]; /* Future use */ 16040 } door_info_t; 16041 16042 16043 16044 16045 16046 /* 16047 * Structure used to return info from door_cred 16048 */ 16049 typedef struct door_cred { 16050 uid_t dc_euid; /* Effective uid of client */ 16051 gid_t dc_egid; /* Effective gid of client */ 16052 uid_t dc_ruid; /* Real uid of client */ 16053 gid_t dc_rgid; /* Real gid of client */ 16054 pid_t dc_pid; /* pid of client */ 16055 int dc_resv[4]; /* Future use */ 16056 } door_cred_t; 16057 16058 /* 16059 * Structure used to pass/return data from door_call 16060 * 16061 * All fields are in/out paramters. Upon return these fields 16062 * are updated to reflect the true location and size of the results. 16063 */ 16064 typedef struct door_arg { 16065 char *data_ptr; /* Argument/result data */ 16066 size_t data_size; /* Argument/result data size */ 16067 door_desc_t *desc_ptr; /* Argument/result descriptors */ 16068 uint_t desc_num; /* Argument/result num discriptors */ 16069 char *rbuf; /* Result area */ 16070 size_t rsize; /* Result size */ 16071 } door_arg_t; 16072 # 196 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 16073 /* 16074 * Structure used to pass door invocation information. 16075 */ 16076 struct door_results { 16077 void *cookie; 16078 char *data_ptr; 16079 size_t data_size; 16080 door_desc_t *desc_ptr; 16081 size_t desc_num; 16082 void (*pc)(); 16083 int nservers; /* zero if thread pool is empty */ 16084 door_info_t *door_info; 16085 }; 16086 # 226 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 16087 /* 16088 * Structure used to pass a descriptor list to door_return. 16089 */ 16090 typedef struct door_return_desc { 16091 door_desc_t *desc_ptr; 16092 uint_t desc_num; 16093 } door_return_desc_t; 16094 # 314 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/door.h" 16095 /* 16096 * System call subcodes 16097 */ 16098 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 16099 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 1 16100 /* 16101 * CDDL HEADER START 16102 * 16103 * The contents of this file are subject to the terms of the 16104 * Common Development and Distribution License (the "License"). 16105 * You may not use this file except in compliance with the License. 16106 * 16107 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16108 * or http://www.opensolaris.org/os/licensing. 16109 * See the License for the specific language governing permissions 16110 * and limitations under the License. 16111 * 16112 * When distributing Covered Code, include this CDDL HEADER in each 16113 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16114 * If applicable, add the following below this CDDL HEADER, with the 16115 * fields enclosed by brackets "[]" replaced with your own identifying 16116 * information: Portions Copyright [yyyy] [name of copyright owner] 16117 * 16118 * CDDL HEADER END 16119 */ 16120 /* 16121 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16122 * 16123 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 16124 * Use is subject to license terms. 16125 */ 16126 16127 16128 16129 16130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16131 /* 16132 * CDDL HEADER START 16133 * 16134 * The contents of this file are subject to the terms of the 16135 * Common Development and Distribution License (the "License"). 16136 * You may not use this file except in compliance with the License. 16137 * 16138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16139 * or http://www.opensolaris.org/os/licensing. 16140 * See the License for the specific language governing permissions 16141 * and limitations under the License. 16142 * 16143 * When distributing Covered Code, include this CDDL HEADER in each 16144 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16145 * If applicable, add the following below this CDDL HEADER, with the 16146 * fields enclosed by brackets "[]" replaced with your own identifying 16147 * information: Portions Copyright [yyyy] [name of copyright owner] 16148 * 16149 * CDDL HEADER END 16150 */ 16151 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16152 /* All Rights Reserved */ 16153 16154 16155 /* 16156 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16157 * Use is subject to license terms. 16158 * 16159 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16160 * Copyright 2016 Joyent, Inc. 16161 */ 16162 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 16163 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 16164 /* 16165 * CDDL HEADER START 16166 * 16167 * The contents of this file are subject to the terms of the 16168 * Common Development and Distribution License (the "License"). 16169 * You may not use this file except in compliance with the License. 16170 * 16171 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16172 * or http://www.opensolaris.org/os/licensing. 16173 * See the License for the specific language governing permissions 16174 * and limitations under the License. 16175 * 16176 * When distributing Covered Code, include this CDDL HEADER in each 16177 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16178 * If applicable, add the following below this CDDL HEADER, with the 16179 * fields enclosed by brackets "[]" replaced with your own identifying 16180 * information: Portions Copyright [yyyy] [name of copyright owner] 16181 * 16182 * CDDL HEADER END 16183 */ 16184 /* 16185 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 16186 * 16187 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16188 */ 16189 16190 16191 16192 16193 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 16194 /* 16195 * CDDL HEADER START 16196 * 16197 * The contents of this file are subject to the terms of the 16198 * Common Development and Distribution License (the "License"). 16199 * You may not use this file except in compliance with the License. 16200 * 16201 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16202 * or http://www.opensolaris.org/os/licensing. 16203 * See the License for the specific language governing permissions 16204 * and limitations under the License. 16205 * 16206 * When distributing Covered Code, include this CDDL HEADER in each 16207 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16208 * If applicable, add the following below this CDDL HEADER, with the 16209 * fields enclosed by brackets "[]" replaced with your own identifying 16210 * information: Portions Copyright [yyyy] [name of copyright owner] 16211 * 16212 * CDDL HEADER END 16213 */ 16214 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 16215 /* All Rights Reserved */ 16216 16217 16218 /* 16219 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16220 * Use is subject to license terms. 16221 * 16222 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 16223 * Copyright 2016 Joyent, Inc. 16224 */ 16225 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 16226 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 16227 /* 16228 * CDDL HEADER START 16229 * 16230 * The contents of this file are subject to the terms of the 16231 * Common Development and Distribution License (the "License"). 16232 * You may not use this file except in compliance with the License. 16233 * 16234 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16235 * or http://www.opensolaris.org/os/licensing. 16236 * See the License for the specific language governing permissions 16237 * and limitations under the License. 16238 * 16239 * When distributing Covered Code, include this CDDL HEADER in each 16240 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16241 * If applicable, add the following below this CDDL HEADER, with the 16242 * fields enclosed by brackets "[]" replaced with your own identifying 16243 * information: Portions Copyright [yyyy] [name of copyright owner] 16244 * 16245 * CDDL HEADER END 16246 */ 16247 /* 16248 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 16249 * Use is subject to license terms. 16250 */ 16251 16252 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 16253 /* All Rights Reserved */ 16254 16255 /* 16256 * Portions of this source code were derived from Berkeley 4.3 BSD 16257 * under license from the Regents of the University of California. 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 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 2 16296 16297 16298 16299 16300 16301 /* 16302 * The credential is an opaque kernel private data structure defined in 16303 * <sys/cred_impl.h>. 16304 */ 16305 16306 typedef struct cred cred_t; 16307 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 16308 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 1 16309 /* 16310 * CDDL HEADER START 16311 * 16312 * The contents of this file are subject to the terms of the 16313 * Common Development and Distribution License (the "License"). 16314 * You may not use this file except in compliance with the License. 16315 * 16316 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 16317 * or http://www.opensolaris.org/os/licensing. 16318 * See the License for the specific language governing permissions 16319 * and limitations under the License. 16320 * 16321 * When distributing Covered Code, include this CDDL HEADER in each 16322 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16323 * If applicable, add the following below this CDDL HEADER, with the 16324 * fields enclosed by brackets "[]" replaced with your own identifying 16325 * information: Portions Copyright [yyyy] [name of copyright owner] 16326 * 16327 * CDDL HEADER END 16328 */ 16329 /* 16330 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 16331 * Copyright 2015, Joyent, Inc. All rights reserved. 16332 * 16333 * Privilege constant definitions. Privileges and privilege sets 16334 * are only known by name and should be mapped at runtime. 16335 * 16336 * THIS FILE WAS GENERATED; DO NOT EDIT 16337 */ 16338 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv_names.h" 16339 /* 16340 * Privilege names 16341 */ 16342 /* 16343 * Allows a process to request critical events without limitation. 16344 * Allows a process to request reliable delivery of all events on 16345 * any event queue. 16346 */ 16347 16348 16349 /* 16350 * Allows a process to set the service FMRI value of a process 16351 * contract template. 16352 */ 16353 16354 16355 /* 16356 * Allows a process to observe contract events generated by 16357 * contracts created and owned by users other than the process's 16358 * effective user ID. 16359 * Allows a process to open contract event endpoints belonging to 16360 * contracts created and owned by users other than the process's 16361 * effective user ID. 16362 */ 16363 16364 16365 /* 16366 * Allow a process to access per-CPU hardware performance counters. 16367 */ 16368 16369 16370 /* 16371 * Allows DTrace kernel-level tracing. 16372 */ 16373 16374 16375 /* 16376 * Allows DTrace process-level tracing. 16377 * Allows process-level tracing probes to be placed and enabled in 16378 * processes to which the user has permissions. 16379 */ 16380 16381 16382 /* 16383 * Allows DTrace user-level tracing. 16384 * Allows use of the syscall and profile DTrace providers to 16385 * examine processes to which the user has permissions. 16386 */ 16387 16388 16389 /* 16390 * Allows a process to change a file's owner user ID. 16391 * Allows a process to change a file's group ID to one other than 16392 * the process' effective group ID or one of the process' 16393 * supplemental group IDs. 16394 */ 16395 16396 16397 /* 16398 * Allows a process to give away its files; a process with this 16399 * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not 16400 * in effect. 16401 */ 16402 16403 16404 /* 16405 * Allows a process to execute an executable file whose permission 16406 * bits or ACL do not allow the process execute permission. 16407 */ 16408 16409 16410 /* 16411 * Allows a process to read a file or directory whose permission 16412 * bits or ACL do not allow the process read permission. 16413 */ 16414 16415 16416 /* 16417 * Allows a process to search a directory whose permission bits or 16418 * ACL do not allow the process search permission. 16419 */ 16420 16421 16422 /* 16423 * Allows a process to write a file or directory whose permission 16424 * bits or ACL do not allow the process write permission. 16425 * In order to write files owned by uid 0 in the absence of an 16426 * effective uid of 0 ALL privileges are required. 16427 */ 16428 16429 16430 /* 16431 * Allows a process to set the sensitivity label of a file or 16432 * directory to a sensitivity label that does not dominate the 16433 * existing sensitivity label. 16434 * This privilege is interpreted only if the system is configured 16435 * with Trusted Extensions. 16436 */ 16437 16438 16439 /* 16440 * Allows a process to set immutable, nounlink or appendonly 16441 * file attributes. 16442 */ 16443 16444 16445 /* 16446 * Allows a process to create hardlinks to files owned by a uid 16447 * different from the process' effective uid. 16448 */ 16449 16450 16451 /* 16452 * Allows a process which is not the owner of a file or directory 16453 * to perform the following operations that are normally permitted 16454 * only for the file owner: modify that file's access and 16455 * modification times; remove or rename a file or directory whose 16456 * parent directory has the ``save text image after execution'' 16457 * (sticky) bit set; mount a ``namefs'' upon a file; modify 16458 * permission bits or ACL except for the set-uid and set-gid 16459 * bits. 16460 */ 16461 16462 16463 /* 16464 * Allows a process to read objects in the filesystem. 16465 */ 16466 16467 16468 /* 16469 * Allows a process to change the ownership of a file or write to 16470 * a file without the set-user-ID and set-group-ID bits being 16471 * cleared. 16472 * Allows a process to set the set-group-ID bit on a file or 16473 * directory whose group is not the process' effective group or 16474 * one of the process' supplemental groups. 16475 * Allows a process to set the set-user-ID bit on a file with 16476 * different ownership in the presence of PRIV_FILE_OWNER. 16477 * Additional restrictions apply when creating or modifying a 16478 * set-uid 0 file. 16479 */ 16480 16481 16482 /* 16483 * Allows a process to set the sensitivity label of a file or 16484 * directory to a sensitivity label that dominates the existing 16485 * sensitivity label. 16486 * This privilege is interpreted only if the system is configured 16487 * with Trusted Extensions. 16488 */ 16489 16490 16491 /* 16492 * Allows a process to modify objects in the filesystem. 16493 */ 16494 16495 16496 /* 16497 * Allows a process to make privileged ioctls to graphics devices. 16498 * Typically only xserver process needs to have this privilege. 16499 * A process with this privilege is also allowed to perform 16500 * privileged graphics device mappings. 16501 */ 16502 16503 16504 /* 16505 * Allows a process to perform privileged mappings through a 16506 * graphics device. 16507 */ 16508 16509 16510 /* 16511 * Allows a process to read a System V IPC 16512 * Message Queue, Semaphore Set, or Shared Memory Segment whose 16513 * permission bits do not allow the process read permission. 16514 * Allows a process to read remote shared memory whose 16515 * permission bits do not allow the process read permission. 16516 */ 16517 16518 16519 /* 16520 * Allows a process to write a System V IPC 16521 * Message Queue, Semaphore Set, or Shared Memory Segment whose 16522 * permission bits do not allow the process write permission. 16523 * Allows a process to read remote shared memory whose 16524 * permission bits do not allow the process write permission. 16525 * Additional restrictions apply if the owner of the object has uid 0 16526 * and the effective uid of the current process is not 0. 16527 */ 16528 16529 16530 /* 16531 * Allows a process which is not the owner of a System 16532 * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to 16533 * remove, change ownership of, or change permission bits of the 16534 * Message Queue, Semaphore Set, or Shared Memory Segment. 16535 * Additional restrictions apply if the owner of the object has uid 0 16536 * and the effective uid of the current process is not 0. 16537 */ 16538 16539 16540 /* 16541 * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. 16542 */ 16543 16544 16545 /* 16546 * Allow a process to bind to a port that is configured as a 16547 * multi-level port(MLP) for the process's zone. This privilege 16548 * applies to both shared address and zone-specific address MLPs. 16549 * See tnzonecfg(4) from the Trusted Extensions manual pages for 16550 * information on configuring MLP ports. 16551 * This privilege is interpreted only if the system is configured 16552 * with Trusted Extensions. 16553 */ 16554 16555 16556 /* 16557 * Allows a process to send and receive ICMP packets. 16558 */ 16559 16560 16561 /* 16562 * Allows a process to set NET_MAC_AWARE process flag by using 16563 * setpflags(2). This privilege also allows a process to set 16564 * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET). 16565 * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket 16566 * option both allow a local process to communicate with an 16567 * unlabeled peer if the local process' label dominates the 16568 * peer's default label, or if the local process runs in the 16569 * global zone. 16570 * This privilege is interpreted only if the system is configured 16571 * with Trusted Extensions. 16572 */ 16573 16574 16575 /* 16576 * Allows a process to set SO_MAC_IMPLICIT option by using 16577 * setsockopt(3SOCKET). This allows a privileged process to 16578 * transmit implicitly-labeled packets to a peer. 16579 * This privilege is interpreted only if the system is configured 16580 * with Trusted Extensions. 16581 */ 16582 16583 16584 /* 16585 * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/ 16586 * while not requiring them to need PRIV_NET_RAWACCESS. 16587 */ 16588 16589 16590 /* 16591 * Allows a process to bind to a privileged port 16592 * number. The privilege port numbers are 1-1023 (the traditional 16593 * UNIX privileged ports) as well as those ports marked as 16594 * "udp/tcp_extra_priv_ports" with the exception of the ports 16595 * reserved for use by NFS. 16596 */ 16597 16598 16599 /* 16600 * Allows a process to have direct access to the network layer. 16601 */ 16602 16603 16604 /* 16605 * Allows a process to generate audit records. 16606 * Allows a process to get its own audit pre-selection information. 16607 */ 16608 16609 16610 /* 16611 * Allows a process to change its root directory. 16612 */ 16613 16614 16615 /* 16616 * Allows a process to use high resolution timers. 16617 */ 16618 16619 16620 /* 16621 * Allows a process to call execve(). 16622 */ 16623 16624 16625 /* 16626 * Allows a process to call fork1()/forkall()/vfork() 16627 */ 16628 16629 16630 /* 16631 * Allows a process to examine the status of processes other 16632 * than those it can send signals to. Processes which cannot 16633 * be examined cannot be seen in /proc and appear not to exist. 16634 */ 16635 16636 16637 /* 16638 * Allows a process to lock pages in physical memory. 16639 */ 16640 16641 16642 /* 16643 * Allows a process to access physical memory information. 16644 */ 16645 16646 16647 /* 16648 * Allows a process to send signals to other processes, inspect 16649 * and modify process state to other processes regardless of 16650 * ownership. When modifying another process, additional 16651 * restrictions apply: the effective privilege set of the 16652 * attaching process must be a superset of the target process' 16653 * effective, permitted and inheritable sets; the limit set must 16654 * be a superset of the target's limit set; if the target process 16655 * has any uid set to 0 all privilege must be asserted unless the 16656 * effective uid is 0. 16657 * Allows a process to bind arbitrary processes to CPUs. 16658 */ 16659 16660 16661 /* 16662 * Allows a process to elevate its priority above its current level. 16663 */ 16664 16665 16666 /* 16667 * Allows all that PRIV_PROC_PRIOUP allows. 16668 * Allows a process to change its scheduling class to any scheduling class, 16669 * including the RT class. 16670 */ 16671 16672 16673 /* 16674 * Allows a process to send signals or trace processes outside its 16675 * session. 16676 */ 16677 16678 16679 /* 16680 * Allows a process to set its uids at will. 16681 * Assuming uid 0 requires all privileges to be asserted. 16682 */ 16683 16684 16685 /* 16686 * Allows a process to assign a new task ID to the calling process. 16687 */ 16688 16689 16690 /* 16691 * Allows a process to trace or send signals to processes in 16692 * other zones. 16693 */ 16694 16695 16696 /* 16697 * Allows a process to enable and disable and manage accounting through 16698 * acct(2), getacct(2), putacct(2) and wracct(2). 16699 */ 16700 16701 16702 /* 16703 * Allows a process to perform system administration tasks such 16704 * as setting node and domain name and specifying nscd and coreadm 16705 * settings. 16706 */ 16707 16708 16709 /* 16710 * Allows a process to start the (kernel) audit daemon. 16711 * Allows a process to view and set audit state (audit user ID, 16712 * audit terminal ID, audit sessions ID, audit pre-selection mask). 16713 * Allows a process to turn off and on auditing. 16714 * Allows a process to configure the audit parameters (cache and 16715 * queue sizes, event to class mappings, policy options). 16716 */ 16717 16718 16719 /* 16720 * Allows a process to perform various system configuration tasks. 16721 * Allows a process to add and remove swap devices; when adding a swap 16722 * device, a process must also have sufficient privileges to read from 16723 * and write to the swap device. 16724 */ 16725 16726 16727 /* 16728 * Allows a process to successfully call a kernel module that 16729 * calls the kernel drv_priv(9F) function to check for allowed 16730 * access. 16731 * Allows a process to open the real console device directly. 16732 * Allows a process to open devices that have been exclusively opened. 16733 */ 16734 16735 16736 /* 16737 * Allows a process to increase the size of a System V IPC Message 16738 * Queue buffer. 16739 */ 16740 16741 16742 /* 16743 * Allows a process to unlink and link directories. 16744 */ 16745 16746 16747 /* 16748 * Allows filesystem specific administrative procedures, such as 16749 * filesystem configuration ioctls, quota calls and creation/deletion 16750 * of snapshots. 16751 * Allows a process to mount and unmount filesystems which would 16752 * otherwise be restricted (i.e., most filesystems except 16753 * namefs). 16754 * A process performing a mount operation needs to have 16755 * appropriate access to the device being mounted (read-write for 16756 * "rw" mounts, read for "ro" mounts). 16757 * A process performing any of the aforementioned 16758 * filesystem operations needs to have read/write/owner 16759 * access to the mount point. 16760 * Only regular files and directories can serve as mount points 16761 * for processes which do not have all zone privileges asserted. 16762 * Unless a process has all zone privileges, the mount(2) 16763 * system call will force the "nosuid" and "restrict" options, the 16764 * latter only for autofs mountpoints. 16765 * Regardless of privileges, a process running in a non-global zone may 16766 * only control mounts performed from within said zone. 16767 * Outside the global zone, the "nodevices" option is always forced. 16768 */ 16769 16770 16771 /* 16772 * Allows a process to configure IP tunnel links. 16773 */ 16774 16775 16776 /* 16777 * Allows a process to configure all classes of datalinks, including 16778 * configuration allowed by PRIV_SYS_IPTUN_CONFIG. 16779 */ 16780 16781 16782 /* 16783 * Allows a process to configure a system's IP interfaces and routes. 16784 * Allows a process to configure network parameters using ndd. 16785 * Allows a process access to otherwise restricted information using ndd. 16786 * Allows a process to configure IPsec. 16787 * Allows a process to pop anchored STREAMs modules with matching zoneid. 16788 */ 16789 16790 16791 /* 16792 * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and 16793 * PRIV_SYS_PPP_CONFIG allow. 16794 * Allows a process to push the rpcmod STREAMs module. 16795 * Allows a process to INSERT/REMOVE STREAMs modules on locations other 16796 * than the top of the module stack. 16797 */ 16798 16799 16800 /* 16801 * Allows a process to perform Sun private NFS specific system calls. 16802 * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs) 16803 * and port 4045 (lockd). 16804 */ 16805 16806 16807 /* 16808 * Allows a process to create and destroy PPP (sppp) interfaces. 16809 * Allows a process to configure PPP tunnels (sppptun). 16810 */ 16811 16812 16813 /* 16814 * Allows a process to bind processes to processor sets. 16815 */ 16816 16817 16818 /* 16819 * Allows all that PRIV_SYS_RES_BIND allows. 16820 * Allows a process to create and delete processor sets, assign 16821 * CPUs to processor sets and override the PSET_NOESCAPE property. 16822 * Allows a process to change the operational status of CPUs in 16823 * the system using p_online(2). 16824 * Allows a process to configure resource pools and to bind 16825 * processes to pools 16826 */ 16827 16828 16829 /* 16830 * Allows a process to modify the resource limits specified 16831 * by setrlimit(2) and setrctl(2) without restriction. 16832 * Allows a process to exceed the per-user maximum number of 16833 * processes. 16834 * Allows a process to extend or create files on a filesystem that 16835 * has less than minfree space in reserve. 16836 */ 16837 16838 16839 /* 16840 * Allows a process to access the Sun private SMB kernel module. 16841 * Allows a process to bind to ports reserved by NetBIOS and SMB: 16842 * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS 16843 * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP). 16844 */ 16845 16846 16847 /* 16848 * Allows a process to successfully call a third party loadable module 16849 * that calls the kernel suser() function to check for allowed access. 16850 * This privilege exists only for third party loadable module 16851 * compatibility and is not used by Solaris proper. 16852 */ 16853 16854 16855 /* 16856 * Allows a process to manipulate system time using any of the 16857 * appropriate system calls: stime, adjtime, ntp_adjtime and 16858 * the IA specific RTC calls. 16859 */ 16860 16861 16862 /* 16863 * Allows a process to translate labels that are not dominated 16864 * by the process' sensitivity label to and from an external 16865 * string form. 16866 * This privilege is interpreted only if the system is configured 16867 * with Trusted Extensions. 16868 */ 16869 16870 16871 /* 16872 * Allows a process to manage virtualized environments such as 16873 * xVM(5). 16874 */ 16875 16876 16877 /* 16878 * Allows a process to override colormap restrictions. 16879 * Allows a process to install or remove colormaps. 16880 * Allows a process to retrieve colormap cell entries allocated 16881 * by other processes. 16882 * This privilege is interpreted only if the system is configured 16883 * with Trusted Extensions. 16884 */ 16885 16886 16887 /* 16888 * Allows a process to configure or destroy resources that are 16889 * permanently retained by the X server. 16890 * Allows a process to use SetScreenSaver to set the screen 16891 * saver timeout value. 16892 * Allows a process to use ChangeHosts to modify the display 16893 * access control list. 16894 * Allows a process to use GrabServer. 16895 * Allows a process to use the SetCloseDownMode request which 16896 * may retain window, pixmap, colormap, property, cursor, font, 16897 * or graphic context resources. 16898 * This privilege is interpreted only if the system is configured 16899 * with Trusted Extensions. 16900 */ 16901 16902 16903 /* 16904 * Allows a process to read from a window resource that it does 16905 * not own (has a different user ID). 16906 * This privilege is interpreted only if the system is configured 16907 * with Trusted Extensions. 16908 */ 16909 16910 16911 /* 16912 * Allows a process to write to or create a window resource that 16913 * it does not own (has a different user ID). A newly created 16914 * window property is created with the window's user ID. 16915 * This privilege is interpreted only if the system is configured 16916 * with Trusted Extensions. 16917 */ 16918 16919 16920 /* 16921 * Allows a process to perform operations on window input devices. 16922 * Allows a process to get and set keyboard and pointer controls. 16923 * Allows a process to modify pointer button and key mappings. 16924 * This privilege is interpreted only if the system is configured 16925 * with Trusted Extensions. 16926 */ 16927 16928 16929 /* 16930 * Allows a process to use the direct graphics access (DGA) X protocol 16931 * extensions. Direct process access to the frame buffer is still 16932 * required. Thus the process must have MAC and DAC privileges that 16933 * allow access to the frame buffer, or the frame buffer must be 16934 * allocated to the process. 16935 * This privilege is interpreted only if the system is configured 16936 * with Trusted Extensions. 16937 */ 16938 16939 16940 /* 16941 * Allows a process to set the sensitivity label of a window resource 16942 * to a sensitivity label that does not dominate the existing 16943 * sensitivity label. 16944 * This privilege is interpreted only if the system is configured 16945 * with Trusted Extensions. 16946 */ 16947 16948 16949 /* 16950 * Allows a process to set a font path. 16951 * This privilege is interpreted only if the system is configured 16952 * with Trusted Extensions. 16953 */ 16954 16955 16956 /* 16957 * Allows a process to read from a window resource whose sensitivity 16958 * label is not equal to the process sensitivity label. 16959 * This privilege is interpreted only if the system is configured 16960 * with Trusted Extensions. 16961 */ 16962 16963 16964 /* 16965 * Allows a process to create a window resource whose sensitivity 16966 * label is not equal to the process sensitivity label. 16967 * A newly created window property is created with the window's 16968 * sensitivity label. 16969 * This privilege is interpreted only if the system is configured 16970 * with Trusted Extensions. 16971 */ 16972 16973 16974 /* 16975 * Allows a process to request inter-window data moves without the 16976 * intervention of the selection confirmer. 16977 * This privilege is interpreted only if the system is configured 16978 * with Trusted Extensions. 16979 */ 16980 16981 16982 /* 16983 * Allows a process to set the sensitivity label of a window 16984 * resource to a sensitivity label that dominates the existing 16985 * sensitivity label. 16986 * This privilege is interpreted only if the system is configured 16987 * with Trusted Extensions. 16988 */ 16989 16990 16991 /* 16992 * Allows a process access to the xVM(5) control devices for 16993 * managing guest domains and the hypervisor. This privilege is 16994 * used only if booted into xVM on x86 platforms. 16995 */ 16996 16997 16998 16999 /* 17000 * Privilege set names 17001 */ 17002 /* 17003 * Set of privileges currently in effect. 17004 */ 17005 17006 17007 /* 17008 * Set of privileges that comes into effect on exec. 17009 */ 17010 17011 17012 /* 17013 * Set of privileges that can be put into the effective set without 17014 * restriction. 17015 */ 17016 17017 17018 /* 17019 * Set of privileges that determines the absolute upper bound of 17020 * privileges this process and its off-spring can obtain. 17021 */ 17022 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 2 17023 17024 17025 17026 17027 17028 typedef uint32_t priv_chunk_t; 17029 typedef struct priv_set priv_set_t; 17030 # 51 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17031 /* 17032 * Userland type definitions. 17033 */ 17034 17035 typedef const char *priv_ptype_t; 17036 typedef const char *priv_t; 17037 17038 17039 17040 /* 17041 * priv_op_t indicates a privilege operation type 17042 */ 17043 typedef enum priv_op { 17044 PRIV_ON, 17045 PRIV_OFF, 17046 PRIV_SET 17047 } priv_op_t; 17048 17049 /* 17050 * Privilege system call subcodes. 17051 */ 17052 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17053 /* 17054 * Maximum length of a user defined privilege name. 17055 */ 17056 17057 17058 /* 17059 * Privilege interface functions for those parts of the kernel that 17060 * know nothing of the privilege internals. 17061 * 17062 * A privilege implementation can have a varying number of sets; sets 17063 * consist of a number of priv_chunk_t's and the size is expressed as such. 17064 * The privileges can be represented as 17065 * 17066 * priv_chunk_t privs[info.priv_nsets][info.priv_setsize] 17067 * ... priv_infosize of extra information ... 17068 * 17069 * Extra data contained in the privilege information consists of chunks 17070 * of data with specified size and type all headed by a priv_info_t header 17071 * which defines both the type of information as well as the size of the 17072 * information. ((char*)&info)+info->priv_info_size should be rounded up 17073 * to point to the next piece of information. 17074 */ 17075 17076 typedef struct priv_impl_info { 17077 uint32_t priv_headersize; /* sizeof (priv_impl_info) */ 17078 uint32_t priv_flags; /* additional flags */ 17079 uint32_t priv_nsets; /* number of priv sets */ 17080 uint32_t priv_setsize; /* size in priv_chunk_t */ 17081 uint32_t priv_max; /* highest actual valid priv */ 17082 uint32_t priv_infosize; /* Per proc. additional info */ 17083 uint32_t priv_globalinfosize; /* Per system info */ 17084 } priv_impl_info_t; 17085 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17086 /* 17087 * Per credential flags. 17088 */ 17089 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 17090 /* user-settable flags: */ 17091 17092 17093 17094 /* 17095 * Header of the privilege info data structure; multiple structures can 17096 * follow the privilege sets and priv_impl_info structures. 17097 */ 17098 typedef struct priv_info { 17099 uint32_t priv_info_type; 17100 uint32_t priv_info_size; 17101 } priv_info_t; 17102 17103 typedef struct priv_info_uint { 17104 priv_info_t info; 17105 uint_t val; 17106 } priv_info_uint_t; 17107 17108 /* 17109 * Global privilege set information item; the actual size of the array is 17110 * {priv_setsize}. 17111 */ 17112 typedef struct priv_info_set { 17113 priv_info_t info; 17114 priv_chunk_t set[1]; 17115 } priv_info_set_t; 17116 17117 /* 17118 * names[1] is a place holder which can contain multiple NUL terminated, 17119 * non-empty strings. 17120 */ 17121 17122 typedef struct priv_info_names { 17123 priv_info_t info; 17124 int cnt; /* number of strings */ 17125 char names[1]; /* "string1\0string2\0 ..stringN\0" */ 17126 } priv_info_names_t; 17127 17128 /* 17129 * Privilege information types. 17130 */ 17131 17132 17133 17134 17135 17136 /* 17137 * Special "privileges" used to indicate special conditions in privilege 17138 * debugging/tracing code. 17139 */ 17140 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 17141 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 17142 /* 17143 * CDDL HEADER START 17144 * 17145 * The contents of this file are subject to the terms of the 17146 * Common Development and Distribution License (the "License"). 17147 * You may not use this file except in compliance with the License. 17148 * 17149 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17150 * or http://www.opensolaris.org/os/licensing. 17151 * See the License for the specific language governing permissions 17152 * and limitations under the License. 17153 * 17154 * When distributing Covered Code, include this CDDL HEADER in each 17155 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17156 * If applicable, add the following below this CDDL HEADER, with the 17157 * fields enclosed by brackets "[]" replaced with your own identifying 17158 * information: Portions Copyright [yyyy] [name of copyright owner] 17159 * 17160 * CDDL HEADER END 17161 */ 17162 /* 17163 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17164 * Use is subject to license terms. 17165 */ 17166 17167 17168 17169 17170 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17171 /* 17172 * CDDL HEADER START 17173 * 17174 * The contents of this file are subject to the terms of the 17175 * Common Development and Distribution License (the "License"). 17176 * You may not use this file except in compliance with the License. 17177 * 17178 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17179 * or http://www.opensolaris.org/os/licensing. 17180 * See the License for the specific language governing permissions 17181 * and limitations under the License. 17182 * 17183 * When distributing Covered Code, include this CDDL HEADER in each 17184 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17185 * If applicable, add the following below this CDDL HEADER, with the 17186 * fields enclosed by brackets "[]" replaced with your own identifying 17187 * information: Portions Copyright [yyyy] [name of copyright owner] 17188 * 17189 * CDDL HEADER END 17190 */ 17191 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17192 /* All Rights Reserved */ 17193 17194 17195 /* 17196 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17197 * Use is subject to license terms. 17198 * 17199 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17200 * Copyright 2016 Joyent, Inc. 17201 */ 17202 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 2 17203 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 17204 /* 17205 * types of label comparison 17206 */ 17207 17208 17209 17210 /* Manifest human readable label names */ 17211 17212 17213 17214 /* Binary Label Structure Definitions */ 17215 17216 typedef struct _mac_label_impl m_label_t; 17217 17218 typedef m_label_t blevel_t, /* compatibility */ 17219 bslabel_t, /* Sensitivity Label */ 17220 bclear_t; /* Clearance */ 17221 17222 typedef struct _tsol_binary_level_lrange { /* Level Range */ 17223 m_label_t *lower_bound; 17224 m_label_t *upper_bound; 17225 } m_range_t; 17226 17227 typedef m_range_t blrange_t; 17228 17229 typedef struct tsol_mlp_s { 17230 uchar_t mlp_ipp; 17231 uint16_t mlp_port; 17232 uint16_t mlp_port_upper; 17233 } tsol_mlp_t; 17234 17235 /* Procedure Interface Definitions available to user and kernel */ 17236 17237 extern int bltype(const void *, uint8_t); 17238 extern int blequal(const m_label_t *, const m_label_t *); 17239 extern int bldominates(const m_label_t *, const m_label_t *); 17240 extern int blstrictdom(const m_label_t *, const m_label_t *); 17241 extern int blinrange(const m_label_t *, const m_range_t *); 17242 extern void blmaximum(m_label_t *, const m_label_t *); 17243 extern void blminimum(m_label_t *, const m_label_t *); 17244 extern void bsllow(m_label_t *); 17245 extern void bslhigh(m_label_t *); 17246 extern void bclearlow(m_label_t *); 17247 extern void bclearhigh(m_label_t *); 17248 extern void bslundef(m_label_t *); 17249 extern void bclearundef(m_label_t *); 17250 extern void setbltype(void *, uint8_t); 17251 extern boolean_t bisinvalid(const void *); 17252 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 2 17253 17254 17255 17256 17257 17258 typedef struct ucred_s ucred_t; 17259 17260 /* 17261 * library functions prototype. 17262 */ 17263 17264 extern ucred_t *ucred_get(pid_t pid); 17265 17266 extern void ucred_free(ucred_t *); 17267 17268 extern uid_t ucred_geteuid(const ucred_t *); 17269 extern uid_t ucred_getruid(const ucred_t *); 17270 extern uid_t ucred_getsuid(const ucred_t *); 17271 extern gid_t ucred_getegid(const ucred_t *); 17272 extern gid_t ucred_getrgid(const ucred_t *); 17273 extern gid_t ucred_getsgid(const ucred_t *); 17274 extern int ucred_getgroups(const ucred_t *, const gid_t **); 17275 17276 extern const priv_set_t *ucred_getprivset(const ucred_t *, priv_ptype_t); 17277 extern uint_t ucred_getpflags(const ucred_t *, uint_t); 17278 17279 extern pid_t ucred_getpid(const ucred_t *); /* for door_cred compatibility */ 17280 17281 extern size_t ucred_size(void); 17282 17283 extern int getpeerucred(int, ucred_t **); 17284 17285 extern zoneid_t ucred_getzoneid(const ucred_t *); 17286 17287 extern bslabel_t *ucred_getlabel(const ucred_t *); 17288 17289 extern projid_t ucred_getprojid(const ucred_t *); 17290 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/door.h" 2 17291 17292 17293 17294 17295 17296 17297 17298 /* 17299 * Doors API 17300 */ 17301 17302 typedef void door_server_procedure_t(void *, char *, size_t, door_desc_t *, 17303 uint_t); 17304 17305 int door_create(door_server_procedure_t *, void *, uint_t); 17306 int door_revoke(int); 17307 int door_info(int, door_info_t *); 17308 int door_call(int, door_arg_t *); 17309 int door_return(char *, size_t, door_desc_t *, uint_t); 17310 int door_cred(door_cred_t *); 17311 int door_ucred(ucred_t **); 17312 int door_bind(int); 17313 int door_unbind(void); 17314 int door_getparam(int, int, size_t *); 17315 int door_setparam(int, int, size_t); 17316 17317 typedef void door_server_func_t(door_info_t *); 17318 door_server_func_t *door_server_create(door_server_func_t *); 17319 17320 typedef int door_xcreate_server_func_t(door_info_t *, 17321 void *(*)(void *), void *, void *); 17322 typedef void door_xcreate_thrsetup_func_t(void *); 17323 17324 int door_xcreate(door_server_procedure_t *, void *, uint_t, 17325 door_xcreate_server_func_t *, door_xcreate_thrsetup_func_t *, 17326 void *, int); 17327 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 17328 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 1 17329 /* 17330 * CDDL HEADER START 17331 * 17332 * The contents of this file are subject to the terms of the 17333 * Common Development and Distribution License, Version 1.0 only 17334 * (the "License"). You may not use this file except in compliance 17335 * with the License. 17336 * 17337 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17338 * or http://www.opensolaris.org/os/licensing. 17339 * See the License for the specific language governing permissions 17340 * and limitations under the License. 17341 * 17342 * When distributing Covered Code, include this CDDL HEADER in each 17343 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17344 * If applicable, add the following below this CDDL HEADER, with the 17345 * fields enclosed by brackets "[]" replaced with your own identifying 17346 * information: Portions Copyright [yyyy] [name of copyright owner] 17347 * 17348 * CDDL HEADER END 17349 */ 17350 /* 17351 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 17352 * Use is subject to license terms. 17353 */ 17354 17355 17356 17357 17358 #pragma ident "%Z%%M% %I% %E% SMI" 17359 17360 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17361 /* 17362 * CDDL HEADER START 17363 * 17364 * The contents of this file are subject to the terms of the 17365 * Common Development and Distribution License (the "License"). 17366 * You may not use this file except in compliance with the License. 17367 * 17368 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17369 * or http://www.opensolaris.org/os/licensing. 17370 * See the License for the specific language governing permissions 17371 * and limitations under the License. 17372 * 17373 * When distributing Covered Code, include this CDDL HEADER in each 17374 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17375 * If applicable, add the following below this CDDL HEADER, with the 17376 * fields enclosed by brackets "[]" replaced with your own identifying 17377 * information: Portions Copyright [yyyy] [name of copyright owner] 17378 * 17379 * CDDL HEADER END 17380 */ 17381 17382 /* 17383 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17384 * Copyright 2016 Joyent, Inc. 17385 * 17386 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17387 * Use is subject to license terms. 17388 */ 17389 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 17390 17391 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libelf.h" 1 17392 /* 17393 * CDDL HEADER START 17394 * 17395 * The contents of this file are subject to the terms of the 17396 * Common Development and Distribution License (the "License"). 17397 * You may not use this file except in compliance with the License. 17398 * 17399 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17400 * or http://www.opensolaris.org/os/licensing. 17401 * See the License for the specific language governing permissions 17402 * and limitations under the License. 17403 * 17404 * When distributing Covered Code, include this CDDL HEADER in each 17405 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17406 * If applicable, add the following below this CDDL HEADER, with the 17407 * fields enclosed by brackets "[]" replaced with your own identifying 17408 * information: Portions Copyright [yyyy] [name of copyright owner] 17409 * 17410 * CDDL HEADER END 17411 */ 17412 /* Copyright (c) 1988 AT&T */ 17413 /* All Rights Reserved */ 17414 17415 /* 17416 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17417 * Use is subject to license terms. 17418 * Copyright 2014 PALO, Richard. All rights reserved. 17419 */ 17420 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 17421 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/link.h" 1 17422 /* 17423 * CDDL HEADER START 17424 * 17425 * The contents of this file are subject to the terms of the 17426 * Common Development and Distribution License (the "License"). 17427 * You may not use this file except in compliance with the License. 17428 * 17429 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17430 * or http://www.opensolaris.org/os/licensing. 17431 * See the License for the specific language governing permissions 17432 * and limitations under the License. 17433 * 17434 * When distributing Covered Code, include this CDDL HEADER in each 17435 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17436 * If applicable, add the following below this CDDL HEADER, with the 17437 * fields enclosed by brackets "[]" replaced with your own identifying 17438 * information: Portions Copyright [yyyy] [name of copyright owner] 17439 * 17440 * CDDL HEADER END 17441 */ 17442 17443 /* 17444 * Copyright (c) 1988 AT&T 17445 * All Rights Reserved 17446 * 17447 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 17448 * 17449 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 17450 */ 17451 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 2 17452 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 17453 /* 17454 * Class-independent ELF API for Elf utilities. This is 17455 * for manipulating Elf32 and Elf64 specific information 17456 * in a format common to both classes. 17457 */ 17458 17459 typedef Elf64_Addr GElf_Addr; 17460 typedef Elf64_Half GElf_Half; 17461 typedef Elf64_Off GElf_Off; 17462 typedef Elf64_Sword GElf_Sword; 17463 typedef Elf64_Sxword GElf_Sxword; 17464 typedef Elf64_Word GElf_Word; 17465 typedef Elf64_Xword GElf_Xword; 17466 17467 typedef Elf64_Ehdr GElf_Ehdr; 17468 typedef Elf64_Move GElf_Move; 17469 typedef Elf64_Phdr GElf_Phdr; 17470 typedef Elf64_Shdr GElf_Shdr; 17471 typedef Elf64_Sym GElf_Sym; 17472 typedef Elf64_Syminfo GElf_Syminfo; 17473 typedef Elf64_Rela GElf_Rela; 17474 typedef Elf64_Rel GElf_Rel; 17475 typedef Elf64_Dyn GElf_Dyn; 17476 typedef Elf64_Cap GElf_Cap; 17477 17478 /* 17479 * The processing of versioning information can stay the 17480 * same because both the Elf32 and Elf64 structures are 17481 * of equal sizes. 17482 */ 17483 typedef Elf64_Verdef GElf_Verdef; 17484 typedef Elf64_Verdaux GElf_Verdaux; 17485 typedef Elf64_Verneed GElf_Verneed; 17486 typedef Elf64_Vernaux GElf_Vernaux; 17487 typedef Elf64_Versym GElf_Versym; 17488 17489 /* 17490 * move.m_info is encoded using the 64bit fields in Gelf. 17491 */ 17492 17493 17494 17495 /* 17496 * sym.st_info field is same size for Elf32 and Elf64. 17497 */ 17498 17499 17500 17501 17502 17503 /* 17504 * Elf64 r_info may have data field in type id's word, 17505 * so GELF_R_TYPE is defined as ELF64_R_TYPE_ID in order 17506 * to isolate the proper bits for the true type id. 17507 */ 17508 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/gelf.h" 17509 int gelf_getclass(Elf*); 17510 size_t gelf_fsize(Elf *, Elf_Type, size_t, uint_t); 17511 GElf_Ehdr * gelf_getehdr(Elf *, GElf_Ehdr *); 17512 int gelf_update_ehdr(Elf *, GElf_Ehdr *); 17513 unsigned long gelf_newehdr(Elf *, int); 17514 GElf_Phdr * gelf_getphdr(Elf *, int, GElf_Phdr *); 17515 int gelf_update_phdr(Elf *, int, GElf_Phdr *); 17516 unsigned long gelf_newphdr(Elf *, size_t); 17517 GElf_Shdr * gelf_getshdr(Elf_Scn *, GElf_Shdr *); 17518 int gelf_update_shdr(Elf_Scn *, GElf_Shdr *); 17519 Elf_Data * gelf_xlatetof(Elf *, Elf_Data *, const Elf_Data *, uint_t); 17520 Elf_Data * gelf_xlatetom(Elf *, Elf_Data *, const Elf_Data *, uint_t); 17521 GElf_Sym * gelf_getsym(Elf_Data *, int, GElf_Sym *); 17522 int gelf_update_sym(Elf_Data *, int, GElf_Sym *); 17523 GElf_Sym * gelf_getsymshndx(Elf_Data *, Elf_Data *, int, GElf_Sym *, 17524 Elf32_Word *); 17525 int gelf_update_symshndx(Elf_Data *, Elf_Data *, int, GElf_Sym *, 17526 Elf32_Word); 17527 GElf_Syminfo * gelf_getsyminfo(Elf_Data *, int, GElf_Syminfo *); 17528 int gelf_update_syminfo(Elf_Data *, int, GElf_Syminfo *); 17529 GElf_Move * gelf_getmove(Elf_Data *, int, GElf_Move *); 17530 int gelf_update_move(Elf_Data *, int, GElf_Move *); 17531 GElf_Dyn * gelf_getdyn(Elf_Data *, int, GElf_Dyn *); 17532 int gelf_update_dyn(Elf_Data *, int, GElf_Dyn *); 17533 GElf_Rela * gelf_getrela(Elf_Data *, int, GElf_Rela *); 17534 int gelf_update_rela(Elf_Data *, int, GElf_Rela *); 17535 GElf_Rel * gelf_getrel(Elf_Data *, int, GElf_Rel *); 17536 int gelf_update_rel(Elf_Data *, int, GElf_Rel *); 17537 long gelf_checksum(Elf *); 17538 GElf_Cap * gelf_getcap(Elf_Data *, int, GElf_Cap *); 17539 int gelf_update_cap(Elf_Data *, int, GElf_Cap *); 17540 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 17541 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 1 17542 /* 17543 * CDDL HEADER START 17544 * 17545 * The contents of this file are subject to the terms of the 17546 * Common Development and Distribution License (the "License"). 17547 * You may not use this file except in compliance with the License. 17548 * 17549 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17550 * or http://www.opensolaris.org/os/licensing. 17551 * See the License for the specific language governing permissions 17552 * and limitations under the License. 17553 * 17554 * When distributing Covered Code, include this CDDL HEADER in each 17555 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17556 * If applicable, add the following below this CDDL HEADER, with the 17557 * fields enclosed by brackets "[]" replaced with your own identifying 17558 * information: Portions Copyright [yyyy] [name of copyright owner] 17559 * 17560 * CDDL HEADER END 17561 */ 17562 /* 17563 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17564 * Use is subject to license terms. 17565 */ 17566 17567 17568 17569 17570 #pragma ident "%Z%%M% %I% %E% SMI" 17571 17572 /* 17573 * Description: 17574 * Types, global variables, and function definitions for provider 17575 * of import functions for users of libc_db and librtld_db. 17576 */ 17577 17578 17579 17580 17581 17582 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17583 /* 17584 * CDDL HEADER START 17585 * 17586 * The contents of this file are subject to the terms of the 17587 * Common Development and Distribution License (the "License"). 17588 * You may not use this file except in compliance with the License. 17589 * 17590 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17591 * or http://www.opensolaris.org/os/licensing. 17592 * See the License for the specific language governing permissions 17593 * and limitations under the License. 17594 * 17595 * When distributing Covered Code, include this CDDL HEADER in each 17596 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17597 * If applicable, add the following below this CDDL HEADER, with the 17598 * fields enclosed by brackets "[]" replaced with your own identifying 17599 * information: Portions Copyright [yyyy] [name of copyright owner] 17600 * 17601 * CDDL HEADER END 17602 */ 17603 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17604 /* All Rights Reserved */ 17605 17606 17607 /* 17608 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17609 * Use is subject to license terms. 17610 * 17611 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17612 * Copyright 2016 Joyent, Inc. 17613 */ 17614 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 17615 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 1 17616 /* 17617 * CDDL HEADER START 17618 * 17619 * The contents of this file are subject to the terms of the 17620 * Common Development and Distribution License, Version 1.0 only 17621 * (the "License"). You may not use this file except in compliance 17622 * with the License. 17623 * 17624 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17625 * or http://www.opensolaris.org/os/licensing. 17626 * See the License for the specific language governing permissions 17627 * and limitations under the License. 17628 * 17629 * When distributing Covered Code, include this CDDL HEADER in each 17630 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17631 * If applicable, add the following below this CDDL HEADER, with the 17632 * fields enclosed by brackets "[]" replaced with your own identifying 17633 * information: Portions Copyright [yyyy] [name of copyright owner] 17634 * 17635 * CDDL HEADER END 17636 */ 17637 /* 17638 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 17639 * Use is subject to license terms. 17640 */ 17641 17642 17643 17644 17645 /* 17646 * Instruction Set Architecture specific component of <sys/procfs.h> 17647 * i386 version 17648 */ 17649 17650 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/regset.h" 1 17651 /* 17652 * CDDL HEADER START 17653 * 17654 * The contents of this file are subject to the terms of the 17655 * Common Development and Distribution License (the "License"). 17656 * You may not use this file except in compliance with the License. 17657 * 17658 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17659 * or http://www.opensolaris.org/os/licensing. 17660 * See the License for the specific language governing permissions 17661 * and limitations under the License. 17662 * 17663 * When distributing Covered Code, include this CDDL HEADER in each 17664 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17665 * If applicable, add the following below this CDDL HEADER, with the 17666 * fields enclosed by brackets "[]" replaced with your own identifying 17667 * information: Portions Copyright [yyyy] [name of copyright owner] 17668 * 17669 * CDDL HEADER END 17670 */ 17671 /* 17672 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 17673 * 17674 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 17675 */ 17676 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 17677 17678 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17679 /* All Rights Reserved */ 17680 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 2 17681 17682 17683 17684 17685 17686 /* 17687 * Possible values of pr_dmodel. 17688 * This isn't isa-specific, but it needs to be defined here for other reasons. 17689 */ 17690 17691 17692 17693 17694 /* 17695 * To determine whether application is running native. 17696 */ 17697 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 17698 /* 17699 * Holds one i386 or amd64 instruction 17700 */ 17701 typedef uchar_t instr_t; 17702 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 17703 /* 17704 * The following defines are for portability (see <sys/regset.h>). 17705 */ 17706 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 17707 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 1 17708 /* 17709 * CDDL HEADER START 17710 * 17711 * The contents of this file are subject to the terms of the 17712 * Common Development and Distribution License (the "License"). 17713 * You may not use this file except in compliance with the License. 17714 * 17715 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17716 * or http://www.opensolaris.org/os/licensing. 17717 * See the License for the specific language governing permissions 17718 * and limitations under the License. 17719 * 17720 * When distributing Covered Code, include this CDDL HEADER in each 17721 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17722 * If applicable, add the following below this CDDL HEADER, with the 17723 * fields enclosed by brackets "[]" replaced with your own identifying 17724 * information: Portions Copyright [yyyy] [name of copyright owner] 17725 * 17726 * CDDL HEADER END 17727 */ 17728 17729 /* 17730 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 17731 * Use is subject to license terms. 17732 */ 17733 /* 17734 * Copyright (c) 2013 by Delphix. All rights reserved. 17735 */ 17736 17737 17738 17739 17740 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/synch.h" 1 17741 /* 17742 * CDDL HEADER START 17743 * 17744 * The contents of this file are subject to the terms of the 17745 * Common Development and Distribution License (the "License"). 17746 * You may not use this file except in compliance with the License. 17747 * 17748 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17749 * or http://www.opensolaris.org/os/licensing. 17750 * See the License for the specific language governing permissions 17751 * and limitations under the License. 17752 * 17753 * When distributing Covered Code, include this CDDL HEADER in each 17754 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17755 * If applicable, add the following below this CDDL HEADER, with the 17756 * fields enclosed by brackets "[]" replaced with your own identifying 17757 * information: Portions Copyright [yyyy] [name of copyright owner] 17758 * 17759 * CDDL HEADER END 17760 */ 17761 17762 /* 17763 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 17764 * Use is subject to license terms. 17765 */ 17766 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 2 17767 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 1 17768 /* 17769 * CDDL HEADER START 17770 * 17771 * The contents of this file are subject to the terms of the 17772 * Common Development and Distribution License (the "License"). 17773 * You may not use this file except in compliance with the License. 17774 * 17775 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17776 * or http://www.opensolaris.org/os/licensing. 17777 * See the License for the specific language governing permissions 17778 * and limitations under the License. 17779 * 17780 * When distributing Covered Code, include this CDDL HEADER in each 17781 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17782 * If applicable, add the following below this CDDL HEADER, with the 17783 * fields enclosed by brackets "[]" replaced with your own identifying 17784 * information: Portions Copyright [yyyy] [name of copyright owner] 17785 * 17786 * CDDL HEADER END 17787 */ 17788 17789 /* 17790 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 17791 * 17792 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 17793 * Use is subject to license terms. 17794 */ 17795 17796 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17797 /* All Rights Reserved */ 17798 17799 17800 17801 17802 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 17803 /* 17804 * CDDL HEADER START 17805 * 17806 * The contents of this file are subject to the terms of the 17807 * Common Development and Distribution License (the "License"). 17808 * You may not use this file except in compliance with the License. 17809 * 17810 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17811 * or http://www.opensolaris.org/os/licensing. 17812 * See the License for the specific language governing permissions 17813 * and limitations under the License. 17814 * 17815 * When distributing Covered Code, include this CDDL HEADER in each 17816 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17817 * If applicable, add the following below this CDDL HEADER, with the 17818 * fields enclosed by brackets "[]" replaced with your own identifying 17819 * information: Portions Copyright [yyyy] [name of copyright owner] 17820 * 17821 * CDDL HEADER END 17822 */ 17823 17824 /* 17825 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 17826 * Copyright 2016 Joyent, Inc. 17827 * 17828 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 17829 * Use is subject to license terms. 17830 */ 17831 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 17832 17833 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 17834 /* 17835 * CDDL HEADER START 17836 * 17837 * The contents of this file are subject to the terms of the 17838 * Common Development and Distribution License (the "License"). 17839 * You may not use this file except in compliance with the License. 17840 * 17841 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17842 * or http://www.opensolaris.org/os/licensing. 17843 * See the License for the specific language governing permissions 17844 * and limitations under the License. 17845 * 17846 * When distributing Covered Code, include this CDDL HEADER in each 17847 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17848 * If applicable, add the following below this CDDL HEADER, with the 17849 * fields enclosed by brackets "[]" replaced with your own identifying 17850 * information: Portions Copyright [yyyy] [name of copyright owner] 17851 * 17852 * CDDL HEADER END 17853 */ 17854 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17855 /* All Rights Reserved */ 17856 17857 17858 /* 17859 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 17860 * Use is subject to license terms. 17861 * 17862 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 17863 * Copyright 2016 Joyent, Inc. 17864 */ 17865 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 17866 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mcontext.h" 1 17867 /* 17868 * CDDL HEADER START 17869 * 17870 * The contents of this file are subject to the terms of the 17871 * Common Development and Distribution License (the "License"). 17872 * You may not use this file except in compliance with the License. 17873 * 17874 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17875 * or http://www.opensolaris.org/os/licensing. 17876 * See the License for the specific language governing permissions 17877 * and limitations under the License. 17878 * 17879 * When distributing Covered Code, include this CDDL HEADER in each 17880 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17881 * If applicable, add the following below this CDDL HEADER, with the 17882 * fields enclosed by brackets "[]" replaced with your own identifying 17883 * information: Portions Copyright [yyyy] [name of copyright owner] 17884 * 17885 * CDDL HEADER END 17886 */ 17887 /* 17888 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 17889 * 17890 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 17891 */ 17892 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 17893 17894 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17895 /* All Rights Reserved */ 17896 17897 /* 17898 * Essential struct definitions for mcontext_t needed by ucontext.h 17899 * These were formerly in regset.h, which now includes this file. 17900 */ 17901 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 17902 17903 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 17904 /* 17905 * CDDL HEADER START 17906 * 17907 * The contents of this file are subject to the terms of the 17908 * Common Development and Distribution License (the "License"). 17909 * You may not use this file except in compliance with the License. 17910 * 17911 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 17912 * or http://www.opensolaris.org/os/licensing. 17913 * See the License for the specific language governing permissions 17914 * and limitations under the License. 17915 * 17916 * When distributing Covered Code, include this CDDL HEADER in each 17917 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17918 * If applicable, add the following below this CDDL HEADER, with the 17919 * fields enclosed by brackets "[]" replaced with your own identifying 17920 * information: Portions Copyright [yyyy] [name of copyright owner] 17921 * 17922 * CDDL HEADER END 17923 */ 17924 17925 /* 17926 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 17927 * Use is subject to license terms. 17928 */ 17929 17930 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 17931 /* All Rights Reserved */ 17932 17933 /* 17934 * University Copyright- Copyright (c) 1982, 1986, 1988 17935 * The Regents of the University of California 17936 * All Rights Reserved 17937 * 17938 * University Acknowledgment- Portions of this document are derived from 17939 * software developed by the University of California, Berkeley, and its 17940 * contributors. 17941 */ 17942 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 2 17943 17944 17945 17946 17947 17948 17949 /* 17950 * Inclusion of <sys/signal.h> for sigset_t and stack_t definitions 17951 * breaks XPG4v2 namespace. Therefore we must duplicate the defines 17952 * for these types here when _XPG4_2 is defined. 17953 */ 17954 # 72 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 17955 typedef struct ucontext ucontext_t; 17956 17957 17958 17959 17960 17961 struct ucontext { 17962 17963 17964 17965 unsigned long uc_flags; 17966 ucontext_t *uc_link; 17967 sigset_t uc_sigmask; 17968 stack_t uc_stack; 17969 mcontext_t uc_mcontext; 17970 long uc_filler[5]; /* see ABI spec for Intel386 */ 17971 }; 17972 # 116 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 17973 /* 17974 * values for uc_flags 17975 * these are implementation dependent flags, that should be hidden 17976 * from the user interface, defining which elements of ucontext 17977 * are valid, and should be restored on call to setcontext 17978 */ 17979 # 131 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ucontext.h" 17980 /* 17981 * UC_ALL specifies the default context 17982 */ 17983 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 2 17984 17985 17986 17987 17988 17989 /* 17990 * lwp create flags 17991 */ 17992 17993 17994 17995 17996 /* 17997 * Definitions for user programs calling into the _lwp interface. 17998 */ 17999 struct lwpinfo { 18000 timestruc_t lwp_utime; 18001 timestruc_t lwp_stime; 18002 long lwpinfo_pad[64]; 18003 }; 18004 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 18005 typedef uint_t lwpid_t; 18006 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 18007 int _lwp_kill(lwpid_t, int); 18008 int _lwp_info(struct lwpinfo *); 18009 lwpid_t _lwp_self(void); 18010 int _lwp_suspend(lwpid_t); 18011 int _lwp_continue(lwpid_t); 18012 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 18013 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 18014 /* 18015 * CDDL HEADER START 18016 * 18017 * The contents of this file are subject to the terms of the 18018 * Common Development and Distribution License (the "License"). 18019 * You may not use this file except in compliance with the License. 18020 * 18021 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18022 * or http://www.opensolaris.org/os/licensing. 18023 * See the License for the specific language governing permissions 18024 * and limitations under the License. 18025 * 18026 * When distributing Covered Code, include this CDDL HEADER in each 18027 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18028 * If applicable, add the following below this CDDL HEADER, with the 18029 * fields enclosed by brackets "[]" replaced with your own identifying 18030 * information: Portions Copyright [yyyy] [name of copyright owner] 18031 * 18032 * CDDL HEADER END 18033 */ 18034 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18035 /* All Rights Reserved */ 18036 18037 18038 /* 18039 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18040 * 18041 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18042 * Use is subject to license terms. 18043 */ 18044 /* 18045 * Copyright 2016 Joyent, Inc. 18046 */ 18047 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 18048 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/elf.h" 1 18049 /* 18050 * CDDL HEADER START 18051 * 18052 * The contents of this file are subject to the terms of the 18053 * Common Development and Distribution License, Version 1.0 only 18054 * (the "License"). You may not use this file except in compliance 18055 * with the License. 18056 * 18057 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18058 * or http://www.opensolaris.org/os/licensing. 18059 * See the License for the specific language governing permissions 18060 * and limitations under the License. 18061 * 18062 * When distributing Covered Code, include this CDDL HEADER in each 18063 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18064 * If applicable, add the following below this CDDL HEADER, with the 18065 * fields enclosed by brackets "[]" replaced with your own identifying 18066 * information: Portions Copyright [yyyy] [name of copyright owner] 18067 * 18068 * CDDL HEADER END 18069 */ 18070 /* Copyright (c) 1988 AT&T */ 18071 /* All Rights Reserved */ 18072 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 18073 18074 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 1 18075 /* 18076 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 18077 */ 18078 /* 18079 * Copyright 2016 Joyent, Inc. 18080 */ 18081 # 15 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18082 /* 18083 * Copyright (c) 1989, 1990 William F. Jolitz 18084 * Copyright (c) 1990 The Regents of the University of California. 18085 * All rights reserved. 18086 * 18087 * This code is derived from software contributed to Berkeley by 18088 * William Jolitz. 18089 * 18090 * Redistribution and use in source and binary forms, with or without 18091 * modification, are permitted provided that the following conditions 18092 * are met: 18093 * 1. Redistributions of source code must retain the above copyright 18094 * notice, this list of conditions and the following disclaimer. 18095 * 2. Redistributions in binary form must reproduce the above copyright 18096 * notice, this list of conditions and the following disclaimer in the 18097 * documentation and/or other materials provided with the distribution. 18098 * 3. All advertising materials mentioning features or use of this software 18099 * must display the following acknowledgement: 18100 * This product includes software developed by the University of 18101 * California, Berkeley and its contributors. 18102 * 4. Neither the name of the University nor the names of its contributors 18103 * may be used to endorse or promote products derived from this software 18104 * without specific prior written permission. 18105 * 18106 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18107 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18108 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18109 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 18110 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18111 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18112 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 18113 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18114 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 18115 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 18116 * SUCH DAMAGE. 18117 * 18118 * from: @(#)segments.h 7.1 (Berkeley) 5/9/91 18119 * $FreeBSD: src/sys/i386/include/segments.h,v 1.34 2003/09/10 01:07:04 18120 * jhb Exp $ 18121 * 18122 * 386 Segmentation Data Structures and definitions 18123 * William F. Jolitz (william@ernie.berkeley.edu) 6/20/1989 18124 */ 18125 18126 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 1 18127 /* 18128 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 18129 * Use is subject to license terms. 18130 */ 18131 # 13 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 18132 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 18133 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 18134 /* All Rights Reserved */ 18135 18136 /* 18137 * Copyright (c) 1990 The Regents of the University of California. 18138 * All rights reserved. 18139 * 18140 * This code is derived from software contributed to Berkeley by 18141 * William Jolitz. 18142 * 18143 * Redistribution and use in source and binary forms, with or without 18144 * modification, are permitted provided that the following conditions 18145 * are met: 18146 * 1. Redistributions of source code must retain the above copyright 18147 * notice, this list of conditions and the following disclaimer. 18148 * 2. Redistributions in binary form must reproduce the above copyright 18149 * notice, this list of conditions and the following disclaimer in the 18150 * documentation and/or other materials provided with the distribution. 18151 * 3. All advertising materials mentioning features or use of this software 18152 * must display the following acknowledgement: 18153 * This product includes software developed by the University of 18154 * California, Berkeley and its contributors. 18155 * 4. Neither the name of the University nor the names of its contributors 18156 * may be used to endorse or promote products derived from this software 18157 * without specific prior written permission. 18158 * 18159 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18160 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18161 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18162 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 18163 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18164 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18165 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 18166 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18167 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 18168 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 18169 * SUCH DAMAGE. 18170 * 18171 * from: @(#)tss.h 5.4 (Berkeley) 1/18/91 18172 * $FreeBSD: src/sys/i386/include/tss.h,v 1.13 2002/09/23 05:04:05 peter Exp $ 18173 */ 18174 /* 18175 * Copyright 2011 Joyent, Inc. All rights reserved. 18176 */ 18177 18178 /* 18179 * Maximum I/O address that will be in TSS bitmap 18180 */ 18181 18182 18183 18184 18185 /* 18186 * Task state segment (tss). Holds the processor state assoicated with a task. 18187 * 18188 * Historically, this header only exposed a struct tss that was relevant to the 18189 * specific Intel architecture that we were deploying on. However, the tss 18190 * structures are defined by the Intel Architecture and other consumers would 18191 * like to use them. Rather than requiring them to duplicate all of this 18192 * information, we instead expose each version under different names but in a 18193 * backwards compatible manner. 18194 */ 18195 18196 18197 # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 18198 #pragma pack(4) 18199 # 77 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 18200 18201 struct tss64 { 18202 uint32_t tss_rsvd0; /* reserved, ignored */ 18203 uint64_t tss_rsp0; /* stack pointer CPL = 0 */ 18204 uint64_t tss_rsp1; /* stack pointer CPL = 1 */ 18205 uint64_t tss_rsp2; /* stack pointer CPL = 2 */ 18206 uint64_t tss_rsvd1; /* reserved, ignored */ 18207 uint64_t tss_ist1; /* Interrupt stack table 1 */ 18208 uint64_t tss_ist2; /* Interrupt stack table 2 */ 18209 uint64_t tss_ist3; /* Interrupt stack table 3 */ 18210 uint64_t tss_ist4; /* Interrupt stack table 4 */ 18211 uint64_t tss_ist5; /* Interrupt stack table 5 */ 18212 uint64_t tss_ist6; /* Interrupt stack table 6 */ 18213 uint64_t tss_ist7; /* Interrupt stack table 7 */ 18214 uint64_t tss_rsvd2; /* reserved, ignored */ 18215 uint16_t tss_rsvd3; /* reserved, ignored */ 18216 uint16_t tss_bitmapbase; /* io permission bitmap base address */ 18217 }; 18218 18219 # 95 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 18220 #pragma pack() 18221 # 95 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tss.h" 18222 18223 18224 struct tss32 { 18225 uint16_t tss_link; /* 16-bit prior TSS selector */ 18226 uint16_t tss_rsvd0; /* reserved, ignored */ 18227 uint32_t tss_esp0; 18228 uint16_t tss_ss0; 18229 uint16_t tss_rsvd1; /* reserved, ignored */ 18230 uint32_t tss_esp1; 18231 uint16_t tss_ss1; 18232 uint16_t tss_rsvd2; /* reserved, ignored */ 18233 uint32_t tss_esp2; 18234 uint16_t tss_ss2; 18235 uint16_t tss_rsvd3; /* reserved, ignored */ 18236 uint32_t tss_cr3; 18237 uint32_t tss_eip; 18238 uint32_t tss_eflags; 18239 uint32_t tss_eax; 18240 uint32_t tss_ecx; 18241 uint32_t tss_edx; 18242 uint32_t tss_ebx; 18243 uint32_t tss_esp; 18244 uint32_t tss_ebp; 18245 uint32_t tss_esi; 18246 uint32_t tss_edi; 18247 uint16_t tss_es; 18248 uint16_t tss_rsvd4; /* reserved, ignored */ 18249 uint16_t tss_cs; 18250 uint16_t tss_rsvd5; /* reserved, ignored */ 18251 uint16_t tss_ss; 18252 uint16_t tss_rsvd6; /* reserved, ignored */ 18253 uint16_t tss_ds; 18254 uint16_t tss_rsvd7; /* reserved, ignored */ 18255 uint16_t tss_fs; 18256 uint16_t tss_rsvd8; /* reserved, ignored */ 18257 uint16_t tss_gs; 18258 uint16_t tss_rsvd9; /* reserved, ignored */ 18259 uint16_t tss_ldt; 18260 uint16_t tss_rsvd10; /* reserved, ignored */ 18261 uint16_t tss_rsvd11; /* reserved, ignored */ 18262 uint16_t tss_bitmapbase; /* io permission bitmap base address */ 18263 }; 18264 18265 struct tss16 { 18266 uint16_t tss_link; 18267 uint16_t tss_sp0; 18268 uint16_t tss_ss0; 18269 uint16_t tss_sp1; 18270 uint16_t tss_ss1; 18271 uint16_t tss_sp2; 18272 uint16_t tss_ss2; 18273 uint16_t tss_ip; 18274 uint16_t tss_flag; 18275 uint16_t tss_ax; 18276 uint16_t tss_cx; 18277 uint16_t tss_dx; 18278 uint16_t tss_bx; 18279 uint16_t tss_sp; 18280 uint16_t tss_bp; 18281 uint16_t tss_si; 18282 uint16_t tss_di; 18283 uint16_t tss_es; 18284 uint16_t tss_cs; 18285 uint16_t tss_ss; 18286 uint16_t tss_ds; 18287 uint16_t tss_ldt; 18288 }; 18289 18290 18291 18292 18293 18294 18295 18296 typedef struct tss32 tss_t; 18297 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 2 18298 18299 /* 18300 * Selector register format 18301 * CS, DS, ES, FS, GS, SS 18302 * 18303 * 15 3 2 1 0 18304 * +---------------------+---+----+ 18305 * | SI |TI |RPL | 18306 * +---------------------+---+----+ 18307 * 18308 * SI = selector index 18309 * TI = table indicator (0 = GDT, 1 = LDT) 18310 * RPL = requestor privilege level 18311 */ 18312 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18313 /* 18314 * SEL_(KPL,UPL,XPL) is the RPL or DPL value for code and data selectors 18315 * and their descriptors respectively. 18316 * 18317 * TRP_(KPL,UPL,XPL) is used to indicate the DPL for system gates only. 18318 * 18319 * This distinction is important to support para-virt guests on the 18320 * 64-bit hypervisor. Both guest kernel and user run in ring 3 and the 18321 * hypervisor runs in ring 0. When the kernel creates its trap and 18322 * interrupt gates it needs a way to prevent any arbitrary int $n 18323 * instruction from entering a gate that is not expected. The hypervisor 18324 * allows these gates to have a DPL from 1 to 3. By creating gates 18325 * with a DPL below user (ring 3) the int $n will generate a #gp fault 18326 * which the hypervisor catches and forwards to the guest. 18327 */ 18328 # 134 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18329 typedef uint16_t selector_t; /* selector reigster */ 18330 18331 /* 18332 * Hardware descriptor table register format for GDT and IDT. 18333 */ 18334 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18335 18336 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18337 #pragma pack(2) 18338 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18339 18340 typedef struct { 18341 uint16_t dtr_limit; /* table limit */ 18342 uint32_t dtr_base; /* table base address */ 18343 } desctbr_t; 18344 18345 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18346 #pragma pack() 18347 # 155 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18348 18349 18350 18351 18352 /* 18353 * Functions for loading and storing descriptor table 18354 * registers. 18355 */ 18356 extern void rd_idtr(desctbr_t *); 18357 extern void wr_idtr(desctbr_t *); 18358 extern void rd_gdtr(desctbr_t *); 18359 extern void wr_gdtr(desctbr_t *); 18360 extern void wr_ldtr(selector_t); 18361 extern selector_t rd_ldtr(void); 18362 extern void wr_tsr(selector_t); 18363 extern void kmdb_enter(void); 18364 # 188 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18365 extern void load_segment_registers(selector_t, selector_t, selector_t, 18366 selector_t, selector_t, selector_t); /* (alphabetical) */ 18367 18368 18369 selector_t get_cs_register(); 18370 18371 18372 18373 /* 18374 * User segment descriptors (code and data). 18375 * Legacy mode 64-bits wide. 18376 */ 18377 typedef struct user_desc { 18378 uint32_t usd_lolimit:16; /* segment limit 15:0 */ 18379 uint32_t usd_lobase:16; /* segment base 15:0 */ 18380 uint32_t usd_midbase:8; /* segment base 23:16 */ 18381 uint32_t usd_type:5; /* segment type, includes S bit */ 18382 uint32_t usd_dpl:2; /* segment descriptor priority level */ 18383 uint32_t usd_p:1; /* segment descriptor present */ 18384 uint32_t usd_hilimit:4; /* segment limit 19:16 */ 18385 uint32_t usd_avl:1; /* available to sw, but not used */ 18386 uint32_t usd_reserved:1; /* unused, ignored */ 18387 uint32_t usd_def32:1; /* default 32 vs 16 bit operand */ 18388 uint32_t usd_gran:1; /* limit units (bytes vs pages) */ 18389 uint32_t usd_hibase:8; /* segment base 31:24 */ 18390 } user_desc_t; 18391 # 283 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18392 /* 18393 * System segment descriptors for LDT and TSS segments. 18394 * Legacy mode 64-bits wide. 18395 */ 18396 typedef struct system_desc { 18397 uint32_t ssd_lolimit:16; /* segment limit 15:0 */ 18398 uint32_t ssd_lobase:16; /* segment base 15:0 */ 18399 uint32_t ssd_midbase:8; /* segment base 23:16 */ 18400 uint32_t ssd_type:4; /* segment type */ 18401 uint32_t ssd_zero:1; /* must be zero */ 18402 uint32_t ssd_dpl:2; /* segment descriptor priority level */ 18403 uint32_t ssd_p:1; /* segment descriptor present */ 18404 uint32_t ssd_hilimit:4; /* segment limit 19:16 */ 18405 uint32_t ssd_avl:1; /* available to sw, but not used */ 18406 uint32_t ssd_reserved:2; /* unused, ignored */ 18407 uint32_t ssd_gran:1; /* limit unit (bytes vs pages) */ 18408 uint32_t ssd_hibase:8; /* segment base 31:24 */ 18409 } system_desc_t; 18410 # 340 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18411 /* 18412 * System gate segment descriptors for interrupt, trap, call and task gates. 18413 * Legacy mode 64-bits wide. 18414 */ 18415 typedef struct gate_desc { 18416 uint32_t sgd_looffset:16; /* segment code offset 15:0 */ 18417 uint32_t sgd_selector:16; /* target code or task selector */ 18418 uint32_t sgd_stkcpy:5; /* number of stack wds to cpy */ 18419 uint32_t sgd_resv:3; /* unused, ignored */ 18420 uint32_t sgd_type:5; /* segment type, includes S bit */ 18421 uint32_t sgd_dpl:2; /* segment descriptor priority level */ 18422 uint32_t sgd_p:1; /* segment descriptor present */ 18423 uint32_t sgd_hioffset:16; /* code seg off 31:16 */ 18424 } gate_desc_t; 18425 # 389 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18426 /* 18427 * functions for initializing and updating segment descriptors. 18428 */ 18429 18430 18431 18432 18433 18434 18435 18436 extern void set_usegd(user_desc_t *, void *, size_t, uint_t, uint_t, 18437 uint_t, uint_t); 18438 18439 18440 18441 extern void set_gatesegd(gate_desc_t *, void (*)(void), selector_t, 18442 uint_t, uint_t, uint_t); 18443 18444 extern void set_syssegd(system_desc_t *, void *, size_t, uint_t, uint_t); 18445 18446 extern void *get_ssd_base(system_desc_t *); 18447 18448 extern void gdt_update_usegd(uint_t, user_desc_t *); 18449 18450 extern int ldt_update_segd(user_desc_t *, user_desc_t *); 18451 # 422 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18452 void init_boot_gdt(user_desc_t *); 18453 18454 18455 18456 /* 18457 * Common segment parameter defintions for granularity, default 18458 * operand size and operaton mode. 18459 */ 18460 18461 18462 18463 18464 18465 /* 18466 * System segments and gate types. 18467 * 18468 * In long mode i386 32-bit ldt, tss, call, interrupt and trap gate 18469 * types are redefined into 64-bit equivalents. 18470 */ 18471 # 458 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18472 /* 18473 * Memory segment types. 18474 * 18475 * While in long mode expand-down, writable and accessed type field 18476 * attributes are ignored. Only the conforming bit is loaded by hardware 18477 * for long mode code segment descriptors. 18478 */ 18479 # 482 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18480 /* 18481 * Entries in the Interrupt Descriptor Table (IDT) 18482 */ 18483 # 506 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18484 /* 18485 * Entries in the Global Descriptor Table (GDT) 18486 * 18487 * We make sure to space the system descriptors (LDT's, TSS') 18488 * such that they are double gdt slot aligned. This is because 18489 * in long mode system segment decriptors expand to 128 bits. 18490 * 18491 * GDT_LWPFS and GDT_LWPGS must be the same for both 32 and 64-bit 18492 * kernels. See setup_context in libc. 64-bit processes must set 18493 * %fs or %gs to null selector to use 64-bit fsbase or gsbase 18494 * respectively. 18495 */ 18496 # 573 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18497 /* 18498 * Convenient selector definitions. 18499 */ 18500 18501 /* 18502 * XXPV 64 bit Xen only allows the guest %cs/%ss be the private ones it 18503 * provides, not the ones we create for ourselves. See FLAT_RING3_CS64 in 18504 * public/arch-x86_64.h 18505 * 18506 * 64-bit Xen runs paravirtual guests in ring 3 but emulates them running in 18507 * ring 0 by clearing CPL in %cs value pushed on guest exception stacks. 18508 * Therefore we will have KCS_SEL value indicate ring 0 and use that everywhere 18509 * in the kernel. But in the few files where we initialize segment registers or 18510 * create and update descriptors we will explicity OR in SEL_KPL (ring 3) for 18511 * kernel %cs. See desctbls.c for an example. 18512 */ 18513 # 621 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18514 /* 18515 * Temporary %gs descriptor used by kmdb with -d option. Only lives 18516 * in boot's GDT and is not copied into kernel's GDT from boot. 18517 */ 18518 18519 18520 /* 18521 * Selector used for kdi_idt when kmdb has taken over the IDT. 18522 */ 18523 18524 18525 18526 18527 18528 18529 /* 18530 * Entries in default Local Descriptor Table (LDT) for every process. 18531 */ 18532 # 651 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18533 extern gate_desc_t *idt0; 18534 extern desctbr_t idt0_default_reg; 18535 extern user_desc_t *gdt0; 18536 18537 extern user_desc_t zero_udesc; 18538 extern user_desc_t null_udesc; 18539 extern system_desc_t null_sdesc; 18540 # 669 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/segments.h" 18541 extern tss_t *ktss0; 18542 18543 18544 extern tss_t *dftss0; 18545 18546 18547 extern void div0trap(), dbgtrap(), nmiint(), brktrap(), ovflotrap(); 18548 extern void boundstrap(), invoptrap(), ndptrap(); 18549 18550 extern void syserrtrap(); 18551 18552 extern void invaltrap(), invtsstrap(), segnptrap(), stktrap(); 18553 extern void gptrap(), pftrap(), ndperr(); 18554 extern void overrun(), resvtrap(); 18555 extern void _start(), cmnint(); 18556 extern void achktrap(), mcetrap(); 18557 extern void xmtrap(); 18558 extern void fasttrap(); 18559 extern void dtrace_ret(); 18560 18561 18562 extern void pentium_pftrap(); 18563 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 18564 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 1 18565 /* 18566 * CDDL HEADER START 18567 * 18568 * The contents of this file are subject to the terms of the 18569 * Common Development and Distribution License (the "License"). 18570 * You may not use this file except in compliance with the License. 18571 * 18572 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18573 * or http://www.opensolaris.org/os/licensing. 18574 * See the License for the specific language governing permissions 18575 * and limitations under the License. 18576 * 18577 * When distributing Covered Code, include this CDDL HEADER in each 18578 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18579 * If applicable, add the following below this CDDL HEADER, with the 18580 * fields enclosed by brackets "[]" replaced with your own identifying 18581 * information: Portions Copyright [yyyy] [name of copyright owner] 18582 * 18583 * CDDL HEADER END 18584 */ 18585 /* 18586 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 18587 * Use is subject to license terms. 18588 */ 18589 18590 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 18591 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 18592 /* All Rights Reserved */ 18593 18594 18595 18596 18597 #pragma ident "%Z%%M% %I% %E% SMI" 18598 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 18599 /* 18600 * Commands for sysi86 system call (1-?) 18601 */ 18602 18603 18604 18605 18606 18607 /* booted */ 18608 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 18609 /* 71 through 74 reserved for VPIX */ 18610 18611 18612 18613 18614 /* NFA entry point */ 18615 18616 18617 18618 18619 18620 18621 /* XENIX Support */ 18622 18623 18624 18625 /* badvise subfunction definitions */ 18626 18627 /* data context switching */ 18628 18629 18630 18631 /* 18632 * NOTE: Numbers 106 - 110 have been registered and are reserved 18633 * for future use for AT&T hardware. 18634 */ 18635 18636 /* 18637 * Commands for allowing the real time clock to keep local time. 18638 */ 18639 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 18640 /* 18641 * The SI86DSCR subcommand of the sysi86() system call 18642 * sets a segment or gate descriptor in the kernel. 18643 * The following descriptor types are accepted: 18644 * - executable and data segments in the LDT at DPL 3 18645 * - a call gate in the GDT at DPL 3 that points to a segment in the LDT 18646 * The request structure declared below is used to pass the values 18647 * to be placed in the descriptor. A pointer to the structure is 18648 * passed as the second argument of the system call. 18649 * If acc1 is zero, the descriptor is cleared. 18650 */ 18651 18652 /* 18653 * XX64 Do we need to support this for 64-bit apps? 18654 * 18655 * request structure passed by user 18656 */ 18657 struct ssd { 18658 unsigned int sel; /* descriptor selector */ 18659 unsigned int bo; /* segment base or gate offset */ 18660 unsigned int ls; /* segment limit or gate selector */ 18661 unsigned int acc1; /* access byte 5 */ 18662 unsigned int acc2; /* access bits in byte 6 or gate count */ 18663 }; 18664 # 149 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 18665 /* 18666 * The SI86SHFIL subcommand of the sysi86() system call 18667 * maps a file into a region in user address space. 18668 * The request structure declared below is used to pass the 18669 * system call parameters. A pointer to the structure is 18670 * passed as the second argument of the system call. 18671 */ 18672 struct mmf { 18673 char *mf_filename; /* path name of file */ 18674 long mf_filesz; /* Size in bytes of section of file */ 18675 /* from which this region is mapped. */ 18676 long mf_regsz; /* Size of region in bytes */ 18677 short mf_flags; /* Either 0 or RG_NOSHARE */ 18678 }; 18679 18680 /* 18681 * The SI86PCHRGN subcommand of the sysi86() system call 18682 * change the memory mapped image of a file. 18683 * The request structure declared below is used to pass the values 18684 * system call parameters. A pointer to the structure is 18685 * passed as the second argument of the system call. 18686 */ 18687 struct cmf { 18688 char *cf_srcva; /* modified image address */ 18689 char *cf_dstva; /* location to patch */ 18690 long cf_count; /* size of patch */ 18691 }; 18692 18693 /* 18694 * The SI86BADVISE subcommand of the sysi86() system call specifies 18695 * XENIX variant behavior for certain system calls and kernel routines. 18696 * The 'arg' argument of sysi86() for SI86BADVISE is an integer. Bits 18697 * 8..15 specify SI86B_SET or SI86B_GET. Bits 0..7 contain 18698 * SI86B_PRE_SV, SI86B_XOUT, or SI86B_XSDSWTCH. All these constants are 18699 * defined below. The 'arg' argument thus consists of either SI86B_SET 18700 * OR'ed with zero or more of SI86B_PRE_SV, SI86B_XOUT, and SI86B_XSDSWTCH, 18701 * or of SI86B_GET. 18702 */ 18703 18704 18705 18706 18707 18708 18709 /* context switching enabled */ 18710 18711 /* 18712 * The request structure declared below is used by the XENIX 286 emulator 18713 * (/bin/x286emul) in conjunction with the SI86SHRGN subcommand of sysi86(). 18714 * The SI86SHRGN subcommand is used by the XENIX 286 emulator to support 18715 * XENIX shared data. The second argument passed to sysi86() is a 18716 * pointer to an xsdbuf struct. 18717 * 18718 * If the 'xsd_cmd' field of xsdbuf is SI86SHR_CP, the XENIX 286 emulator is 18719 * using the SI86SHRGN subcommand to set up XENIX small model shared data 18720 * context switching support for a given XENIX shared data segment. In this 18721 * case, the xsdbuf struct contains the start addr for the shared data in 18722 * 386 space, followed by the start addr for the shared data in the 286 18723 * executable's private data. 18724 * 18725 * If the 'xsd_cmd' field is SI86SHR_SZ, the XENIX 286 emulator is using the 18726 * SI86SHRGN subcommand to retrieve the size of an existing XENIX shared 18727 * data segment. In this case, the xsdbuf struct contains the start addr 18728 * for the shared data in 386 space. 18729 * The size of the shared data segment starting at 'xsd_386vaddr' will 18730 * be returned in the 'xsd_size' field by sysi86(). 18731 */ 18732 18733 18734 18735 18736 struct xsdbuf { 18737 unsigned xsd_cmd; /* SI86SHRGN subcommand, either SI86SHR_CP */ 18738 /* or SI86SHR_SZ. */ 18739 char *xsd_386vaddr; /* Addr of "real" XENIX shared data seg in */ 18740 /* the emulator. */ 18741 union { 18742 char *xsd_286vaddr; /* Addr of XENIX shared data seg */ 18743 /* in the 286 data portion of the */ 18744 /* emulator. */ 18745 unsigned long xsd_size; /* Size of XENIX shared data seg */ 18746 } xsd_un; 18747 }; 18748 /* End XENIX Support */ 18749 18750 /* 18751 * Cascade defines 18752 */ 18753 18754 18755 18756 18757 18758 18759 /* Enterprise IDNO defines */ 18760 18761 18762 18763 18764 extern int sysi86(int, ...); 18765 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 2 18766 18767 18768 18769 typedef unsigned long psaddr_t; 18770 18771 typedef enum { 18772 PS_OK, /* generic "call succeeded" */ 18773 PS_ERR, /* generic error */ 18774 PS_BADPID, /* bad process handle */ 18775 PS_BADLID, /* bad lwp identifier */ 18776 PS_BADADDR, /* bad address */ 18777 PS_NOSYM, /* p_lookup() could not find given symbol */ 18778 PS_NOFREGS /* FPU register set not available for given lwp */ 18779 } ps_err_e; 18780 18781 struct ps_prochandle; 18782 18783 /* 18784 * See <sys/procfs_isa.h> for possible values of data_model. 18785 */ 18786 extern ps_err_e ps_pdmodel(struct ps_prochandle *, int *data_model); 18787 18788 /* 18789 * Special values for 'object_name' to refer to certain well-known objects. 18790 */ 18791 18792 18793 18794 extern ps_err_e ps_pglobal_lookup(struct ps_prochandle *, 18795 const char *object_name, const char *sym_name, psaddr_t *sym_addr); 18796 18797 18798 18799 18800 typedef Elf32_Sym ps_sym_t; 18801 18802 extern ps_err_e ps_pglobal_sym(struct ps_prochandle *, 18803 const char *object_name, const char *sym_name, ps_sym_t *sym); 18804 18805 /* 18806 * To read and write the process's address space. 18807 */ 18808 extern ps_err_e ps_pread(struct ps_prochandle *, 18809 psaddr_t, void *, size_t); 18810 extern ps_err_e ps_pwrite(struct ps_prochandle *, 18811 psaddr_t, const void *, size_t); 18812 /* 18813 * The following four functions can be implemented as simple aliases for 18814 * the corresponding primary two functions above (#pragma weak ...). 18815 * They are artifacts of history that must be maintained. 18816 */ 18817 extern ps_err_e ps_pdread(struct ps_prochandle *, 18818 psaddr_t, void *, size_t); 18819 extern ps_err_e ps_pdwrite(struct ps_prochandle *, 18820 psaddr_t, const void *, size_t); 18821 extern ps_err_e ps_ptread(struct ps_prochandle *, 18822 psaddr_t, void *, size_t); 18823 extern ps_err_e ps_ptwrite(struct ps_prochandle *, 18824 psaddr_t, const void *, size_t); 18825 18826 extern ps_err_e ps_pstop(struct ps_prochandle *); 18827 extern ps_err_e ps_pcontinue(struct ps_prochandle *); 18828 extern ps_err_e ps_lstop(struct ps_prochandle *, lwpid_t); 18829 extern ps_err_e ps_lcontinue(struct ps_prochandle *, lwpid_t); 18830 18831 extern ps_err_e ps_lgetregs(struct ps_prochandle *, 18832 lwpid_t, gregset_t); 18833 extern ps_err_e ps_lsetregs(struct ps_prochandle *, 18834 lwpid_t, const gregset_t); 18835 extern ps_err_e ps_lgetfpregs(struct ps_prochandle *, 18836 lwpid_t, fpregset_t *); 18837 extern ps_err_e ps_lsetfpregs(struct ps_prochandle *, 18838 lwpid_t, const fpregset_t *); 18839 # 130 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 18840 extern ps_err_e ps_lgetLDT(struct ps_prochandle *, lwpid_t, struct ssd *); 18841 18842 18843 extern ps_err_e ps_pauxv(struct ps_prochandle *, const auxv_t **); 18844 extern ps_err_e ps_pbrandname(struct ps_prochandle *, char *, size_t); 18845 18846 extern ps_err_e ps_kill(struct ps_prochandle *, int sig); 18847 extern ps_err_e ps_lrolltoaddr(struct ps_prochandle *, 18848 lwpid_t, psaddr_t go_addr, psaddr_t stop_addr); 18849 18850 extern void ps_plog(const char *fmt, ...); 18851 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 18852 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.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 2014 Garrett D'Amore <garrett@damore.org> 18875 * 18876 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18877 * Use is subject to license terms. 18878 */ 18879 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 18880 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 18881 /* 18882 * CDDL HEADER START 18883 * 18884 * The contents of this file are subject to the terms of the 18885 * Common Development and Distribution License (the "License"). 18886 * You may not use this file except in compliance 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 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18902 /* All Rights Reserved */ 18903 18904 18905 /* 18906 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 18907 * Use is subject to license terms. 18908 * 18909 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 18910 * Copyright 2016 Joyent, Inc. 18911 */ 18912 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 18913 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/lwp.h" 1 18914 /* 18915 * CDDL HEADER START 18916 * 18917 * The contents of this file are subject to the terms of the 18918 * Common Development and Distribution License (the "License"). 18919 * You may not use this file except in compliance with the License. 18920 * 18921 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18922 * or http://www.opensolaris.org/os/licensing. 18923 * See the License for the specific language governing permissions 18924 * and limitations under the License. 18925 * 18926 * When distributing Covered Code, include this CDDL HEADER in each 18927 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18928 * If applicable, add the following below this CDDL HEADER, with the 18929 * fields enclosed by brackets "[]" replaced with your own identifying 18930 * information: Portions Copyright [yyyy] [name of copyright owner] 18931 * 18932 * CDDL HEADER END 18933 */ 18934 18935 /* 18936 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 18937 * Use is subject to license terms. 18938 */ 18939 /* 18940 * Copyright (c) 2013 by Delphix. All rights reserved. 18941 */ 18942 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 18943 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 18944 /* 18945 * CDDL HEADER START 18946 * 18947 * The contents of this file are subject to the terms of the 18948 * Common Development and Distribution License (the "License"). 18949 * You may not use this file except in compliance with the License. 18950 * 18951 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18952 * or http://www.opensolaris.org/os/licensing. 18953 * See the License for the specific language governing permissions 18954 * and limitations under the License. 18955 * 18956 * When distributing Covered Code, include this CDDL HEADER in each 18957 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18958 * If applicable, add the following below this CDDL HEADER, with the 18959 * fields enclosed by brackets "[]" replaced with your own identifying 18960 * information: Portions Copyright [yyyy] [name of copyright owner] 18961 * 18962 * CDDL HEADER END 18963 */ 18964 /* 18965 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 18966 * Copyright (c) 2018, Joyent, Inc. 18967 */ 18968 /* 18969 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 18970 * Use is subject to license terms. 18971 */ 18972 18973 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 18974 /* All Rights Reserved */ 18975 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 18976 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/link.h" 1 18977 /* 18978 * CDDL HEADER START 18979 * 18980 * The contents of this file are subject to the terms of the 18981 * Common Development and Distribution License (the "License"). 18982 * You may not use this file except in compliance with the License. 18983 * 18984 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 18985 * or http://www.opensolaris.org/os/licensing. 18986 * See the License for the specific language governing permissions 18987 * and limitations under the License. 18988 * 18989 * When distributing Covered Code, include this CDDL HEADER in each 18990 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18991 * If applicable, add the following below this CDDL HEADER, with the 18992 * fields enclosed by brackets "[]" replaced with your own identifying 18993 * information: Portions Copyright [yyyy] [name of copyright owner] 18994 * 18995 * CDDL HEADER END 18996 */ 18997 /* 18998 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 18999 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19000 */ 19001 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 19002 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/proc_service.h" 1 19003 /* 19004 * CDDL HEADER START 19005 * 19006 * The contents of this file are subject to the terms of the 19007 * Common Development and Distribution License (the "License"). 19008 * You may not use this file except in compliance with the License. 19009 * 19010 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19011 * or http://www.opensolaris.org/os/licensing. 19012 * See the License for the specific language governing permissions 19013 * and limitations under the License. 19014 * 19015 * When distributing Covered Code, include this CDDL HEADER in each 19016 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19017 * If applicable, add the following below this CDDL HEADER, with the 19018 * fields enclosed by brackets "[]" replaced with your own identifying 19019 * information: Portions Copyright [yyyy] [name of copyright owner] 19020 * 19021 * CDDL HEADER END 19022 */ 19023 /* 19024 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19025 * Use is subject to license terms. 19026 */ 19027 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rtld_db.h" 2 19028 19029 19030 /* 19031 * librtld_db interface versions 19032 */ 19033 19034 19035 19036 19037 19038 19039 typedef enum { 19040 RD_ERR, /* generic */ 19041 RD_OK, /* generic "call" succeeded */ 19042 RD_NOCAPAB, /* capability not available */ 19043 RD_DBERR, /* import service failed */ 19044 RD_NOBASE, /* 5.x: aux tag AT_BASE not found */ 19045 RD_NODYNAM, /* symbol 'DYNAMIC' not found */ 19046 RD_NOMAPS /* link-maps are not yet available */ 19047 } rd_err_e; 19048 19049 19050 /* 19051 * ways that the event notification can take place: 19052 */ 19053 typedef enum { 19054 RD_NOTIFY_BPT, /* set break-point at address */ 19055 RD_NOTIFY_AUTOBPT, /* 4.x compat. not used in 5.x */ 19056 RD_NOTIFY_SYSCALL /* watch for syscall */ 19057 } rd_notify_e; 19058 19059 /* 19060 * information on ways that the event notification can take place: 19061 */ 19062 typedef struct rd_notify { 19063 rd_notify_e type; 19064 union { 19065 psaddr_t bptaddr; /* break point address */ 19066 long syscallno; /* system call id */ 19067 } u; 19068 } rd_notify_t; 19069 19070 /* 19071 * information about event instance: 19072 */ 19073 typedef enum { 19074 RD_NOSTATE = 0, /* no state information */ 19075 RD_CONSISTENT, /* link-maps are stable */ 19076 RD_ADD, /* currently adding object to link-maps */ 19077 RD_DELETE /* currently deleteing object from link-maps */ 19078 } rd_state_e; 19079 19080 typedef struct rd_event_msg { 19081 rd_event_e type; 19082 union { 19083 rd_state_e state; /* for DLACTIVITY */ 19084 } u; 19085 } rd_event_msg_t; 19086 19087 19088 /* 19089 * iteration over load objects 19090 */ 19091 typedef struct rd_loadobj { 19092 psaddr_t rl_nameaddr; /* address of the name in user space */ 19093 unsigned rl_flags; 19094 psaddr_t rl_base; /* base of address of code */ 19095 psaddr_t rl_data_base; /* base of address of data */ 19096 Lmid_t rl_lmident; /* ident of link map */ 19097 psaddr_t rl_refnameaddr; /* reference name of filter in user */ 19098 /* space. If non null object is a */ 19099 /* filter. */ 19100 psaddr_t rl_plt_base; /* These fields are present for 4.x */ 19101 unsigned rl_plt_size; /* compatibility and are not */ 19102 /* currently used in SunOS5.x */ 19103 psaddr_t rl_bend; /* end of image (text+data+bss) */ 19104 psaddr_t rl_padstart; /* start of padding */ 19105 psaddr_t rl_padend; /* end of image after padding */ 19106 psaddr_t rl_dynamic; /* points to the DYNAMIC section */ 19107 /* in the target process */ 19108 unsigned long rl_tlsmodid; /* module ID for TLS references */ 19109 } rd_loadobj_t; 19110 19111 /* 19112 * Values for rl_flags 19113 */ 19114 19115 /* originating from a relocatable */ 19116 /* module which was dynamically */ 19117 /* loaded */ 19118 19119 /* 19120 * Commands for rd_ctl() 19121 */ 19122 19123 19124 typedef struct rd_agent rd_agent_t; 19125 typedef int rl_iter_f(const rd_loadobj_t *, void *); 19126 19127 19128 /* 19129 * PLT skipping 19130 */ 19131 typedef enum { 19132 RD_RESOLVE_NONE, /* don't do anything special */ 19133 RD_RESOLVE_STEP, /* step 'pi_nstep' instructions */ 19134 RD_RESOLVE_TARGET, /* resolved target is in 'pi_target' */ 19135 RD_RESOLVE_TARGET_STEP /* put a bpt on target, then step nstep times */ 19136 } rd_skip_e; 19137 19138 19139 typedef struct rd_plt_info { 19140 rd_skip_e pi_skip_method; 19141 long pi_nstep; 19142 psaddr_t pi_target; 19143 psaddr_t pi_baddr; 19144 unsigned int pi_flags; 19145 } rd_plt_info_t; 19146 19147 19148 /* 19149 * Values for pi_flags 19150 */ 19151 19152 /* has been bound - and that */ 19153 /* pi_baddr will contain its */ 19154 /* destination address */ 19155 19156 struct ps_prochandle; 19157 19158 /* 19159 * librtld_db.so entry points 19160 */ 19161 extern void rd_delete(rd_agent_t *); 19162 extern char *rd_errstr(rd_err_e rderr); 19163 extern rd_err_e rd_event_addr(rd_agent_t *, rd_event_e, rd_notify_t *); 19164 extern rd_err_e rd_event_enable(rd_agent_t *, int); 19165 extern rd_err_e rd_event_getmsg(rd_agent_t *, rd_event_msg_t *); 19166 extern rd_err_e rd_init(int); 19167 extern rd_err_e rd_ctl(int, void *); 19168 extern rd_err_e rd_loadobj_iter(rd_agent_t *, rl_iter_f *, 19169 void *); 19170 extern void rd_log(const int); 19171 extern rd_agent_t *rd_new(struct ps_prochandle *); 19172 extern rd_err_e rd_objpad_enable(struct rd_agent *, size_t); 19173 extern rd_err_e rd_plt_resolution(rd_agent_t *, psaddr_t, lwpid_t, 19174 psaddr_t, rd_plt_info_t *); 19175 extern rd_err_e rd_get_dyns(rd_agent_t *, psaddr_t, void **, size_t *); 19176 extern rd_err_e rd_reset(struct rd_agent *); 19177 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 19178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/procfs.h" 1 19179 /* 19180 * CDDL HEADER START 19181 * 19182 * The contents of this file are subject to the terms of the 19183 * Common Development and Distribution License, Version 1.0 only 19184 * (the "License"). You may not use this file except in compliance 19185 * with the License. 19186 * 19187 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19188 * or http://www.opensolaris.org/os/licensing. 19189 * See the License for the specific language governing permissions 19190 * and limitations under the License. 19191 * 19192 * When distributing Covered Code, include this CDDL HEADER in each 19193 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19194 * If applicable, add the following below this CDDL HEADER, with the 19195 * fields enclosed by brackets "[]" replaced with your own identifying 19196 * information: Portions Copyright [yyyy] [name of copyright owner] 19197 * 19198 * CDDL HEADER END 19199 */ 19200 /* 19201 * Copyright (c) 1996, by Sun Microsystems, Inc. 19202 * All rights reserved. 19203 */ 19204 19205 19206 19207 19208 #pragma ident "%Z%%M% %I% %E% SMI" 19209 19210 19211 19212 19213 19214 /* 19215 * This include file forces the new structured /proc definitions. 19216 * The structured /proc interface is the preferred API, and the 19217 * older ioctl()-based /proc interface will be removed in a future 19218 * version of Solaris. 19219 */ 19220 19221 19222 19223 19224 19225 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 1 19226 /* 19227 * CDDL HEADER START 19228 * 19229 * The contents of this file are subject to the terms of the 19230 * Common Development and Distribution License (the "License"). 19231 * You may not use this file except in compliance with the License. 19232 * 19233 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19234 * or http://www.opensolaris.org/os/licensing. 19235 * See the License for the specific language governing permissions 19236 * and limitations under the License. 19237 * 19238 * When distributing Covered Code, include this CDDL HEADER in each 19239 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19240 * If applicable, add the following below this CDDL HEADER, with the 19241 * fields enclosed by brackets "[]" replaced with your own identifying 19242 * information: Portions Copyright [yyyy] [name of copyright owner] 19243 * 19244 * CDDL HEADER END 19245 */ 19246 19247 /* 19248 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19249 * Use is subject to license terms. 19250 */ 19251 /* 19252 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 19253 */ 19254 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 19255 /* 19256 * This definition is temporary. Structured proc is the preferred API, 19257 * and the older ioctl-based interface will be removed in a future version 19258 * of Solaris. Until then, by default, including <sys/procfs.h> will 19259 * provide the older ioctl-based /proc definitions. To get the structured 19260 * /proc definitions, either include <procfs.h> or define _STRUCTURED_PROC 19261 * to be 1 before including <sys/procfs.h>. 19262 */ 19263 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 19264 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 19265 /* 19266 * CDDL HEADER START 19267 * 19268 * The contents of this file are subject to the terms of the 19269 * Common Development and Distribution License (the "License"). 19270 * You may not use this file except in compliance with the License. 19271 * 19272 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19273 * or http://www.opensolaris.org/os/licensing. 19274 * See the License for the specific language governing permissions 19275 * and limitations under the License. 19276 * 19277 * When distributing Covered Code, include this CDDL HEADER in each 19278 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19279 * If applicable, add the following below this CDDL HEADER, with the 19280 * fields enclosed by brackets "[]" replaced with your own identifying 19281 * information: Portions Copyright [yyyy] [name of copyright owner] 19282 * 19283 * CDDL HEADER END 19284 */ 19285 19286 /* 19287 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 19288 * Copyright 2016 Joyent, Inc. 19289 * 19290 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 19291 * Use is subject to license terms. 19292 */ 19293 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19294 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19295 /* 19296 * CDDL HEADER START 19297 * 19298 * The contents of this file are subject to the terms of the 19299 * Common Development and Distribution License (the "License"). 19300 * You may not use this file except in compliance with the License. 19301 * 19302 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19303 * or http://www.opensolaris.org/os/licensing. 19304 * See the License for the specific language governing permissions 19305 * and limitations under the License. 19306 * 19307 * When distributing Covered Code, include this CDDL HEADER in each 19308 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19309 * If applicable, add the following below this CDDL HEADER, with the 19310 * fields enclosed by brackets "[]" replaced with your own identifying 19311 * information: Portions Copyright [yyyy] [name of copyright owner] 19312 * 19313 * CDDL HEADER END 19314 */ 19315 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19316 /* All Rights Reserved */ 19317 19318 19319 /* 19320 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19321 * Use is subject to license terms. 19322 * 19323 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19324 * Copyright 2016 Joyent, Inc. 19325 */ 19326 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19327 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 19328 /* 19329 * CDDL HEADER START 19330 * 19331 * The contents of this file are subject to the terms of the 19332 * Common Development and Distribution License, Version 1.0 only 19333 * (the "License"). You may not use this file except in compliance 19334 * with the License. 19335 * 19336 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19337 * or http://www.opensolaris.org/os/licensing. 19338 * See the License for the specific language governing permissions 19339 * and limitations under the License. 19340 * 19341 * When distributing Covered Code, include this CDDL HEADER in each 19342 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19343 * If applicable, add the following below this CDDL HEADER, with the 19344 * fields enclosed by brackets "[]" replaced with your own identifying 19345 * information: Portions Copyright [yyyy] [name of copyright owner] 19346 * 19347 * CDDL HEADER END 19348 */ 19349 /* 19350 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 19351 * Use is subject to license terms. 19352 */ 19353 19354 /* 19355 * Implementation-private. This header should not be included 19356 * directly by an application. The application should instead 19357 * include <time.h> which includes this header conditionally 19358 * depending on which feature test macros are defined. By default, 19359 * this header is included by <time.h>. X/Open and POSIX 19360 * standards requirements result in this header being included 19361 * by <time.h> only under a restricted set of conditions. 19362 */ 19363 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19364 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/signal.h" 1 19365 /* 19366 * CDDL HEADER START 19367 * 19368 * The contents of this file are subject to the terms of the 19369 * Common Development and Distribution License (the "License"). 19370 * You may not use this file except in compliance with the License. 19371 * 19372 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19373 * or http://www.opensolaris.org/os/licensing. 19374 * See the License for the specific language governing permissions 19375 * and limitations under the License. 19376 * 19377 * When distributing Covered Code, include this CDDL HEADER in each 19378 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19379 * If applicable, add the following below this CDDL HEADER, with the 19380 * fields enclosed by brackets "[]" replaced with your own identifying 19381 * information: Portions Copyright [yyyy] [name of copyright owner] 19382 * 19383 * CDDL HEADER END 19384 */ 19385 19386 /* 19387 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 19388 * Use is subject to license terms. 19389 */ 19390 19391 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19392 /* All Rights Reserved */ 19393 19394 /* 19395 * University Copyright- Copyright (c) 1982, 1986, 1988 19396 * The Regents of the University of California 19397 * All Rights Reserved 19398 * 19399 * University Acknowledgment- Portions of this document are derived from 19400 * software developed by the University of California, Berkeley, and its 19401 * contributors. 19402 */ 19403 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19404 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/siginfo.h" 1 19405 /* 19406 * CDDL HEADER START 19407 * 19408 * The contents of this file are subject to the terms of the 19409 * Common Development and Distribution License, Version 1.0 only 19410 * (the "License"). You may not use this file except in compliance 19411 * with the License. 19412 * 19413 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19414 * or http://www.opensolaris.org/os/licensing. 19415 * See the License for the specific language governing permissions 19416 * and limitations under the License. 19417 * 19418 * When distributing Covered Code, include this CDDL HEADER in each 19419 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19420 * If applicable, add the following below this CDDL HEADER, with the 19421 * fields enclosed by brackets "[]" replaced with your own identifying 19422 * information: Portions Copyright [yyyy] [name of copyright owner] 19423 * 19424 * CDDL HEADER END 19425 */ 19426 /* 19427 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19428 * Use is subject to license terms. 19429 */ 19430 19431 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19432 /* All Rights Reserved */ 19433 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19434 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fault.h" 1 19435 /* 19436 * CDDL HEADER START 19437 * 19438 * The contents of this file are subject to the terms of the 19439 * Common Development and Distribution License, Version 1.0 only 19440 * (the "License"). You may not use this file except in compliance 19441 * with the License. 19442 * 19443 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19444 * or http://www.opensolaris.org/os/licensing. 19445 * See the License for the specific language governing permissions 19446 * and limitations under the License. 19447 * 19448 * When distributing Covered Code, include this CDDL HEADER in each 19449 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19450 * If applicable, add the following below this CDDL HEADER, with the 19451 * fields enclosed by brackets "[]" replaced with your own identifying 19452 * information: Portions Copyright [yyyy] [name of copyright owner] 19453 * 19454 * CDDL HEADER END 19455 */ 19456 /* 19457 * Copyright (c) 1999 by Sun Microsystems, Inc. 19458 * All rights reserved. 19459 */ 19460 19461 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19462 /* All Rights Reserved */ 19463 19464 19465 19466 19467 19468 #pragma ident "%Z%%M% %I% %E% SMI" 19469 19470 19471 19472 19473 19474 /* 19475 * Fault numbers, analagous to signals. These correspond to 19476 * hardware faults. Setting the appropriate flags in a process's 19477 * set of traced faults via /proc causes the process to stop each 19478 * time one of the designated faults occurs so that a debugger can 19479 * take action. See proc(4) for details. 19480 */ 19481 19482 /* fault enumeration must begin with 1 */ 19483 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/fault.h" 19484 typedef struct { /* fault set type */ 19485 unsigned int word[4]; 19486 } fltset_t; 19487 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19488 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 1 19489 /* 19490 * CDDL HEADER START 19491 * 19492 * The contents of this file are subject to the terms of the 19493 * Common Development and Distribution License (the "License"). 19494 * You may not use this file except in compliance with the License. 19495 * 19496 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19497 * or http://www.opensolaris.org/os/licensing. 19498 * See the License for the specific language governing permissions 19499 * and limitations under the License. 19500 * 19501 * When distributing Covered Code, include this CDDL HEADER in each 19502 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19503 * If applicable, add the following below this CDDL HEADER, with the 19504 * fields enclosed by brackets "[]" replaced with your own identifying 19505 * information: Portions Copyright [yyyy] [name of copyright owner] 19506 * 19507 * CDDL HEADER END 19508 */ 19509 19510 /* 19511 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19512 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 19513 * Copyright (c) 2013 by Delphix. All rights reserved. 19514 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 19515 */ 19516 19517 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19518 /* All Rights Reserved */ 19519 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19520 /* 19521 * system call numbers 19522 * syscall(SYS_xxxx, ...) 19523 */ 19524 19525 /* syscall enumeration MUST begin with 1 */ 19526 19527 /* 19528 * SunOS/SPARC uses 0 for the indirect system call SYS_syscall 19529 * but this doesn't count because it is just another way 19530 * to specify the real system call number. 19531 */ 19532 # 89 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19533 /* 19534 * subcodes: 19535 * getpgrp() :: syscall(39,0) 19536 * setpgrp() :: syscall(39,1) 19537 * getsid(pid) :: syscall(39,2,pid) 19538 * setsid() :: syscall(39,3) 19539 * getpgid(pid) :: syscall(39,4,pid) 19540 * setpgid(pid,pgid) :: syscall(39,5,pid,pgid) 19541 */ 19542 # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19543 /* 19544 * subcodes: 19545 * msgget(...) :: msgsys(0, ...) 19546 * msgctl(...) :: msgsys(1, ...) 19547 * msgrcv(...) :: msgsys(2, ...) 19548 * msgsnd(...) :: msgsys(3, ...) 19549 * msgids(...) :: msgsys(4, ...) 19550 * msgsnap(...) :: msgsys(5, ...) 19551 * see <sys/msg.h> 19552 */ 19553 19554 /* 19555 * subcodes: 19556 * sysi86(code, ...) 19557 */ 19558 19559 19560 /* 19561 * subcodes: 19562 * shmat (...) :: shmsys(0, ...) 19563 * shmctl(...) :: shmsys(1, ...) 19564 * shmdt (...) :: shmsys(2, ...) 19565 * shmget(...) :: shmsys(3, ...) 19566 * shmids(...) :: shmsys(4, ...) 19567 * see <sys/shm.h> 19568 */ 19569 19570 /* 19571 * subcodes: 19572 * semctl(...) :: semsys(0, ...) 19573 * semget(...) :: semsys(1, ...) 19574 * semop (...) :: semsys(2, ...) 19575 * semids(...) :: semsys(3, ...) 19576 * semtimedop(...) :: semsys(4, ...) 19577 * see <sys/sem.h> 19578 */ 19579 19580 19581 19582 19583 /* 19584 * subcodes (third argument): 19585 * uname(obuf) (obsolete) :: syscall(57, obuf, ign, 0) 19586 * subcode 1 unused 19587 * ustat(dev, obuf) :: syscall(57, obuf, dev, 2) 19588 * fusers(path, flags, obuf) :: syscall(57, path, flags, 3, obuf) 19589 * see <sys/utssys.h> 19590 */ 19591 # 168 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19592 /* 19593 * subcodes: 19594 * settaskid(...) :: tasksys(0, ...) 19595 * gettaskid(...) :: tasksys(1, ...) 19596 * getprojid(...) :: tasksys(2, ...) 19597 */ 19598 19599 19600 /* 19601 * subcodes: 19602 * getacct(...) :: exacct(0, ...) 19603 * putacct(...) :: exacct(1, ...) 19604 * wracct(...) :: exacct(2, ...) 19605 */ 19606 19607 /* 19608 * subcodes: 19609 * getpagesizes2(...) :: getpagesizes(0, ...) 19610 * getpagesizes(...) :: getpagesizes(1, ...) legacy 19611 */ 19612 19613 /* 19614 * subcodes: 19615 * getrctl(...) :: rctlsys(0, ...) 19616 * setrctl(...) :: rctlsys(1, ...) 19617 * rctllist(...) :: rctlsys(2, ...) 19618 * rctlctl(...) :: rctlsys(3, ...) 19619 */ 19620 19621 /* 19622 * subcodes: 19623 * allocids(...) :: sidsys(0, ...) 19624 * idmap_reg(...) :: sidsys(1, ...) 19625 * idmap_unreg(...) :: sidsys(2, ...) 19626 */ 19627 19628 /* 19629 * subcodes: 19630 * _lwp_park(timespec_t *, lwpid_t) :: syslwp_park(0, ...) 19631 * _lwp_unpark(lwpid_t, int) :: syslwp_park(1, ...) 19632 * _lwp_unpark_all(lwpid_t *, int) :: syslwp_park(2, ...) 19633 * _lwp_unpark_cancel(lwpid_t *, int) :: syslwp_park(3, ...) 19634 * _lwp_set_park(lwpid_t *, int) :: syslwp_park(4, ...) 19635 */ 19636 19637 /* 19638 * subcodes : 19639 * sendfilev() :: sendfilev(0, ...) 19640 * sendfilev64() :: sendfilev(1, ...) 19641 */ 19642 19643 19644 19645 19646 /* 19647 * subcodes: 19648 * setppriv(...) :: privsys(0, ...) 19649 * getppriv(...) :: privsys(1, ...) 19650 * getimplinfo(...) :: privsys(2, ...) 19651 * setpflags(...) :: privsys(3, ...) 19652 * getpflags(...) :: privsys(4, ...) 19653 * issetugid(); :: privsys(5) 19654 */ 19655 19656 /* 19657 * subcodes: 19658 * ucred_get(...) :: ucredsys(0, ...) 19659 * getpeerucred(...) :: ucredsys(1, ...) 19660 */ 19661 19662 /* 19663 * subcodes: 19664 * sysfs(code, ...) 19665 * see <sys/fstyp.h> 19666 */ 19667 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19668 /* 19669 * subcodes: 19670 * subcode 0 unused 19671 * sigpending(...) :: syscall(99, 1, ...) 19672 * sigfillset(...) :: syscall(99, 2, ...) 19673 */ 19674 19675 /* 19676 * subcodes: 19677 * getcontext(...) :: syscall(100, 0, ...) 19678 * setcontext(...) :: syscall(100, 1, ...) 19679 */ 19680 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19681 /* 19682 * subcodes: 19683 * futimens(...) :: syscall(110, 0, ...) 19684 * utimensat(...) :: syscall(110, 1, ...) 19685 */ 19686 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19687 /* 19688 * subcodes: 19689 * forkx(flags) :: forksys(0, flags) 19690 * forkallx(flags) :: forksys(1, flags) 19691 * vforkx(flags) :: forksys(2, flags) 19692 */ 19693 # 354 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19694 /* 19695 * subcodes: 19696 * aioread(...) :: kaio(AIOREAD, ...) 19697 * aiowrite(...) :: kaio(AIOWRITE, ...) 19698 * aiowait(...) :: kaio(AIOWAIT, ...) 19699 * aiocancel(...) :: kaio(AIOCANCEL, ...) 19700 * aionotify() :: kaio(AIONOTIFY) 19701 * aioinit() :: kaio(AIOINIT) 19702 * aiostart() :: kaio(AIOSTART) 19703 * see <sys/aio.h> 19704 */ 19705 19706 19707 19708 /* 19709 * subcodes: 19710 * meminfo(...) :: meminfosys(MISYS_MEMINFO, ...) 19711 */ 19712 19713 /* 19714 * subcodes: 19715 * getrusage(...) :: rusagesys(RUSAGESYS_GETRUSAGE, ...) 19716 * getvmusage(...) :: rusagesys(RUSAGESYS_GETVMUSAGE, ...) 19717 */ 19718 19719 /* 19720 * subcodes: 19721 * port_create(...) :: portfs(PORT_CREATE, ...) 19722 * port_associate(...) :: portfs(PORT_ASSOCIATE, ...) 19723 * port_dissociate(...) :: portfs(PORT_DISSOCIATE, ...) 19724 * port_send(...) :: portfs(PORT_SEND, ...) 19725 * port_sendn(...) :: portfs(PORT_SENDN, ...) 19726 * port_get(...) :: portfs(PORT_GET, ...) 19727 * port_getn(...) :: portfs(PORT_GETN, ...) 19728 * port_alert(...) :: portfs(PORT_ALERT, ...) 19729 * port_dispatch(...) :: portfs(PORT_DISPATCH, ...) 19730 */ 19731 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19732 /* 19733 * Door Subcodes: 19734 * 0 door_create 19735 * 1 door_revoke 19736 * 2 door_info 19737 * 3 door_call 19738 * 4 door_return 19739 */ 19740 # 429 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19741 /* 19742 * subcodes: 19743 * lwp_rwlock_rdlock(...) :: syscall(212, 0, ...) 19744 * lwp_rwlock_wrlock(...) :: syscall(212, 1, ...) 19745 * lwp_rwlock_tryrdlock(...) :: syscall(212, 2, ...) 19746 * lwp_rwlock_trywrlock(...) :: syscall(212, 3, ...) 19747 * lwp_rwlock_unlock(...) :: syscall(212, 4, ...) 19748 */ 19749 /* system calls for large file ( > 2 gigabyte) support */ 19750 # 452 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19751 /* 19752 * subcodes: 19753 * zone_create(...) :: zone(ZONE_CREATE, ...) 19754 * zone_destroy(...) :: zone(ZONE_DESTROY, ...) 19755 * zone_getattr(...) :: zone(ZONE_GETATTR, ...) 19756 * zone_enter(...) :: zone(ZONE_ENTER, ...) 19757 * zone_list(...) :: zone(ZONE_LIST, ...) 19758 * zone_shutdown(...) :: zone(ZONE_SHUTDOWN, ...) 19759 * zone_lookup(...) :: zone(ZONE_LOOKUP, ...) 19760 * zone_boot(...) :: zone(ZONE_BOOT, ...) 19761 * zone_version(...) :: zone(ZONE_VERSION, ...) 19762 * zone_setattr(...) :: zone(ZONE_SETATTR, ...) 19763 * zone_add_datalink(...) :: zone(ZONE_ADD_DATALINK, ...) 19764 * zone_remove_datalink(...) :: zone(ZONE_DEL_DATALINK, ...) 19765 * zone_check_datalink(...) :: zone(ZONE_CHECK_DATALINK, ...) 19766 * zone_list_datalink(...) :: zone(ZONE_LIST_DATALINK, ...) 19767 */ 19768 # 489 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19769 /* 19770 * NTP codes 19771 */ 19772 # 503 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/syscall.h" 19773 typedef struct { /* syscall set type */ 19774 unsigned int word[16]; 19775 } sysset_t; 19776 19777 typedef struct { /* return values from system call */ 19778 long sys_rval1; /* primary return value from system call */ 19779 long sys_rval2; /* second return value from system call */ 19780 } sysret_t; 19781 19782 19783 19784 extern int syscall(int, ...); 19785 extern int __systemcall(sysret_t *, int, ...); 19786 extern int __set_errno(int); 19787 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 19788 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 19789 /* 19790 * CDDL HEADER START 19791 * 19792 * The contents of this file are subject to the terms of the 19793 * Common Development and Distribution License (the "License"). 19794 * You may not use this file except in compliance with the License. 19795 * 19796 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19797 * or http://www.opensolaris.org/os/licensing. 19798 * See the License for the specific language governing permissions 19799 * and limitations under the License. 19800 * 19801 * When distributing Covered Code, include this CDDL HEADER in each 19802 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19803 * If applicable, add the following below this CDDL HEADER, with the 19804 * fields enclosed by brackets "[]" replaced with your own identifying 19805 * information: Portions Copyright [yyyy] [name of copyright owner] 19806 * 19807 * CDDL HEADER END 19808 */ 19809 /* 19810 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19811 * 19812 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19813 * Use is subject to license terms. 19814 */ 19815 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 19816 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19817 /* 19818 * CDDL HEADER START 19819 * 19820 * The contents of this file are subject to the terms of the 19821 * Common Development and Distribution License (the "License"). 19822 * You may not use this file except in compliance with the License. 19823 * 19824 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19825 * or http://www.opensolaris.org/os/licensing. 19826 * See the License for the specific language governing permissions 19827 * and limitations under the License. 19828 * 19829 * When distributing Covered Code, include this CDDL HEADER in each 19830 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19831 * If applicable, add the following below this CDDL HEADER, with the 19832 * fields enclosed by brackets "[]" replaced with your own identifying 19833 * information: Portions Copyright [yyyy] [name of copyright owner] 19834 * 19835 * CDDL HEADER END 19836 */ 19837 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19838 /* All Rights Reserved */ 19839 19840 19841 /* 19842 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19843 * Use is subject to license terms. 19844 * 19845 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19846 * Copyright 2016 Joyent, Inc. 19847 */ 19848 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 19849 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 1 19850 /* 19851 * CDDL HEADER START 19852 * 19853 * The contents of this file are subject to the terms of the 19854 * Common Development and Distribution License (the "License"). 19855 * You may not use this file except in compliance with the License. 19856 * 19857 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19858 * or http://www.opensolaris.org/os/licensing. 19859 * See the License for the specific language governing permissions 19860 * and limitations under the License. 19861 * 19862 * When distributing Covered Code, include this CDDL HEADER in each 19863 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19864 * If applicable, add the following below this CDDL HEADER, with the 19865 * fields enclosed by brackets "[]" replaced with your own identifying 19866 * information: Portions Copyright [yyyy] [name of copyright owner] 19867 * 19868 * CDDL HEADER END 19869 */ 19870 /* 19871 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 19872 * All Rights Reserved 19873 * 19874 */ 19875 19876 /* 19877 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 19878 * 19879 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 19880 * Use is subject to license terms. 19881 */ 19882 19883 19884 19885 19886 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 19887 /* 19888 * CDDL HEADER START 19889 * 19890 * The contents of this file are subject to the terms of the 19891 * Common Development and Distribution License (the "License"). 19892 * You may not use this file except in compliance with the License. 19893 * 19894 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19895 * or http://www.opensolaris.org/os/licensing. 19896 * See the License for the specific language governing permissions 19897 * and limitations under the License. 19898 * 19899 * When distributing Covered Code, include this CDDL HEADER in each 19900 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19901 * If applicable, add the following below this CDDL HEADER, with the 19902 * fields enclosed by brackets "[]" replaced with your own identifying 19903 * information: Portions Copyright [yyyy] [name of copyright owner] 19904 * 19905 * CDDL HEADER END 19906 */ 19907 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19908 /* All Rights Reserved */ 19909 19910 19911 /* 19912 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 19913 * Use is subject to license terms. 19914 * 19915 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 19916 * Copyright 2016 Joyent, Inc. 19917 */ 19918 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 19919 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 19920 /* 19921 * CDDL HEADER START 19922 * 19923 * The contents of this file are subject to the terms of the 19924 * Common Development and Distribution License, Version 1.0 only 19925 * (the "License"). You may not use this file except in compliance 19926 * with the License. 19927 * 19928 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 19929 * or http://www.opensolaris.org/os/licensing. 19930 * See the License for the specific language governing permissions 19931 * and limitations under the License. 19932 * 19933 * When distributing Covered Code, include this CDDL HEADER in each 19934 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19935 * If applicable, add the following below this CDDL HEADER, with the 19936 * fields enclosed by brackets "[]" replaced with your own identifying 19937 * information: Portions Copyright [yyyy] [name of copyright owner] 19938 * 19939 * CDDL HEADER END 19940 */ 19941 /* 19942 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 19943 * Use is subject to license terms. 19944 */ 19945 19946 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 19947 /* All Rights Reserved */ 19948 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 2 19949 19950 19951 19952 19953 19954 /* 19955 * Definitions for p_online, processor_info & lgrp system calls. 19956 */ 19957 19958 /* 19959 * Type for an lgrpid 19960 */ 19961 typedef uint16_t lgrpid_t; 19962 19963 /* 19964 * Type for processor name (CPU number). 19965 */ 19966 typedef int processorid_t; 19967 typedef int chipid_t; 19968 19969 /* 19970 * Flags and return values for p_online(2), and pi_state for processor_info(2). 19971 * These flags are *not* for in-kernel examination of CPU states. 19972 * See <sys/cpuvar.h> for appropriate informational functions. 19973 */ 19974 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/processor.h" 19975 /* 19976 * String names for processor states defined above. 19977 */ 19978 19979 19980 19981 19982 19983 19984 19985 /* 19986 * Structure filled in by processor_info(2). This structure 19987 * SHOULD NOT BE MODIFIED. Changes to the structure would 19988 * negate ABI compatibility. 19989 * 19990 * The string fields are guaranteed to contain a NULL. 19991 * 19992 * The pi_fputypes field contains a (possibly empty) comma-separated 19993 * list of floating point identifier strings. 19994 */ 19995 19996 19997 19998 typedef struct { 19999 int pi_state; /* processor state, see above */ 20000 char pi_processor_type[16]; /* ASCII CPU type */ 20001 char pi_fputypes[32]; /* ASCII FPU types */ 20002 int pi_clock; /* CPU clock freq in MHz */ 20003 } processor_info_t; 20004 20005 /* 20006 * Binding values for processor_bind(2) 20007 */ 20008 20009 20010 20011 20012 20013 20014 /* 20015 * User-level system call interface prototypes 20016 */ 20017 20018 20019 extern int p_online(processorid_t processorid, int flag); 20020 extern int processor_info(processorid_t processorid, 20021 processor_info_t *infop); 20022 extern int processor_bind(idtype_t idtype, id_t id, 20023 processorid_t processorid, processorid_t *obind); 20024 extern processorid_t getcpuid(void); 20025 extern lgrpid_t gethomelgroup(void); 20026 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 20027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procset.h" 1 20028 /* 20029 * CDDL HEADER START 20030 * 20031 * The contents of this file are subject to the terms of the 20032 * Common Development and Distribution License, Version 1.0 only 20033 * (the "License"). You may not use this file except in compliance 20034 * with the License. 20035 * 20036 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20037 * or http://www.opensolaris.org/os/licensing. 20038 * See the License for the specific language governing permissions 20039 * and limitations under the License. 20040 * 20041 * When distributing Covered Code, include this CDDL HEADER in each 20042 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20043 * If applicable, add the following below this CDDL HEADER, with the 20044 * fields enclosed by brackets "[]" replaced with your own identifying 20045 * information: Portions Copyright [yyyy] [name of copyright owner] 20046 * 20047 * CDDL HEADER END 20048 */ 20049 /* 20050 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 20051 * Use is subject to license terms. 20052 */ 20053 20054 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20055 /* All Rights Reserved */ 20056 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 2 20057 20058 typedef int psetid_t; 20059 20060 /* special processor set id's */ 20061 20062 20063 20064 20065 20066 20067 20068 /* types of processor sets */ 20069 20070 20071 20072 20073 20074 extern int pset_create(psetid_t *); 20075 extern int pset_destroy(psetid_t); 20076 extern int pset_assign(psetid_t, processorid_t, psetid_t *); 20077 extern int pset_info(psetid_t, int *, uint_t *, processorid_t *); 20078 extern int pset_bind(psetid_t, idtype_t, id_t, psetid_t *); 20079 extern int pset_bind_lwp(psetid_t, id_t, pid_t, psetid_t *); 20080 extern int pset_getloadavg(psetid_t, double [], int); 20081 extern int pset_list(psetid_t *, uint_t *); 20082 extern int pset_setattr(psetid_t, uint_t); 20083 extern int pset_getattr(psetid_t, uint_t *); 20084 20085 20086 20087 20088 20089 /* system call subcodes */ 20090 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 20091 /* attribute bits */ 20092 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 20093 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs_isa.h" 1 20094 /* 20095 * CDDL HEADER START 20096 * 20097 * The contents of this file are subject to the terms of the 20098 * Common Development and Distribution License, Version 1.0 only 20099 * (the "License"). You may not use this file except in compliance 20100 * with the License. 20101 * 20102 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20103 * or http://www.opensolaris.org/os/licensing. 20104 * See the License for the specific language governing permissions 20105 * and limitations under the License. 20106 * 20107 * When distributing Covered Code, include this CDDL HEADER in each 20108 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20109 * If applicable, add the following below this CDDL HEADER, with the 20110 * fields enclosed by brackets "[]" replaced with your own identifying 20111 * information: Portions Copyright [yyyy] [name of copyright owner] 20112 * 20113 * CDDL HEADER END 20114 */ 20115 /* 20116 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 20117 * Use is subject to license terms. 20118 */ 20119 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 20120 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/priv.h" 1 20121 /* 20122 * CDDL HEADER START 20123 * 20124 * The contents of this file are subject to the terms of the 20125 * Common Development and Distribution License (the "License"). 20126 * You may not use this file except in compliance with the License. 20127 * 20128 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20129 * or http://www.opensolaris.org/os/licensing. 20130 * See the License for the specific language governing permissions 20131 * and limitations under the License. 20132 * 20133 * When distributing Covered Code, include this CDDL HEADER in each 20134 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20135 * If applicable, add the following below this CDDL HEADER, with the 20136 * fields enclosed by brackets "[]" replaced with your own identifying 20137 * information: Portions Copyright [yyyy] [name of copyright owner] 20138 * 20139 * CDDL HEADER END 20140 */ 20141 /* 20142 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20143 * 20144 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 20145 */ 20146 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 20147 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 20148 /* 20149 * CDDL HEADER START 20150 * 20151 * The contents of this file are subject to the terms of the 20152 * Common Development and Distribution License (the "License"). 20153 * You may not use this file except in compliance with the License. 20154 * 20155 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20156 * or http://www.opensolaris.org/os/licensing. 20157 * See the License for the specific language governing permissions 20158 * and limitations under the License. 20159 * 20160 * When distributing Covered Code, include this CDDL HEADER in each 20161 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20162 * If applicable, add the following below this CDDL HEADER, with the 20163 * fields enclosed by brackets "[]" replaced with your own identifying 20164 * information: Portions Copyright [yyyy] [name of copyright owner] 20165 * 20166 * CDDL HEADER END 20167 */ 20168 20169 /* 20170 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20171 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 20172 */ 20173 20174 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 20175 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 20176 /* All Rights Reserved */ 20177 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 20178 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 20179 /* 20180 * CDDL HEADER START 20181 * 20182 * The contents of this file are subject to the terms of the 20183 * Common Development and Distribution License (the "License"). 20184 * You may not use this file except in compliance with the License. 20185 * 20186 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20187 * or http://www.opensolaris.org/os/licensing. 20188 * See the License for the specific language governing permissions 20189 * and limitations under the License. 20190 * 20191 * When distributing Covered Code, include this CDDL HEADER in each 20192 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20193 * If applicable, add the following below this CDDL HEADER, with the 20194 * fields enclosed by brackets "[]" replaced with your own identifying 20195 * information: Portions Copyright [yyyy] [name of copyright owner] 20196 * 20197 * CDDL HEADER END 20198 */ 20199 20200 /* 20201 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 20202 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 20203 */ 20204 20205 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 20206 /* All Rights Reserved */ 20207 20208 /* 20209 * University Copyright- Copyright (c) 1982, 1986, 1988 20210 * The Regents of the University of California 20211 * All Rights Reserved 20212 * 20213 * University Acknowledgment- Portions of this document are derived from 20214 * software developed by the University of California, Berkeley, and its 20215 * contributors. 20216 */ 20217 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 2 20218 20219 /* 20220 * System call interfaces for /proc. 20221 */ 20222 20223 /* 20224 * Control codes (long values) for messages written to ctl and lwpctl files. 20225 */ 20226 # 107 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 20227 /* 20228 * PCRUN long operand flags. 20229 */ 20230 20231 20232 20233 20234 20235 20236 /* 20237 * lwp status file. /proc/<pid>/lwp/<lwpid>/lwpstatus 20238 */ 20239 20240 20241 typedef struct lwpstatus { 20242 int pr_flags; /* flags (see below) */ 20243 id_t pr_lwpid; /* specific lwp identifier */ 20244 short pr_why; /* reason for lwp stop, if stopped */ 20245 short pr_what; /* more detailed reason */ 20246 short pr_cursig; /* current signal, if any */ 20247 short pr_pad1; 20248 siginfo_t pr_info; /* info associated with signal or fault */ 20249 sigset_t pr_lwppend; /* set of signals pending to the lwp */ 20250 sigset_t pr_lwphold; /* set of signals blocked by the lwp */ 20251 struct sigaction pr_action; /* signal action for current signal */ 20252 stack_t pr_altstack; /* alternate signal stack info */ 20253 uintptr_t pr_oldcontext; /* address of previous ucontext */ 20254 short pr_syscall; /* system call number (if in syscall) */ 20255 short pr_nsysarg; /* number of arguments to this syscall */ 20256 int pr_errno; /* errno for failed syscall, 0 if successful */ 20257 long pr_sysarg[8]; /* arguments to this syscall */ 20258 long pr_rval1; /* primary syscall return value */ 20259 long pr_rval2; /* second syscall return value, if any */ 20260 char pr_clname[8]; /* scheduling class name */ 20261 timestruc_t pr_tstamp; /* real-time time stamp of stop */ 20262 timestruc_t pr_utime; /* lwp user cpu time */ 20263 timestruc_t pr_stime; /* lwp system cpu time */ 20264 int pr_filler[11 - 2 * sizeof (timestruc_t) / sizeof (int)]; 20265 int pr_errpriv; /* missing privilege */ 20266 uintptr_t pr_ustack; /* address of stack boundary data (stack_t) */ 20267 ulong_t pr_instr; /* current instruction */ 20268 gregset_t pr_reg; /* general registers */ 20269 fpregset_t pr_fpreg; /* floating-point registers */ 20270 } lwpstatus_t; 20271 20272 /* 20273 * process status file. /proc/<pid>/status 20274 */ 20275 typedef struct pstatus { 20276 int pr_flags; /* flags (see below) */ 20277 int pr_nlwp; /* number of active lwps in the process */ 20278 pid_t pr_pid; /* process id */ 20279 pid_t pr_ppid; /* parent process id */ 20280 pid_t pr_pgid; /* process group id */ 20281 pid_t pr_sid; /* session id */ 20282 id_t pr_aslwpid; /* historical; now always zero */ 20283 id_t pr_agentid; /* lwp id of the /proc agent lwp, if any */ 20284 sigset_t pr_sigpend; /* set of process pending signals */ 20285 uintptr_t pr_brkbase; /* address of the process heap */ 20286 size_t pr_brksize; /* size of the process heap, in bytes */ 20287 uintptr_t pr_stkbase; /* address of the process stack */ 20288 size_t pr_stksize; /* size of the process stack, in bytes */ 20289 timestruc_t pr_utime; /* process user cpu time */ 20290 timestruc_t pr_stime; /* process system cpu time */ 20291 timestruc_t pr_cutime; /* sum of children's user times */ 20292 timestruc_t pr_cstime; /* sum of children's system times */ 20293 sigset_t pr_sigtrace; /* set of traced signals */ 20294 fltset_t pr_flttrace; /* set of traced faults */ 20295 sysset_t pr_sysentry; /* set of system calls traced on entry */ 20296 sysset_t pr_sysexit; /* set of system calls traced on exit */ 20297 char pr_dmodel; /* data model of the process (see below) */ 20298 char pr_pad[3]; 20299 taskid_t pr_taskid; /* task id */ 20300 projid_t pr_projid; /* project id */ 20301 int pr_nzomb; /* number of zombie lwps in the process */ 20302 zoneid_t pr_zoneid; /* zone id */ 20303 int pr_filler[15]; /* reserved for future use */ 20304 lwpstatus_t pr_lwp; /* status of the representative lwp */ 20305 } pstatus_t; 20306 20307 /* 20308 * pr_flags (same values appear in both pstatus_t and lwpstatus_t pr_flags). 20309 * 20310 * These flags do *not* apply to psinfo_t.pr_flag or lwpsinfo_t.pr_flag 20311 * (which are both deprecated). 20312 */ 20313 /* The following flags apply to the specific or representative lwp */ 20314 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 20315 /* The following flags apply to the process, not to an individual lwp */ 20316 20317 20318 20319 20320 20321 /* The following process flags are modes settable by PCSET/PCUNSET */ 20322 # 221 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 20323 /* 20324 * See <sys/procfs_isa.h> for possible values of pr_dmodel. 20325 */ 20326 20327 /* 20328 * Reasons for stopping (pr_why). 20329 */ 20330 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 20331 /* 20332 * lwp ps(1) information file. /proc/<pid>/lwp/<lwpid>/lwpsinfo 20333 */ 20334 20335 typedef struct lwpsinfo { 20336 int pr_flag; /* lwp flags (DEPRECATED; do not use) */ 20337 id_t pr_lwpid; /* lwp id */ 20338 uintptr_t pr_addr; /* internal address of lwp */ 20339 uintptr_t pr_wchan; /* wait addr for sleeping lwp */ 20340 char pr_stype; /* synchronization event type */ 20341 char pr_state; /* numeric lwp state */ 20342 char pr_sname; /* printable character for pr_state */ 20343 char pr_nice; /* nice for cpu usage */ 20344 short pr_syscall; /* system call number (if in syscall) */ 20345 char pr_oldpri; /* pre-SVR4, low value is high priority */ 20346 char pr_cpu; /* pre-SVR4, cpu usage for scheduling */ 20347 int pr_pri; /* priority, high value is high priority */ 20348 /* The following percent number is a 16-bit binary */ 20349 /* fraction [0 .. 1] with the binary point to the */ 20350 /* right of the high-order bit (1.0 == 0x8000) */ 20351 ushort_t pr_pctcpu; /* % of recent cpu time used by this lwp */ 20352 ushort_t pr_pad; 20353 timestruc_t pr_start; /* lwp start time, from the epoch */ 20354 timestruc_t pr_time; /* usr+sys cpu time for this lwp */ 20355 char pr_clname[8]; /* scheduling class name */ 20356 char pr_name[16]; /* name of system lwp */ 20357 processorid_t pr_onpro; /* processor which last ran this lwp */ 20358 processorid_t pr_bindpro; /* processor to which lwp is bound */ 20359 psetid_t pr_bindpset; /* processor set to which lwp is bound */ 20360 int pr_lgrp; /* lwp home lgroup */ 20361 int pr_filler[4]; /* reserved for future use */ 20362 } lwpsinfo_t; 20363 20364 /* 20365 * process ps(1) information file. /proc/<pid>/psinfo 20366 */ 20367 20368 typedef struct psinfo { 20369 int pr_flag; /* process flags (DEPRECATED; do not use) */ 20370 int pr_nlwp; /* number of active lwps in the process */ 20371 pid_t pr_pid; /* unique process id */ 20372 pid_t pr_ppid; /* process id of parent */ 20373 pid_t pr_pgid; /* pid of process group leader */ 20374 pid_t pr_sid; /* session id */ 20375 uid_t pr_uid; /* real user id */ 20376 uid_t pr_euid; /* effective user id */ 20377 gid_t pr_gid; /* real group id */ 20378 gid_t pr_egid; /* effective group id */ 20379 uintptr_t pr_addr; /* address of process */ 20380 size_t pr_size; /* size of process image in Kbytes */ 20381 size_t pr_rssize; /* resident set size in Kbytes */ 20382 size_t pr_pad1; 20383 dev_t pr_ttydev; /* controlling tty device (or PRNODEV) */ 20384 /* The following percent numbers are 16-bit binary */ 20385 /* fractions [0 .. 1] with the binary point to the */ 20386 /* right of the high-order bit (1.0 == 0x8000) */ 20387 ushort_t pr_pctcpu; /* % of recent cpu time used by all lwps */ 20388 ushort_t pr_pctmem; /* % of system memory used by process */ 20389 timestruc_t pr_start; /* process start time, from the epoch */ 20390 timestruc_t pr_time; /* usr+sys cpu time for this process */ 20391 timestruc_t pr_ctime; /* usr+sys cpu time for reaped children */ 20392 char pr_fname[16]; /* name of execed file */ 20393 char pr_psargs[80]; /* initial characters of arg list */ 20394 int pr_wstat; /* if zombie, the wait() status */ 20395 int pr_argc; /* initial argument count */ 20396 uintptr_t pr_argv; /* address of initial argument vector */ 20397 uintptr_t pr_envp; /* address of initial environment vector */ 20398 char pr_dmodel; /* data model of the process */ 20399 char pr_pad2[3]; 20400 taskid_t pr_taskid; /* task id */ 20401 projid_t pr_projid; /* project id */ 20402 int pr_nzomb; /* number of zombie lwps in the process */ 20403 poolid_t pr_poolid; /* pool id */ 20404 zoneid_t pr_zoneid; /* zone id */ 20405 id_t pr_contract; /* process contract */ 20406 int pr_filler[1]; /* reserved for future use */ 20407 lwpsinfo_t pr_lwp; /* information for representative lwp */ 20408 } psinfo_t; 20409 20410 20411 20412 /* 20413 * Memory-map interface. /proc/<pid>/map /proc/<pid>/rmap 20414 */ 20415 20416 typedef struct prmap { 20417 uintptr_t pr_vaddr; /* virtual address of mapping */ 20418 size_t pr_size; /* size of mapping in bytes */ 20419 char pr_mapname[64]; /* name in /proc/<pid>/object */ 20420 offset_t pr_offset; /* offset into mapped object, if any */ 20421 int pr_mflags; /* protection and attribute flags (see below) */ 20422 int pr_pagesize; /* pagesize (bytes) for this mapping */ 20423 int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ 20424 int pr_filler[1]; /* filler for future expansion */ 20425 } prmap_t; 20426 20427 /* 20428 * HAT memory-map interface. /proc/<pid>/xmap 20429 */ 20430 typedef struct prxmap { 20431 uintptr_t pr_vaddr; /* virtual address of mapping */ 20432 size_t pr_size; /* size of mapping in bytes */ 20433 char pr_mapname[64]; /* name in /proc/<pid>/object */ 20434 offset_t pr_offset; /* offset into mapped object, if any */ 20435 int pr_mflags; /* protection and attribute flags (see below) */ 20436 int pr_pagesize; /* pagesize (bytes) for this mapping */ 20437 int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ 20438 dev_t pr_dev; /* st_dev from stat64() of mapped object, or PRNODEV */ 20439 uint64_t pr_ino; /* st_ino from stat64() of mapped object, if any */ 20440 size_t pr_rss; /* pages of resident memory */ 20441 size_t pr_anon; /* pages of resident anonymous memory */ 20442 size_t pr_locked; /* pages of locked memory */ 20443 size_t pr_pad; /* currently unused */ 20444 uint64_t pr_hatpagesize; /* pagesize of the hat mapping */ 20445 20446 ulong_t pr_filler[6]; /* filler for future expansion */ 20447 20448 20449 20450 } prxmap_t; 20451 20452 20453 /* Protection and attribute flags */ 20454 # 370 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/procfs.h" 20455 /* 20456 * These are obsolete and unreliable. 20457 * They are included here only for historical compatibility. 20458 */ 20459 20460 20461 20462 /* 20463 * Process credentials. PCSCRED and /proc/<pid>/cred 20464 */ 20465 typedef struct prcred { 20466 uid_t pr_euid; /* effective user id */ 20467 uid_t pr_ruid; /* real user id */ 20468 uid_t pr_suid; /* saved user id (from exec) */ 20469 gid_t pr_egid; /* effective group id */ 20470 gid_t pr_rgid; /* real group id */ 20471 gid_t pr_sgid; /* saved group id (from exec) */ 20472 int pr_ngroups; /* number of supplementary groups */ 20473 gid_t pr_groups[1]; /* array of supplementary groups */ 20474 } prcred_t; 20475 20476 /* 20477 * Process privileges. PCSPRIV and /proc/<pid>/priv 20478 */ 20479 typedef struct prpriv { 20480 uint32_t pr_nsets; /* number of privilege set */ 20481 uint32_t pr_setsize; /* size of privilege set */ 20482 uint32_t pr_infosize; /* size of supplementary data */ 20483 priv_chunk_t pr_sets[1]; /* array of sets */ 20484 } prpriv_t; 20485 20486 /* 20487 * Watchpoint interface. PCWATCH and /proc/<pid>/watch 20488 */ 20489 typedef struct prwatch { 20490 uintptr_t pr_vaddr; /* virtual address of watched area */ 20491 size_t pr_size; /* size of watched area in bytes */ 20492 int pr_wflags; /* watch type flags */ 20493 int pr_pad; 20494 } prwatch_t; 20495 20496 /* pr_wflags */ 20497 20498 20499 20500 20501 20502 /* 20503 * PCREAD/PCWRITE I/O interface. 20504 */ 20505 typedef struct priovec { 20506 void *pio_base; /* buffer in controlling process */ 20507 size_t pio_len; /* size of read/write request */ 20508 off_t pio_offset; /* virtual address in target process */ 20509 } priovec_t; 20510 20511 /* 20512 * Resource usage. /proc/<pid>/usage /proc/<pid>/lwp/<lwpid>/lwpusage 20513 */ 20514 typedef struct prusage { 20515 id_t pr_lwpid; /* lwp id. 0: process or defunct */ 20516 int pr_count; /* number of contributing lwps */ 20517 timestruc_t pr_tstamp; /* current time stamp */ 20518 timestruc_t pr_create; /* process/lwp creation time stamp */ 20519 timestruc_t pr_term; /* process/lwp termination time stamp */ 20520 timestruc_t pr_rtime; /* total lwp real (elapsed) time */ 20521 timestruc_t pr_utime; /* user level cpu time */ 20522 timestruc_t pr_stime; /* system call cpu time */ 20523 timestruc_t pr_ttime; /* other system trap cpu time */ 20524 timestruc_t pr_tftime; /* text page fault sleep time */ 20525 timestruc_t pr_dftime; /* data page fault sleep time */ 20526 timestruc_t pr_kftime; /* kernel page fault sleep time */ 20527 timestruc_t pr_ltime; /* user lock wait sleep time */ 20528 timestruc_t pr_slptime; /* all other sleep time */ 20529 timestruc_t pr_wtime; /* wait-cpu (latency) time */ 20530 timestruc_t pr_stoptime; /* stopped time */ 20531 timestruc_t filltime[6]; /* filler for future expansion */ 20532 ulong_t pr_minf; /* minor page faults */ 20533 ulong_t pr_majf; /* major page faults */ 20534 ulong_t pr_nswap; /* swaps */ 20535 ulong_t pr_inblk; /* input blocks */ 20536 ulong_t pr_oublk; /* output blocks */ 20537 ulong_t pr_msnd; /* messages sent */ 20538 ulong_t pr_mrcv; /* messages received */ 20539 ulong_t pr_sigs; /* signals received */ 20540 ulong_t pr_vctx; /* voluntary context switches */ 20541 ulong_t pr_ictx; /* involuntary context switches */ 20542 ulong_t pr_sysc; /* system calls */ 20543 ulong_t pr_ioch; /* chars read and written */ 20544 ulong_t filler[10]; /* filler for future expansion */ 20545 } prusage_t; 20546 20547 /* 20548 * Page data file. /proc/<pid>/pagedata 20549 */ 20550 20551 /* page data file header */ 20552 typedef struct prpageheader { 20553 timestruc_t pr_tstamp; /* real time stamp */ 20554 long pr_nmap; /* number of address space mappings */ 20555 long pr_npage; /* total number of pages */ 20556 } prpageheader_t; 20557 20558 /* page data mapping header */ 20559 typedef struct prasmap { 20560 uintptr_t pr_vaddr; /* virtual address of mapping */ 20561 size_t pr_npage; /* number of pages in mapping */ 20562 char pr_mapname[64]; /* name in /proc/<pid>/object */ 20563 offset_t pr_offset; /* offset into mapped object, if any */ 20564 int pr_mflags; /* protection and attribute flags */ 20565 int pr_pagesize; /* pagesize (bytes) for this mapping */ 20566 int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ 20567 int pr_filler[1]; /* filler for future expansion */ 20568 } prasmap_t; 20569 20570 /* 20571 * pr_npage bytes (plus 0-7 null bytes to round up to an 8-byte boundary) 20572 * follow each mapping header, each containing zero or more of these flags. 20573 */ 20574 20575 20576 20577 20578 /* 20579 * Open files. Only in core files (for now). Note that we'd like to use 20580 * the stat or stat64 structure, but both of these structures are unfortunately 20581 * not consistent between 32 and 64 bit modes. To keep our lives simpler, we 20582 * just define our own structure with types that are not sensitive to this 20583 * difference. Also, it turns out that pfiles omits a lot of info from the 20584 * struct stat (e.g. times, device sizes, etc.) so we don't bother adding those 20585 * here. 20586 */ 20587 typedef struct prfdinfo { 20588 int pr_fd; 20589 mode_t pr_mode; 20590 20591 uid_t pr_uid; 20592 gid_t pr_gid; 20593 20594 major_t pr_major; /* think stat.st_dev */ 20595 minor_t pr_minor; 20596 20597 major_t pr_rmajor; /* think stat.st_rdev */ 20598 minor_t pr_rminor; 20599 20600 ino64_t pr_ino; 20601 off64_t pr_offset; 20602 off64_t pr_size; 20603 20604 int pr_fileflags; /* fcntl(F_GETXFL), etc */ 20605 int pr_fdflags; /* fcntl(F_GETFD), etc. */ 20606 20607 char pr_path[1024]; 20608 } prfdinfo_t; 20609 20610 /* 20611 * Header for /proc/<pid>/lstatus /proc/<pid>/lpsinfo /proc/<pid>/lusage 20612 */ 20613 typedef struct prheader { 20614 long pr_nent; /* number of entries */ 20615 long pr_entsize; /* size of each entry, in bytes */ 20616 } prheader_t; 20617 20618 /* 20619 * Macros for manipulating sets of flags. 20620 * sp must be a pointer to one of sigset_t, fltset_t, or sysset_t. 20621 * flag must be a member of the enumeration corresponding to *sp. 20622 */ 20623 20624 /* turn on all flags in set */ 20625 20626 20627 20628 20629 /* turn off all flags in set */ 20630 20631 20632 20633 20634 /* turn on specified flag in set */ 20635 20636 20637 20638 20639 /* turn off specified flag in set */ 20640 20641 20642 20643 20644 /* query: != 0 iff flag is turned on in set */ 20645 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/procfs.h" 2 20646 20647 /* 20648 * libproc API 20649 */ 20650 # 59 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 20651 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ucred.h" 1 20652 /* 20653 * CDDL HEADER START 20654 * 20655 * The contents of this file are subject to the terms of the 20656 * Common Development and Distribution License (the "License"). 20657 * You may not use this file except in compliance with the License. 20658 * 20659 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20660 * or http://www.opensolaris.org/os/licensing. 20661 * See the License for the specific language governing permissions 20662 * and limitations under the License. 20663 * 20664 * When distributing Covered Code, include this CDDL HEADER in each 20665 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20666 * If applicable, add the following below this CDDL HEADER, with the 20667 * fields enclosed by brackets "[]" replaced with your own identifying 20668 * information: Portions Copyright [yyyy] [name of copyright owner] 20669 * 20670 * CDDL HEADER END 20671 */ 20672 /* 20673 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 20674 * 20675 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 20676 * Use is subject to license terms. 20677 */ 20678 # 60 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 20679 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 1 20680 /* 20681 * CDDL HEADER START 20682 * 20683 * The contents of this file are subject to the terms of the 20684 * Common Development and Distribution License, Version 1.0 only 20685 * (the "License"). You may not use this file except in compliance 20686 * with the License. 20687 * 20688 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20689 * or http://www.opensolaris.org/os/licensing. 20690 * See the License for the specific language governing permissions 20691 * and limitations under the License. 20692 * 20693 * When distributing Covered Code, include this CDDL HEADER in each 20694 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20695 * If applicable, add the following below this CDDL HEADER, with the 20696 * fields enclosed by brackets "[]" replaced with your own identifying 20697 * information: Portions Copyright [yyyy] [name of copyright owner] 20698 * 20699 * CDDL HEADER END 20700 */ 20701 /* 20702 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 20703 * Use is subject to license terms. 20704 */ 20705 20706 20707 20708 20709 #pragma ident "%Z%%M% %I% %E% SMI" 20710 20711 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 20712 /* 20713 * CDDL HEADER START 20714 * 20715 * The contents of this file are subject to the terms of the 20716 * Common Development and Distribution License (the "License"). 20717 * You may not use this file except in compliance with the License. 20718 * 20719 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20720 * or http://www.opensolaris.org/os/licensing. 20721 * See the License for the specific language governing permissions 20722 * and limitations under the License. 20723 * 20724 * When distributing Covered Code, include this CDDL HEADER in each 20725 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20726 * If applicable, add the following below this CDDL HEADER, with the 20727 * fields enclosed by brackets "[]" replaced with your own identifying 20728 * information: Portions Copyright [yyyy] [name of copyright owner] 20729 * 20730 * CDDL HEADER END 20731 */ 20732 /* 20733 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 20734 */ 20735 20736 20737 20738 20739 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 1 20740 /* 20741 * CDDL HEADER START 20742 * 20743 * The contents of this file are subject to the terms of the 20744 * Common Development and Distribution License (the "License"). 20745 * You may not use this file except in compliance with the License. 20746 * 20747 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20748 * or http://www.opensolaris.org/os/licensing. 20749 * See the License for the specific language governing permissions 20750 * and limitations under the License. 20751 * 20752 * When distributing Covered Code, include this CDDL HEADER in each 20753 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20754 * If applicable, add the following below this CDDL HEADER, with the 20755 * fields enclosed by brackets "[]" replaced with your own identifying 20756 * information: Portions Copyright [yyyy] [name of copyright owner] 20757 * 20758 * CDDL HEADER END 20759 */ 20760 20761 /* 20762 * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. 20763 * Copyright (c) 2012 by Delphix. All rights reserved. 20764 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20765 */ 20766 20767 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20768 /* All Rights Reserved */ 20769 20770 20771 20772 20773 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20774 /* 20775 * CDDL HEADER START 20776 * 20777 * The contents of this file are subject to the terms of the 20778 * Common Development and Distribution License (the "License"). 20779 * You may not use this file except in compliance with the License. 20780 * 20781 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20782 * or http://www.opensolaris.org/os/licensing. 20783 * See the License for the specific language governing permissions 20784 * and limitations under the License. 20785 * 20786 * When distributing Covered Code, include this CDDL HEADER in each 20787 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20788 * If applicable, add the following below this CDDL HEADER, with the 20789 * fields enclosed by brackets "[]" replaced with your own identifying 20790 * information: Portions Copyright [yyyy] [name of copyright owner] 20791 * 20792 * CDDL HEADER END 20793 */ 20794 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20795 /* All Rights Reserved */ 20796 20797 20798 /* 20799 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20800 * Use is subject to license terms. 20801 * 20802 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20803 * Copyright 2016 Joyent, Inc. 20804 */ 20805 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 20806 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 1 20807 /* 20808 * CDDL HEADER START 20809 * 20810 * The contents of this file are subject to the terms of the 20811 * Common Development and Distribution License (the "License"). 20812 * You may not use this file except in compliance with the License. 20813 * 20814 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20815 * or http://www.opensolaris.org/os/licensing. 20816 * See the License for the specific language governing permissions 20817 * and limitations under the License. 20818 * 20819 * When distributing Covered Code, include this CDDL HEADER in each 20820 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20821 * If applicable, add the following below this CDDL HEADER, with the 20822 * fields enclosed by brackets "[]" replaced with your own identifying 20823 * information: Portions Copyright [yyyy] [name of copyright owner] 20824 * 20825 * CDDL HEADER END 20826 */ 20827 /* 20828 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 20829 * Copyright (c) 2012 by Delphix. All rights reserved. 20830 */ 20831 20832 20833 20834 20835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 20836 /* 20837 * CDDL HEADER START 20838 * 20839 * The contents of this file are subject to the terms of the 20840 * Common Development and Distribution License (the "License"). 20841 * You may not use this file except in compliance with the License. 20842 * 20843 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 20844 * or http://www.opensolaris.org/os/licensing. 20845 * See the License for the specific language governing permissions 20846 * and limitations under the License. 20847 * 20848 * When distributing Covered Code, include this CDDL HEADER in each 20849 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20850 * If applicable, add the following below this CDDL HEADER, with the 20851 * fields enclosed by brackets "[]" replaced with your own identifying 20852 * information: Portions Copyright [yyyy] [name of copyright owner] 20853 * 20854 * CDDL HEADER END 20855 */ 20856 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 20857 /* All Rights Reserved */ 20858 20859 20860 /* 20861 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 20862 * Use is subject to license terms. 20863 * 20864 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 20865 * Copyright 2016 Joyent, Inc. 20866 */ 20867 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 2 20868 20869 20870 20871 20872 20873 20874 /* 20875 * Per-allocation flags 20876 */ 20877 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 20878 /* 20879 * The following flags are restricted for use only within the kernel. 20880 * VM_MEMLOAD is for use by the HAT to avoid infinite recursion. 20881 * VM_NORELOC is used by the kernel when static VA->PA mappings are required. 20882 */ 20883 20884 20885 /* 20886 * VM_ABORT requests that vmem_alloc() *ignore* the VM_SLEEP/VM_NOSLEEP flags 20887 * and forgo reaping if the allocation or attempted import, fails. This 20888 * flag is a segkmem-specific flag, and should not be used by anyone else. 20889 */ 20890 20891 20892 /* 20893 * VM_ENDALLOC requests that large addresses be preferred in allocations. 20894 * Has no effect if VM_NEXTFIT is active. 20895 */ 20896 20897 20898 20899 20900 /* 20901 * Arena creation flags 20902 */ 20903 20904 20905 20906 20907 /* 20908 * internal use only; the import function uses the vmem_ximport_t interface 20909 * and may increase the request size if it so desires. 20910 * VMC_XALIGN, for use with vmem_xcreate, specifies that 20911 * the address returned by the import function will be 20912 * aligned according to the alignment argument. 20913 */ 20914 20915 20916 20917 20918 /* 20919 * Public segment types 20920 */ 20921 20922 20923 20924 /* 20925 * Implementation-private segment types 20926 */ 20927 20928 20929 20930 20931 /* 20932 * VMEM_REENTRANT indicates to vmem_walk() that the callback routine may 20933 * call back into the arena being walked, so vmem_walk() must drop the 20934 * arena lock before each callback. The caveat is that since the arena 20935 * isn't locked, its state can change. Therefore it is up to the callback 20936 * routine to handle cases where the segment isn't of the expected type. 20937 * For example, we use this to walk heap_arena when generating a crash dump; 20938 * see segkmem_dump() for sample usage. 20939 */ 20940 20941 20942 typedef struct vmem vmem_t; 20943 typedef void *(vmem_alloc_t)(vmem_t *, size_t, int); 20944 typedef void (vmem_free_t)(vmem_t *, void *, size_t); 20945 20946 /* 20947 * Alternate import style; the requested size is passed in a pointer, 20948 * which can be increased by the import function if desired. 20949 */ 20950 typedef void *(vmem_ximport_t)(vmem_t *, size_t *, size_t, int); 20951 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/vmem.h" 20952 extern vmem_t *vmem_create(const char *, void *, size_t, size_t, 20953 vmem_alloc_t *, vmem_free_t *, vmem_t *, size_t, int); 20954 extern vmem_t *vmem_xcreate(const char *, void *, size_t, size_t, 20955 vmem_ximport_t *, vmem_free_t *, vmem_t *, size_t, int); 20956 extern void vmem_destroy(vmem_t *); 20957 extern void *vmem_alloc(vmem_t *, size_t, int); 20958 extern void *vmem_xalloc(vmem_t *, size_t, size_t, size_t, size_t, 20959 void *, void *, int); 20960 extern void vmem_free(vmem_t *, void *, size_t); 20961 extern void vmem_xfree(vmem_t *, void *, size_t); 20962 extern void *vmem_add(vmem_t *, void *, size_t, int); 20963 extern int vmem_contains(vmem_t *, void *, size_t); 20964 extern void vmem_walk(vmem_t *, int, void (*)(void *, void *, size_t), void *); 20965 extern size_t vmem_size(vmem_t *, int); 20966 extern void vmem_qcache_reap(vmem_t *vmp); 20967 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 2 20968 20969 20970 20971 20972 20973 /* 20974 * Kernel memory allocator: DDI interfaces. 20975 * See kmem_alloc(9F) for details. 20976 */ 20977 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 20978 /* 20979 * Kernel memory allocator: private interfaces. 20980 * These interfaces are still evolving. 20981 * Do not use them in unbundled drivers. 20982 */ 20983 20984 /* 20985 * Flags for kmem_cache_create() 20986 */ 20987 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kmem.h" 20988 struct kmem_cache; /* cache structure is opaque to kmem clients */ 20989 20990 typedef struct kmem_cache kmem_cache_t; 20991 20992 /* Client response to kmem move callback */ 20993 typedef enum kmem_cbrc { 20994 KMEM_CBRC_YES, 20995 KMEM_CBRC_NO, 20996 KMEM_CBRC_LATER, 20997 KMEM_CBRC_DONT_NEED, 20998 KMEM_CBRC_DONT_KNOW 20999 } kmem_cbrc_t; 21000 # 29 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 21001 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 21002 /* 21003 * CDDL HEADER START 21004 * 21005 * The contents of this file are subject to the terms of the 21006 * Common Development and Distribution License (the "License"). 21007 * You may not use this file except in compliance with the License. 21008 * 21009 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21010 * or http://www.opensolaris.org/os/licensing. 21011 * See the License for the specific language governing permissions 21012 * and limitations under the License. 21013 * 21014 * When distributing Covered Code, include this CDDL HEADER in each 21015 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21016 * If applicable, add the following below this CDDL HEADER, with the 21017 * fields enclosed by brackets "[]" replaced with your own identifying 21018 * information: Portions Copyright [yyyy] [name of copyright owner] 21019 * 21020 * CDDL HEADER END 21021 */ 21022 /* 21023 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 21024 * 21025 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 21026 * Use is subject to license terms. 21027 */ 21028 21029 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21030 /* All Rights Reserved */ 21031 21032 /* 21033 * University Copyright- Copyright (c) 1982, 1986, 1988 21034 * The Regents of the University of California 21035 * All Rights Reserved 21036 * 21037 * University Acknowledgment- Portions of this document are derived from 21038 * software developed by the University of California, Berkeley, and its 21039 * contributors. 21040 */ 21041 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 21042 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21043 /* 21044 * CDDL HEADER START 21045 * 21046 * The contents of this file are subject to the terms of the 21047 * Common Development and Distribution License (the "License"). 21048 * You may not use this file except in compliance with the License. 21049 * 21050 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21051 * or http://www.opensolaris.org/os/licensing. 21052 * See the License for the specific language governing permissions 21053 * and limitations under the License. 21054 * 21055 * When distributing Covered Code, include this CDDL HEADER in each 21056 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21057 * If applicable, add the following below this CDDL HEADER, with the 21058 * fields enclosed by brackets "[]" replaced with your own identifying 21059 * information: Portions Copyright [yyyy] [name of copyright owner] 21060 * 21061 * CDDL HEADER END 21062 */ 21063 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21064 /* All Rights Reserved */ 21065 21066 21067 /* 21068 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21069 * Use is subject to license terms. 21070 * 21071 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21072 * Copyright 2016 Joyent, Inc. 21073 */ 21074 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 2 21075 21076 21077 21078 21079 21080 /* 21081 * Available local actions and flags. 21082 */ 21083 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 21084 /* 21085 * Available global actions and flags. 21086 */ 21087 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 21088 /* 21089 * getrctl(2) flag values 21090 */ 21091 21092 21093 21094 21095 /* 21096 * setrctl(2) flag values 21097 */ 21098 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 21099 /* 21100 * rctl_priv_t: rctl privilege defined values 21101 * A large amount of space has been deliberately left between these privileges 21102 * to permit future enrichment of the control privilege value. 21103 */ 21104 21105 21106 21107 21108 typedef u_longlong_t rctl_qty_t; /* resource control numerical values */ 21109 typedef int rctl_priv_t; 21110 21111 typedef struct rctlblk rctlblk_t; 21112 21113 extern int setrctl(const char *, rctlblk_t *, rctlblk_t *, int); 21114 extern int getrctl(const char *, rctlblk_t *, rctlblk_t *, int); 21115 21116 typedef enum { 21117 RCENTITY_PROCESS, 21118 RCENTITY_TASK, 21119 RCENTITY_PROJECT, 21120 RCENTITY_ZONE 21121 } rctl_entity_t; 21122 21123 21124 21125 21126 typedef struct rctl_set rctl_set_t; 21127 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 21128 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21129 /* 21130 * CDDL HEADER START 21131 * 21132 * The contents of this file are subject to the terms of the 21133 * Common Development and Distribution License (the "License"). 21134 * You may not use this file except in compliance with the License. 21135 * 21136 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21137 * or http://www.opensolaris.org/os/licensing. 21138 * See the License for the specific language governing permissions 21139 * and limitations under the License. 21140 * 21141 * When distributing Covered Code, include this CDDL HEADER in each 21142 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21143 * If applicable, add the following below this CDDL HEADER, with the 21144 * fields enclosed by brackets "[]" replaced with your own identifying 21145 * information: Portions Copyright [yyyy] [name of copyright owner] 21146 * 21147 * CDDL HEADER END 21148 */ 21149 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21150 /* All Rights Reserved */ 21151 21152 21153 /* 21154 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21155 * Use is subject to license terms. 21156 * 21157 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21158 * Copyright 2016 Joyent, Inc. 21159 */ 21160 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/rctl.h" 2 21161 21162 21163 21164 21165 21166 int rctl_walk(int (*)(const char *, void *), void *); 21167 21168 hrtime_t rctlblk_get_firing_time(rctlblk_t *); 21169 uint_t rctlblk_get_global_action(rctlblk_t *); 21170 uint_t rctlblk_get_global_flags(rctlblk_t *); 21171 uint_t rctlblk_get_local_action(rctlblk_t *, int *); 21172 uint_t rctlblk_get_local_flags(rctlblk_t *); 21173 id_t rctlblk_get_recipient_pid(rctlblk_t *); 21174 rctl_priv_t rctlblk_get_privilege(rctlblk_t *); 21175 rctl_qty_t rctlblk_get_value(rctlblk_t *); 21176 rctl_qty_t rctlblk_get_enforced_value(rctlblk_t *); 21177 21178 void rctlblk_set_local_action(rctlblk_t *, uint_t, int); 21179 void rctlblk_set_local_flags(rctlblk_t *, uint_t); 21180 void rctlblk_set_recipient_pid(rctlblk_t *, id_t); 21181 void rctlblk_set_privilege(rctlblk_t *, rctl_priv_t); 21182 void rctlblk_set_value(rctlblk_t *, rctl_qty_t); 21183 21184 size_t rctlblk_size(void); 21185 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 21186 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 1 21187 /* 21188 * CDDL HEADER START 21189 * 21190 * The contents of this file are subject to the terms of the 21191 * Common Development and Distribution License, Version 1.0 only 21192 * (the "License"). You may not use this file except in compliance 21193 * with the License. 21194 * 21195 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21196 * or http://www.opensolaris.org/os/licensing. 21197 * See the License for the specific language governing permissions 21198 * and limitations under the License. 21199 * 21200 * When distributing Covered Code, include this CDDL HEADER in each 21201 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21202 * If applicable, add the following below this CDDL HEADER, with the 21203 * fields enclosed by brackets "[]" replaced with your own identifying 21204 * information: Portions Copyright [yyyy] [name of copyright owner] 21205 * 21206 * CDDL HEADER END 21207 */ 21208 /* 21209 * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. 21210 * Use is subject to license terms. 21211 */ 21212 /* 21213 * Copyright (c) 2015, Joyent, Inc. 21214 */ 21215 21216 /* 21217 * This header file defines the interfaces available from the CTF debugger 21218 * library, libctf. This library provides functions that a debugger can 21219 * use to operate on data in the Compact ANSI-C Type Format (CTF). This 21220 * is NOT a public interface, although it may eventually become one in 21221 * the fullness of time after we gain more experience with the interfaces. 21222 * 21223 * In the meantime, be aware that any program linked with libctf in this 21224 * release of illumos is almost guaranteed to break in the next release. 21225 * 21226 * In short, do not user this header file or libctf for any purpose. 21227 */ 21228 21229 21230 21231 21232 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 1 21233 /* 21234 * CDDL HEADER START 21235 * 21236 * The contents of this file are subject to the terms of the 21237 * Common Development and Distribution License, Version 1.0 only 21238 * (the "License"). You may not use this file except in compliance 21239 * with the License. 21240 * 21241 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21242 * or http://www.opensolaris.org/os/licensing. 21243 * See the License for the specific language governing permissions 21244 * and limitations under the License. 21245 * 21246 * When distributing Covered Code, include this CDDL HEADER in each 21247 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21248 * If applicable, add the following below this CDDL HEADER, with the 21249 * fields enclosed by brackets "[]" replaced with your own identifying 21250 * information: Portions Copyright [yyyy] [name of copyright owner] 21251 * 21252 * CDDL HEADER END 21253 */ 21254 /* 21255 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 21256 * Use is subject to license terms. 21257 */ 21258 /* 21259 * Copyright 2018 Joyent, Inc. 21260 */ 21261 21262 /* 21263 * This header file defines the interfaces available from the CTF debugger 21264 * library, libctf, and an equivalent kernel module. This API can be used by 21265 * a debugger to operate on data in the Compact ANSI-C Type Format (CTF). 21266 * This is NOT a public interface, although it may eventually become one in 21267 * the fullness of time after we gain more experience with the interfaces. 21268 * 21269 * In the meantime, be aware that any program linked with this API in this 21270 * release of Solaris is almost guaranteed to break in the next release. 21271 * 21272 * In short, do not user this header file or the CTF routines for any purpose. 21273 */ 21274 21275 21276 21277 21278 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21279 /* 21280 * CDDL HEADER START 21281 * 21282 * The contents of this file are subject to the terms of the 21283 * Common Development and Distribution License (the "License"). 21284 * You may not use this file except in compliance with the License. 21285 * 21286 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21287 * or http://www.opensolaris.org/os/licensing. 21288 * See the License for the specific language governing permissions 21289 * and limitations under the License. 21290 * 21291 * When distributing Covered Code, include this CDDL HEADER in each 21292 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21293 * If applicable, add the following below this CDDL HEADER, with the 21294 * fields enclosed by brackets "[]" replaced with your own identifying 21295 * information: Portions Copyright [yyyy] [name of copyright owner] 21296 * 21297 * CDDL HEADER END 21298 */ 21299 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21300 /* All Rights Reserved */ 21301 21302 21303 /* 21304 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21305 * Use is subject to license terms. 21306 * 21307 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21308 * Copyright 2016 Joyent, Inc. 21309 */ 21310 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 21311 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 21312 /* 21313 * CDDL HEADER START 21314 * 21315 * The contents of this file are subject to the terms of the 21316 * Common Development and Distribution License (the "License"). 21317 * You may not use this file except in compliance with the License. 21318 * 21319 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21320 * or http://www.opensolaris.org/os/licensing. 21321 * See the License for the specific language governing permissions 21322 * and limitations under the License. 21323 * 21324 * When distributing Covered Code, include this CDDL HEADER in each 21325 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21326 * If applicable, add the following below this CDDL HEADER, with the 21327 * fields enclosed by brackets "[]" replaced with your own identifying 21328 * information: Portions Copyright [yyyy] [name of copyright owner] 21329 * 21330 * CDDL HEADER END 21331 */ 21332 21333 /* 21334 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 21335 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 21336 */ 21337 21338 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 21339 /* All Rights Reserved */ 21340 21341 /* 21342 * University Copyright- Copyright (c) 1982, 1986, 1988 21343 * The Regents of the University of California 21344 * All Rights Reserved 21345 * 21346 * University Acknowledgment- Portions of this document are derived from 21347 * software developed by the University of California, Berkeley, and its 21348 * contributors. 21349 */ 21350 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 21351 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/elf.h" 1 21352 /* 21353 * CDDL HEADER START 21354 * 21355 * The contents of this file are subject to the terms of the 21356 * Common Development and Distribution License (the "License"). 21357 * You may not use this file except in compliance with the License. 21358 * 21359 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21360 * or http://www.opensolaris.org/os/licensing. 21361 * See the License for the specific language governing permissions 21362 * and limitations under the License. 21363 * 21364 * When distributing Covered Code, include this CDDL HEADER in each 21365 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21366 * If applicable, add the following below this CDDL HEADER, with the 21367 * fields enclosed by brackets "[]" replaced with your own identifying 21368 * information: Portions Copyright [yyyy] [name of copyright owner] 21369 * 21370 * CDDL HEADER END 21371 */ 21372 /* 21373 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. 21374 * Copyright (c) 2018, Joyent, Inc. 21375 */ 21376 /* 21377 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 21378 * Use is subject to license terms. 21379 */ 21380 21381 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21382 /* All Rights Reserved */ 21383 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 21384 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 1 21385 /* 21386 * CDDL HEADER START 21387 * 21388 * The contents of this file are subject to the terms of the 21389 * Common Development and Distribution License, Version 1.0 only 21390 * (the "License"). You may not use this file except in compliance 21391 * with the License. 21392 * 21393 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21394 * or http://www.opensolaris.org/os/licensing. 21395 * See the License for the specific language governing permissions 21396 * and limitations under the License. 21397 * 21398 * When distributing Covered Code, include this CDDL HEADER in each 21399 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21400 * If applicable, add the following below this CDDL HEADER, with the 21401 * fields enclosed by brackets "[]" replaced with your own identifying 21402 * information: Portions Copyright [yyyy] [name of copyright owner] 21403 * 21404 * CDDL HEADER END 21405 */ 21406 /* 21407 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 21408 * Use is subject to license terms. 21409 * 21410 * Copyright 2018 Joyent, Inc. 21411 */ 21412 21413 21414 21415 21416 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 21417 /* 21418 * CDDL HEADER START 21419 * 21420 * The contents of this file are subject to the terms of the 21421 * Common Development and Distribution License (the "License"). 21422 * You may not use this file except in compliance with the License. 21423 * 21424 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21425 * or http://www.opensolaris.org/os/licensing. 21426 * See the License for the specific language governing permissions 21427 * and limitations under the License. 21428 * 21429 * When distributing Covered Code, include this CDDL HEADER in each 21430 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 21431 * If applicable, add the following below this CDDL HEADER, with the 21432 * fields enclosed by brackets "[]" replaced with your own identifying 21433 * information: Portions Copyright [yyyy] [name of copyright owner] 21434 * 21435 * CDDL HEADER END 21436 */ 21437 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 21438 /* All Rights Reserved */ 21439 21440 21441 /* 21442 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 21443 * Use is subject to license terms. 21444 * 21445 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 21446 * Copyright 2016 Joyent, Inc. 21447 */ 21448 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 2 21449 21450 21451 21452 21453 21454 /* 21455 * CTF - Compact ANSI-C Type Format 21456 * 21457 * This file format can be used to compactly represent the information needed 21458 * by a debugger to interpret the ANSI-C types used by a given program. 21459 * Traditionally, this kind of information is generated by the compiler when 21460 * invoked with the -g flag and is stored in "stabs" strings or in the more 21461 * modern DWARF format. CTF provides a representation of only the information 21462 * that is relevant to debugging a complex, optimized C program such as the 21463 * operating system kernel in a form that is significantly more compact than 21464 * the equivalent stabs or DWARF representation. The format is data-model 21465 * independent, so consumers do not need different code depending on whether 21466 * they are 32-bit or 64-bit programs. CTF assumes that a standard ELF symbol 21467 * table is available for use in the debugger, and uses the structure and data 21468 * of the symbol table to avoid storing redundant information. The CTF data 21469 * may be compressed on disk or in memory, indicated by a bit in the header. 21470 * CTF may be interpreted in a raw disk file, or it may be stored in an ELF 21471 * section, typically named .SUNW_ctf. Data structures are aligned so that 21472 * a raw CTF file or CTF ELF section may be manipulated using mmap(2). 21473 * 21474 * The CTF file or section itself has the following structure: 21475 * 21476 * +--------+--------+---------+----------+-------+--------+ 21477 * | file | type | data | function | data | string | 21478 * | header | labels | objects | info | types | table | 21479 * +--------+--------+---------+----------+-------+--------+ 21480 * 21481 * The file header stores a magic number and version information, encoding 21482 * flags, and the byte offset of each of the sections relative to the end of the 21483 * header itself. If the CTF data has been uniquified against another set of 21484 * CTF data, a reference to that data also appears in the the header. This 21485 * reference is the name of the label corresponding to the types uniquified 21486 * against. 21487 * 21488 * Following the header is a list of labels, used to group the types included in 21489 * the data types section. Each label is accompanied by a type ID i. A given 21490 * label refers to the group of types whose IDs are in the range [0, i]. 21491 * 21492 * Data object and function records are stored in the same order as they appear 21493 * in the corresponding symbol table, except that symbols marked SHN_UNDEF are 21494 * not stored and symbols that have no type data are padded out with zeroes. 21495 * For each data object, the type ID (a small integer) is recorded. For each 21496 * function, the type ID of the return type and argument types is recorded. 21497 * 21498 * The data types section is a list of variable size records that represent each 21499 * type, in order by their ID. The types themselves form a directed graph, 21500 * where each node may contain one or more outgoing edges to other type nodes, 21501 * denoted by their ID. 21502 * 21503 * Strings are recorded as a string table ID (0 or 1) and a byte offset into the 21504 * string table. String table 0 is the internal CTF string table. String table 21505 * 1 is the external string table, which is the string table associated with the 21506 * ELF symbol table for this object. CTF does not record any strings that are 21507 * already in the symbol table, and the CTF string table does not contain any 21508 * duplicated strings. 21509 * 21510 * If the CTF data has been merged with another parent CTF object, some outgoing 21511 * edges may refer to type nodes that exist in another CTF object. The debugger 21512 * and libctf library are responsible for connecting the appropriate objects 21513 * together so that the full set of types can be explored and manipulated. 21514 */ 21515 21516 21517 21518 21519 21520 21521 21522 /* See ctf_type_t */ 21523 21524 21525 21526 21527 typedef struct ctf_preamble { 21528 ushort_t ctp_magic; /* magic number (CTF_MAGIC) */ 21529 uchar_t ctp_version; /* data format version number (CTF_VERSION) */ 21530 uchar_t ctp_flags; /* flags (see below) */ 21531 } ctf_preamble_t; 21532 21533 typedef struct ctf_header { 21534 ctf_preamble_t cth_preamble; 21535 uint_t cth_parlabel; /* ref to name of parent lbl uniq'd against */ 21536 uint_t cth_parname; /* ref to basename of parent */ 21537 uint_t cth_lbloff; /* offset of label section */ 21538 uint_t cth_objtoff; /* offset of object section */ 21539 uint_t cth_funcoff; /* offset of function section */ 21540 uint_t cth_typeoff; /* offset of type section */ 21541 uint_t cth_stroff; /* offset of string section */ 21542 uint_t cth_strlen; /* length of string section in bytes */ 21543 } ctf_header_t; 21544 # 148 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 21545 /* data format version number */ 21546 21547 21548 21549 21550 21551 21552 typedef struct ctf_lblent { 21553 uint_t ctl_label; /* ref to name of label */ 21554 uint_t ctl_typeidx; /* last type associated with this label */ 21555 } ctf_lblent_t; 21556 21557 typedef struct ctf_stype { 21558 uint_t ctt_name; /* reference to name in string table */ 21559 ushort_t ctt_info; /* encoded kind, variant length (see below) */ 21560 union { 21561 ushort_t _size; /* size of entire type in bytes */ 21562 ushort_t _type; /* reference to another type */ 21563 } _u; 21564 } ctf_stype_t; 21565 21566 /* 21567 * type sizes, measured in bytes, come in two flavors. 99% of them fit within 21568 * (USHRT_MAX - 1), and thus can be stored in the ctt_size member of a 21569 * ctf_stype_t. The maximum value for these sizes is CTF_MAX_SIZE. The sizes 21570 * larger than CTF_MAX_SIZE must be stored in the ctt_lsize member of a 21571 * ctf_type_t. Use of this member is indicated by the presence of 21572 * CTF_LSIZE_SENT in ctt_size. 21573 */ 21574 typedef struct ctf_type { 21575 uint_t ctt_name; /* reference to name in string table */ 21576 ushort_t ctt_info; /* encoded kind, variant length (see below) */ 21577 union { 21578 ushort_t _size; /* always CTF_LSIZE_SENT */ 21579 ushort_t _type; /* do not use */ 21580 } _u; 21581 uint_t ctt_lsizehi; /* high 32 bits of type size in bytes */ 21582 uint_t ctt_lsizelo; /* low 32 bits of type size in bytes */ 21583 } ctf_type_t; 21584 21585 21586 21587 21588 /* 21589 * The following macros compose and decompose values for ctt_info and 21590 * ctt_name, as well as other structures that contain name references. 21591 * 21592 * ------------------------ 21593 * ctt_info: | kind | isroot | vlen | 21594 * ------------------------ 21595 * 15 11 10 9 0 21596 * 21597 * kind = CTF_INFO_KIND(c.ctt_info); <-- CTF_K_* value (see below) 21598 * vlen = CTF_INFO_VLEN(c.ctt_info); <-- length of variable data list 21599 * 21600 * stid = CTF_NAME_STID(c.ctt_name); <-- string table id number (0 or 1) 21601 * offset = CTF_NAME_OFFSET(c.ctt_name); <-- string table byte offset 21602 * 21603 * c.ctt_info = CTF_TYPE_INFO(kind, vlen); 21604 * c.ctt_name = CTF_TYPE_NAME(stid, offset); 21605 */ 21606 # 251 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 21607 /* 21608 * Values for CTF_TYPE_KIND(). If the kind has an associated data list, 21609 * CTF_INFO_VLEN() will extract the number of elements in the list, and 21610 * the type of each element is shown in the comments below. 21611 */ 21612 21613 21614 21615 21616 21617 21618 /* list of argument types (ushort_t's) */ 21619 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 21620 /* 21621 * Values for ctt_type when kind is CTF_K_INTEGER. The flags, offset in bits, 21622 * and size in bits are encoded as a single word using the following macros. 21623 */ 21624 # 290 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 21625 /* 21626 * Values for ctt_type when kind is CTF_K_FLOAT. The encoding, offset in bits, 21627 * and size in bits are encoded as a single word using the following macros. 21628 */ 21629 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf.h" 21630 typedef struct ctf_array { 21631 ushort_t cta_contents; /* reference to type of array contents */ 21632 ushort_t cta_index; /* reference to type of array index */ 21633 uint_t cta_nelems; /* number of elements */ 21634 } ctf_array_t; 21635 21636 /* 21637 * Most structure members have bit offsets that can be expressed using a 21638 * short. Some don't. ctf_member_t is used for structs which cannot 21639 * contain any of these large offsets, whereas ctf_lmember_t is used in the 21640 * latter case. If ctt_size for a given struct is >= 8192 bytes, all members 21641 * will be stored as type ctf_lmember_t. 21642 */ 21643 21644 21645 21646 typedef struct ctf_member { 21647 uint_t ctm_name; /* reference to name in string table */ 21648 ushort_t ctm_type; /* reference to type of member */ 21649 ushort_t ctm_offset; /* offset of this member in bits */ 21650 } ctf_member_t; 21651 21652 typedef struct ctf_lmember { 21653 uint_t ctlm_name; /* reference to name in string table */ 21654 ushort_t ctlm_type; /* reference to type of member */ 21655 ushort_t ctlm_pad; /* padding */ 21656 uint_t ctlm_offsethi; /* high 32 bits of member offset in bits */ 21657 uint_t ctlm_offsetlo; /* low 32 bits of member offset in bits */ 21658 } ctf_lmember_t; 21659 21660 21661 21662 21663 21664 21665 typedef struct ctf_enum { 21666 uint_t cte_name; /* reference to name in string table */ 21667 int cte_value; /* value associated with this name */ 21668 } ctf_enum_t; 21669 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 2 21670 21671 21672 21673 21674 21675 /* 21676 * Clients can open one or more CTF containers and obtain a pointer to an 21677 * opaque ctf_file_t. Types are identified by an opaque ctf_id_t token. 21678 * These opaque definitions allow libctf to evolve without breaking clients. 21679 */ 21680 typedef struct ctf_file ctf_file_t; 21681 typedef long ctf_id_t; 21682 21683 21684 21685 enum { 21686 ECTF_FMT = 1000, /* file is not in CTF or ELF format */ 21687 ECTF_ELFVERS, /* ELF version is more recent than libctf */ 21688 ECTF_CTFVERS, /* CTF version is more recent than libctf */ 21689 ECTF_ENDIAN, /* data is different endian-ness than lib */ 21690 ECTF_SYMTAB, /* symbol table uses invalid entry size */ 21691 ECTF_SYMBAD, /* symbol table data buffer invalid */ 21692 ECTF_STRBAD, /* string table data buffer invalid */ 21693 ECTF_CORRUPT, /* file data corruption detected */ 21694 ECTF_NOCTFDATA, /* ELF file does not contain CTF data */ 21695 ECTF_NOCTFBUF, /* buffer does not contain CTF data */ 21696 ECTF_NOSYMTAB, /* symbol table data is not available */ 21697 ECTF_NOPARENT, /* parent CTF container is not available */ 21698 ECTF_DMODEL, /* data model mismatch */ 21699 ECTF_MMAP, /* failed to mmap a data section */ 21700 ECTF_ZMISSING, /* decompression library not installed */ 21701 ECTF_ZINIT, /* failed to initialize decompression library */ 21702 ECTF_ZALLOC, /* failed to allocate decompression buffer */ 21703 ECTF_DECOMPRESS, /* failed to decompress CTF data */ 21704 ECTF_STRTAB, /* string table for this string is missing */ 21705 ECTF_BADNAME, /* string offset is corrupt w.r.t. strtab */ 21706 ECTF_BADID, /* invalid type ID number */ 21707 ECTF_NOTSOU, /* type is not a struct or union */ 21708 ECTF_NOTENUM, /* type is not an enum */ 21709 ECTF_NOTSUE, /* type is not a struct, union, or enum */ 21710 ECTF_NOTINTFP, /* type is not an integer or float */ 21711 ECTF_NOTARRAY, /* type is not an array */ 21712 ECTF_NOTREF, /* type does not reference another type */ 21713 ECTF_NAMELEN, /* buffer is too small to hold type name */ 21714 ECTF_NOTYPE, /* no type found corresponding to name */ 21715 ECTF_SYNTAX, /* syntax error in type name */ 21716 ECTF_NOTFUNC, /* symtab entry does not refer to a function */ 21717 ECTF_NOFUNCDAT, /* no func info available for function */ 21718 ECTF_NOTDATA, /* symtab entry does not refer to a data obj */ 21719 ECTF_NOTYPEDAT, /* no type info available for object */ 21720 ECTF_NOLABEL, /* no label found corresponding to name */ 21721 ECTF_NOLABELDATA, /* file does not contain any labels */ 21722 ECTF_NOTSUP, /* feature not supported */ 21723 ECTF_NOENUMNAM, /* enum element name not found */ 21724 ECTF_NOMEMBNAM, /* member name not found */ 21725 ECTF_RDONLY, /* CTF container is read-only */ 21726 ECTF_DTFULL, /* CTF type is full (no more members allowed) */ 21727 ECTF_FULL, /* CTF container is full */ 21728 ECTF_DUPMEMBER, /* duplicate member name definition */ 21729 ECTF_CONFLICT, /* conflicting type definition present */ 21730 ECTF_REFERENCED, /* type has outstanding references */ 21731 ECTF_NOTDYN, /* type is not a dynamic type */ 21732 ECTF_ELF, /* elf library failure */ 21733 ECTF_MCHILD, /* cannot merge child container */ 21734 ECTF_LABELEXISTS, /* label already exists */ 21735 ECTF_LCONFLICT, /* merged labels conflict */ 21736 ECTF_ZLIB, /* zlib library failure */ 21737 ECTF_CONVBKERR, /* CTF conversion backend error */ 21738 ECTF_CONVNOCSRC, /* No C source to convert from */ 21739 ECTF_NOCONVBKEND /* No applicable conversion backend */ 21740 }; 21741 21742 /* 21743 * If the debugger needs to provide the CTF library with a set of raw buffers 21744 * for use as the CTF data, symbol table, and string table, it can do so by 21745 * filling in ctf_sect_t structures and passing them to ctf_bufopen(): 21746 */ 21747 typedef struct ctf_sect { 21748 const char *cts_name; /* section name (if any) */ 21749 ulong_t cts_type; /* section type (ELF SHT_... value) */ 21750 ulong_t cts_flags; /* section flags (ELF SHF_... value) */ 21751 const void *cts_data; /* pointer to section data */ 21752 size_t cts_size; /* size of data in bytes */ 21753 size_t cts_entsize; /* size of each section entry (symtab only) */ 21754 off64_t cts_offset; /* file offset of this section (if any) */ 21755 } ctf_sect_t; 21756 21757 /* 21758 * Encoding information for integers, floating-point values, and certain other 21759 * intrinsics can be obtained by calling ctf_type_encoding(), below. The flags 21760 * field will contain values appropriate for the type defined in <sys/ctf.h>. 21761 */ 21762 typedef struct ctf_encoding { 21763 uint_t cte_format; /* data format (CTF_INT_* or CTF_FP_* flags) */ 21764 uint_t cte_offset; /* offset of value in bits */ 21765 uint_t cte_bits; /* size of storage in bits */ 21766 } ctf_encoding_t; 21767 21768 typedef struct ctf_membinfo { 21769 ctf_id_t ctm_type; /* type of struct or union member */ 21770 ulong_t ctm_offset; /* offset of member in bits */ 21771 } ctf_membinfo_t; 21772 21773 typedef struct ctf_arinfo { 21774 ctf_id_t ctr_contents; /* type of array contents */ 21775 ctf_id_t ctr_index; /* type of array index */ 21776 uint_t ctr_nelems; /* number of elements */ 21777 } ctf_arinfo_t; 21778 21779 typedef struct ctf_funcinfo { 21780 ctf_id_t ctc_return; /* function return type */ 21781 uint_t ctc_argc; /* number of typed arguments to function */ 21782 uint_t ctc_flags; /* function attributes (see below) */ 21783 } ctf_funcinfo_t; 21784 21785 typedef struct ctf_lblinfo { 21786 ctf_id_t ctb_typeidx; /* last type associated with the label */ 21787 } ctf_lblinfo_t; 21788 21789 21790 21791 /* 21792 * Functions that return integer status or a ctf_id_t use the following value 21793 * to indicate failure. ctf_errno() can be used to obtain an error code. 21794 */ 21795 21796 21797 /* 21798 * The CTF data model is inferred to be the caller's data model or the data 21799 * model of the given object, unless ctf_setmodel() is explicitly called. 21800 */ 21801 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ctf_api.h" 21802 /* 21803 * Dynamic CTF containers can be created using ctf_create(). The ctf_add_* 21804 * routines can be used to add new definitions to the dynamic container. 21805 * New types are labeled as root or non-root to determine whether they are 21806 * visible at the top-level program scope when subsequently doing a lookup. 21807 */ 21808 21809 21810 21811 /* 21812 * These typedefs are used to define the signature for callback functions 21813 * that can be used with the iteration and visit functions below: 21814 */ 21815 typedef int ctf_visit_f(const char *, ctf_id_t, ulong_t, int, void *); 21816 typedef int ctf_member_f(const char *, ctf_id_t, ulong_t, void *); 21817 typedef int ctf_enum_f(const char *, int, void *); 21818 typedef int ctf_type_f(ctf_id_t, boolean_t, void *); 21819 typedef int ctf_label_f(const char *, const ctf_lblinfo_t *, void *); 21820 typedef int ctf_function_f(const char *, ulong_t, ctf_funcinfo_t *, void *); 21821 typedef int ctf_object_f(const char *, ctf_id_t, ulong_t, void *); 21822 typedef int ctf_string_f(const char *, void *); 21823 21824 extern ctf_file_t *ctf_bufopen(const ctf_sect_t *, const ctf_sect_t *, 21825 const ctf_sect_t *, int *); 21826 extern ctf_file_t *ctf_fdopen(int, int *); 21827 extern ctf_file_t *ctf_open(const char *, int *); 21828 extern ctf_file_t *ctf_create(int *); 21829 extern ctf_file_t *ctf_fdcreate(int, int *); 21830 extern ctf_file_t *ctf_dup(ctf_file_t *); 21831 extern void ctf_close(ctf_file_t *); 21832 21833 extern ctf_file_t *ctf_parent_file(ctf_file_t *); 21834 extern const char *ctf_parent_name(ctf_file_t *); 21835 extern const char *ctf_parent_label(ctf_file_t *); 21836 21837 extern int ctf_import(ctf_file_t *, ctf_file_t *); 21838 extern int ctf_setmodel(ctf_file_t *, int); 21839 extern int ctf_getmodel(ctf_file_t *); 21840 21841 extern void ctf_setspecific(ctf_file_t *, void *); 21842 extern void *ctf_getspecific(ctf_file_t *); 21843 21844 extern int ctf_errno(ctf_file_t *); 21845 extern uint_t ctf_flags(ctf_file_t *); 21846 extern const char *ctf_errmsg(int); 21847 extern int ctf_version(int); 21848 21849 extern ctf_id_t ctf_max_id(ctf_file_t *); 21850 extern ulong_t ctf_nr_syms(ctf_file_t *); 21851 21852 extern int ctf_func_info(ctf_file_t *, ulong_t, ctf_funcinfo_t *); 21853 extern int ctf_func_info_by_id(ctf_file_t *, ctf_id_t, ctf_funcinfo_t *); 21854 extern int ctf_func_args(ctf_file_t *, ulong_t, uint_t, ctf_id_t *); 21855 extern int ctf_func_args_by_id(ctf_file_t *, ctf_id_t, uint_t, ctf_id_t *); 21856 21857 extern ctf_id_t ctf_lookup_by_name(ctf_file_t *, const char *); 21858 extern ctf_id_t ctf_lookup_by_symbol(ctf_file_t *, ulong_t); 21859 21860 extern char *ctf_symbol_name(ctf_file_t *, ulong_t, char *, size_t); 21861 21862 extern ctf_id_t ctf_type_resolve(ctf_file_t *, ctf_id_t); 21863 extern ssize_t ctf_type_lname(ctf_file_t *, ctf_id_t, char *, size_t); 21864 extern char *ctf_type_name(ctf_file_t *, ctf_id_t, char *, size_t); 21865 extern char *ctf_type_qname(ctf_file_t *, ctf_id_t, char *, size_t, 21866 const char *); 21867 extern char *ctf_type_cname(ctf_file_t *, ctf_id_t, char *, size_t, 21868 const char *); 21869 extern ssize_t ctf_type_size(ctf_file_t *, ctf_id_t); 21870 extern ssize_t ctf_type_align(ctf_file_t *, ctf_id_t); 21871 extern int ctf_type_kind(ctf_file_t *, ctf_id_t); 21872 extern const char *ctf_kind_name(ctf_file_t *, int); 21873 extern ctf_id_t ctf_type_reference(ctf_file_t *, ctf_id_t); 21874 extern ctf_id_t ctf_type_pointer(ctf_file_t *, ctf_id_t); 21875 extern int ctf_type_encoding(ctf_file_t *, ctf_id_t, ctf_encoding_t *); 21876 extern int ctf_type_visit(ctf_file_t *, ctf_id_t, ctf_visit_f *, void *); 21877 extern int ctf_type_cmp(ctf_file_t *, ctf_id_t, ctf_file_t *, ctf_id_t); 21878 extern int ctf_type_compat(ctf_file_t *, ctf_id_t, ctf_file_t *, ctf_id_t); 21879 21880 extern int ctf_member_info(ctf_file_t *, ctf_id_t, const char *, 21881 ctf_membinfo_t *); 21882 extern int ctf_array_info(ctf_file_t *, ctf_id_t, ctf_arinfo_t *); 21883 21884 extern const char *ctf_enum_name(ctf_file_t *, ctf_id_t, int); 21885 extern int ctf_enum_value(ctf_file_t *, ctf_id_t, const char *, int *); 21886 21887 extern const char *ctf_label_topmost(ctf_file_t *); 21888 extern int ctf_label_info(ctf_file_t *, const char *, ctf_lblinfo_t *); 21889 21890 extern int ctf_member_iter(ctf_file_t *, ctf_id_t, ctf_member_f *, void *); 21891 extern int ctf_enum_iter(ctf_file_t *, ctf_id_t, ctf_enum_f *, void *); 21892 extern int ctf_type_iter(ctf_file_t *, boolean_t, ctf_type_f *, void *); 21893 extern int ctf_label_iter(ctf_file_t *, ctf_label_f *, void *); 21894 extern int ctf_function_iter(ctf_file_t *, ctf_function_f *, void *); 21895 extern int ctf_object_iter(ctf_file_t *, ctf_object_f *, void *); 21896 extern int ctf_string_iter(ctf_file_t *, ctf_string_f *, void *); 21897 21898 extern ctf_id_t ctf_add_array(ctf_file_t *, uint_t, const ctf_arinfo_t *); 21899 extern ctf_id_t ctf_add_const(ctf_file_t *, uint_t, const char *, ctf_id_t); 21900 extern ctf_id_t ctf_add_enum(ctf_file_t *, uint_t, const char *); 21901 extern ctf_id_t ctf_add_float(ctf_file_t *, uint_t, 21902 const char *, const ctf_encoding_t *); 21903 extern ctf_id_t ctf_add_forward(ctf_file_t *, uint_t, const char *, uint_t); 21904 extern ctf_id_t ctf_add_funcptr(ctf_file_t *, uint_t, const ctf_funcinfo_t *, 21905 const ctf_id_t *); 21906 extern ctf_id_t ctf_add_integer(ctf_file_t *, uint_t, 21907 const char *, const ctf_encoding_t *); 21908 extern ctf_id_t ctf_add_pointer(ctf_file_t *, uint_t, const char *, ctf_id_t); 21909 extern ctf_id_t ctf_add_type(ctf_file_t *, ctf_file_t *, ctf_id_t); 21910 extern ctf_id_t ctf_add_typedef(ctf_file_t *, uint_t, const char *, ctf_id_t); 21911 extern ctf_id_t ctf_add_restrict(ctf_file_t *, uint_t, const char *, ctf_id_t); 21912 extern ctf_id_t ctf_add_struct(ctf_file_t *, uint_t, const char *); 21913 extern ctf_id_t ctf_add_union(ctf_file_t *, uint_t, const char *); 21914 extern ctf_id_t ctf_add_volatile(ctf_file_t *, uint_t, const char *, ctf_id_t); 21915 21916 extern int ctf_add_enumerator(ctf_file_t *, ctf_id_t, const char *, int); 21917 extern int ctf_add_member(ctf_file_t *, ctf_id_t, const char *, ctf_id_t, 21918 ulong_t); 21919 21920 21921 extern int ctf_add_function(ctf_file_t *, ulong_t, const ctf_funcinfo_t *, 21922 const ctf_id_t *); 21923 extern int ctf_add_object(ctf_file_t *, ulong_t, ctf_id_t); 21924 extern int ctf_add_label(ctf_file_t *, const char *, ctf_id_t, uint_t); 21925 21926 extern int ctf_set_array(ctf_file_t *, ctf_id_t, const ctf_arinfo_t *); 21927 extern int ctf_set_root(ctf_file_t *, ctf_id_t, const boolean_t); 21928 extern int ctf_set_size(ctf_file_t *, ctf_id_t, const ulong_t); 21929 21930 extern int ctf_delete_type(ctf_file_t *, ctf_id_t); 21931 21932 extern int ctf_update(ctf_file_t *); 21933 extern int ctf_discard(ctf_file_t *); 21934 extern int ctf_write(ctf_file_t *, int); 21935 extern void ctf_dataptr(ctf_file_t *, const void **, size_t *); 21936 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 2 21937 21938 21939 21940 21941 21942 /* 21943 * This flag can be used to enable debug messages. 21944 */ 21945 extern int _libctf_debug; 21946 21947 typedef enum ctf_diff_flag { 21948 CTF_DIFF_F_IGNORE_INTNAMES = 0x01 21949 } ctf_diff_flag_t; 21950 21951 typedef struct ctf_diff ctf_diff_t; 21952 typedef void (*ctf_diff_type_f)(ctf_file_t *, ctf_id_t, boolean_t, ctf_file_t *, 21953 ctf_id_t, void *); 21954 typedef void (*ctf_diff_func_f)(ctf_file_t *, ulong_t, boolean_t, ctf_file_t *, 21955 ulong_t, void *); 21956 typedef void (*ctf_diff_obj_f)(ctf_file_t *, ulong_t, ctf_id_t, boolean_t, 21957 ctf_file_t *, ulong_t, ctf_id_t, void *); 21958 21959 extern int ctf_diff_init(ctf_file_t *, ctf_file_t *, ctf_diff_t **); 21960 extern uint_t ctf_diff_getflags(ctf_diff_t *); 21961 extern int ctf_diff_setflags(ctf_diff_t *, uint_t); 21962 extern int ctf_diff_types(ctf_diff_t *, ctf_diff_type_f, void *); 21963 extern int ctf_diff_functions(ctf_diff_t *, ctf_diff_func_f, void *); 21964 extern int ctf_diff_objects(ctf_diff_t *, ctf_diff_obj_f, void *); 21965 extern void ctf_diff_fini(ctf_diff_t *); 21966 21967 21968 extern ctf_file_t *ctf_fdconvert(int, const char *, uint_t, uint_t, int *, 21969 char *, size_t); 21970 21971 typedef struct ctf_merge_handle ctf_merge_t; 21972 extern ctf_merge_t *ctf_merge_init(int, int *); 21973 extern int ctf_merge_add(ctf_merge_t *, ctf_file_t *); 21974 extern int ctf_merge_set_nthreads(ctf_merge_t *, const uint_t); 21975 extern int ctf_merge_label(ctf_merge_t *, const char *); 21976 extern int ctf_merge_uniquify(ctf_merge_t *, ctf_file_t *, const char *); 21977 extern int ctf_merge_merge(ctf_merge_t *, ctf_file_t **); 21978 extern int ctf_merge_dedup(ctf_merge_t *, ctf_file_t **); 21979 extern void ctf_merge_fini(ctf_merge_t *); 21980 21981 21982 extern int ctf_elffdwrite(ctf_file_t *, int, int, int); 21983 extern int ctf_elfwrite(ctf_file_t *, const char *, const char *, int); 21984 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 21985 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stat.h" 1 21986 /* 21987 * CDDL HEADER START 21988 * 21989 * The contents of this file are subject to the terms of the 21990 * Common Development and Distribution License (the "License"). 21991 * You may not use this file except in compliance with the License. 21992 * 21993 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 21994 * or http://www.opensolaris.org/os/licensing. 21995 * See the License for the specific language governing permissions 21996 * and limitations under the License. 21997 * 21998 * When distributing Covered Code, include this CDDL HEADER in each 21999 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22000 * If applicable, add the following below this CDDL HEADER, with the 22001 * fields enclosed by brackets "[]" replaced with your own identifying 22002 * information: Portions Copyright [yyyy] [name of copyright owner] 22003 * 22004 * CDDL HEADER END 22005 */ 22006 22007 /* 22008 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22009 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 22010 */ 22011 22012 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 22013 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 22014 /* All Rights Reserved */ 22015 # 63 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 22016 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 1 22017 /* 22018 * CDDL HEADER START 22019 * 22020 * The contents of this file are subject to the terms of the 22021 * Common Development and Distribution License, Version 1.0 only 22022 * (the "License"). You may not use this file except in compliance 22023 * with the License. 22024 * 22025 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22026 * or http://www.opensolaris.org/os/licensing. 22027 * See the License for the specific language governing permissions 22028 * and limitations under the License. 22029 * 22030 * When distributing Covered Code, include this CDDL HEADER in each 22031 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22032 * If applicable, add the following below this CDDL HEADER, with the 22033 * fields enclosed by brackets "[]" replaced with your own identifying 22034 * information: Portions Copyright [yyyy] [name of copyright owner] 22035 * 22036 * CDDL HEADER END 22037 */ 22038 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22039 /* All Rights Reserved */ 22040 22041 /* 22042 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22043 * 22044 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 22045 * Use is subject to license terms. 22046 */ 22047 22048 22049 22050 22051 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 22052 /* 22053 * CDDL HEADER START 22054 * 22055 * The contents of this file are subject to the terms of the 22056 * Common Development and Distribution License (the "License"). 22057 * You may not use this file except in compliance with the License. 22058 * 22059 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22060 * or http://www.opensolaris.org/os/licensing. 22061 * See the License for the specific language governing permissions 22062 * and limitations under the License. 22063 * 22064 * When distributing Covered Code, include this CDDL HEADER in each 22065 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22066 * If applicable, add the following below this CDDL HEADER, with the 22067 * fields enclosed by brackets "[]" replaced with your own identifying 22068 * information: Portions Copyright [yyyy] [name of copyright owner] 22069 * 22070 * CDDL HEADER END 22071 */ 22072 22073 /* 22074 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 22075 * Copyright 2016 Joyent, Inc. 22076 * 22077 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22078 * Use is subject to license terms. 22079 */ 22080 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 2 22081 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 22082 /* 22083 * CDDL HEADER START 22084 * 22085 * The contents of this file are subject to the terms of the 22086 * Common Development and Distribution License (the "License"). 22087 * You may not use this file except in compliance with the License. 22088 * 22089 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22090 * or http://www.opensolaris.org/os/licensing. 22091 * See the License for the specific language governing permissions 22092 * and limitations under the License. 22093 * 22094 * When distributing Covered Code, include this CDDL HEADER in each 22095 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22096 * If applicable, add the following below this CDDL HEADER, with the 22097 * fields enclosed by brackets "[]" replaced with your own identifying 22098 * information: Portions Copyright [yyyy] [name of copyright owner] 22099 * 22100 * CDDL HEADER END 22101 */ 22102 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22103 /* All Rights Reserved */ 22104 22105 22106 /* 22107 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22108 * Use is subject to license terms. 22109 * 22110 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22111 * Copyright 2016 Joyent, Inc. 22112 */ 22113 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 2 22114 22115 22116 22117 22118 22119 /* 22120 * Structure returned by statvfs(2). 22121 */ 22122 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 22123 typedef struct statvfs { 22124 unsigned long f_bsize; /* fundamental file system block size */ 22125 unsigned long f_frsize; /* fragment size */ 22126 fsblkcnt_t f_blocks; /* total blocks of f_frsize on fs */ 22127 fsblkcnt_t f_bfree; /* total free blocks of f_frsize */ 22128 fsblkcnt_t f_bavail; /* free blocks avail to non-superuser */ 22129 fsfilcnt_t f_files; /* total file nodes (inodes) */ 22130 fsfilcnt_t f_ffree; /* total free file nodes */ 22131 fsfilcnt_t f_favail; /* free nodes avail to non-superuser */ 22132 unsigned long f_fsid; /* file system id (dev for now) */ 22133 char f_basetype[16]; /* target fs type name, */ 22134 /* null-terminated */ 22135 unsigned long f_flag; /* bit-mask of flags */ 22136 unsigned long f_namemax; /* maximum file name length */ 22137 char f_fstr[32]; /* filesystem-specific string */ 22138 22139 unsigned long f_filler[16]; /* reserved for future expansion */ 22140 22141 } statvfs_t; 22142 # 97 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 22143 /* transitional large file interface version */ 22144 22145 typedef struct statvfs64 { 22146 unsigned long f_bsize; /* preferred file system block size */ 22147 unsigned long f_frsize; /* fundamental file system block size */ 22148 fsblkcnt64_t f_blocks; /* total blocks of f_frsize */ 22149 fsblkcnt64_t f_bfree; /* total free blocks of f_frsize */ 22150 fsblkcnt64_t f_bavail; /* free blocks avail to non-superuser */ 22151 fsfilcnt64_t f_files; /* total # of file nodes (inodes) */ 22152 fsfilcnt64_t f_ffree; /* total # of free file nodes */ 22153 fsfilcnt64_t f_favail; /* free nodes avail to non-superuser */ 22154 unsigned long f_fsid; /* file system id (dev for now) */ 22155 char f_basetype[16]; /* target fs type name, */ 22156 /* null-terminated */ 22157 unsigned long f_flag; /* bit-mask of flags */ 22158 unsigned long f_namemax; /* maximum file name length */ 22159 char f_fstr[32]; /* filesystem-specific string */ 22160 22161 unsigned long f_filler[16]; /* reserved for future expansion */ 22162 22163 } statvfs64_t; 22164 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 22165 /* 22166 * Flag definitions. 22167 */ 22168 22169 22170 22171 22172 22173 22174 /* 22175 * large file compilation environment setup 22176 */ 22177 # 190 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/statvfs.h" 22178 int statvfs(const char *, statvfs_t *); 22179 int fstatvfs(int, statvfs_t *); 22180 22181 /* transitional large file interface versions */ 22182 22183 22184 int statvfs64(const char *, statvfs64_t *); 22185 int fstatvfs64(int, statvfs64_t *); 22186 # 64 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 22187 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/auxv.h" 1 22188 /* 22189 * CDDL HEADER START 22190 * 22191 * The contents of this file are subject to the terms of the 22192 * Common Development and Distribution License (the "License"). 22193 * You may not use this file except in compliance with the License. 22194 * 22195 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22196 * or http://www.opensolaris.org/os/licensing. 22197 * See the License for the specific language governing permissions 22198 * and limitations under the License. 22199 * 22200 * When distributing Covered Code, include this CDDL HEADER in each 22201 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22202 * If applicable, add the following below this CDDL HEADER, with the 22203 * fields enclosed by brackets "[]" replaced with your own identifying 22204 * information: Portions Copyright [yyyy] [name of copyright owner] 22205 * 22206 * CDDL HEADER END 22207 */ 22208 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22209 /* All Rights Reserved */ 22210 22211 22212 /* 22213 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22214 * 22215 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 22216 * Use is subject to license terms. 22217 */ 22218 /* 22219 * Copyright 2016 Joyent, Inc. 22220 */ 22221 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 22222 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/resource.h" 1 22223 /* 22224 * CDDL HEADER START 22225 * 22226 * The contents of this file are subject to the terms of the 22227 * Common Development and Distribution License (the "License"). 22228 * You may not use this file except in compliance with the License. 22229 * 22230 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22231 * or http://www.opensolaris.org/os/licensing. 22232 * See the License for the specific language governing permissions 22233 * and limitations under the License. 22234 * 22235 * When distributing Covered Code, include this CDDL HEADER in each 22236 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22237 * If applicable, add the following below this CDDL HEADER, with the 22238 * fields enclosed by brackets "[]" replaced with your own identifying 22239 * information: Portions Copyright [yyyy] [name of copyright owner] 22240 * 22241 * CDDL HEADER END 22242 */ 22243 /* 22244 * Copyright 2014 Garrrett D'Amore <garrett@damore.org> 22245 * 22246 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22247 * Use is subject to license terms. 22248 */ 22249 22250 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22251 /* All Rights Reserved */ 22252 22253 /* 22254 * University Copyright- Copyright (c) 1982, 1986, 1988 22255 * The Regents of the University of California 22256 * All Rights Reserved 22257 * 22258 * University Acknowledgment- Portions of this document are derived from 22259 * software developed by the University of California, Berkeley, and its 22260 * contributors. 22261 */ 22262 # 66 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 22263 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 1 22264 /* 22265 * CDDL HEADER START 22266 * 22267 * The contents of this file are subject to the terms of the 22268 * Common Development and Distribution License (the "License"). 22269 * You may not use this file except in compliance with the License. 22270 * 22271 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22272 * or http://www.opensolaris.org/os/licensing. 22273 * See the License for the specific language governing permissions 22274 * and limitations under the License. 22275 * 22276 * When distributing Covered Code, include this CDDL HEADER in each 22277 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22278 * If applicable, add the following below this CDDL HEADER, with the 22279 * fields enclosed by brackets "[]" replaced with your own identifying 22280 * information: Portions Copyright [yyyy] [name of copyright owner] 22281 * 22282 * CDDL HEADER END 22283 */ 22284 /* 22285 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22286 * 22287 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 22288 */ 22289 22290 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 22291 /* All Rights Reserved */ 22292 22293 /* 22294 * University Copyright- Copyright (c) 1982, 1986, 1988 22295 * The Regents of the University of California 22296 * All Rights Reserved 22297 * 22298 * University Acknowledgment- Portions of this document are derived from 22299 * software developed by the University of California, Berkeley, and its 22300 * contributors. 22301 */ 22302 22303 /* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ 22304 22305 22306 22307 22308 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 22309 /* 22310 * CDDL HEADER START 22311 * 22312 * The contents of this file are subject to the terms of the 22313 * Common Development and Distribution License (the "License"). 22314 * You may not use this file except in compliance with the License. 22315 * 22316 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22317 * or http://www.opensolaris.org/os/licensing. 22318 * See the License for the specific language governing permissions 22319 * and limitations under the License. 22320 * 22321 * When distributing Covered Code, include this CDDL HEADER in each 22322 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22323 * If applicable, add the following below this CDDL HEADER, with the 22324 * fields enclosed by brackets "[]" replaced with your own identifying 22325 * information: Portions Copyright [yyyy] [name of copyright owner] 22326 * 22327 * CDDL HEADER END 22328 */ 22329 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22330 /* All Rights Reserved */ 22331 22332 22333 /* 22334 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22335 * Use is subject to license terms. 22336 * 22337 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22338 * Copyright 2016 Joyent, Inc. 22339 */ 22340 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 22341 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 1 22342 /* 22343 * CDDL HEADER START 22344 * 22345 * The contents of this file are subject to the terms of the 22346 * Common Development and Distribution License (the "License"). 22347 * You may not use this file except in compliance with the License. 22348 * 22349 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22350 * or http://www.opensolaris.org/os/licensing. 22351 * See the License for the specific language governing permissions 22352 * and limitations under the License. 22353 * 22354 * When distributing Covered Code, include this CDDL HEADER in each 22355 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22356 * If applicable, add the following below this CDDL HEADER, with the 22357 * fields enclosed by brackets "[]" replaced with your own identifying 22358 * information: Portions Copyright [yyyy] [name of copyright owner] 22359 * 22360 * CDDL HEADER END 22361 */ 22362 /* 22363 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22364 * 22365 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 22366 * Use is subject to license terms. 22367 * 22368 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22369 * Copyright (c) 2015, Joyent, Inc. All rights reserved. 22370 */ 22371 22372 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22373 /* All Rights Reserved */ 22374 22375 /* 22376 * University Copyright- Copyright (c) 1982, 1986, 1988 22377 * The Regents of the University of California 22378 * All Rights Reserved 22379 * 22380 * University Acknowledgment- Portions of this document are derived from 22381 * software developed by the University of California, Berkeley, and its 22382 * contributors. 22383 */ 22384 22385 22386 22387 22388 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 22389 /* 22390 * CDDL HEADER START 22391 * 22392 * The contents of this file are subject to the terms of the 22393 * Common Development and Distribution License (the "License"). 22394 * You may not use this file except in compliance with the License. 22395 * 22396 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22397 * or http://www.opensolaris.org/os/licensing. 22398 * See the License for the specific language governing permissions 22399 * and limitations under the License. 22400 * 22401 * When distributing Covered Code, include this CDDL HEADER in each 22402 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22403 * If applicable, add the following below this CDDL HEADER, with the 22404 * fields enclosed by brackets "[]" replaced with your own identifying 22405 * information: Portions Copyright [yyyy] [name of copyright owner] 22406 * 22407 * CDDL HEADER END 22408 */ 22409 22410 /* 22411 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 22412 * Copyright 2016 Joyent, Inc. 22413 * 22414 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22415 * Use is subject to license terms. 22416 */ 22417 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 22418 22419 22420 22421 22422 22423 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 22424 /* 22425 * CDDL HEADER START 22426 * 22427 * The contents of this file are subject to the terms of the 22428 * Common Development and Distribution License (the "License"). 22429 * You may not use this file except in compliance with the License. 22430 * 22431 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22432 * or http://www.opensolaris.org/os/licensing. 22433 * See the License for the specific language governing permissions 22434 * and limitations under the License. 22435 * 22436 * When distributing Covered Code, include this CDDL HEADER in each 22437 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22438 * If applicable, add the following below this CDDL HEADER, with the 22439 * fields enclosed by brackets "[]" replaced with your own identifying 22440 * information: Portions Copyright [yyyy] [name of copyright owner] 22441 * 22442 * CDDL HEADER END 22443 */ 22444 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22445 /* All Rights Reserved */ 22446 22447 22448 /* 22449 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22450 * Use is subject to license terms. 22451 * 22452 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 22453 * Copyright 2016 Joyent, Inc. 22454 */ 22455 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 2 22456 22457 /* 22458 * I/O parameter information. A uio structure describes the I/O which 22459 * is to be performed by an operation. Typically the data movement will 22460 * be performed by a routine such as uiomove(), which updates the uio 22461 * structure to reflect what was done. 22462 */ 22463 22464 22465 22466 22467 22468 22469 22470 typedef struct iovec { 22471 caddr_t iov_base; 22472 22473 22474 22475 long iov_len; 22476 22477 } iovec_t; 22478 # 90 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 22479 /* 22480 * Segment flag values. 22481 */ 22482 typedef enum uio_seg { UIO_USERSPACE, UIO_SYSSPACE, UIO_USERISPACE } uio_seg_t; 22483 22484 typedef struct uio { 22485 iovec_t *uio_iov; /* pointer to array of iovecs */ 22486 int uio_iovcnt; /* number of iovecs */ 22487 lloff_t _uio_offset; /* file offset */ 22488 uio_seg_t uio_segflg; /* address space (kernel or user) */ 22489 uint16_t uio_fmode; /* file mode flags */ 22490 uint16_t uio_extflg; /* extended flags */ 22491 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 22492 ssize_t uio_resid; /* residual count */ 22493 } uio_t; 22494 22495 /* 22496 * Extended uio_t uioa_t used for asynchronous uio. 22497 * 22498 * Note: UIOA_IOV_MAX is defined and used as it is in "fs/vncalls.c" 22499 * as there isn't a formal definition of IOV_MAX for the kernel. 22500 */ 22501 22502 22503 typedef struct uioa_page_s { /* locked uio_iov state */ 22504 int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ 22505 void **uioa_ppp; /* page_t or pfn_t arrary */ 22506 caddr_t uioa_base; /* address base */ 22507 size_t uioa_len; /* span length */ 22508 } uioa_page_t; 22509 22510 typedef struct uioa_s { 22511 iovec_t *uio_iov; /* pointer to array of iovecs */ 22512 int uio_iovcnt; /* number of iovecs */ 22513 lloff_t _uio_offset; /* file offset */ 22514 uio_seg_t uio_segflg; /* address space (kernel or user) */ 22515 uint16_t uio_fmode; /* file mode flags */ 22516 uint16_t uio_extflg; /* extended flags */ 22517 lloff_t _uio_limit; /* u-limit (maximum byte offset) */ 22518 ssize_t uio_resid; /* residual count */ 22519 /* 22520 * uioa extended members. 22521 */ 22522 uint32_t uioa_state; /* state of asynch i/o */ 22523 ssize_t uioa_mbytes; /* bytes that have been uioamove()ed */ 22524 uioa_page_t *uioa_lcur; /* pointer into uioa_locked[] */ 22525 void **uioa_lppp; /* pointer into lcur->uioa_ppp[] */ 22526 void *uioa_hwst[4]; /* opaque hardware state */ 22527 uioa_page_t uioa_locked[16]; /* Per iov locked pages */ 22528 } uioa_t; 22529 22530 /* 22531 * uio extensions 22532 * 22533 * PSARC 2009/478: Copy Reduction Interfaces 22534 */ 22535 typedef enum xuio_type { 22536 UIOTYPE_ASYNCIO, 22537 UIOTYPE_ZEROCOPY 22538 } xuio_type_t; 22539 22540 typedef struct xuio { 22541 uio_t xu_uio; /* Embedded UIO structure */ 22542 22543 /* Extended uio fields */ 22544 enum xuio_type xu_type; /* What kind of uio structure? */ 22545 union { 22546 /* Async I/O Support, intend to replace uioa_t. */ 22547 struct { 22548 uint32_t xu_a_state; /* state of async i/o */ 22549 /* bytes that have been uioamove()ed */ 22550 ssize_t xu_a_mbytes; 22551 uioa_page_t *xu_a_lcur; /* pointer into uioa_locked[] */ 22552 /* pointer into lcur->uioa_ppp[] */ 22553 void **xu_a_lppp; 22554 void *xu_a_hwst[4]; /* opaque hardware state */ 22555 /* Per iov locked pages */ 22556 uioa_page_t xu_a_locked[16]; 22557 } xu_aio; 22558 22559 /* 22560 * Copy Reduction Support -- facilate loaning / returning of 22561 * filesystem cache buffers. 22562 */ 22563 struct { 22564 int xu_zc_rw; /* read or write buffer */ 22565 void *xu_zc_priv; /* fs specific */ 22566 } xu_zc; 22567 } xu_ext; 22568 } xuio_t; 22569 # 207 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 22570 /* 22571 * I/O direction. 22572 */ 22573 typedef enum uio_rw { UIO_READ, UIO_WRITE } uio_rw_t; 22574 22575 /* 22576 * uio_extflg: extended flags 22577 * 22578 * NOTE: This flag will be used in uiomove to determine if non-temporal 22579 * access, ie, access bypassing caches, should be used. Filesystems that 22580 * don't initialize this field could experience suboptimal performance due to 22581 * the random data the field contains. 22582 * 22583 * NOTE: This flag is also used by uioasync callers to pass an extended 22584 * uio_t (uioa_t), to uioasync enabled consumers. Unlike above all 22585 * consumers of a uioa_t require the uio_extflg to be initialized. 22586 */ 22587 22588 22589 22590 22591 22592 22593 /* 22594 * Global uioasync capability shadow state. 22595 */ 22596 typedef struct uioasync_s { 22597 boolean_t enabled; /* Is uioasync enabled? */ 22598 size_t mincnt; /* Minimum byte count for use of */ 22599 } uioasync_t; 22600 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 22601 extern ssize_t readv(int, const struct iovec *, int); 22602 extern ssize_t writev(int, const struct iovec *, int); 22603 22604 /* 22605 * When in the large file compilation environment, 22606 * map preadv/pwritev to their 64 bit offset versions 22607 */ 22608 # 274 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 22609 /* In the LP64 compilation environment, the APIs are already large file */ 22610 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uio.h" 22611 extern ssize_t preadv(int, const struct iovec *, int, off_t); 22612 extern ssize_t pwritev(int, const struct iovec *, int, off_t); 22613 22614 /* 22615 * preadv64 and pwritev64 should be defined when: 22616 * - Using the transitional compilation environment, and not 22617 * the large file compilation environment. 22618 */ 22619 22620 22621 extern ssize_t preadv64(int, const struct iovec *, int, off64_t); 22622 extern ssize_t pwritev64(int, const struct iovec *, int, off64_t); 22623 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 22624 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 22625 /* 22626 * CDDL HEADER START 22627 * 22628 * The contents of this file are subject to the terms of the 22629 * Common Development and Distribution License (the "License"). 22630 * You may not use this file except in compliance with the License. 22631 * 22632 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22633 * or http://www.opensolaris.org/os/licensing. 22634 * See the License for the specific language governing permissions 22635 * and limitations under the License. 22636 * 22637 * When distributing Covered Code, include this CDDL HEADER in each 22638 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22639 * If applicable, add the following below this CDDL HEADER, with the 22640 * fields enclosed by brackets "[]" replaced with your own identifying 22641 * information: Portions Copyright [yyyy] [name of copyright owner] 22642 * 22643 * CDDL HEADER END 22644 */ 22645 22646 /* 22647 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 22648 * Copyright 2016 Joyent, Inc. 22649 * 22650 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22651 * Use is subject to license terms. 22652 */ 22653 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 22654 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 22655 /* 22656 * CDDL HEADER START 22657 * 22658 * The contents of this file are subject to the terms of the 22659 * Common Development and Distribution License (the "License"). 22660 * You may not use this file except in compliance with the License. 22661 * 22662 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22663 * or http://www.opensolaris.org/os/licensing. 22664 * See the License for the specific language governing permissions 22665 * and limitations under the License. 22666 * 22667 * When distributing Covered Code, include this CDDL HEADER in each 22668 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22669 * If applicable, add the following below this CDDL HEADER, with the 22670 * fields enclosed by brackets "[]" replaced with your own identifying 22671 * information: Portions Copyright [yyyy] [name of copyright owner] 22672 * 22673 * CDDL HEADER END 22674 */ 22675 /* 22676 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22677 * Use is subject to license terms. 22678 */ 22679 22680 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 22681 /* All Rights Reserved */ 22682 22683 /* 22684 * Portions of this source code were derived from Berkeley 4.3 BSD 22685 * under license from the Regents of the University of California. 22686 */ 22687 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 22688 typedef uint16_t sa_family_t; 22689 22690 22691 /* 22692 * Structure used by kernel to store most 22693 * addresses. 22694 */ 22695 struct sockaddr { 22696 sa_family_t sa_family; /* address family */ 22697 char sa_data[14]; /* up to 14 bytes of direct address */ 22698 }; 22699 22700 22701 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 1 22702 /* 22703 * CDDL HEADER START 22704 * 22705 * The contents of this file are subject to the terms of the 22706 * Common Development and Distribution License (the "License"). 22707 * You may not use this file except in compliance with the License. 22708 * 22709 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22710 * or http://www.opensolaris.org/os/licensing. 22711 * See the License for the specific language governing permissions 22712 * and limitations under the License. 22713 * 22714 * When distributing Covered Code, include this CDDL HEADER in each 22715 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22716 * If applicable, add the following below this CDDL HEADER, with the 22717 * fields enclosed by brackets "[]" replaced with your own identifying 22718 * information: Portions Copyright [yyyy] [name of copyright owner] 22719 * 22720 * CDDL HEADER END 22721 */ 22722 /* 22723 * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. 22724 */ 22725 22726 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 22727 /* All Rights Reserved */ 22728 22729 /* 22730 * University Copyright- Copyright (c) 1982, 1986, 1988 22731 * The Regents of the University of California 22732 * All Rights Reserved 22733 * 22734 * University Acknowledgment- Portions of this document are derived from 22735 * software developed by the University of California, Berkeley, and its 22736 * contributors. 22737 */ 22738 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 22739 /* 22740 * Definitions for UNIX IPC domain. 22741 */ 22742 struct sockaddr_un { 22743 sa_family_t sun_family; /* AF_UNIX */ 22744 char sun_path[108]; /* path name (gag) */ 22745 }; 22746 22747 22748 22749 /* 22750 * NOTE: If we ever go to BSD-style sun_len + sun_family, this macro needs to 22751 * change. 22752 * 22753 * Also, include a strlen() prototype, and we have to protect it w.r.t. 22754 * UNIX{98,03}. And because there's strlen, we need size_t as well. 22755 */ 22756 # 76 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/un.h" 22757 extern size_t strlen(const char *); 22758 # 57 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 22759 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/net/if_dl.h" 1 22760 /* 22761 * Copyright 1993-2003 Sun Microsystems, Inc. All rights reserved. 22762 * Use is subject to license terms. 22763 */ 22764 /* 22765 * Copyright (c) 1990, 1993 22766 * The Regents of the University of California. All rights reserved. 22767 * 22768 * Redistribution and use in source and binary forms, with or without 22769 * modification, are permitted provided that the following conditions 22770 * are met: 22771 * 1. Redistributions of source code must retain the above copyright 22772 * notice, this list of conditions and the following disclaimer. 22773 * 2. Redistributions in binary form must reproduce the above copyright 22774 * notice, this list of conditions and the following disclaimer in the 22775 * documentation and/or other materials provided with the distribution. 22776 * 3. All advertising materials mentioning features or use of this software 22777 * must display the following acknowledgement: 22778 * This product includes software developed by the University of 22779 * California, Berkeley and its contributors. 22780 * 4. Neither the name of the University nor the names of its contributors 22781 * may be used to endorse or promote products derived from this software 22782 * without specific prior written permission. 22783 * 22784 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22785 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22786 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22787 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22788 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22789 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22790 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22791 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22792 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22793 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22794 * SUCH DAMAGE. 22795 */ 22796 22797 22798 22799 22800 #pragma ident "%Z%%M% %I% %E% SMI" 22801 /* from UCB 8.1 (Berkeley) 6/10/93 */ 22802 22803 22804 22805 22806 22807 /* 22808 * A Link-Level Sockaddr may specify the interface in one of two 22809 * ways: either by means of a system-provided index number (computed 22810 * anew and possibly differently on every reboot), or by a human-readable 22811 * string such as "il0" (for managerial convenience). 22812 * 22813 * Census taking actions, such as something akin to SIOCGCONF would return 22814 * both the index and the human name. 22815 * 22816 * High volume transactions (such as giving a link-level ``from'' address 22817 * in a recvfrom or recvmsg call) may be likely only to provide the indexed 22818 * form, (which requires fewer copy operations and less space). 22819 * 22820 * The form and interpretation of the link-level address is purely a matter 22821 * of convention between the device driver and its consumers; however, it is 22822 * expected that all drivers for an interface of a given if_type will agree. 22823 */ 22824 22825 /* 22826 * Structure of a Link-Level sockaddr: 22827 */ 22828 struct sockaddr_dl { 22829 ushort_t sdl_family; /* AF_LINK */ 22830 ushort_t sdl_index; /* if != 0, system given index for interface */ 22831 uchar_t sdl_type; /* interface type */ 22832 uchar_t sdl_nlen; /* interface name length, no trailing 0 reqd. */ 22833 uchar_t sdl_alen; /* link level address length */ 22834 uchar_t sdl_slen; /* link layer selector length */ 22835 char sdl_data[244]; /* contains both if name and ll address */ 22836 }; 22837 22838 22839 22840 22841 extern char *_link_ntoa(const unsigned char *, char *, int, int); 22842 extern unsigned char *_link_aton(const char *, int *); 22843 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 2 22844 22845 22846 22847 /* 22848 * sockaddr_storage: 22849 * Common superset of at least AF_INET, AF_INET6 and AF_LINK sockaddr 22850 * structures. Has sufficient size and alignment for those sockaddrs. 22851 */ 22852 22853 /* 22854 * Desired maximum size, alignment size and related types. 22855 */ 22856 22857 22858 /* 22859 * To represent desired sockaddr max alignment for platform, a 22860 * type is chosen which may depend on implementation platform architecture. 22861 * Type chosen based on alignment size restrictions from <sys/isa_defs.h>. 22862 * We desire to force up to (but no more than) 64-bit (8 byte) alignment, 22863 * on platforms where it is possible to do so. (e.g not possible on ia32). 22864 * For all currently supported platforms by our implementation 22865 * in <sys/isa_defs.h>, (i.e. sparc, sparcv9, ia32, ia64) 22866 * type "double" is suitable for that intent. 22867 * 22868 * Note: Type "double" is chosen over the more obvious integer type int64_t. 22869 * int64_t is not a valid type for strict ANSI/ISO C compilation on ILP32. 22870 */ 22871 typedef double sockaddr_maxalign_t; 22872 22873 22874 22875 /* 22876 * Definitions used for sockaddr_storage structure paddings design. 22877 */ 22878 22879 22880 22881 22882 struct sockaddr_storage { 22883 sa_family_t ss_family; /* Address family */ 22884 /* Following fields are implementation specific */ 22885 char _ss_pad1[((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t))]; 22886 sockaddr_maxalign_t _ss_align; 22887 char _ss_pad2[(256 - (sizeof (sa_family_t)+ ((sizeof (sockaddr_maxalign_t)) - sizeof (sa_family_t)) + (sizeof (sockaddr_maxalign_t))))]; 22888 }; 22889 22890 22891 /* 22892 * To be compatible with the Linux interfaces used, this structure is 22893 * placed in socket_impl.h so that an include for <sys/socket.h> will 22894 * pickup this structure. This structure is for use with PF_PACKET 22895 * sockets. 22896 */ 22897 struct sockaddr_ll { 22898 uint16_t sll_family; 22899 uint16_t sll_protocol; 22900 int32_t sll_ifindex; 22901 uint16_t sll_hatype; 22902 uint8_t sll_pkttype; 22903 uint8_t sll_halen; 22904 uint8_t sll_addr[8]; 22905 }; 22906 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 22907 22908 22909 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 1 22910 /* 22911 * CDDL HEADER START 22912 * 22913 * The contents of this file are subject to the terms of the 22914 * Common Development and Distribution License, Version 1.0 only 22915 * (the "License"). You may not use this file except in compliance 22916 * with the License. 22917 * 22918 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 22919 * or http://www.opensolaris.org/os/licensing. 22920 * See the License for the specific language governing permissions 22921 * and limitations under the License. 22922 * 22923 * When distributing Covered Code, include this CDDL HEADER in each 22924 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 22925 * If applicable, add the following below this CDDL HEADER, with the 22926 * fields enclosed by brackets "[]" replaced with your own identifying 22927 * information: Portions Copyright [yyyy] [name of copyright owner] 22928 * 22929 * CDDL HEADER END 22930 */ 22931 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22932 /* All Rights Reserved */ 22933 22934 22935 /* 22936 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 22937 * 22938 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 22939 * Use is subject to license terms. 22940 */ 22941 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 22942 struct netconfig { 22943 char *nc_netid; /* network identifier */ 22944 unsigned int nc_semantics; /* defined below */ 22945 unsigned int nc_flag; /* defined below */ 22946 char *nc_protofmly; /* protocol family name */ 22947 char *nc_proto; /* protocol name */ 22948 char *nc_device; /* device name for network id */ 22949 unsigned int nc_nlookups; /* # of entries in nc_lookups */ 22950 char **nc_lookups; /* list of lookup directories */ 22951 unsigned int nc_unused[8]; /* borrowed for lockd etc. */ 22952 }; 22953 22954 typedef struct { 22955 struct netconfig **nc_head; 22956 struct netconfig **nc_curr; 22957 } NCONF_HANDLE; 22958 22959 /* 22960 * Values of nc_semantics 22961 */ 22962 22963 22964 22965 22966 22967 /* 22968 * NOT FOR PUBLIC USE, Solaris internal only. 22969 * This value of nc_semantics is strictly for use of Remote Direct 22970 * Memory Access provider interfaces in Solaris only and not for 22971 * general use. Do not use this value for general purpose user or 22972 * kernel programming. If used the behavior is undefined. 22973 * This is a PRIVATE interface to be used by Solaris kRPC only. 22974 */ 22975 22976 22977 /* 22978 * Values of nc_flag 22979 */ 22980 22981 22982 22983 22984 22985 /* 22986 * Values of nc_protofmly 22987 */ 22988 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netconfig.h" 22989 /* 22990 * NOT FOR PUBLIC USE, Solaris internal only. 22991 * This value of nc_semantics is strictly for use of Remote Direct 22992 * Memory Access provider interfaces in Solaris only and not for 22993 * general use. Do not use this value for general purpose user or 22994 * kernel programming. If used the behavior is undefined. 22995 * This is a PRIVATE interface to be used by Solaris kRPC only. 22996 */ 22997 22998 22999 /* 23000 * Values for nc_proto 23001 */ 23002 23003 23004 23005 23006 23007 23008 /* 23009 * Values for nc_proto for "rdma" protofmly 23010 */ 23011 23012 23013 23014 23015 extern void *setnetconfig(void); 23016 extern int endnetconfig(void *); 23017 extern struct netconfig *getnetconfig(void *); 23018 extern struct netconfig *getnetconfigent(const char *); 23019 extern void freenetconfigent(struct netconfig *); 23020 extern void *setnetpath(void); 23021 extern int endnetpath(void *); 23022 extern struct netconfig *getnetpath(void *); 23023 extern void nc_perror(const char *); 23024 extern char *nc_sperror(void); 23025 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 23026 23027 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 23028 /* 23029 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23030 * Use is subject to license terms. 23031 * 23032 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 23033 */ 23034 /* 23035 * Copyright (c) 1982, 1986 Regents of the University of California. 23036 * All rights reserved. 23037 * 23038 * Redistribution and use in source and binary forms are permitted 23039 * provided that this notice is preserved and that due credit is given 23040 * to the University of California at Berkeley. The name of the University 23041 * may not be used to endorse or promote products derived from this 23042 * software without specific prior written permission. This software 23043 * is provided ``as is'' without express or implied warranty. 23044 */ 23045 23046 /* 23047 * Constants and structures defined by the internet system, 23048 * according to following documents 23049 * 23050 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 23051 * http://www.iana.org/assignments/protocol-numbers 23052 * http://www.iana.org/assignments/port-numbers 23053 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 23054 * 23055 */ 23056 23057 23058 23059 23060 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 23061 /* 23062 * CDDL HEADER START 23063 * 23064 * The contents of this file are subject to the terms of the 23065 * Common Development and Distribution License (the "License"). 23066 * You may not use this file except in compliance with the License. 23067 * 23068 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23069 * or http://www.opensolaris.org/os/licensing. 23070 * See the License for the specific language governing permissions 23071 * and limitations under the License. 23072 * 23073 * When distributing Covered Code, include this CDDL HEADER in each 23074 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23075 * If applicable, add the following below this CDDL HEADER, with the 23076 * fields enclosed by brackets "[]" replaced with your own identifying 23077 * information: Portions Copyright [yyyy] [name of copyright owner] 23078 * 23079 * CDDL HEADER END 23080 */ 23081 23082 /* 23083 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 23084 * Copyright 2016 Joyent, Inc. 23085 * 23086 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23087 * Use is subject to license terms. 23088 */ 23089 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 23090 23091 23092 23093 23094 23095 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 23096 /* 23097 * CDDL HEADER START 23098 * 23099 * The contents of this file are subject to the terms of the 23100 * Common Development and Distribution License (the "License"). 23101 * You may not use this file except in compliance with the License. 23102 * 23103 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23104 * or http://www.opensolaris.org/os/licensing. 23105 * See the License for the specific language governing permissions 23106 * and limitations under the License. 23107 * 23108 * When distributing Covered Code, include this CDDL HEADER in each 23109 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23110 * If applicable, add the following below this CDDL HEADER, with the 23111 * fields enclosed by brackets "[]" replaced with your own identifying 23112 * information: Portions Copyright [yyyy] [name of copyright owner] 23113 * 23114 * CDDL HEADER END 23115 */ 23116 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23117 /* All Rights Reserved */ 23118 23119 23120 /* 23121 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23122 * Use is subject to license terms. 23123 * 23124 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23125 * Copyright 2016 Joyent, Inc. 23126 */ 23127 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 23128 23129 23130 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 23131 /* 23132 * CDDL HEADER START 23133 * 23134 * The contents of this file are subject to the terms of the 23135 * Common Development and Distribution License (the "License"). 23136 * You may not use this file except in compliance with the License. 23137 * 23138 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23139 * or http://www.opensolaris.org/os/licensing. 23140 * See the License for the specific language governing permissions 23141 * and limitations under the License. 23142 * 23143 * When distributing Covered Code, include this CDDL HEADER in each 23144 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23145 * If applicable, add the following below this CDDL HEADER, with the 23146 * fields enclosed by brackets "[]" replaced with your own identifying 23147 * information: Portions Copyright [yyyy] [name of copyright owner] 23148 * 23149 * CDDL HEADER END 23150 */ 23151 /* 23152 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23153 * Use is subject to license terms. 23154 */ 23155 23156 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 23157 /* All Rights Reserved */ 23158 23159 /* 23160 * Portions of this source code were derived from Berkeley 4.3 BSD 23161 * under license from the Regents of the University of California. 23162 */ 23163 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 23164 23165 23166 23167 23168 23169 /* 23170 * The socklen definitions are reproduced here from sys/socket.h so as to 23171 * not introduce that namespace into existing users of netinet/in.h. 23172 */ 23173 23174 23175 23176 typedef uint32_t socklen_t; 23177 23178 23179 23180 23181 23182 typedef void *Psocklen_t; 23183 23184 23185 23186 23187 23188 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 1 23189 /* 23190 * CDDL HEADER START 23191 * 23192 * The contents of this file are subject to the terms of the 23193 * Common Development and Distribution License (the "License"). 23194 * You may not use this file except in compliance with the License. 23195 * 23196 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23197 * or http://www.opensolaris.org/os/licensing. 23198 * See the License for the specific language governing permissions 23199 * and limitations under the License. 23200 * 23201 * When distributing Covered Code, include this CDDL HEADER in each 23202 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23203 * If applicable, add the following below this CDDL HEADER, with the 23204 * fields enclosed by brackets "[]" replaced with your own identifying 23205 * information: Portions Copyright [yyyy] [name of copyright owner] 23206 * 23207 * CDDL HEADER END 23208 */ 23209 /* 23210 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23211 * Use is subject to license terms. 23212 */ 23213 23214 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23215 /* All Rights Reserved */ 23216 23217 23218 23219 23220 23221 /* 23222 * For source compatibility 23223 */ 23224 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 23225 /* 23226 * CDDL HEADER START 23227 * 23228 * The contents of this file are subject to the terms of the 23229 * Common Development and Distribution License (the "License"). 23230 * You may not use this file except in compliance with the License. 23231 * 23232 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23233 * or http://www.opensolaris.org/os/licensing. 23234 * See the License for the specific language governing permissions 23235 * and limitations under the License. 23236 * 23237 * 23238 * When distributing Covered Code, include this CDDL HEADER in each 23239 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23240 * If applicable, add the following below this CDDL HEADER, with the 23241 * fields enclosed by brackets "[]" replaced with your own identifying 23242 * information: Portions Copyright [yyyy] [name of copyright owner] 23243 * 23244 * CDDL HEADER END 23245 */ 23246 23247 /* 23248 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23249 * Use is subject to license terms. 23250 * Copyright 2016 Joyent, Inc. 23251 */ 23252 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23253 23254 23255 23256 23257 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 1 23258 /* 23259 * CDDL HEADER START 23260 * 23261 * The contents of this file are subject to the terms of the 23262 * Common Development and Distribution License, Version 1.0 only 23263 * (the "License"). You may not use this file except in compliance 23264 * with the License. 23265 * 23266 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23267 * or http://www.opensolaris.org/os/licensing. 23268 * See the License for the specific language governing permissions 23269 * and limitations under the License. 23270 * 23271 * When distributing Covered Code, include this CDDL HEADER in each 23272 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23273 * If applicable, add the following below this CDDL HEADER, with the 23274 * fields enclosed by brackets "[]" replaced with your own identifying 23275 * information: Portions Copyright [yyyy] [name of copyright owner] 23276 * 23277 * CDDL HEADER END 23278 */ 23279 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23280 /* All Rights Reserved */ 23281 23282 23283 /* 23284 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 23285 * 23286 * Copyright (c) 1995, 1998 by Sun Microsystems, Inc. 23287 * All rights reserved. 23288 */ 23289 23290 /* 23291 * Copyright 2015, Joyent, Inc. 23292 */ 23293 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 23294 /* 23295 * Structure of file descriptor/event pairs supplied in 23296 * the poll arrays. 23297 */ 23298 typedef struct pollfd { 23299 int fd; /* file desc to poll */ 23300 short events; /* events of interest on fd */ 23301 short revents; /* events that occurred on fd */ 23302 } pollfd_t; 23303 23304 typedef unsigned long nfds_t; 23305 23306 /* 23307 * Testable select events 23308 */ 23309 # 70 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 23310 /* 23311 * Non-testable poll events (may not be specified in events field, 23312 * but may be returned in revents field). 23313 */ 23314 23315 23316 23317 23318 /* 23319 * These events will never be specified in revents, but may be specified in 23320 * events to control /dev/poll behavior. 23321 */ 23322 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/poll.h" 23323 int poll(struct pollfd *, nfds_t, int); 23324 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23325 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/strmdep.h" 1 23326 /* 23327 * CDDL HEADER START 23328 * 23329 * The contents of this file are subject to the terms of the 23330 * Common Development and Distribution License, Version 1.0 only 23331 * (the "License"). You may not use this file except in compliance 23332 * with the License. 23333 * 23334 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23335 * or http://www.opensolaris.org/os/licensing. 23336 * See the License for the specific language governing permissions 23337 * and limitations under the License. 23338 * 23339 * When distributing Covered Code, include this CDDL HEADER in each 23340 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23341 * If applicable, add the following below this CDDL HEADER, with the 23342 * fields enclosed by brackets "[]" replaced with your own identifying 23343 * information: Portions Copyright [yyyy] [name of copyright owner] 23344 * 23345 * CDDL HEADER END 23346 */ 23347 /* 23348 * Copyright (c) 1997-1998 by Sun Microsystems, Inc. 23349 * All rights reserved. 23350 */ 23351 23352 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23353 /* All Rights Reserved */ 23354 23355 23356 23357 23358 23359 #pragma ident "%Z%%M% %I% %E% SMI" 23360 23361 23362 23363 23364 23365 /* 23366 * This file contains all machine-dependent declarations 23367 * in STREAMS. 23368 */ 23369 23370 /* 23371 * Copy data from one data buffer to another. 23372 * The addresses must be word aligned - if not, use bcopy! 23373 */ 23374 23375 23376 /* 23377 * save the address of the calling function on the 3b2 to 23378 * enable tracking of who is allocating message blocks 23379 */ 23380 23381 23382 /* 23383 * macro to check pointer alignment 23384 * (true if alignment is sufficient for worst case) 23385 */ 23386 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23387 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 23388 /* 23389 * CDDL HEADER START 23390 * 23391 * The contents of this file are subject to the terms of the 23392 * Common Development and Distribution License (the "License"). 23393 * You may not use this file except in compliance with the License. 23394 * 23395 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23396 * or http://www.opensolaris.org/os/licensing. 23397 * See the License for the specific language governing permissions 23398 * and limitations under the License. 23399 * 23400 * When distributing Covered Code, include this CDDL HEADER in each 23401 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23402 * If applicable, add the following below this CDDL HEADER, with the 23403 * fields enclosed by brackets "[]" replaced with your own identifying 23404 * information: Portions Copyright [yyyy] [name of copyright owner] 23405 * 23406 * CDDL HEADER END 23407 */ 23408 /* 23409 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23410 * Use is subject to license terms. 23411 */ 23412 23413 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 23414 /* All Rights Reserved */ 23415 23416 /* 23417 * Portions of this source code were derived from Berkeley 4.3 BSD 23418 * under license from the Regents of the University of California. 23419 */ 23420 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23421 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 23422 /* 23423 * CDDL HEADER START 23424 * 23425 * The contents of this file are subject to the terms of the 23426 * Common Development and Distribution License, Version 1.0 only 23427 * (the "License"). You may not use this file except in compliance 23428 * with the License. 23429 * 23430 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23431 * or http://www.opensolaris.org/os/licensing. 23432 * See the License for the specific language governing permissions 23433 * and limitations under the License. 23434 * 23435 * When distributing Covered Code, include this CDDL HEADER in each 23436 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23437 * If applicable, add the following below this CDDL HEADER, with the 23438 * fields enclosed by brackets "[]" replaced with your own identifying 23439 * information: Portions Copyright [yyyy] [name of copyright owner] 23440 * 23441 * CDDL HEADER END 23442 */ 23443 /* 23444 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 23445 * All rights reserved. 23446 */ 23447 23448 /* 23449 * t_lock.h: Prototypes for disp_locks, plus include files 23450 * that describe the interfaces to kernel synch. 23451 * objects. 23452 */ 23453 23454 23455 23456 23457 #pragma ident "%Z%%M% %I% %E% SMI" 23458 23459 23460 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machlock.h" 1 23461 /* 23462 * CDDL HEADER START 23463 * 23464 * The contents of this file are subject to the terms of the 23465 * Common Development and Distribution License (the "License"). 23466 * You may not use this file except in compliance with the License. 23467 * 23468 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23469 * or http://www.opensolaris.org/os/licensing. 23470 * See the License for the specific language governing permissions 23471 * and limitations under the License. 23472 * 23473 * When distributing Covered Code, include this CDDL HEADER in each 23474 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23475 * If applicable, add the following below this CDDL HEADER, with the 23476 * fields enclosed by brackets "[]" replaced with your own identifying 23477 * information: Portions Copyright [yyyy] [name of copyright owner] 23478 * 23479 * CDDL HEADER END 23480 */ 23481 /* 23482 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23483 * Use is subject to license terms. 23484 * Copyright 2016 Joyent, Inc. 23485 */ 23486 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23487 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 23488 /* 23489 * CDDL HEADER START 23490 * 23491 * The contents of this file are subject to the terms of the 23492 * Common Development and Distribution License (the "License"). 23493 * You may not use this file except in compliance with the License. 23494 * 23495 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23496 * or http://www.opensolaris.org/os/licensing. 23497 * See the License for the specific language governing permissions 23498 * and limitations under the License. 23499 * 23500 * When distributing Covered Code, include this CDDL HEADER in each 23501 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23502 * If applicable, add the following below this CDDL HEADER, with the 23503 * fields enclosed by brackets "[]" replaced with your own identifying 23504 * information: Portions Copyright [yyyy] [name of copyright owner] 23505 * 23506 * CDDL HEADER END 23507 */ 23508 23509 /* 23510 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 23511 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 23512 */ 23513 23514 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 23515 /* All Rights Reserved */ 23516 23517 /* 23518 * University Copyright- Copyright (c) 1982, 1986, 1988 23519 * The Regents of the University of California 23520 * All Rights Reserved 23521 * 23522 * University Acknowledgment- Portions of this document are derived from 23523 * software developed by the University of California, Berkeley, and its 23524 * contributors. 23525 */ 23526 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23527 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 23528 /* 23529 * CDDL HEADER START 23530 * 23531 * The contents of this file are subject to the terms of the 23532 * Common Development and Distribution License (the "License"). 23533 * You may not use this file except in compliance with the License. 23534 * 23535 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23536 * or http://www.opensolaris.org/os/licensing. 23537 * See the License for the specific language governing permissions 23538 * and limitations under the License. 23539 * 23540 * When distributing Covered Code, include this CDDL HEADER in each 23541 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23542 * If applicable, add the following below this CDDL HEADER, with the 23543 * fields enclosed by brackets "[]" replaced with your own identifying 23544 * information: Portions Copyright [yyyy] [name of copyright owner] 23545 * 23546 * CDDL HEADER END 23547 */ 23548 /* 23549 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 23550 */ 23551 23552 23553 23554 23555 23556 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 23557 /* 23558 * CDDL HEADER START 23559 * 23560 * The contents of this file are subject to the terms of the 23561 * Common Development and Distribution License (the "License"). 23562 * You may not use this file except in compliance with the License. 23563 * 23564 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23565 * or http://www.opensolaris.org/os/licensing. 23566 * See the License for the specific language governing permissions 23567 * and limitations under the License. 23568 * 23569 * When distributing Covered Code, include this CDDL HEADER in each 23570 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23571 * If applicable, add the following below this CDDL HEADER, with the 23572 * fields enclosed by brackets "[]" replaced with your own identifying 23573 * information: Portions Copyright [yyyy] [name of copyright owner] 23574 * 23575 * CDDL HEADER END 23576 */ 23577 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23578 /* All Rights Reserved */ 23579 23580 23581 /* 23582 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23583 * Use is subject to license terms. 23584 * 23585 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23586 * Copyright 2016 Joyent, Inc. 23587 */ 23588 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 2 23589 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 23590 /* 23591 * Public interface to mutual exclusion locks. See mutex(9F) for details. 23592 * 23593 * The basic mutex type is MUTEX_ADAPTIVE, which is expected to be used 23594 * in almost all of the kernel. MUTEX_SPIN provides interrupt blocking 23595 * and must be used in interrupt handlers above LOCK_LEVEL. The iblock 23596 * cookie argument to mutex_init() encodes the interrupt level to block. 23597 * The iblock cookie must be NULL for adaptive locks. 23598 * 23599 * MUTEX_DEFAULT is the type usually specified (except in drivers) to 23600 * mutex_init(). It is identical to MUTEX_ADAPTIVE. 23601 * 23602 * MUTEX_DRIVER is always used by drivers. mutex_init() converts this to 23603 * either MUTEX_ADAPTIVE or MUTEX_SPIN depending on the iblock cookie. 23604 * 23605 * Mutex statistics can be gathered on the fly, without rebooting or 23606 * recompiling the kernel, via the lockstat driver (lockstat(7D)). 23607 */ 23608 typedef enum { 23609 MUTEX_ADAPTIVE = 0, /* spin if owner is running, otherwise block */ 23610 MUTEX_SPIN = 1, /* block interrupts and spin */ 23611 MUTEX_DRIVER = 4, /* driver (DDI) mutex */ 23612 MUTEX_DEFAULT = 6 /* kernel default mutex */ 23613 } kmutex_type_t; 23614 23615 typedef struct mutex { 23616 23617 23618 23619 void *_opaque[2]; 23620 23621 } kmutex_t; 23622 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23623 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 1 23624 /* 23625 * CDDL HEADER START 23626 * 23627 * The contents of this file are subject to the terms of the 23628 * Common Development and Distribution License (the "License"). 23629 * You may not use this file except in compliance with the License. 23630 * 23631 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23632 * or http://www.opensolaris.org/os/licensing. 23633 * See the License for the specific language governing permissions 23634 * and limitations under the License. 23635 * 23636 * When distributing Covered Code, include this CDDL HEADER in each 23637 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23638 * If applicable, add the following below this CDDL HEADER, with the 23639 * fields enclosed by brackets "[]" replaced with your own identifying 23640 * information: Portions Copyright [yyyy] [name of copyright owner] 23641 * 23642 * CDDL HEADER END 23643 */ 23644 /* 23645 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23646 * Use is subject to license terms. 23647 */ 23648 23649 /* 23650 * Copyright (c) 2013, Joyent, Inc. All rights reserved. 23651 */ 23652 23653 23654 23655 23656 /* 23657 * Public interface to readers/writer locks. See rwlock(9F) for details. 23658 */ 23659 23660 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 23661 /* 23662 * CDDL HEADER START 23663 * 23664 * The contents of this file are subject to the terms of the 23665 * Common Development and Distribution License (the "License"). 23666 * You may not use this file except in compliance with the License. 23667 * 23668 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23669 * or http://www.opensolaris.org/os/licensing. 23670 * See the License for the specific language governing permissions 23671 * and limitations under the License. 23672 * 23673 * When distributing Covered Code, include this CDDL HEADER in each 23674 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23675 * If applicable, add the following below this CDDL HEADER, with the 23676 * fields enclosed by brackets "[]" replaced with your own identifying 23677 * information: Portions Copyright [yyyy] [name of copyright owner] 23678 * 23679 * CDDL HEADER END 23680 */ 23681 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23682 /* All Rights Reserved */ 23683 23684 23685 /* 23686 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23687 * Use is subject to license terms. 23688 * 23689 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23690 * Copyright 2016 Joyent, Inc. 23691 */ 23692 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rwlock.h" 2 23693 23694 23695 23696 23697 23698 23699 23700 typedef enum { 23701 RW_DRIVER = 2, /* driver (DDI) rwlock */ 23702 RW_DEFAULT = 4 /* kernel default rwlock */ 23703 } krw_type_t; 23704 23705 typedef enum { 23706 RW_WRITER, 23707 RW_READER, 23708 RW_READER_STARVEWRITER 23709 } krw_t; 23710 23711 typedef struct _krwlock { 23712 void *_opaque[1]; 23713 } krwlock_t; 23714 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23715 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 1 23716 /* 23717 * CDDL HEADER START 23718 * 23719 * The contents of this file are subject to the terms of the 23720 * Common Development and Distribution License, Version 1.0 only 23721 * (the "License"). You may not use this file except in compliance 23722 * with the License. 23723 * 23724 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23725 * or http://www.opensolaris.org/os/licensing. 23726 * See the License for the specific language governing permissions 23727 * and limitations under the License. 23728 * 23729 * When distributing Covered Code, include this CDDL HEADER in each 23730 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23731 * If applicable, add the following below this CDDL HEADER, with the 23732 * fields enclosed by brackets "[]" replaced with your own identifying 23733 * information: Portions Copyright [yyyy] [name of copyright owner] 23734 * 23735 * CDDL HEADER END 23736 */ 23737 /* 23738 * Copyright (c) 1993-1998 by Sun Microsystems, Inc. 23739 * All rights reserved. 23740 */ 23741 23742 23743 23744 23745 #pragma ident "%Z%%M% %I% %E% SMI" 23746 23747 /* 23748 * Public interface to semaphores. See semaphore(9F) for details. 23749 */ 23750 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/semaphore.h" 23751 typedef enum { 23752 SEMA_DEFAULT, 23753 SEMA_DRIVER 23754 } ksema_type_t; 23755 23756 typedef struct _ksema { 23757 void * _opaque[2]; /* 2 words on 4 byte alignment */ 23758 } ksema_t; 23759 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 1 23761 /* 23762 * CDDL HEADER START 23763 * 23764 * The contents of this file are subject to the terms of the 23765 * Common Development and Distribution License (the "License"). 23766 * You may not use this file except in compliance with the License. 23767 * 23768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23769 * or http://www.opensolaris.org/os/licensing. 23770 * See the License for the specific language governing permissions 23771 * and limitations under the License. 23772 * 23773 * When distributing Covered Code, include this CDDL HEADER in each 23774 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23775 * If applicable, add the following below this CDDL HEADER, with the 23776 * fields enclosed by brackets "[]" replaced with your own identifying 23777 * information: Portions Copyright [yyyy] [name of copyright owner] 23778 * 23779 * CDDL HEADER END 23780 */ 23781 /* 23782 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23783 * Use is subject to license terms. 23784 */ 23785 23786 /* 23787 * Copyright (c) 2012 by Delphix. All rights reserved. 23788 */ 23789 23790 /* 23791 * condvar.h: 23792 * 23793 * definitions for thread synchronization primitives: condition variables 23794 * This is the public part of the interface to condition variables. The 23795 * private (implementation-specific) part is in <arch>/sys/condvar_impl.h. 23796 */ 23797 23798 23799 23800 23801 23802 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 23803 /* 23804 * CDDL HEADER START 23805 * 23806 * The contents of this file are subject to the terms of the 23807 * Common Development and Distribution License (the "License"). 23808 * You may not use this file except in compliance with the License. 23809 * 23810 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23811 * or http://www.opensolaris.org/os/licensing. 23812 * See the License for the specific language governing permissions 23813 * and limitations under the License. 23814 * 23815 * When distributing Covered Code, include this CDDL HEADER in each 23816 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23817 * If applicable, add the following below this CDDL HEADER, with the 23818 * fields enclosed by brackets "[]" replaced with your own identifying 23819 * information: Portions Copyright [yyyy] [name of copyright owner] 23820 * 23821 * CDDL HEADER END 23822 */ 23823 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23824 /* All Rights Reserved */ 23825 23826 23827 /* 23828 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23829 * Use is subject to license terms. 23830 * 23831 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23832 * Copyright 2016 Joyent, Inc. 23833 */ 23834 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 23835 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 23836 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23837 /* All Rights Reserved */ 23838 23839 23840 /* 23841 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 23842 * All rights reserved. The Berkeley software License Agreement 23843 * specifies the terms and conditions for redistribution. 23844 */ 23845 23846 /* 23847 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 23848 * 23849 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23850 * Use is subject to license terms. 23851 * 23852 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23853 */ 23854 23855 /* 23856 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 23857 */ 23858 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 2 23859 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/condvar.h" 23860 /* 23861 * Condtion variables. 23862 */ 23863 23864 typedef struct _kcondvar { 23865 ushort_t _opaque; 23866 } kcondvar_t; 23867 23868 typedef enum { 23869 CV_DEFAULT, 23870 CV_DRIVER 23871 } kcv_type_t; 23872 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 2 23873 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 23874 /* 23875 * Mutual exclusion locks described in common/sys/mutex.h. 23876 * 23877 * Semaphores described in common/sys/semaphore.h. 23878 * 23879 * Readers/Writer locks described in common/sys/rwlock.h. 23880 * 23881 * Condition variables described in common/sys/condvar.h 23882 */ 23883 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23884 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 1 23885 /* 23886 * CDDL HEADER START 23887 * 23888 * The contents of this file are subject to the terms of the 23889 * Common Development and Distribution License, Version 1.0 only 23890 * (the "License"). You may not use this file except in compliance 23891 * with the License. 23892 * 23893 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23894 * or http://www.opensolaris.org/os/licensing. 23895 * See the License for the specific language governing permissions 23896 * and limitations under the License. 23897 * 23898 * When distributing Covered Code, include this CDDL HEADER in each 23899 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23900 * If applicable, add the following below this CDDL HEADER, with the 23901 * fields enclosed by brackets "[]" replaced with your own identifying 23902 * information: Portions Copyright [yyyy] [name of copyright owner] 23903 * 23904 * CDDL HEADER END 23905 */ 23906 /* 23907 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 23908 * Use is subject to license terms. 23909 */ 23910 23911 23912 23913 23914 #pragma ident "%Z%%M% %I% %E% SMI" 23915 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 23916 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 23917 /* 23918 * CDDL HEADER START 23919 * 23920 * The contents of this file are subject to the terms of the 23921 * Common Development and Distribution License (the "License"). 23922 * You may not use this file except in compliance with the License. 23923 * 23924 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 23925 * or http://www.opensolaris.org/os/licensing. 23926 * See the License for the specific language governing permissions 23927 * and limitations under the License. 23928 * 23929 * 23930 * When distributing Covered Code, include this CDDL HEADER in each 23931 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 23932 * If applicable, add the following below this CDDL HEADER, with the 23933 * fields enclosed by brackets "[]" replaced with your own identifying 23934 * information: Portions Copyright [yyyy] [name of copyright owner] 23935 * 23936 * CDDL HEADER END 23937 */ 23938 23939 /* 23940 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23941 * Use is subject to license terms. 23942 * Copyright 2016 Joyent, Inc. 23943 */ 23944 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 2 23945 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/model.h" 23946 /* 23947 * XXX Ick. This type needs to be visible outside the above guard because 23948 * the proc structure is visible outside the _KERNEL | _KMEMUSER guard. 23949 * If we can make proc internals less visible, (which we obviously should) 23950 * then this can be invisible too. 23951 */ 23952 typedef unsigned int model_t; 23953 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 2 23954 23955 23956 23957 23958 23959 /* 23960 * Data queue. 23961 * 23962 * NOTE: The *only* public fields are documented in queue(9S). 23963 * Everything else is implementation-private. 23964 * 23965 * The locking rules for the queue_t structure are extremely subtle and vary 23966 * widely depending on the field in question. As such, each field is 23967 * annotated according to the following legend: 23968 * 23969 * Q9S: The field is documented in queue(9S) and may be accessed without 23970 * locks by a STREAMS module when inside an entry point (e.g., put(9E)). 23971 * However, no fields can be directly modified unless q_lock is held 23972 * (which is not possible in a DDI compliant STREAMS module), with the 23973 * following exceptions: 23974 * 23975 * - q_ptr: can be modified as per the rules of the STREAMS module. 23976 * The STREAMS framework ignores q_ptr and thus imposes *no* 23977 * locking rules on it. 23978 * - q_qinfo: can be modified before qprocson(). 23979 * 23980 * - q_minpsz, q_maxpsz, q_hiwat, q_lowat: can be modified as per the 23981 * rules of the STREAMS module. The STREAMS framework never 23982 * modifies these fields, and is tolerant of temporarily 23983 * stale field values. 23984 * 23985 * In general, the STREAMS framework employs one of the following 23986 * techniques to ensure STREAMS modules can safely access Q9S fields: 23987 * 23988 * - The field is only modified by the framework when the stream is 23989 * locked with strlock() (q_next). 23990 * 23991 * - The field is modified by the framework, but the modifies are 23992 * atomic, and temporarily stale values are harmless (q_count, 23993 * q_first, q_last). 23994 * 23995 * - The field is modified by the framework, but the field's visible 23996 * values are either constant or directly under the control 23997 * of the STREAMS module itself (q_flag). 23998 * 23999 * QLK: The field must be accessed or modified under q_lock, except when 24000 * the stream has been locked with strlock(). If multiple q_locks must 24001 * be acquired, q_locks at higher addresses must be taken first. 24002 * 24003 * STR: The field can be accessed without a lock, but must be modified under 24004 * strlock(). 24005 * 24006 * SQLK: The field must be accessed or modified under SQLOCK(). 24007 * 24008 * NOLK: The field can be accessed without a lock, but can only be modified 24009 * when the queue_t is not known to any other threads. 24010 * 24011 * SVLK: The field must be accessed or modified under the service_queue lock. 24012 * Note that service_lock must be taken after any needed q_locks, 24013 * and that no other lock should be taken while service_lock is held. 24014 * 24015 * In addition, it is always acceptable to modify a field that is not yet 24016 * known to any other threads -- and other special case exceptions exist in 24017 * the code. Also, q_lock is used with q_wait to implement a stream head 24018 * monitor for reads and writes. 24019 */ 24020 typedef struct queue { 24021 struct qinit *q_qinfo; /* Q9S: Q processing procedure */ 24022 struct msgb *q_first; /* Q9S: first message in Q */ 24023 struct msgb *q_last; /* Q9S: last message in Q */ 24024 struct queue *q_next; /* Q9S: next Q in stream */ 24025 struct queue *q_link; /* SVLK: next Q for scheduling */ 24026 void *q_ptr; /* Q9S: module-specific data */ 24027 size_t q_count; /* Q9S: number of bytes on Q */ 24028 uint_t q_flag; /* Q9S: Q state */ 24029 ssize_t q_minpsz; /* Q9S: smallest packet OK on Q */ 24030 ssize_t q_maxpsz; /* Q9S: largest packet OK on Q */ 24031 size_t q_hiwat; /* Q9S: Q high water mark */ 24032 size_t q_lowat; /* Q9S: Q low water mark */ 24033 struct qband *q_bandp; /* QLK: band flow information */ 24034 kmutex_t q_lock; /* NOLK: structure lock */ 24035 struct stdata *q_stream; /* NOLK: stream backpointer */ 24036 struct syncq *q_syncq; /* NOLK: associated syncq */ 24037 unsigned char q_nband; /* QLK: number of bands */ 24038 kcondvar_t q_wait; /* NOLK: read/write sleep CV */ 24039 struct queue *q_nfsrv; /* STR: next Q with svc routine */ 24040 ushort_t q_draining; /* QLK: Q is draining */ 24041 short q_struiot; /* QLK: sync streams Q UIO mode */ 24042 clock_t q_qtstamp; /* QLK: when Q was enabled */ 24043 size_t q_mblkcnt; /* QLK: mblk count */ 24044 uint_t q_syncqmsgs; /* QLK: syncq message count */ 24045 size_t q_rwcnt; /* QLK: # threads in rwnext() */ 24046 pri_t q_spri; /* QLK: Q scheduling priority */ 24047 24048 /* 24049 * Syncq scheduling 24050 */ 24051 struct msgb *q_sqhead; /* QLK: first syncq message */ 24052 struct msgb *q_sqtail; /* QLK: last syncq message */ 24053 struct queue *q_sqnext; /* SQLK: next Q on syncq list */ 24054 struct queue *q_sqprev; /* SQLK: prev Q on syncq list */ 24055 uint_t q_sqflags; /* SQLK: syncq flags */ 24056 clock_t q_sqtstamp; /* SQLK: when Q was scheduled for sq */ 24057 24058 /* 24059 * NOLK: Reference to the queue's module's implementation 24060 * structure. This will be NULL for queues associated with drivers. 24061 */ 24062 struct fmodsw_impl *q_fp; 24063 } queue_t; 24064 24065 /* 24066 * Queue flags; unused flags not documented in queue(9S) can be recycled. 24067 */ 24068 # 169 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24069 /* UNUSED 0x00000200 was QHLIST */ 24070 /* UNUSED 0x00000400 was QUNSAFE */ 24071 24072 24073 24074 24075 24076 24077 /* all MT type flags */ 24078 24079 24080 24081 24082 24083 24084 /* UNUSED 0x00400000 was QHOT */ 24085 /* UNUSED 0x00800000 was QNEXTHOT */ 24086 /* UNUSED 0x01000000 was _QNEXTLESS */ 24087 24088 24089 24090 24091 /* direct interface to/from sockfs */ 24092 24093 /* queue sqflags (protected by SQLOCK). */ 24094 24095 24096 /* This is also noted by the */ 24097 /* q_draining field, but this one is */ 24098 /* protected by SQLOCK */ 24099 24100 /* 24101 * Structure that describes the separate information 24102 * for each priority band in the queue. 24103 */ 24104 typedef struct qband { 24105 struct qband *qb_next; /* next band's info */ 24106 size_t qb_count; /* number of bytes in band */ 24107 struct msgb *qb_first; /* beginning of band's data */ 24108 struct msgb *qb_last; /* end of band's data */ 24109 size_t qb_hiwat; /* high water mark for band */ 24110 size_t qb_lowat; /* low water mark for band */ 24111 uint_t qb_flag; /* see below */ 24112 size_t qb_mblkcnt; /* mblk counter for runaway msgs */ 24113 } qband_t; 24114 24115 /* 24116 * qband flags 24117 */ 24118 24119 24120 24121 24122 /* 24123 * Maximum number of bands. 24124 */ 24125 24126 24127 /* 24128 * Fields that can be manipulated through strqset() and strqget(). 24129 */ 24130 typedef enum qfields { 24131 QHIWAT = 0, /* q_hiwat or qb_hiwat */ 24132 QLOWAT = 1, /* q_lowat or qb_lowat */ 24133 QMAXPSZ = 2, /* q_maxpsz */ 24134 QMINPSZ = 3, /* q_minpsz */ 24135 QCOUNT = 4, /* q_count or qb_count */ 24136 QFIRST = 5, /* q_first or qb_first */ 24137 QLAST = 6, /* q_last or qb_last */ 24138 QFLAG = 7, /* q_flag or qb_flag */ 24139 QSTRUIOT = 8, /* q_struiot */ 24140 QBAD = 9 24141 } qfields_t; 24142 24143 /* 24144 * Module information structure 24145 */ 24146 struct module_info { 24147 ushort_t mi_idnum; /* module id number */ 24148 char *mi_idname; /* module name */ 24149 ssize_t mi_minpsz; /* min packet size accepted */ 24150 ssize_t mi_maxpsz; /* max packet size accepted */ 24151 size_t mi_hiwat; /* hi-water mark */ 24152 size_t mi_lowat; /* lo-water mark */ 24153 }; 24154 24155 /* 24156 * queue information structure (with Synchronous STREAMS extensions) 24157 */ 24158 struct qinit { 24159 int (*qi_putp)(); /* put procedure */ 24160 int (*qi_srvp)(); /* service procedure */ 24161 int (*qi_qopen)(); /* called on startup */ 24162 int (*qi_qclose)(); /* called on finish */ 24163 int (*qi_qadmin)(); /* for future use */ 24164 struct module_info *qi_minfo; /* module information structure */ 24165 struct module_stat *qi_mstat; /* module statistics structure */ 24166 int (*qi_rwp)(); /* r/w procedure */ 24167 int (*qi_infop)(); /* information procedure */ 24168 int qi_struiot; /* stream uio type for struio() */ 24169 }; 24170 24171 /* 24172 * Values for qi_struiot and q_struiot: 24173 */ 24174 24175 24176 24177 24178 /* 24179 * Streamtab (used in cdevsw and fmodsw to point to module or driver) 24180 */ 24181 struct streamtab { 24182 struct qinit *st_rdinit; 24183 struct qinit *st_wrinit; 24184 struct qinit *st_muxrinit; 24185 struct qinit *st_muxwinit; 24186 }; 24187 24188 /* 24189 * Structure sent to mux drivers to indicate a link. 24190 */ 24191 struct linkblk { 24192 queue_t *l_qtop; /* lowest level write queue of upper stream */ 24193 /* (set to NULL for persistent links) */ 24194 queue_t *l_qbot; /* highest level write queue of lower stream */ 24195 int l_index; /* index for lower stream. */ 24196 }; 24197 24198 /* 24199 * Esballoc data buffer freeing routine 24200 */ 24201 typedef struct free_rtn { 24202 void (*free_func)(); 24203 caddr_t free_arg; 24204 } frtn_t; 24205 24206 /* 24207 * Data block descriptor 24208 * 24209 * NOTE: db_base, db_lim, db_ref and db_type are the *only* public fields, 24210 * as described in datab(9S). Everything else is implementation-private. 24211 */ 24212 24213 24214 24215 typedef struct datab { 24216 frtn_t *db_frtnp; 24217 unsigned char *db_base; 24218 unsigned char *db_lim; 24219 unsigned char db_ref; 24220 unsigned char db_type; 24221 unsigned char db_flags; 24222 unsigned char db_struioflag; 24223 pid_t db_cpid; /* cached pid, needs verification */ 24224 void *db_cache; /* kmem cache descriptor */ 24225 struct msgb *db_mblk; 24226 void (*db_free)(struct msgb *, struct datab *); 24227 void (*db_lastfree)(struct msgb *, struct datab *); 24228 intptr_t db_cksumstart; 24229 intptr_t db_cksumend; 24230 intptr_t db_cksumstuff; 24231 union { 24232 double enforce_alignment; 24233 unsigned char data[8]; 24234 struct { 24235 union { 24236 uint32_t u32; 24237 uint16_t u16; 24238 } cksum_val; /* used to store calculated cksum */ 24239 uint16_t flags; 24240 uint16_t pad; 24241 } cksum; 24242 /* 24243 * Union used for future extensions (pointer to data ?). 24244 */ 24245 } db_struioun; 24246 struct fthdr *db_fthdr; 24247 cred_t *db_credp; /* credential */ 24248 } dblk_t; 24249 24250 24251 24252 24253 /* 24254 * Accessor macros for private dblk_t fields (the rest are in <sys/strsun.h>). 24255 */ 24256 24257 24258 24259 /* 24260 * Used by GLDv2 to store the TCI information. 24261 */ 24262 24263 24264 /* 24265 * Message block descriptor 24266 */ 24267 typedef struct msgb { 24268 struct msgb *b_next; 24269 struct msgb *b_prev; 24270 struct msgb *b_cont; 24271 unsigned char *b_rptr; 24272 unsigned char *b_wptr; 24273 struct datab *b_datap; 24274 unsigned char b_band; 24275 unsigned char b_tag; 24276 unsigned short b_flag; 24277 queue_t *b_queue; /* for sync queues */ 24278 } mblk_t; 24279 24280 /* 24281 * bcache descriptor 24282 */ 24283 typedef struct bcache { 24284 kmutex_t mutex; 24285 struct kmem_cache *buffer_cache; 24286 struct kmem_cache *dblk_cache; 24287 int alloc; 24288 int destroy; 24289 size_t size; 24290 uint_t align; 24291 } bcache_t; 24292 24293 /* 24294 * db_flags values (all implementation private!) 24295 */ 24296 24297 24298 24299 24300 /* 24301 * db_struioflag values: 24302 */ 24303 24304 24305 24306 24307 24308 24309 /* 24310 * Message flags. These are interpreted by the stream head. 24311 */ 24312 24313 24314 /* write side of stream */ 24315 24316 /* UNUSED 0x08 was MSGNOGET (can be recycled) */ 24317 24318 24319 24320 24321 /* 24322 * Streams message types. 24323 */ 24324 24325 /* 24326 * Data and protocol messages (regular and priority) 24327 */ 24328 24329 24330 24331 24332 /* 24333 * Control messages (regular and priority) 24334 */ 24335 # 445 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24336 /* 24337 * Control messages (high priority; go to head of queue) 24338 */ 24339 # 468 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24340 /* 24341 * Queue message class definitions. 24342 */ 24343 24344 24345 24346 /* 24347 * IOCTL structure - this structure is the format of the M_IOCTL message type. 24348 */ 24349 # 488 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24350 struct iocblk { 24351 int ioc_cmd; /* ioctl command type */ 24352 cred_t *ioc_cr; /* full credentials */ 24353 uint_t ioc_id; /* ioctl id */ 24354 size_t ioc_count; /* count of bytes in data field */ 24355 int ioc_error; /* error code */ 24356 int ioc_rval; /* return value */ 24357 int ioc_fill1; 24358 uint_t ioc_flag; /* see below */ 24359 int ioc_filler[2]; /* reserved for future use */ 24360 }; 24361 24362 24363 typedef struct iocblk *IOCP; 24364 24365 /* {ioc,cp}_flags values */ 24366 24367 24368 24369 24370 24371 24372 24373 /* 24374 * Is the ioctl data formatted for our native model? 24375 */ 24376 24377 24378 24379 /* 24380 * structure for the M_COPYIN and M_COPYOUT message types. 24381 */ 24382 # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24383 struct copyreq { 24384 int cq_cmd; /* ioctl command (from ioc_cmd) */ 24385 cred_t *cq_cr; /* full credentials */ 24386 uint_t cq_id; /* ioctl id (from ioc_id) */ 24387 caddr_t cq_addr; /* address to copy data to/from */ 24388 size_t cq_size; /* number of bytes to copy */ 24389 uint_t cq_flag; /* must be zero */ 24390 mblk_t *cq_private; /* private state information */ 24391 int cq_filler[4]; /* reserved for future use */ 24392 }; 24393 24394 24395 /* 24396 * structure for the M_IOCDATA message type. 24397 */ 24398 # 557 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24399 struct copyresp { 24400 int cp_cmd; /* ioctl command (from ioc_cmd) */ 24401 cred_t *cp_cr; /* full credentials */ 24402 uint_t cp_id; /* ioctl id (from ioc_id) */ 24403 caddr_t cp_rval; /* status of request: 0 -> success */ 24404 /* non-zero -> failure */ 24405 size_t cp_pad1; 24406 uint_t cp_pad2; 24407 mblk_t *cp_private; /* private state information */ 24408 uint_t cp_flag; /* datamodel IOC_ flags; see above */ 24409 int cp_filler[3]; 24410 }; 24411 24412 24413 /* 24414 * Since these structures are all intended to travel in the same message 24415 * at different stages of a STREAMS ioctl, this union is used to determine 24416 * the message size in strdoioctl(). 24417 */ 24418 union ioctypes { 24419 struct iocblk iocblk; 24420 struct copyreq copyreq; 24421 struct copyresp copyresp; 24422 }; 24423 24424 /* 24425 * Options structure for M_SETOPTS message. This is sent upstream 24426 * by a module or driver to set stream head options. 24427 */ 24428 struct stroptions { 24429 uint_t so_flags; /* options to set */ 24430 short so_readopt; /* read option */ 24431 ushort_t so_wroff; /* write offset */ 24432 ssize_t so_minpsz; /* minimum read packet size */ 24433 ssize_t so_maxpsz; /* maximum read packet size */ 24434 size_t so_hiwat; /* read queue high water mark */ 24435 size_t so_lowat; /* read queue low water mark */ 24436 unsigned char so_band; /* band for water marks */ 24437 ushort_t so_erropt; /* error option */ 24438 ssize_t so_maxblk; /* maximum message block size */ 24439 ushort_t so_copyopt; /* copy options (see stropts.h) */ 24440 ushort_t so_tail; /* space available at the end */ 24441 }; 24442 24443 /* flags for stream options set message */ 24444 # 673 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stream.h" 24445 /* 24446 * Miscellaneous parameters and flags. 24447 */ 24448 24449 /* 24450 * Values for stream flag in open to indicate module open, clone open, 24451 * and the return value for failure. 24452 */ 24453 24454 24455 24456 24457 /* 24458 * Priority definitions for block allocation. 24459 */ 24460 24461 24462 24463 24464 /* 24465 * Value for packet size that denotes infinity 24466 */ 24467 24468 24469 /* 24470 * Flags for flushq() 24471 */ 24472 24473 24474 24475 /* 24476 * Flag for transparent ioctls 24477 */ 24478 24479 24480 /* 24481 * Stream head default high/low water marks 24482 */ 24483 24484 24485 24486 /* 24487 * qwriter perimeter types 24488 */ 24489 24490 24491 24492 /* 24493 * Definitions of Streams macros and function interfaces. 24494 */ 24495 24496 /* 24497 * canenable - check if queue can be enabled by putq(). 24498 */ 24499 24500 24501 /* 24502 * Test if data block type is one of the data messages (i.e. not a control 24503 * message). 24504 */ 24505 24506 24507 24508 24509 24510 24511 24512 /* 24513 * Extract queue class of message block. 24514 */ 24515 24516 24517 /* 24518 * Align address on next lower word boundary. 24519 */ 24520 24521 24522 /* 24523 * Find the max size of data block. 24524 */ 24525 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 24526 24527 /* 24528 * Symbols such as htonl() are required to be exposed through this file, 24529 * per XNS Issue 5. This is achieved by inclusion of <sys/byteorder.h> 24530 */ 24531 24532 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 1 24533 /* 24534 * CDDL HEADER START 24535 * 24536 * The contents of this file are subject to the terms of the 24537 * Common Development and Distribution License (the "License"). 24538 * You may not use this file except in compliance with the License. 24539 * 24540 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 24541 * or http://www.opensolaris.org/os/licensing. 24542 * See the License for the specific language governing permissions 24543 * and limitations under the License. 24544 * 24545 * When distributing Covered Code, include this CDDL HEADER in each 24546 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 24547 * If applicable, add the following below this CDDL HEADER, with the 24548 * fields enclosed by brackets "[]" replaced with your own identifying 24549 * information: Portions Copyright [yyyy] [name of copyright owner] 24550 * 24551 * CDDL HEADER END 24552 */ 24553 24554 /* 24555 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24556 * Use is subject to license terms. 24557 */ 24558 24559 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 24560 /* All Rights Reserved */ 24561 24562 /* 24563 * University Copyright- Copyright (c) 1982, 1986, 1988 24564 * The Regents of the University of California 24565 * All Rights Reserved 24566 * 24567 * University Acknowledgment- Portions of this document are derived from 24568 * software developed by the University of California, Berkeley, and its 24569 * contributors. 24570 */ 24571 24572 24573 24574 24575 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 24576 /* 24577 * CDDL HEADER START 24578 * 24579 * The contents of this file are subject to the terms of the 24580 * Common Development and Distribution License (the "License"). 24581 * You may not use this file except in compliance with the License. 24582 * 24583 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 24584 * or http://www.opensolaris.org/os/licensing. 24585 * See the License for the specific language governing permissions 24586 * and limitations under the License. 24587 * 24588 * 24589 * When distributing Covered Code, include this CDDL HEADER in each 24590 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 24591 * If applicable, add the following below this CDDL HEADER, with the 24592 * fields enclosed by brackets "[]" replaced with your own identifying 24593 * information: Portions Copyright [yyyy] [name of copyright owner] 24594 * 24595 * CDDL HEADER END 24596 */ 24597 24598 /* 24599 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24600 * Use is subject to license terms. 24601 * Copyright 2016 Joyent, Inc. 24602 */ 24603 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 24604 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 24605 /* 24606 * CDDL HEADER START 24607 * 24608 * The contents of this file are subject to the terms of the 24609 * Common Development and Distribution License, Version 1.0 only 24610 * (the "License"). You may not use this file except in compliance 24611 * with the License. 24612 * 24613 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 24614 * or http://www.opensolaris.org/os/licensing. 24615 * See the License for the specific language governing permissions 24616 * and limitations under the License. 24617 * 24618 * When distributing Covered Code, include this CDDL HEADER in each 24619 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 24620 * If applicable, add the following below this CDDL HEADER, with the 24621 * fields enclosed by brackets "[]" replaced with your own identifying 24622 * information: Portions Copyright [yyyy] [name of copyright owner] 24623 * 24624 * CDDL HEADER END 24625 */ 24626 /* 24627 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 24628 * 24629 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 24630 * Use is subject to license terms. 24631 */ 24632 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 2 24633 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24634 /* 24635 * macros for conversion between host and (internet) network byte order 24636 */ 24637 # 74 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24638 typedef uint16_t in_port_t; 24639 24640 24641 24642 24643 typedef uint32_t in_addr_t; 24644 24645 24646 24647 extern uint32_t htonl(uint32_t); 24648 extern uint16_t htons(uint16_t); 24649 extern uint32_t ntohl(uint32_t); 24650 extern uint16_t ntohs(uint16_t); 24651 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24652 extern uint64_t htonll(uint64_t); 24653 extern uint64_t ntohll(uint64_t); 24654 24655 24656 24657 24658 24659 24660 /* 24661 * Macros to reverse byte order 24662 */ 24663 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24664 /* 24665 * Macros to convert from a specific byte order to/from native byte order 24666 */ 24667 # 164 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24668 /* 24669 * Macros to read unaligned values from a specific byte order to 24670 * native byte order 24671 */ 24672 # 204 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/byteorder.h" 24673 /* 24674 * Macros to write unaligned values from native byte order to a specific byte 24675 * order. 24676 */ 24677 # 75 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 2 24678 24679 24680 24681 24682 24683 24684 24685 /* 24686 * Note: IPv4 address data structures usage conventions. 24687 * The "in_addr_t" type below (required by Unix standards) 24688 * is NOT a typedef of "struct in_addr" and violates the usual 24689 * conventions where "struct <name>" and <name>_t are corresponding 24690 * typedefs. 24691 * To minimize confusion, kernel data structures/usage prefers use 24692 * of "ipaddr_t" as atomic uint32_t type and avoid using "in_addr_t" 24693 * The user level APIs continue to follow the historic popular 24694 * practice of using "struct in_addr". 24695 */ 24696 24697 24698 24699 24700 24701 24702 24703 typedef uint32_t ipaddr_t; 24704 24705 24706 24707 24708 struct in6_addr { 24709 union { 24710 /* 24711 * Note: Static initalizers of "union" type assume 24712 * the constant on the RHS is the type of the first member 24713 * of union. 24714 * To make static initializers (and efficient usage) work, 24715 * the order of members exposed to user and kernel view of 24716 * this data structure is different. 24717 * User environment sees specified uint8_t type as first 24718 * member whereas kernel sees most efficient type as 24719 * first member. 24720 */ 24721 24722 24723 24724 24725 uint8_t _S6_u8[16]; /* IPv6 address */ 24726 uint32_t _S6_u32[4]; /* IPv6 address */ 24727 24728 uint32_t __S6_align; /* Align on 32 bit boundary */ 24729 } _S6_un; 24730 }; 24731 24732 24733 24734 24735 24736 24737 24738 typedef struct in6_addr in6_addr_t; 24739 # 144 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24740 /* 24741 * Protocols 24742 * 24743 * Some of these constant names are copied for the DTrace IP provider in 24744 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 24745 * in sync. 24746 */ 24747 # 177 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24748 /* Transmission Protocol */ 24749 # 186 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24750 /* 24751 * Port/socket numbers: network standard functions 24752 * 24753 * Entries should exist here for each port number compiled into an ON 24754 * component, such as snoop. 24755 */ 24756 # 208 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24757 /* 24758 * Port/socket numbers: host specific functions 24759 */ 24760 # 229 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24761 /* 24762 * Internet Key Exchange (IKE) ports 24763 */ 24764 24765 24766 24767 /* 24768 * UNIX TCP sockets 24769 */ 24770 24771 24772 24773 24774 24775 24776 /* 24777 * UNIX UDP sockets 24778 */ 24779 24780 24781 24782 24783 24784 24785 24786 /* 24787 * DHCPv6 UDP ports 24788 */ 24789 24790 24791 24792 24793 24794 /* 24795 * Ports < IPPORT_RESERVED are reserved for 24796 * privileged processes (e.g. root). 24797 * Ports > IPPORT_USERRESERVED are reserved 24798 * for servers, not necessarily privileged. 24799 */ 24800 24801 24802 24803 /* 24804 * Link numbers 24805 */ 24806 24807 24808 24809 24810 /* 24811 * IPv4 Internet address 24812 * This definition contains obsolete fields for compatibility 24813 * with SunOS 3.x and 4.2bsd. The presence of subnets renders 24814 * divisions into fixed fields misleading at best. New code 24815 * should use only the s_addr field. 24816 */ 24817 # 293 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24818 struct in_addr { 24819 union { 24820 struct { uint8_t s_b1, s_b2, s_b3, s_b4; } S_un_b; 24821 struct { uint16_t s_w1, s_w2; } S_un_w; 24822 24823 uint32_t S_addr; 24824 24825 24826 24827 } S_un; 24828 24829 24830 24831 24832 24833 24834 }; 24835 24836 /* 24837 * Definitions of bits in internet address integers. 24838 * On subnets, the decomposition of addresses to host and net parts 24839 * is done according to subnet mask, not the masks here. 24840 * 24841 * Note that with the introduction of CIDR, IN_CLASSA, IN_CLASSB, 24842 * IN_CLASSC, IN_CLASSD and IN_CLASSE macros have become "de-facto 24843 * obsolete". IN_MULTICAST macro should be used to test if a address 24844 * is a multicast address. 24845 */ 24846 # 348 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24847 /* 24848 * We have removed CLASS E checks from the kernel 24849 * But we preserve these defines for userland in order 24850 * to avoid compile breakage of some 3rd party piece of software 24851 */ 24852 # 369 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24853 /* Scoped IPv4 prefixes (in host byte-order) */ 24854 # 379 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24855 /* RFC 3927 IPv4 link local address (i in host byte-order) */ 24856 24857 24858 /* Well known 6to4 Relay Router Anycast address defined in RFC 3068 */ 24859 24860 24861 24862 24863 24864 24865 /* 24866 * Define a macro to stuff the loopback address into an Internet address 24867 */ 24868 24869 24870 24871 24872 24873 24874 /* 24875 * IPv4 Socket address. 24876 */ 24877 struct sockaddr_in { 24878 sa_family_t sin_family; 24879 in_port_t sin_port; 24880 struct in_addr sin_addr; 24881 24882 char sin_zero[8]; 24883 24884 24885 24886 }; 24887 24888 24889 /* 24890 * IPv6 socket address. 24891 */ 24892 struct sockaddr_in6 { 24893 sa_family_t sin6_family; 24894 in_port_t sin6_port; 24895 uint32_t sin6_flowinfo; 24896 struct in6_addr sin6_addr; 24897 uint32_t sin6_scope_id; /* Depends on scope of sin6_addr */ 24898 uint32_t __sin6_src_id; /* Impl. specific - UDP replies */ 24899 }; 24900 24901 /* 24902 * Macros for accessing the traffic class and flow label fields from 24903 * sin6_flowinfo. 24904 * These are designed to be applied to a 32-bit value. 24905 */ 24906 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24907 /* masks */ 24908 24909 24910 24911 24912 24913 /* 24914 * Note: Macros IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT are for 24915 * use as RHS of Static initializers of "struct in6_addr" (or in6_addr_t) 24916 * only. They need to be different for User/Kernel versions because union 24917 * component data structure is defined differently (it is identical at 24918 * binary representation level). 24919 * 24920 * const struct in6_addr IN6ADDR_ANY_INIT; 24921 * const struct in6_addr IN6ADDR_LOOPBACK_INIT; 24922 */ 24923 # 478 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24924 /* 24925 * RFC 2553 specifies the following macros. Their type is defined 24926 * as "int" in the RFC but they only have boolean significance 24927 * (zero or non-zero). For the purposes of our comment notation, 24928 * we assume a hypothetical type "bool" defined as follows to 24929 * write the prototypes assumed for macros in our comments better. 24930 * 24931 * typedef int bool; 24932 */ 24933 24934 /* 24935 * IN6 macros used to test for special IPv6 addresses 24936 * (Mostly from spec) 24937 * 24938 * bool IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); 24939 * bool IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); 24940 * bool IN6_IS_ADDR_MULTICAST (const struct in6_addr *); 24941 * bool IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); 24942 * bool IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); 24943 * bool IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); 24944 * bool IN6_IS_ADDR_V4MAPPED_ANY(const struct in6_addr *); -- Not from RFC2553 24945 * bool IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); 24946 * bool IN6_IS_ADDR_MC_RESERVED (const struct in6_addr *); -- Not from RFC2553 24947 * bool IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); 24948 * bool IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); 24949 * bool IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); 24950 * bool IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); 24951 * bool IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 24952 * bool IN6_IS_ADDR_6TO4 (const struct in6_addr *); -- Not from RFC2553 24953 * bool IN6_ARE_6TO4_PREFIX_EQUAL(const struct in6_addr *, 24954 * const struct in6_addr *); -- Not from RFC2553 24955 * bool IN6_IS_ADDR_LINKSCOPE (const struct in6addr *); -- Not from RFC2553 24956 */ 24957 # 568 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24958 /* 24959 * IN6_IS_ADDR_V4MAPPED - A IPv4 mapped INADDR_ANY 24960 * Note: This macro is currently NOT defined in RFC2553 specification 24961 * and not a standard macro that portable applications should use. 24962 */ 24963 # 587 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24964 /* Exclude loopback and unspecified address */ 24965 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24966 /* 24967 * Note: 24968 * IN6_IS_ADDR_MC_RESERVED macro is currently NOT defined in RFC2553 24969 * specification and not a standard macro that portable applications 24970 * should use. 24971 */ 24972 # 660 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24973 /* 24974 * The IN6_IS_ADDR_MC_SOLICITEDNODE macro is not defined in any standard or 24975 * RFC, and shouldn't be used by portable applications. It is used to see 24976 * if an address is a solicited-node multicast address, which is prefixed 24977 * with ff02:0:0:0:0:1:ff00::/104. 24978 */ 24979 # 680 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24980 /* 24981 * Macros to a) test for 6to4 IPv6 address, and b) to test if two 24982 * 6to4 addresses have the same /48 prefix, and, hence, are from the 24983 * same 6to4 site. 24984 */ 24985 # 699 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 24986 /* 24987 * IN6_IS_ADDR_LINKSCOPE 24988 * Identifies an address as being either link-local, link-local multicast or 24989 * node-local multicast. All types of addresses are considered to be unique 24990 * within the scope of a given link. 24991 */ 24992 24993 24994 24995 24996 /* 24997 * Useful utility macros for operations with IPv6 addresses 24998 * Note: These macros are NOT defined in the RFC2553 or any other 24999 * standard specification and are not standard macros that portable 25000 * applications should use. 25001 */ 25002 25003 /* 25004 * IN6_V4MAPPED_TO_INADDR 25005 * IN6_V4MAPPED_TO_IPADDR 25006 * Assign a IPv4-Mapped IPv6 address to an IPv4 address. 25007 * Note: These macros are NOT defined in RFC2553 or any other standard 25008 * specification and are not macros that portable applications should 25009 * use. 25010 * 25011 * void IN6_V4MAPPED_TO_INADDR(const in6_addr_t *v6, struct in_addr *v4); 25012 * void IN6_V4MAPPED_TO_IPADDR(const in6_addr_t *v6, ipaddr_t v4); 25013 * 25014 */ 25015 25016 25017 25018 25019 25020 /* 25021 * IN6_INADDR_TO_V4MAPPED 25022 * IN6_IPADDR_TO_V4MAPPED 25023 * Assign a IPv4 address address to an IPv6 address as a IPv4-mapped 25024 * address. 25025 * Note: These macros are NOT defined in RFC2553 or any other standard 25026 * specification and are not macros that portable applications should 25027 * use. 25028 * 25029 * void IN6_INADDR_TO_V4MAPPED(const struct in_addr *v4, in6_addr_t *v6); 25030 * void IN6_IPADDR_TO_V4MAPPED(const ipaddr_t v4, in6_addr_t *v6); 25031 * 25032 */ 25033 # 770 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25034 /* 25035 * IN6_6TO4_TO_V4ADDR 25036 * Extract the embedded IPv4 address from the prefix to a 6to4 IPv6 25037 * address. 25038 * Note: This macro is NOT defined in RFC2553 or any other standard 25039 * specification and is not a macro that portable applications should 25040 * use. 25041 * Note: we don't use the IPADDR form of the macro because we need 25042 * to do a bytewise copy; the V4ADDR in the 6to4 address is not 25043 * 32-bit aligned. 25044 * 25045 * void IN6_6TO4_TO_V4ADDR(const in6_addr_t *v6, struct in_addr *v4); 25046 * 25047 */ 25048 25049 25050 25051 25052 25053 25054 /* 25055 * IN6_V4ADDR_TO_6TO4 25056 * Given an IPv4 address and an IPv6 address for output, a 6to4 address 25057 * will be created from the IPv4 Address. 25058 * Note: This method for creating 6to4 addresses is not standardized 25059 * outside of Solaris. The newly created 6to4 address will be of the form 25060 * 2002:<V4ADDR>:<SUBNETID>::<HOSTID>, where SUBNETID will equal 0 and 25061 * HOSTID will equal 1. 25062 * 25063 * void IN6_V4ADDR_TO_6TO4(const struct in_addr *v4, in6_addr_t *v6) 25064 * 25065 */ 25066 # 828 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25067 /* 25068 * IN6_ARE_ADDR_EQUAL (defined in RFC2292) 25069 * Compares if IPv6 addresses are equal. 25070 * Note: Compares in order of high likelyhood of a miss so we minimize 25071 * compares. (Current heuristic order, compare in reverse order of 25072 * uint32_t units) 25073 * 25074 * bool IN6_ARE_ADDR_EQUAL(const struct in6_addr *, 25075 * const struct in6_addr *); 25076 */ 25077 25078 25079 25080 25081 25082 25083 /* 25084 * IN6_ARE_PREFIXEDADDR_EQUAL (not defined in RFCs) 25085 * Compares if prefixed parts of IPv6 addresses are equal. 25086 * 25087 * uint32_t IN6_MASK_FROM_PREFIX(int, int); 25088 * bool IN6_ARE_PREFIXEDADDR_EQUAL(const struct in6_addr *, 25089 * const struct in6_addr *, 25090 * int); 25091 */ 25092 # 879 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25093 /* 25094 * Options for use with [gs]etsockopt at the IP level. 25095 * 25096 * Note: Some of the IP_ namespace has conflict with and 25097 * and is exposed through <xti.h>. (It also requires exposing 25098 * options not implemented). The options with potential 25099 * for conflicts use #ifndef guards. 25100 */ 25101 # 919 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25102 /* 25103 * IP_PKTINFO and IP_RECVPKTINFO have same value. Size of argument passed in 25104 * is used to differentiate b/w the two. 25105 */ 25106 25107 25108 25109 25110 25111 /* 25112 * Different preferences that can be requested from IPSEC protocols. 25113 */ 25114 25115 25116 25117 25118 /* 25119 * This can be used with the setsockopt() call to set per socket security 25120 * options. When the application uses per-socket API, we will reflect 25121 * the request on both outbound and inbound packets. 25122 */ 25123 25124 typedef struct ipsec_req { 25125 uint_t ipsr_ah_req; /* AH request */ 25126 uint_t ipsr_esp_req; /* ESP request */ 25127 uint_t ipsr_self_encap_req; /* Self-Encap request */ 25128 uint8_t ipsr_auth_alg; /* Auth algs for AH */ 25129 uint8_t ipsr_esp_alg; /* Encr algs for ESP */ 25130 uint8_t ipsr_esp_auth_alg; /* Auth algs for ESP */ 25131 } ipsec_req_t; 25132 25133 /* 25134 * MCAST_* options are protocol-independent. The actual definitions 25135 * are with the v6 options below; this comment is here to note the 25136 * namespace usage. 25137 * 25138 * #define MCAST_JOIN_GROUP 0x29 25139 * #define MCAST_LEAVE_GROUP 0x2a 25140 * #define MCAST_BLOCK_SOURCE 0x2b 25141 * #define MCAST_UNBLOCK_SOURCE 0x2c 25142 * #define MCAST_JOIN_SOURCE_GROUP 0x2d 25143 * #define MCAST_LEAVE_SOURCE_GROUP 0x2e 25144 */ 25145 25146 25147 /* 25148 * SunOS private (potentially not portable) IP_ option names 25149 */ 25150 25151 25152 25153 /* can be reused 0x44 */ 25154 25155 25156 /* 25157 * Option values and names (when !_XPG5) shared with <xti_inet.h> 25158 */ 25159 # 988 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25160 /* 25161 * The following option values are reserved by <xti_inet.h> 25162 * 25163 * T_IP_OPTIONS 0x107 - IP per-packet options 25164 * T_IP_TOS 0x108 - IP per packet type of service 25165 */ 25166 25167 /* 25168 * Default value constants for multicast attributes controlled by 25169 * IP*_MULTICAST_LOOP and IP*_MULTICAST_{TTL,HOPS} options. 25170 */ 25171 25172 25173 25174 25175 /* 25176 * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 25177 */ 25178 struct ip_mreq { 25179 struct in_addr imr_multiaddr; /* IP multicast address of group */ 25180 struct in_addr imr_interface; /* local IP address of interface */ 25181 }; 25182 25183 /* 25184 * Argument structure for IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE, 25185 * IP_ADD_SOURCE_MEMBERSHIP, and IP_DROP_SOURCE_MEMBERSHIP. 25186 */ 25187 struct ip_mreq_source { 25188 struct in_addr imr_multiaddr; /* IP address of group */ 25189 struct in_addr imr_sourceaddr; /* IP address of source */ 25190 struct in_addr imr_interface; /* IP address of interface */ 25191 }; 25192 25193 /* 25194 * Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP on 25195 * IPv6 addresses. 25196 */ 25197 struct ipv6_mreq { 25198 struct in6_addr ipv6mr_multiaddr; /* IPv6 multicast addr */ 25199 unsigned int ipv6mr_interface; /* interface index */ 25200 }; 25201 25202 /* 25203 * Use #pragma pack() construct to force 32-bit alignment on amd64. 25204 * This is needed to keep the structure size and offsets consistent 25205 * between a 32-bit app and the 64-bit amd64 kernel in structures 25206 * where 64-bit alignment would create gaps (in this case, structures 25207 * which have a uint32_t followed by a struct sockaddr_storage). 25208 */ 25209 25210 25211 25212 25213 /* 25214 * Argument structure for MCAST_JOIN_GROUP and MCAST_LEAVE_GROUP. 25215 */ 25216 struct group_req { 25217 uint32_t gr_interface; /* interface index */ 25218 struct sockaddr_storage gr_group; /* group address */ 25219 }; 25220 25221 /* 25222 * Argument structure for MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, 25223 * MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP. 25224 */ 25225 struct group_source_req { 25226 uint32_t gsr_interface; /* interface index */ 25227 struct sockaddr_storage gsr_group; /* group address */ 25228 struct sockaddr_storage gsr_source; /* source address */ 25229 }; 25230 25231 /* 25232 * Argument for SIOC[GS]MSFILTER ioctls 25233 */ 25234 struct group_filter { 25235 uint32_t gf_interface; /* interface index */ 25236 struct sockaddr_storage gf_group; /* multicast address */ 25237 uint32_t gf_fmode; /* filter mode */ 25238 uint32_t gf_numsrc; /* number of sources */ 25239 struct sockaddr_storage gf_slist[1]; /* source address */ 25240 }; 25241 # 1078 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25242 /* 25243 * Argument for SIOC[GS]IPMSFILTER ioctls (IPv4-specific) 25244 */ 25245 struct ip_msfilter { 25246 struct in_addr imsf_multiaddr; /* IP multicast address of group */ 25247 struct in_addr imsf_interface; /* local IP address of interface */ 25248 uint32_t imsf_fmode; /* filter mode */ 25249 uint32_t imsf_numsrc; /* number of sources in src_list */ 25250 struct in_addr imsf_slist[1]; /* start of source list */ 25251 }; 25252 25253 25254 25255 25256 25257 /* 25258 * Multicast source filter manipulation functions in libsocket; 25259 * defined in RFC 3678. 25260 */ 25261 int setsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t, 25262 uint_t, struct sockaddr_storage *); 25263 25264 int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, uint32_t *, 25265 uint_t *, struct sockaddr_storage *); 25266 25267 int setipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t, 25268 uint32_t, struct in_addr *); 25269 25270 int getipv4sourcefilter(int, struct in_addr, struct in_addr, uint32_t *, 25271 uint32_t *, struct in_addr *); 25272 25273 /* 25274 * Definitions needed for [gs]etsourcefilter(), [gs]etipv4sourcefilter() 25275 */ 25276 25277 25278 25279 /* 25280 * Argument struct for IP_PKTINFO option 25281 */ 25282 typedef struct in_pktinfo { 25283 unsigned int ipi_ifindex; /* send/recv interface index */ 25284 struct in_addr ipi_spec_dst; /* matched source address */ 25285 struct in_addr ipi_addr; /* src/dst address in IP hdr */ 25286 } in_pktinfo_t; 25287 25288 /* 25289 * Argument struct for IPV6_PKTINFO option 25290 */ 25291 struct in6_pktinfo { 25292 struct in6_addr ipi6_addr; /* src/dst IPv6 address */ 25293 unsigned int ipi6_ifindex; /* send/recv interface index */ 25294 }; 25295 25296 /* 25297 * Argument struct for IPV6_MTUINFO option 25298 */ 25299 struct ip6_mtuinfo { 25300 struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ 25301 uint32_t ip6m_mtu; /* path MTU in host byte order */ 25302 }; 25303 25304 /* 25305 * IPv6 routing header types 25306 */ 25307 25308 25309 extern socklen_t inet6_rth_space(int type, int segments); 25310 extern void *inet6_rth_init(void *bp, socklen_t bp_len, int type, int segments); 25311 extern int inet6_rth_add(void *bp, const struct in6_addr *addr); 25312 extern int inet6_rth_reverse(const void *in, void *out); 25313 extern int inet6_rth_segments(const void *bp); 25314 extern struct in6_addr *inet6_rth_getaddr(const void *bp, int index); 25315 25316 extern int inet6_opt_init(void *extbuf, socklen_t extlen); 25317 extern int inet6_opt_append(void *extbuf, socklen_t extlen, int offset, 25318 uint8_t type, socklen_t len, uint_t align, void **databufp); 25319 extern int inet6_opt_finish(void *extbuf, socklen_t extlen, int offset); 25320 extern int inet6_opt_set_val(void *databuf, int offset, void *val, 25321 socklen_t vallen); 25322 extern int inet6_opt_next(void *extbuf, socklen_t extlen, int offset, 25323 uint8_t *typep, socklen_t *lenp, void **databufp); 25324 extern int inet6_opt_find(void *extbufp, socklen_t extlen, int offset, 25325 uint8_t type, socklen_t *lenp, void **databufp); 25326 extern int inet6_opt_get_val(void *databuf, int offset, void *val, 25327 socklen_t vallen); 25328 25329 25330 /* 25331 * Argument structure for IP_ADD_PROXY_ADDR. 25332 * Note that this is an unstable, experimental interface. It may change 25333 * later. Don't use it unless you know what it is. 25334 */ 25335 typedef struct { 25336 struct in_addr in_prefix_addr; 25337 unsigned int in_prefix_len; 25338 } in_prefix_t; 25339 25340 25341 25342 /* 25343 * IPv6 options 25344 */ 25345 25346 /* packets. */ 25347 /* argument type: uint_t */ 25348 25349 /* multicast packets. */ 25350 /* argument type: struct in6_addr */ 25351 25352 /* multicast packets. */ 25353 /* argument type: uint_t */ 25354 25355 /* multicast packets on same socket. */ 25356 /* argument type: uint_t */ 25357 25358 /* argument type: struct ipv6_mreq */ 25359 25360 /* argument type: struct ipv6_mreq */ 25361 25362 /* 25363 * Other XPG6 constants. 25364 */ 25365 25366 /* decimal notation. */ 25367 25368 /* standard colon-hex notation. */ 25369 25370 25371 25372 25373 25374 /* 25375 * IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are being kept 25376 * for backward compatibility. They have the same meaning as IPV6_JOIN_GROUP 25377 * and IPV6_LEAVE_GROUP respectively. 25378 */ 25379 25380 /* argument type: struct ipv6_mreq */ 25381 25382 /* argument type: struct ipv6_mreq */ 25383 25384 25385 /* arg type: "struct in6_pktingo" - */ 25386 25387 25388 25389 25390 /* the routing header */ 25391 25392 25393 /* the routing header */ 25394 25395 25396 25397 25398 /* 25399 * This options exists for backwards compatability and should no longer be 25400 * used. Use IPV6_RECVDSTOPTS instead. 25401 */ 25402 25403 25404 25405 25406 /* 25407 * enable/disable IPV6_RTHDRDSTOPTS. Now obsolete. IPV6_RECVDSTOPTS enables 25408 * the receipt of both headers. 25409 */ 25410 # 1259 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25411 /* 25412 * enable/disable receipt of both both IPV6_DSTOPTS headers. 25413 */ 25414 25415 25416 /* 25417 * protocol-independent multicast membership options. 25418 */ 25419 25420 25421 25422 25423 25424 25425 25426 /* 32Bit field for IPV6_SRC_PREFERENCES */ 25427 # 1295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 25428 /* 25429 * SunOS private (potentially not portable) IPV6_ option names 25430 */ 25431 25432 25433 /* unspecified (all zeros) */ 25434 25435 /* 25436 * Miscellaneous IPv6 constants. 25437 */ 25438 25439 25440 25441 25442 /* 25443 * Extern declarations for pre-defined global const variables 25444 */ 25445 25446 25447 25448 extern const struct in6_addr in6addr_any; 25449 extern const struct in6_addr in6addr_loopback; 25450 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 2 25451 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25452 /* 25453 * Definitions related to sockets: types, address families, options. 25454 */ 25455 # 94 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25456 /* 25457 * Types 25458 */ 25459 # 110 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25460 /* 25461 * Flags for socket() and accept4() 25462 */ 25463 25464 25465 25466 25467 /* 25468 * Option flags per-socket. 25469 */ 25470 # 132 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25471 /* 25472 * Socket options are passed using a signed integer, but it is also rare 25473 * for more than one to ever be passed at the same time with setsockopt 25474 * and only one at a time can be retrieved with getsockopt. 25475 * 25476 * Since the lower numbers cannot be renumbered for compatibility reasons, 25477 * it would seem that we need to start a new number space (0x40000000 - 25478 * 0x7fffffff) for those that don't need to be stored as a bit flag 25479 * somewhere. This limits the flag options to 30 but that seems to be 25480 * plenty, anyway. 0x40000000 is reserved for future use. 25481 */ 25482 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25483 /* 25484 * N.B.: The following definition is present only for compatibility 25485 * with release 3.0. It will disappear in later releases. 25486 */ 25487 25488 25489 /* 25490 * Additional options, not kept in so_options. 25491 */ 25492 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25493 /* "Socket"-level control message types: */ 25494 # 200 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25495 /* 25496 * Socket filter options 25497 */ 25498 25499 25500 25501 25502 25503 /* 25504 * Structure returned by FIL_LIST 25505 */ 25506 struct fil_info { 25507 int fi_flags; /* see below (FILF_*) */ 25508 int fi_pos; /* position (0 is bottom) */ 25509 char fi_name[32]; /* filter name */ 25510 }; 25511 # 237 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25512 /* 25513 * Structure used for manipulating linger option. 25514 */ 25515 struct linger { 25516 int l_onoff; /* option on/off */ 25517 int l_linger; /* linger time */ 25518 }; 25519 25520 /* 25521 * Levels for (get/set)sockopt() that don't apply to a specific protocol. 25522 */ 25523 25524 25525 25526 25527 25528 25529 25530 /* 25531 * Address families. 25532 * 25533 * Some of these constant names are copied for the DTrace IP provider in 25534 * usr/src/lib/libdtrace/common/{ip.d.in, ip.sed.in}, which should be kept 25535 * in sync. 25536 */ 25537 # 300 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25538 /* 25539 * Protocol families, same as address families for now. 25540 */ 25541 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25542 /* 25543 * Maximum queue length specifiable by listen. 25544 */ 25545 25546 25547 /* 25548 * Message header for recvmsg and sendmsg calls. 25549 */ 25550 struct msghdr { 25551 void *msg_name; /* optional address */ 25552 socklen_t msg_namelen; /* size of address */ 25553 struct iovec *msg_iov; /* scatter/gather array */ 25554 int msg_iovlen; /* # elements in msg_iov */ 25555 25556 25557 25558 25559 25560 25561 caddr_t msg_accrights; /* access rights sent/received */ 25562 int msg_accrightslen; 25563 25564 }; 25565 # 412 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25566 /* Added for XPGv2 compliance */ 25567 25568 25569 25570 25571 25572 /* with left over data */ 25573 /* End of XPGv2 compliance */ 25574 # 438 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25575 /* Added for XPGv2 compliance */ 25576 25577 25578 25579 25580 struct cmsghdr { 25581 socklen_t cmsg_len; /* data byte count, including hdr */ 25582 int cmsg_level; /* originating protocol */ 25583 int cmsg_type; /* protocol-specific type */ 25584 }; 25585 # 528 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket.h" 25586 extern int accept(int, struct sockaddr *, Psocklen_t); 25587 extern int accept4(int, struct sockaddr *, Psocklen_t, int); 25588 extern int bind(int, const struct sockaddr *, socklen_t); 25589 extern int connect(int, const struct sockaddr *, socklen_t); 25590 extern int getpeername(int, struct sockaddr *, Psocklen_t); 25591 extern int getsockname(int, struct sockaddr *, Psocklen_t); 25592 extern int getsockopt(int, int, int, void *, Psocklen_t); 25593 extern int listen(int, int); /* XXX - fixme??? where do I go */ 25594 extern int socketpair(int, int, int, int *); 25595 extern ssize_t recv(int, void *, size_t, int); 25596 extern ssize_t recvfrom(int, void *, size_t, int, 25597 struct sockaddr *, Psocklen_t); 25598 extern ssize_t recvmsg(int, struct msghdr *, int); 25599 extern ssize_t send(int, const void *, size_t, int); 25600 extern ssize_t sendmsg(int, const struct msghdr *, int); 25601 extern ssize_t sendto(int, const void *, size_t, int, const struct sockaddr *, 25602 socklen_t); 25603 extern int setsockopt(int, int, int, const void *, socklen_t); 25604 extern int shutdown(int, int); 25605 extern int socket(int, int, int); 25606 25607 25608 extern int sockatmark(int); 25609 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 25610 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 1 25611 /* 25612 * CDDL HEADER START 25613 * 25614 * The contents of this file are subject to the terms of the 25615 * Common Development and Distribution License, Version 1.0 only 25616 * (the "License"). You may not use this file except in compliance 25617 * with the License. 25618 * 25619 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25620 * or http://www.opensolaris.org/os/licensing. 25621 * See the License for the specific language governing permissions 25622 * and limitations under the License. 25623 * 25624 * When distributing Covered Code, include this CDDL HEADER in each 25625 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25626 * If applicable, add the following below this CDDL HEADER, with the 25627 * fields enclosed by brackets "[]" replaced with your own identifying 25628 * information: Portions Copyright [yyyy] [name of copyright owner] 25629 * 25630 * CDDL HEADER END 25631 */ 25632 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 25633 /* All Rights Reserved */ 25634 25635 25636 /* 25637 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 25638 * 25639 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 25640 * Use is subject to license terms. 25641 */ 25642 25643 25644 25645 25646 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 25647 /* 25648 * CDDL HEADER START 25649 * 25650 * The contents of this file are subject to the terms of the 25651 * Common Development and Distribution License (the "License"). 25652 * You may not use this file except in compliance with the License. 25653 * 25654 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25655 * or http://www.opensolaris.org/os/licensing. 25656 * See the License for the specific language governing permissions 25657 * and limitations under the License. 25658 * 25659 * When distributing Covered Code, include this CDDL HEADER in each 25660 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25661 * If applicable, add the following below this CDDL HEADER, with the 25662 * fields enclosed by brackets "[]" replaced with your own identifying 25663 * information: Portions Copyright [yyyy] [name of copyright owner] 25664 * 25665 * CDDL HEADER END 25666 */ 25667 25668 /* 25669 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 25670 * Copyright 2016 Joyent, Inc. 25671 * 25672 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 25673 * Use is subject to license terms. 25674 */ 25675 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 2 25676 25677 25678 25679 25680 25681 25682 /* Must be at least 257 to */ 25683 /* support Internet hostnames. */ 25684 25685 25686 25687 25688 25689 25690 25691 struct utsname { 25692 char sysname[257]; 25693 char nodename[257]; 25694 char release[257]; 25695 char version[257]; 25696 char machine[257]; 25697 }; 25698 25699 25700 extern struct utsname utsname; 25701 25702 25703 25704 25705 25706 25707 extern int uname(struct utsname *); 25708 extern int _uname(struct utsname *); 25709 25710 25711 extern int nuname(struct utsname *); 25712 25713 extern int _nuname(struct utsname *); 25714 25715 /* 25716 * On i386 in SVID.2 uname() returns a utsname structure with 8 byte members, 25717 * and nuname() returns the real struct utsname. In SVID.3 uname and nuname 25718 * are equivalent. Anyone who includes this header gets the SVID.3 behaviour. 25719 * The SVID.2 behaviour exists solely for compatibility, and is what is 25720 * implemented by the libc uname/_uname entrypoints. 25721 */ 25722 25723 25724 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 25725 #pragma redefine_extname uname _nuname 25726 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 25727 25728 25729 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 25730 #pragma redefine_extname _uname _nuname 25731 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/utsname.h" 25732 # 68 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 25733 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 1 25734 /* 25735 * CDDL HEADER START 25736 * 25737 * The contents of this file are subject to the terms of the 25738 * Common Development and Distribution License (the "License"). 25739 * You may not use this file except in compliance with the License. 25740 * 25741 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25742 * or http://www.opensolaris.org/os/licensing. 25743 * See the License for the specific language governing permissions 25744 * and limitations under the License. 25745 * 25746 * When distributing Covered Code, include this CDDL HEADER in each 25747 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25748 * If applicable, add the following below this CDDL HEADER, with the 25749 * fields enclosed by brackets "[]" replaced with your own identifying 25750 * information: Portions Copyright [yyyy] [name of copyright owner] 25751 * 25752 * CDDL HEADER END 25753 */ 25754 /* 25755 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25756 * Use is subject to license terms. 25757 */ 25758 25759 25760 25761 25762 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 25763 /* 25764 * CDDL HEADER START 25765 * 25766 * The contents of this file are subject to the terms of the 25767 * Common Development and Distribution License (the "License"). 25768 * You may not use this file except in compliance with the License. 25769 * 25770 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25771 * or http://www.opensolaris.org/os/licensing. 25772 * See the License for the specific language governing permissions 25773 * and limitations under the License. 25774 * 25775 * When distributing Covered Code, include this CDDL HEADER in each 25776 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25777 * If applicable, add the following below this CDDL HEADER, with the 25778 * fields enclosed by brackets "[]" replaced with your own identifying 25779 * information: Portions Copyright [yyyy] [name of copyright owner] 25780 * 25781 * CDDL HEADER END 25782 */ 25783 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 25784 /* All Rights Reserved */ 25785 25786 25787 /* 25788 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 25789 * Use is subject to license terms. 25790 * 25791 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 25792 * Copyright 2016 Joyent, Inc. 25793 */ 25794 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 25795 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 1 25796 /* 25797 * CDDL HEADER START 25798 * 25799 * The contents of this file are subject to the terms of the 25800 * Common Development and Distribution License (the "License"). 25801 * You may not use this file except in compliance with the License. 25802 * 25803 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25804 * or http://www.opensolaris.org/os/licensing. 25805 * See the License for the specific language governing permissions 25806 * and limitations under the License. 25807 * 25808 * When distributing Covered Code, include this CDDL HEADER in each 25809 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25810 * If applicable, add the following below this CDDL HEADER, with the 25811 * fields enclosed by brackets "[]" replaced with your own identifying 25812 * information: Portions Copyright [yyyy] [name of copyright owner] 25813 * 25814 * CDDL HEADER END 25815 */ 25816 /* 25817 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 25818 * Copyright 2013, Joyent, Inc. All rights reserved. 25819 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 25820 * Copyright 2014 Igor Kozhukhov <ikozhukhov@gmail.com>. 25821 */ 25822 25823 25824 25825 25826 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 25827 /* 25828 * CDDL HEADER START 25829 * 25830 * The contents of this file are subject to the terms of the 25831 * Common Development and Distribution License (the "License"). 25832 * You may not use this file except in compliance with the License. 25833 * 25834 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25835 * or http://www.opensolaris.org/os/licensing. 25836 * See the License for the specific language governing permissions 25837 * and limitations under the License. 25838 * 25839 * When distributing Covered Code, include this CDDL HEADER in each 25840 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25841 * If applicable, add the following below this CDDL HEADER, with the 25842 * fields enclosed by brackets "[]" replaced with your own identifying 25843 * information: Portions Copyright [yyyy] [name of copyright owner] 25844 * 25845 * CDDL HEADER END 25846 */ 25847 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 25848 /* All Rights Reserved */ 25849 25850 25851 /* 25852 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 25853 * Use is subject to license terms. 25854 * 25855 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 25856 * Copyright 2016 Joyent, Inc. 25857 */ 25858 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 25859 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 25860 /* 25861 * CDDL HEADER START 25862 * 25863 * The contents of this file are subject to the terms of the 25864 * Common Development and Distribution License (the "License"). 25865 * You may not use this file except in compliance with the License. 25866 * 25867 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25868 * or http://www.opensolaris.org/os/licensing. 25869 * See the License for the specific language governing permissions 25870 * and limitations under the License. 25871 * 25872 * When distributing Covered Code, include this CDDL HEADER in each 25873 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25874 * If applicable, add the following below this CDDL HEADER, with the 25875 * fields enclosed by brackets "[]" replaced with your own identifying 25876 * information: Portions Copyright [yyyy] [name of copyright owner] 25877 * 25878 * CDDL HEADER END 25879 */ 25880 /* 25881 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 25882 */ 25883 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 25884 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 25885 /* 25886 * CDDL HEADER START 25887 * 25888 * The contents of this file are subject to the terms of the 25889 * Common Development and Distribution License (the "License"). 25890 * You may not use this file except in compliance with the License. 25891 * 25892 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25893 * or http://www.opensolaris.org/os/licensing. 25894 * See the License for the specific language governing permissions 25895 * and limitations under the License. 25896 * 25897 * When distributing Covered Code, include this CDDL HEADER in each 25898 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25899 * If applicable, add the following below this CDDL HEADER, with the 25900 * fields enclosed by brackets "[]" replaced with your own identifying 25901 * information: Portions Copyright [yyyy] [name of copyright owner] 25902 * 25903 * CDDL HEADER END 25904 */ 25905 25906 /* 25907 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 25908 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 25909 */ 25910 25911 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 25912 /* All Rights Reserved */ 25913 25914 /* 25915 * University Copyright- Copyright (c) 1982, 1986, 1988 25916 * The Regents of the University of California 25917 * All Rights Reserved 25918 * 25919 * University Acknowledgment- Portions of this document are derived from 25920 * software developed by the University of California, Berkeley, and its 25921 * contributors. 25922 */ 25923 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 25924 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 25925 /* 25926 * CDDL HEADER START 25927 * 25928 * The contents of this file are subject to the terms of the 25929 * Common Development and Distribution License (the "License"). 25930 * You may not use this file except in compliance with the License. 25931 * 25932 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25933 * or http://www.opensolaris.org/os/licensing. 25934 * See the License for the specific language governing permissions 25935 * and limitations under the License. 25936 * 25937 * When distributing Covered Code, include this CDDL HEADER in each 25938 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25939 * If applicable, add the following below this CDDL HEADER, with the 25940 * fields enclosed by brackets "[]" replaced with your own identifying 25941 * information: Portions Copyright [yyyy] [name of copyright owner] 25942 * 25943 * CDDL HEADER END 25944 */ 25945 /* 25946 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 25947 */ 25948 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 25949 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 1 25950 /* 25951 * CDDL HEADER START 25952 * 25953 * The contents of this file are subject to the terms of the 25954 * Common Development and Distribution License (the "License"). 25955 * You may not use this file except in compliance with the License. 25956 * 25957 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25958 * or http://www.opensolaris.org/os/licensing. 25959 * See the License for the specific language governing permissions 25960 * and limitations under the License. 25961 * 25962 * When distributing Covered Code, include this CDDL HEADER in each 25963 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25964 * If applicable, add the following below this CDDL HEADER, with the 25965 * fields enclosed by brackets "[]" replaced with your own identifying 25966 * information: Portions Copyright [yyyy] [name of copyright owner] 25967 * 25968 * CDDL HEADER END 25969 */ 25970 /* 25971 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 25972 * Use is subject to license terms. 25973 */ 25974 25975 25976 25977 25978 #pragma ident "%Z%%M% %I% %E% SMI" 25979 25980 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/rctl.h" 1 25981 /* 25982 * CDDL HEADER START 25983 * 25984 * The contents of this file are subject to the terms of the 25985 * Common Development and Distribution License (the "License"). 25986 * You may not use this file except in compliance with the License. 25987 * 25988 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 25989 * or http://www.opensolaris.org/os/licensing. 25990 * See the License for the specific language governing permissions 25991 * and limitations under the License. 25992 * 25993 * When distributing Covered Code, include this CDDL HEADER in each 25994 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 25995 * If applicable, add the following below this CDDL HEADER, with the 25996 * fields enclosed by brackets "[]" replaced with your own identifying 25997 * information: Portions Copyright [yyyy] [name of copyright owner] 25998 * 25999 * CDDL HEADER END 26000 */ 26001 /* 26002 * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 26003 */ 26004 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ipc_rctl.h" 2 26005 26006 26007 26008 26009 26010 typedef struct ipc_rqty { /* datum protected by: */ 26011 rctl_qty_t ipcq_shmmni; /* shm's ipcs_lock */ 26012 rctl_qty_t ipcq_semmni; /* sem's ipcs_lock */ 26013 rctl_qty_t ipcq_msgmni; /* msg's ipcs_lock */ 26014 } ipc_rqty_t; 26015 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 26016 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/pset.h" 1 26017 /* 26018 * CDDL HEADER START 26019 * 26020 * The contents of this file are subject to the terms of the 26021 * Common Development and Distribution License (the "License"). 26022 * You may not use this file except in compliance with the License. 26023 * 26024 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26025 * or http://www.opensolaris.org/os/licensing. 26026 * See the License for the specific language governing permissions 26027 * and limitations under the License. 26028 * 26029 * When distributing Covered Code, include this CDDL HEADER in each 26030 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26031 * If applicable, add the following below this CDDL HEADER, with the 26032 * fields enclosed by brackets "[]" replaced with your own identifying 26033 * information: Portions Copyright [yyyy] [name of copyright owner] 26034 * 26035 * CDDL HEADER END 26036 */ 26037 /* 26038 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 26039 * 26040 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26041 * Use is subject to license terms. 26042 */ 26043 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 26044 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/tsol/label.h" 1 26045 /* 26046 * CDDL HEADER START 26047 * 26048 * The contents of this file are subject to the terms of the 26049 * Common Development and Distribution License (the "License"). 26050 * You may not use this file except in compliance with the License. 26051 * 26052 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26053 * or http://www.opensolaris.org/os/licensing. 26054 * See the License for the specific language governing permissions 26055 * and limitations under the License. 26056 * 26057 * When distributing Covered Code, include this CDDL HEADER in each 26058 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26059 * If applicable, add the following below this CDDL HEADER, with the 26060 * fields enclosed by brackets "[]" replaced with your own identifying 26061 * information: Portions Copyright [yyyy] [name of copyright owner] 26062 * 26063 * CDDL HEADER END 26064 */ 26065 /* 26066 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26067 * Use is subject to license terms. 26068 */ 26069 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 26070 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 26071 /* 26072 * CDDL HEADER START 26073 * 26074 * The contents of this file are subject to the terms of the 26075 * Common Development and Distribution License (the "License"). 26076 * You may not use this file except in compliance with the License. 26077 * 26078 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26079 * or http://www.opensolaris.org/os/licensing. 26080 * See the License for the specific language governing permissions 26081 * and limitations under the License. 26082 * 26083 * When distributing Covered Code, include this CDDL HEADER in each 26084 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26085 * If applicable, add the following below this CDDL HEADER, with the 26086 * fields enclosed by brackets "[]" replaced with your own identifying 26087 * information: Portions Copyright [yyyy] [name of copyright owner] 26088 * 26089 * CDDL HEADER END 26090 */ 26091 /* 26092 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26093 * Use is subject to license terms. 26094 */ 26095 26096 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 26097 /* All Rights Reserved */ 26098 26099 /* 26100 * Portions of this source code were derived from Berkeley 4.3 BSD 26101 * under license from the Regents of the University of California. 26102 */ 26103 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 26104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 1 26105 /* 26106 * CDDL HEADER START 26107 * 26108 * The contents of this file are subject to the terms of the 26109 * Common Development and Distribution License (the "License"). 26110 * You may not use this file except in compliance with the License. 26111 * 26112 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26113 * or http://www.opensolaris.org/os/licensing. 26114 * See the License for the specific language governing permissions 26115 * and limitations under the License. 26116 * 26117 * When distributing Covered Code, include this CDDL HEADER in each 26118 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26119 * If applicable, add the following below this CDDL HEADER, with the 26120 * fields enclosed by brackets "[]" replaced with your own identifying 26121 * information: Portions Copyright [yyyy] [name of copyright owner] 26122 * 26123 * CDDL HEADER END 26124 */ 26125 26126 /* 26127 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26128 * Use is subject to license terms. 26129 */ 26130 26131 26132 26133 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 1 26134 /* 26135 * CDDL HEADER START 26136 * 26137 * The contents of this file are subject to the terms of the 26138 * Common Development and Distribution License (the "License"). 26139 * You may not use this file except in compliance with the License. 26140 * 26141 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26142 * or http://www.opensolaris.org/os/licensing. 26143 * See the License for the specific language governing permissions 26144 * and limitations under the License. 26145 * 26146 * When distributing Covered Code, include this CDDL HEADER in each 26147 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26148 * If applicable, add the following below this CDDL HEADER, with the 26149 * fields enclosed by brackets "[]" replaced with your own identifying 26150 * information: Portions Copyright [yyyy] [name of copyright owner] 26151 * 26152 * CDDL HEADER END 26153 */ 26154 /* 26155 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 26156 * Use is subject to license terms. 26157 * 26158 * Copyright 2015 Nexenta Systems, Inc. All rights reserved. 26159 */ 26160 26161 26162 26163 26164 /* 26165 * Definition of general kernel statistics structures and /dev/kstat ioctls 26166 */ 26167 26168 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 26169 /* 26170 * CDDL HEADER START 26171 * 26172 * The contents of this file are subject to the terms of the 26173 * Common Development and Distribution License (the "License"). 26174 * You may not use this file except in compliance with the License. 26175 * 26176 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26177 * or http://www.opensolaris.org/os/licensing. 26178 * See the License for the specific language governing permissions 26179 * and limitations under the License. 26180 * 26181 * When distributing Covered Code, include this CDDL HEADER in each 26182 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26183 * If applicable, add the following below this CDDL HEADER, with the 26184 * fields enclosed by brackets "[]" replaced with your own identifying 26185 * information: Portions Copyright [yyyy] [name of copyright owner] 26186 * 26187 * CDDL HEADER END 26188 */ 26189 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 26190 /* All Rights Reserved */ 26191 26192 26193 /* 26194 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26195 * Use is subject to license terms. 26196 * 26197 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 26198 * Copyright 2016 Joyent, Inc. 26199 */ 26200 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 26201 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 26202 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 26203 /* All Rights Reserved */ 26204 26205 26206 /* 26207 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 26208 * All rights reserved. The Berkeley software License Agreement 26209 * specifies the terms and conditions for redistribution. 26210 */ 26211 26212 /* 26213 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 26214 * 26215 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26216 * Use is subject to license terms. 26217 * 26218 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 26219 */ 26220 26221 /* 26222 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 26223 */ 26224 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 2 26225 26226 26227 26228 26229 26230 typedef int kid_t; /* unique kstat id */ 26231 26232 /* 26233 * Kernel statistics driver (/dev/kstat) ioctls 26234 */ 26235 26236 26237 26238 26239 26240 26241 26242 /* 26243 * /dev/kstat ioctl usage (kd denotes /dev/kstat descriptor): 26244 * 26245 * kcid = ioctl(kd, KSTAT_IOC_CHAIN_ID, NULL); 26246 * kcid = ioctl(kd, KSTAT_IOC_READ, kstat_t *); 26247 * kcid = ioctl(kd, KSTAT_IOC_WRITE, kstat_t *); 26248 */ 26249 26250 26251 26252 /* 26253 * The generic kstat header 26254 */ 26255 26256 typedef struct kstat { 26257 /* 26258 * Fields relevant to both kernel and user 26259 */ 26260 hrtime_t ks_crtime; /* creation time (from gethrtime()) */ 26261 struct kstat *ks_next; /* kstat chain linkage */ 26262 kid_t ks_kid; /* unique kstat ID */ 26263 char ks_module[31]; /* provider module name */ 26264 uchar_t ks_resv; /* reserved, currently just padding */ 26265 int ks_instance; /* provider module's instance */ 26266 char ks_name[31]; /* kstat name */ 26267 uchar_t ks_type; /* kstat data type */ 26268 char ks_class[31]; /* kstat class */ 26269 uchar_t ks_flags; /* kstat flags */ 26270 void *ks_data; /* kstat type-specific data */ 26271 uint_t ks_ndata; /* # of type-specific data records */ 26272 size_t ks_data_size; /* total size of kstat data section */ 26273 hrtime_t ks_snaptime; /* time of last data shapshot */ 26274 /* 26275 * Fields relevant to kernel only 26276 */ 26277 int (*ks_update)(struct kstat *, int); /* dynamic update */ 26278 void *ks_private; /* arbitrary provider-private data */ 26279 int (*ks_snapshot)(struct kstat *, void *, int); 26280 void *ks_lock; /* protects this kstat's data */ 26281 } kstat_t; 26282 # 128 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26283 /* 26284 * kstat structure and locking strategy 26285 * 26286 * Each kstat consists of a header section (a kstat_t) and a data section. 26287 * The system maintains a set of kstats, protected by kstat_chain_lock. 26288 * kstat_chain_lock protects all additions to/deletions from this set, 26289 * as well as all changes to kstat headers. kstat data sections are 26290 * *optionally* protected by the per-kstat ks_lock. If ks_lock is non-NULL, 26291 * kstat clients (e.g. /dev/kstat) will acquire this lock for all of their 26292 * operations on that kstat. It is up to the kstat provider to decide whether 26293 * guaranteeing consistent data to kstat clients is sufficiently important 26294 * to justify the locking cost. Note, however, that most statistic updates 26295 * already occur under one of the provider's mutexes, so if the provider sets 26296 * ks_lock to point to that mutex, then kstat data locking is free. 26297 * 26298 * NOTE: variable-size kstats MUST employ kstat data locking, to prevent 26299 * data-size races with kstat clients. 26300 * 26301 * NOTE: ks_lock is really of type (kmutex_t *); it is declared as (void *) 26302 * in the kstat header so that users don't have to be exposed to all of the 26303 * kernel's lock-related data structures. 26304 */ 26305 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26306 /* 26307 * kstat time 26308 * 26309 * All times associated with kstats (e.g. creation time, snapshot time, 26310 * kstat_timer_t and kstat_io_t timestamps, etc.) are 64-bit nanosecond values, 26311 * as returned by gethrtime(). The accuracy of these timestamps is machine 26312 * dependent, but the precision (units) is the same across all platforms. 26313 */ 26314 26315 /* 26316 * kstat identity (KID) 26317 * 26318 * Each kstat is assigned a unique KID (kstat ID) when it is added to the 26319 * global kstat chain. The KID is used as a cookie by /dev/kstat to 26320 * request information about the corresponding kstat. There is also 26321 * an identity associated with the entire kstat chain, kstat_chain_id, 26322 * which is bumped each time a kstat is added or deleted. /dev/kstat uses 26323 * the chain ID to detect changes in the kstat chain (e.g., a new disk 26324 * coming online) between ioctl()s. 26325 */ 26326 26327 /* 26328 * kstat module, kstat instance 26329 * 26330 * ks_module and ks_instance contain the name and instance of the module 26331 * that created the kstat. In cases where there can only be one instance, 26332 * ks_instance is 0. The kernel proper (/kernel/unix) uses "unix" as its 26333 * module name. 26334 */ 26335 26336 /* 26337 * kstat name 26338 * 26339 * ks_name gives a meaningful name to a kstat. The full kstat namespace 26340 * is module.instance.name, so the name only need be unique within a 26341 * module. kstat_create() will fail if you try to create a kstat with 26342 * an already-used (ks_module, ks_instance, ks_name) triplet. Spaces are 26343 * allowed in kstat names, but strongly discouraged, since they hinder 26344 * awk-style processing at user level. 26345 */ 26346 26347 /* 26348 * kstat type 26349 * 26350 * The kstat mechanism provides several flavors of kstat data, defined 26351 * below. The "raw" kstat type is just treated as an array of bytes; you 26352 * can use this to export any kind of data you want. 26353 * 26354 * Some kstat types allow multiple data structures per kstat, e.g. 26355 * KSTAT_TYPE_NAMED; others do not. This is part of the spec for each 26356 * kstat data type. 26357 * 26358 * User-level tools should *not* rely on the #define KSTAT_NUM_TYPES. To 26359 * get this information, read out the standard system kstat "kstat_types". 26360 */ 26361 26362 26363 /* ks_ndata >= 1 */ 26364 26365 /* ks_ndata >= 1 */ 26366 26367 /* ks_ndata == 1 */ 26368 26369 /* ks_ndata == 1 */ 26370 26371 /* ks_ndata >= 1 */ 26372 26373 26374 26375 /* 26376 * kstat class 26377 * 26378 * Each kstat can be characterized as belonging to some broad class 26379 * of statistics, e.g. disk, tape, net, vm, streams, etc. This field 26380 * can be used as a filter to extract related kstats. The following 26381 * values are currently in use: disk, tape, net, controller, vm, kvm, 26382 * hat, streams, kstat, and misc. (The kstat class encompasses things 26383 * like kstat_types.) 26384 */ 26385 26386 /* 26387 * kstat flags 26388 * 26389 * Any of the following flags may be passed to kstat_create(). They are 26390 * all zero by default. 26391 * 26392 * KSTAT_FLAG_VIRTUAL: 26393 * 26394 * Tells kstat_create() not to allocate memory for the 26395 * kstat data section; instead, you will set the ks_data 26396 * field to point to the data you wish to export. This 26397 * provides a convenient way to export existing data 26398 * structures. 26399 * 26400 * KSTAT_FLAG_VAR_SIZE: 26401 * 26402 * The size of the kstat you are creating will vary over time. 26403 * For example, you may want to use the kstat mechanism to 26404 * export a linked list. NOTE: The kstat framework does not 26405 * manage the data section, so all variable-size kstats must be 26406 * virtual kstats. Moreover, variable-size kstats MUST employ 26407 * kstat data locking to prevent data-size races with kstat 26408 * clients. See the section on "kstat snapshot" for details. 26409 * 26410 * KSTAT_FLAG_WRITABLE: 26411 * 26412 * Makes the kstat's data section writable by root. 26413 * The ks_snapshot routine (see below) does not need to check for 26414 * this; permission checking is handled in the kstat driver. 26415 * 26416 * KSTAT_FLAG_PERSISTENT: 26417 * 26418 * Indicates that this kstat is to be persistent over time. 26419 * For persistent kstats, kstat_delete() simply marks the 26420 * kstat as dormant; a subsequent kstat_create() reactivates 26421 * the kstat. This feature is provided so that statistics 26422 * are not lost across driver close/open (e.g., raw disk I/O 26423 * on a disk with no mounted partitions.) 26424 * NOTE: Persistent kstats cannot be virtual, since ks_data 26425 * points to garbage as soon as the driver goes away. 26426 * 26427 * The following flags are maintained by the kstat framework: 26428 * 26429 * KSTAT_FLAG_DORMANT: 26430 * 26431 * For persistent kstats, indicates that the kstat is in the 26432 * dormant state (e.g., the corresponding device is closed). 26433 * 26434 * KSTAT_FLAG_INVALID: 26435 * 26436 * This flag is set when a kstat is in a transitional state, 26437 * e.g. between kstat_create() and kstat_install(). 26438 * kstat clients must not attempt to access the kstat's data 26439 * if this flag is set. 26440 * 26441 * KSTAT_FLAG_LONGSTRINGS: 26442 * 26443 * Indicates that this kstat contains long strings (which 26444 * are stored outside of the kstat data section). When copied 26445 * out to user space the string data will be held in the data 26446 * section provided by the user. 26447 */ 26448 # 316 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26449 /* 26450 * Dynamic update support 26451 * 26452 * The kstat mechanism allows for an optional ks_update function to update 26453 * kstat data. This is useful for drivers where the underlying device 26454 * keeps cheap hardware stats, but extraction is expensive. Instead of 26455 * constantly keeping the kstat data section up to date, you can supply a 26456 * ks_update function which updates the kstat's data section on demand. 26457 * To take advantage of this feature, simply set the ks_update field before 26458 * calling kstat_install(). 26459 * 26460 * The ks_update function, if supplied, must have the following structure: 26461 * 26462 * int 26463 * foo_kstat_update(kstat_t *ksp, int rw) 26464 * { 26465 * if (rw == KSTAT_WRITE) { 26466 * ... update the native stats from ksp->ks_data; 26467 * return EACCES if you don't support this 26468 * } else { 26469 * ... update ksp->ks_data from the native stats 26470 * } 26471 * } 26472 * 26473 * The ks_update return codes are: 0 for success, EACCES if you don't allow 26474 * KSTAT_WRITE, and EIO for any other type of error. 26475 * 26476 * In general, the ks_update function may need to refer to provider-private 26477 * data; for example, it may need a pointer to the provider's raw statistics. 26478 * The ks_private field is available for this purpose. Its use is entirely 26479 * at the provider's discretion. 26480 * 26481 * All variable-size kstats MUST supply a ks_update routine, which computes 26482 * and sets ks_data_size (and ks_ndata if that is meaningful), since these 26483 * are needed to perform kstat snapshots (see below). 26484 * 26485 * No kstat locking should be done inside the ks_update routine. The caller 26486 * will already be holding the kstat's ks_lock (to ensure consistent data). 26487 */ 26488 26489 26490 26491 26492 /* 26493 * Kstat snapshot 26494 * 26495 * In order to get a consistent view of a kstat's data, clients must obey 26496 * the kstat's locking strategy. However, these clients may need to perform 26497 * operations on the data which could cause a fault (e.g. copyout()), or 26498 * operations which are simply expensive. Doing so could cause deadlock 26499 * (e.g. if you're holding a disk's kstat lock which is ultimately required 26500 * to resolve a copyout() fault), performance degradation (since the providers' 26501 * activity is serialized at the kstat lock), device timing problems, etc. 26502 * 26503 * To avoid these problems, kstat data is provided via snapshots. Taking 26504 * a snapshot is a simple process: allocate a wired-down kernel buffer, 26505 * acquire the kstat's data lock, copy the data into the buffer ("take the 26506 * snapshot"), and release the lock. This ensures that the kstat's data lock 26507 * will be held as briefly as possible, and that no faults will occur while 26508 * the lock is held. 26509 * 26510 * Normally, the snapshot is taken by default_kstat_snapshot(), which 26511 * timestamps the data (sets ks_snaptime), copies it, and does a little 26512 * massaging to deal with incomplete transactions on i/o kstats. However, 26513 * this routine only works for kstats with contiguous data (the typical case). 26514 * If you create a kstat whose data is, say, a linked list, you must provide 26515 * your own ks_snapshot routine. The routine you supply must have the 26516 * following prototype (replace "foo" with something appropriate): 26517 * 26518 * int foo_kstat_snapshot(kstat_t *ksp, void *buf, int rw); 26519 * 26520 * The minimal snapshot routine -- one which copies contiguous data that 26521 * doesn't need any massaging -- would be this: 26522 * 26523 * ksp->ks_snaptime = gethrtime(); 26524 * if (rw == KSTAT_WRITE) 26525 * bcopy(buf, ksp->ks_data, ksp->ks_data_size); 26526 * else 26527 * bcopy(ksp->ks_data, buf, ksp->ks_data_size); 26528 * return (0); 26529 * 26530 * A more illuminating example is taking a snapshot of a linked list: 26531 * 26532 * ksp->ks_snaptime = gethrtime(); 26533 * if (rw == KSTAT_WRITE) 26534 * return (EACCES); ... See below ... 26535 * for (foo = first_foo; foo; foo = foo->next) { 26536 * bcopy((char *) foo, (char *) buf, sizeof (struct foo)); 26537 * buf = ((struct foo *) buf) + 1; 26538 * } 26539 * return (0); 26540 * 26541 * In the example above, we have decided that we don't want to allow 26542 * KSTAT_WRITE access, so we return EACCES if this is attempted. 26543 * 26544 * The key points are: 26545 * 26546 * (1) ks_snaptime must be set (via gethrtime()) to timestamp the data. 26547 * (2) Data gets copied from the kstat to the buffer on KSTAT_READ, 26548 * and from the buffer to the kstat on KSTAT_WRITE. 26549 * (3) ks_snapshot return values are: 0 for success, EACCES if you 26550 * don't allow KSTAT_WRITE, and EIO for any other type of error. 26551 * 26552 * Named kstats (see section on "Named statistics" below) containing long 26553 * strings (KSTAT_DATA_STRING) need special handling. The kstat driver 26554 * assumes that all strings are copied into the buffer after the array of 26555 * named kstats, and the pointers (KSTAT_NAMED_STR_PTR()) are updated to point 26556 * into the copy within the buffer. The default snapshot routine does this, 26557 * but overriding routines should contain at least the following: 26558 * 26559 * if (rw == KSTAT_READ) { 26560 * kstat_named_t *knp = buf; 26561 * char *end = knp + ksp->ks_ndata; 26562 * uint_t i; 26563 * 26564 * ... Do the regular copy ... 26565 * bcopy(ksp->ks_data, buf, sizeof (kstat_named_t) * ksp->ks_ndata); 26566 * 26567 * for (i = 0; i < ksp->ks_ndata; i++, knp++) { 26568 * if (knp[i].data_type == KSTAT_DATA_STRING && 26569 * KSTAT_NAMED_STR_PTR(knp) != NULL) { 26570 * bcopy(KSTAT_NAMED_STR_PTR(knp), end, 26571 * KSTAT_NAMED_STR_BUFLEN(knp)); 26572 * KSTAT_NAMED_STR_PTR(knp) = end; 26573 * end += KSTAT_NAMED_STR_BUFLEN(knp); 26574 * } 26575 * } 26576 */ 26577 26578 /* 26579 * Named statistics. 26580 * 26581 * List of arbitrary name=value statistics. 26582 */ 26583 26584 typedef struct kstat_named { 26585 char name[31]; /* name of counter */ 26586 uchar_t data_type; /* data type */ 26587 union { 26588 char c[16]; /* enough for 128-bit ints */ 26589 int32_t i32; 26590 uint32_t ui32; 26591 struct { 26592 union { 26593 char *ptr; /* NULL-term string */ 26594 26595 26596 26597 char __pad[8]; /* 64-bit padding */ 26598 } addr; 26599 uint32_t len; /* # bytes for strlen + '\0' */ 26600 } str; 26601 /* 26602 * The int64_t and uint64_t types are not valid for a maximally conformant 26603 * 32-bit compilation environment (cc -Xc) using compilers prior to the 26604 * introduction of C99 conforming compiler (reference ISO/IEC 9899:1990). 26605 * In these cases, the visibility of i64 and ui64 is only permitted for 26606 * 64-bit compilation environments or 32-bit non-maximally conformant 26607 * C89 or C90 ANSI C compilation environments (cc -Xt and cc -Xa). In the 26608 * C99 ANSI C compilation environment, the long long type is supported. 26609 * The _INT64_TYPE is defined by the implementation (see sys/int_types.h). 26610 */ 26611 26612 int64_t i64; 26613 uint64_t ui64; 26614 26615 long l; 26616 ulong_t ul; 26617 26618 /* These structure members are obsolete */ 26619 26620 longlong_t ll; 26621 u_longlong_t ull; 26622 float f; 26623 double d; 26624 } value; /* value of counter */ 26625 } kstat_named_t; 26626 # 513 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26627 /* 26628 * Statistics exporting named kstats with long strings (KSTAT_DATA_STRING) 26629 * may not make the assumption that ks_data_size is equal to (ks_ndata * sizeof 26630 * (kstat_named_t)). ks_data_size in these cases is equal to the sum of the 26631 * amount of space required to store the strings (ie, the sum of 26632 * KSTAT_NAMED_STR_BUFLEN() for all KSTAT_DATA_STRING statistics) plus the 26633 * space required to store the kstat_named_t's. 26634 * 26635 * The default update routine will update ks_data_size automatically for 26636 * variable-length kstats containing long strings (using the default update 26637 * routine only makes sense if the string is the only thing that is changing 26638 * in size, and ks_ndata is constant). Fixed-length kstats containing long 26639 * strings must explicitly change ks_data_size (after creation but before 26640 * initialization) to reflect the correct amount of space required for the 26641 * long strings and the kstat_named_t's. 26642 */ 26643 26644 26645 /* These types are obsolete */ 26646 # 540 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26647 /* 26648 * Retrieve the pointer of the string contained in the given named kstat. 26649 */ 26650 26651 26652 /* 26653 * Retrieve the length of the buffer required to store the string in the given 26654 * named kstat. 26655 */ 26656 26657 26658 /* 26659 * Interrupt statistics. 26660 * 26661 * An interrupt is a hard interrupt (sourced from the hardware device 26662 * itself), a soft interrupt (induced by the system via the use of 26663 * some system interrupt source), a watchdog interrupt (induced by 26664 * a periodic timer call), spurious (an interrupt entry point was 26665 * entered but there was no interrupt condition to service), 26666 * or multiple service (an interrupt condition was detected and 26667 * serviced just prior to returning from any of the other types). 26668 * 26669 * Measurement of the spurious class of interrupts is useful for 26670 * autovectored devices in order to pinpoint any interrupt latency 26671 * problems in a particular system configuration. 26672 * 26673 * Devices that have more than one interrupt of the same 26674 * type should use multiple structures. 26675 */ 26676 # 578 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/kstat.h" 26677 typedef struct kstat_intr { 26678 uint_t intrs[5]; /* interrupt counters */ 26679 } kstat_intr_t; 26680 26681 26682 26683 /* 26684 * I/O statistics. 26685 */ 26686 26687 typedef struct kstat_io { 26688 26689 /* 26690 * Basic counters. 26691 * 26692 * The counters should be updated at the end of service 26693 * (e.g., just prior to calling biodone()). 26694 */ 26695 26696 u_longlong_t nread; /* number of bytes read */ 26697 u_longlong_t nwritten; /* number of bytes written */ 26698 uint_t reads; /* number of read operations */ 26699 uint_t writes; /* number of write operations */ 26700 26701 /* 26702 * Accumulated time and queue length statistics. 26703 * 26704 * Accumulated time statistics are kept as a running sum 26705 * of "active" time. Queue length statistics are kept as a 26706 * running sum of the product of queue length and elapsed time 26707 * at that length -- i.e., a Riemann sum for queue length 26708 * integrated against time. (You can also think of the active time 26709 * as a Riemann sum, for the boolean function (queue_length > 0) 26710 * integrated against time, or you can think of it as the 26711 * Lebesgue measure of the set on which queue_length > 0.) 26712 * 26713 * ^ 26714 * | _________ 26715 * 8 | i4 | 26716 * | | | 26717 * Queue 6 | | 26718 * Length | _________ | | 26719 * 4 | i2 |_______| | 26720 * | | i3 | 26721 * 2_______| | 26722 * | i1 | 26723 * |_______________________________| 26724 * Time-> t1 t2 t3 t4 26725 * 26726 * At each change of state (entry or exit from the queue), 26727 * we add the elapsed time (since the previous state change) 26728 * to the active time if the queue length was non-zero during 26729 * that interval; and we add the product of the elapsed time 26730 * times the queue length to the running length*time sum. 26731 * 26732 * This method is generalizable to measuring residency 26733 * in any defined system: instead of queue lengths, think 26734 * of "outstanding RPC calls to server X". 26735 * 26736 * A large number of I/O subsystems have at least two basic 26737 * "lists" of transactions they manage: one for transactions 26738 * that have been accepted for processing but for which processing 26739 * has yet to begin, and one for transactions which are actively 26740 * being processed (but not done). For this reason, two cumulative 26741 * time statistics are defined here: wait (pre-service) time, 26742 * and run (service) time. 26743 * 26744 * All times are 64-bit nanoseconds (hrtime_t), as returned by 26745 * gethrtime(). 26746 * 26747 * The units of cumulative busy time are accumulated nanoseconds. 26748 * The units of cumulative length*time products are elapsed time 26749 * times queue length. 26750 * 26751 * Updates to the fields below are performed implicitly by calls to 26752 * these five functions: 26753 * 26754 * kstat_waitq_enter() 26755 * kstat_waitq_exit() 26756 * kstat_runq_enter() 26757 * kstat_runq_exit() 26758 * 26759 * kstat_waitq_to_runq() (see below) 26760 * kstat_runq_back_to_waitq() (see below) 26761 * 26762 * Since kstat_waitq_exit() is typically followed immediately 26763 * by kstat_runq_enter(), there is a single kstat_waitq_to_runq() 26764 * function which performs both operations. This is a performance 26765 * win since only one timestamp is required. 26766 * 26767 * In some instances, it may be necessary to move a request from 26768 * the run queue back to the wait queue, e.g. for write throttling. 26769 * For these situations, call kstat_runq_back_to_waitq(). 26770 * 26771 * These fields should never be updated by any other means. 26772 */ 26773 26774 hrtime_t wtime; /* cumulative wait (pre-service) time */ 26775 hrtime_t wlentime; /* cumulative wait length*time product */ 26776 hrtime_t wlastupdate; /* last time wait queue changed */ 26777 hrtime_t rtime; /* cumulative run (service) time */ 26778 hrtime_t rlentime; /* cumulative run length*time product */ 26779 hrtime_t rlastupdate; /* last time run queue changed */ 26780 26781 uint_t wcnt; /* count of elements in wait state */ 26782 uint_t rcnt; /* count of elements in run state */ 26783 26784 } kstat_io_t; 26785 26786 26787 26788 /* 26789 * Event timer statistics - cumulative elapsed time and number of events. 26790 * 26791 * Updates to these fields are performed implicitly by calls to 26792 * kstat_timer_start() and kstat_timer_stop(). 26793 */ 26794 26795 typedef struct kstat_timer { 26796 char name[31]; /* event name */ 26797 uchar_t resv; /* reserved */ 26798 u_longlong_t num_events; /* number of events */ 26799 hrtime_t elapsed_time; /* cumulative elapsed time */ 26800 hrtime_t min_time; /* shortest event duration */ 26801 hrtime_t max_time; /* longest event duration */ 26802 hrtime_t start_time; /* previous event start time */ 26803 hrtime_t stop_time; /* previous event stop time */ 26804 } kstat_timer_t; 26805 # 30 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 2 26806 26807 26808 26809 26810 26811 /* 26812 * This allows various pieces in and around IP to have a separate instance 26813 * for each instance of IP. This is used to support zones that have an 26814 * exclusive stack. 26815 * Pieces of software far removed from IP (e.g., kernel software 26816 * sitting on top of TCP or UDP) probably should not use the netstack 26817 * support; if such software wants to support separate zones it 26818 * can do that using the zones framework (zone_key_create() etc) 26819 * whether there is a shared IP stack or and exclusive IP stack underneath. 26820 */ 26821 26822 /* 26823 * Each netstack has an identifier. We reuse the zoneid allocation for 26824 * this but have a separate typedef. Thus the shared stack (used by 26825 * the global zone and other shared stack zones) have a zero ID, and 26826 * the exclusive stacks have a netstackid that is the same as their zoneid. 26827 */ 26828 typedef id_t netstackid_t; 26829 26830 26831 26832 /* 26833 * One for each module which uses netstack support. 26834 * Used in netstack_register(). 26835 * 26836 * The order of these is important for some modules both for 26837 * the creation (which done in ascending order) and destruction (which is 26838 * done in in decending order). 26839 */ 26840 # 86 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 26841 /* 26842 * State maintained for each module which tracks the state of 26843 * the create, shutdown and destroy callbacks. 26844 * 26845 * Keeps track of pending actions to avoid holding locks when 26846 * calling into the create/shutdown/destroy functions in the module. 26847 */ 26848 # 122 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 26849 /* User-level compile like IP Filter needs a netstack_t. Dummy */ 26850 typedef uint_t nm_state_t; 26851 26852 26853 /* 26854 * One for every netstack in the system. 26855 * We use a union so that the compilar and lint can provide type checking - 26856 * in principle we could have 26857 * #define netstack_arp netstack_modules[NS_ARP] 26858 * etc, but that would imply void * types hence no type checking by the 26859 * compiler. 26860 * 26861 * All the fields in netstack_t except netstack_next are protected by 26862 * netstack_lock. netstack_next is protected by netstack_g_lock. 26863 */ 26864 struct netstack { 26865 union { 26866 void *nu_modules[(18 +1)]; 26867 struct { 26868 struct dls_stack *nu_dls; 26869 struct iptun_stack *nu_iptun; 26870 struct str_stack *nu_str; 26871 struct hook_stack *nu_hook; 26872 struct neti_stack *nu_neti; 26873 struct arp_stack *nu_arp; 26874 struct ip_stack *nu_ip; 26875 struct icmp_stack *nu_icmp; 26876 struct udp_stack *nu_udp; 26877 struct tcp_stack *nu_tcp; 26878 struct sctp_stack *nu_sctp; 26879 struct rts_stack *nu_rts; 26880 struct ipsec_stack *nu_ipsec; 26881 struct keysock_stack *nu_keysock; 26882 struct spd_stack *nu_spdsock; 26883 struct ipsecah_stack *nu_ipsecah; 26884 struct ipsecesp_stack *nu_ipsecesp; 26885 struct ipnet_stack *nu_ipnet; 26886 struct ilb_stack *nu_ilb; 26887 } nu_s; 26888 } netstack_u; 26889 # 183 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 26890 nm_state_t netstack_m_state[(18 +1)]; /* module state */ 26891 26892 kmutex_t netstack_lock; 26893 struct netstack *netstack_next; 26894 netstackid_t netstack_stackid; 26895 int netstack_numzones; /* Number of zones using this */ 26896 int netstack_refcnt; /* Number of hold-rele */ 26897 int netstack_flags; /* See below */ 26898 26899 26900 26901 26902 26903 }; 26904 typedef struct netstack netstack_t; 26905 26906 /* netstack_flags values */ 26907 # 209 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/netstack.h" 26908 /* 26909 * One for each of the NS_* values. 26910 */ 26911 struct netstack_registry { 26912 int nr_flags; /* 0 if nothing registered */ 26913 void *(*nr_create)(netstackid_t, netstack_t *); 26914 void (*nr_shutdown)(netstackid_t, void *); 26915 void (*nr_destroy)(netstackid_t, void *); 26916 }; 26917 26918 /* nr_flags values */ 26919 26920 26921 26922 /* 26923 * To support kstat_create_netstack() using kstat_add_zone we need 26924 * to track both 26925 * - all zoneids that use the global/shared stack 26926 * - all kstats that have been added for the shared stack 26927 */ 26928 26929 extern void netstack_init(void); 26930 extern void netstack_hold(netstack_t *); 26931 extern void netstack_rele(netstack_t *); 26932 extern netstack_t *netstack_find_by_cred(const cred_t *); 26933 extern netstack_t *netstack_find_by_stackid(netstackid_t); 26934 extern netstack_t *netstack_find_by_zoneid(zoneid_t); 26935 26936 extern zoneid_t netstackid_to_zoneid(netstackid_t); 26937 extern zoneid_t netstack_get_zoneid(netstack_t *); 26938 extern netstackid_t zoneid_to_netstackid(zoneid_t); 26939 26940 extern netstack_t *netstack_get_current(void); 26941 26942 /* 26943 * Register interest in changes to the set of netstacks. 26944 * The createfn and destroyfn are required, but the shutdownfn can be 26945 * NULL. 26946 * Note that due to the current zsd implementation, when the create 26947 * function is called the zone isn't fully present, thus functions 26948 * like zone_find_by_* will fail, hence the create function can not 26949 * use many zones kernel functions including zcmn_err(). 26950 */ 26951 extern void netstack_register(int, 26952 void *(*)(netstackid_t, netstack_t *), 26953 void (*)(netstackid_t, void *), 26954 void (*)(netstackid_t, void *)); 26955 extern void netstack_unregister(int); 26956 extern kstat_t *kstat_create_netstack(char *, int, char *, char *, uchar_t, 26957 uint_t, uchar_t, netstackid_t); 26958 extern void kstat_delete_netstack(kstat_t *, netstackid_t); 26959 26960 /* 26961 * Simple support for walking all the netstacks. 26962 * The caller of netstack_next() needs to call netstack_rele() when 26963 * done with a netstack. 26964 */ 26965 typedef int netstack_handle_t; 26966 26967 extern void netstack_next_init(netstack_handle_t *); 26968 extern void netstack_next_fini(netstack_handle_t *); 26969 extern netstack_t *netstack_next(netstack_handle_t *); 26970 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 26971 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 1 26972 /* 26973 * CDDL HEADER START 26974 * 26975 * The contents of this file are subject to the terms of the 26976 * Common Development and Distribution License (the "License"). 26977 * You may not use this file except in compliance with the License. 26978 * 26979 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 26980 * or http://www.opensolaris.org/os/licensing. 26981 * See the License for the specific language governing permissions 26982 * and limitations under the License. 26983 * 26984 * When distributing Covered Code, include this CDDL HEADER in each 26985 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 26986 * If applicable, add the following below this CDDL HEADER, with the 26987 * fields enclosed by brackets "[]" replaced with your own identifying 26988 * information: Portions Copyright [yyyy] [name of copyright owner] 26989 * 26990 * CDDL HEADER END 26991 */ 26992 /* 26993 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 26994 * 26995 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 26996 * Use is subject to license terms. 26997 */ 26998 26999 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 27000 /* All Rights Reserved */ 27001 27002 27003 27004 27005 27006 27007 27008 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 27009 /* 27010 * CDDL HEADER START 27011 * 27012 * The contents of this file are subject to the terms of the 27013 * Common Development and Distribution License (the "License"). 27014 * You may not use this file except in compliance with the License. 27015 * 27016 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27017 * or http://www.opensolaris.org/os/licensing. 27018 * See the License for the specific language governing permissions 27019 * and limitations under the License. 27020 * 27021 * When distributing Covered Code, include this CDDL HEADER in each 27022 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27023 * If applicable, add the following below this CDDL HEADER, with the 27024 * fields enclosed by brackets "[]" replaced with your own identifying 27025 * information: Portions Copyright [yyyy] [name of copyright owner] 27026 * 27027 * CDDL HEADER END 27028 */ 27029 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 27030 /* All Rights Reserved */ 27031 27032 27033 /* 27034 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 27035 * Use is subject to license terms. 27036 * 27037 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 27038 * Copyright 2016 Joyent, Inc. 27039 */ 27040 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 27041 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/cred.h" 1 27042 /* 27043 * CDDL HEADER START 27044 * 27045 * The contents of this file are subject to the terms of the 27046 * Common Development and Distribution License (the "License"). 27047 * You may not use this file except in compliance with the License. 27048 * 27049 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27050 * or http://www.opensolaris.org/os/licensing. 27051 * See the License for the specific language governing permissions 27052 * and limitations under the License. 27053 * 27054 * When distributing Covered Code, include this CDDL HEADER in each 27055 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27056 * If applicable, add the following below this CDDL HEADER, with the 27057 * fields enclosed by brackets "[]" replaced with your own identifying 27058 * information: Portions Copyright [yyyy] [name of copyright owner] 27059 * 27060 * CDDL HEADER END 27061 */ 27062 /* 27063 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 27064 * Use is subject to license terms. 27065 */ 27066 27067 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 27068 /* All Rights Reserved */ 27069 27070 /* 27071 * Portions of this source code were derived from Berkeley 4.3 BSD 27072 * under license from the Regents of the University of California. 27073 */ 27074 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 2 27075 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 27076 /* 17-21 reserved for obsolete interface */ 27077 # 67 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 27078 /* 27079 * Functions reserved for A_FREEZE (may not be available on all platforms) 27080 * Note: AD_COMPRESS, AD_CHECK and AD_FORCE are now obsolete 27081 * The first two are succeeded by AD_SUSPEND_TO_DISK and 27082 * AD_CHECK_SUSPEND_TO_DISK respectively. 27083 * AD_FORCE should not be used by any new application 27084 * 27085 * We maintain compatibility with the earlier interfaces: 27086 * AD_COMPRESS and AD_CHECK, by preserving those values 27087 * in the corresponding new interfaces 27088 */ 27089 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 27090 /* 27091 * NOTE: the following defines comprise an Unstable interface. Their semantics 27092 * may change or they may be removed completely in a later release 27093 */ 27094 27095 27096 27097 27098 27099 27100 27101 /* 27102 * Functions of A_CONFIG. Unstable interface. 27103 */ 27104 27105 27106 /* 27107 * When 'mdep' (the second argument to uadmin(2)) is initialized for A_REBOOT, 27108 * A_SHUTDOWN or A_DUMP, it represents the boot arguments string of at most 27109 * 256 characters. 27110 */ 27111 27112 27113 27114 /* 27115 * FMRI for boot-config service. 27116 */ 27117 27118 27119 27120 /* 27121 * Property group that contains all Fast Reboot configuration properties. 27122 */ 27123 27124 27125 /* 27126 * Property group that contains all Fast Reboot blacklisting information. 27127 */ 27128 27129 27130 /* 27131 * Non-persistent property group which contains all the properties that 27132 * will override settings in the BOOT_CONFIG_PG_PARAMS property group. 27133 */ 27134 27135 27136 27137 27138 /* 27139 * Flag representations of fastboot configuration. 27140 */ 27141 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/uadmin.h" 27142 extern int uadmin(int, int, uintptr_t); 27143 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 27144 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 1 27145 /* 27146 * CDDL HEADER START 27147 * 27148 * The contents of this file are subject to the terms of the 27149 * Common Development and Distribution License, Version 1.0 only 27150 * (the "License"). You may not use this file except in compliance 27151 * with the License. 27152 * 27153 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27154 * or http://www.opensolaris.org/os/licensing. 27155 * See the License for the specific language governing permissions 27156 * and limitations under the License. 27157 * 27158 * When distributing Covered Code, include this CDDL HEADER in each 27159 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27160 * If applicable, add the following below this CDDL HEADER, with the 27161 * fields enclosed by brackets "[]" replaced with your own identifying 27162 * information: Portions Copyright [yyyy] [name of copyright owner] 27163 * 27164 * CDDL HEADER END 27165 */ 27166 /* 27167 * Copyright (c) 1991, Sun Microsystems, Inc. 27168 */ 27169 27170 /* 27171 * DKI/DDI MT synchronization primitives. 27172 */ 27173 27174 27175 27176 27177 #pragma ident "%Z%%M% %I% %E% SMI" 27178 27179 /* 27180 * The presence of this file is specified by the DKI/DDI. 27181 */ 27182 27183 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/t_lock.h" 1 27184 /* 27185 * CDDL HEADER START 27186 * 27187 * The contents of this file are subject to the terms of the 27188 * Common Development and Distribution License, Version 1.0 only 27189 * (the "License"). You may not use this file except in compliance 27190 * with the License. 27191 * 27192 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27193 * or http://www.opensolaris.org/os/licensing. 27194 * See the License for the specific language governing permissions 27195 * and limitations under the License. 27196 * 27197 * When distributing Covered Code, include this CDDL HEADER in each 27198 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27199 * If applicable, add the following below this CDDL HEADER, with the 27200 * fields enclosed by brackets "[]" replaced with your own identifying 27201 * information: Portions Copyright [yyyy] [name of copyright owner] 27202 * 27203 * CDDL HEADER END 27204 */ 27205 /* 27206 * Copyright (c) 1991-1998 by Sun Microsystems, Inc. 27207 * All rights reserved. 27208 */ 27209 27210 /* 27211 * t_lock.h: Prototypes for disp_locks, plus include files 27212 * that describe the interfaces to kernel synch. 27213 * objects. 27214 */ 27215 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ksynch.h" 2 27216 # 42 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 27217 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/socket_impl.h" 1 27218 /* 27219 * CDDL HEADER START 27220 * 27221 * The contents of this file are subject to the terms of the 27222 * Common Development and Distribution License (the "License"). 27223 * You may not use this file except in compliance with the License. 27224 * 27225 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27226 * or http://www.opensolaris.org/os/licensing. 27227 * See the License for the specific language governing permissions 27228 * and limitations under the License. 27229 * 27230 * When distributing Covered Code, include this CDDL HEADER in each 27231 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27232 * If applicable, add the following below this CDDL HEADER, with the 27233 * fields enclosed by brackets "[]" replaced with your own identifying 27234 * information: Portions Copyright [yyyy] [name of copyright owner] 27235 * 27236 * CDDL HEADER END 27237 */ 27238 /* 27239 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 27240 * Use is subject to license terms. 27241 */ 27242 27243 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 27244 /* All Rights Reserved */ 27245 27246 /* 27247 * Portions of this source code were derived from Berkeley 4.3 BSD 27248 * under license from the Regents of the University of California. 27249 */ 27250 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 27251 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/netinet/in.h" 1 27252 /* 27253 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 27254 * Use is subject to license terms. 27255 * 27256 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 27257 */ 27258 /* 27259 * Copyright (c) 1982, 1986 Regents of the University of California. 27260 * All rights reserved. 27261 * 27262 * Redistribution and use in source and binary forms are permitted 27263 * provided that this notice is preserved and that due credit is given 27264 * to the University of California at Berkeley. The name of the University 27265 * may not be used to endorse or promote products derived from this 27266 * software without specific prior written permission. This software 27267 * is provided ``as is'' without express or implied warranty. 27268 */ 27269 27270 /* 27271 * Constants and structures defined by the internet system, 27272 * according to following documents 27273 * 27274 * Internet ASSIGNED NUMBERS (RFC1700) and its successors: 27275 * http://www.iana.org/assignments/protocol-numbers 27276 * http://www.iana.org/assignments/port-numbers 27277 * Basic Socket Interface Extensions for IPv6 (RFC2133 and its successors) 27278 * 27279 */ 27280 # 44 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 2 27281 27282 27283 27284 27285 27286 /* 27287 * NOTE 27288 * 27289 * The contents of this file are private to the implementation of 27290 * Solaris and are subject to change at any time without notice. 27291 * Applications and drivers using these interfaces may fail to 27292 * run on future releases. 27293 */ 27294 27295 /* Available both in kernel and for user space */ 27296 27297 /* zone id restrictions and special ids */ 27298 27299 27300 27301 27302 27303 27304 /* 27305 * Special zoneid_t token to refer to all zones. 27306 */ 27307 27308 27309 /* system call subcodes */ 27310 # 88 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 27311 /* zone attributes */ 27312 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 27313 /* Start of the brand-specific attribute namespace */ 27314 # 129 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 27315 /* 27316 * Exit values that may be returned by scripts or programs invoked by various 27317 * zone commands. 27318 * 27319 * These are defined as: 27320 * 27321 * ZONE_SUBPROC_OK 27322 * =============== 27323 * The subprocess completed successfully. 27324 * 27325 * ZONE_SUBPROC_USAGE 27326 * ================== 27327 * The subprocess failed with a usage message, or a usage message should 27328 * be output in its behalf. 27329 * 27330 * ZONE_SUBPROC_NOTCOMPLETE 27331 * ======================== 27332 * The subprocess did not complete, but the actions performed by the 27333 * subprocess require no recovery actions by the user. 27334 * 27335 * For example, if the subprocess were called by "zoneadm install," the 27336 * installation of the zone did not succeed but the user need not perform 27337 * a "zoneadm uninstall" before attempting another install. 27338 * 27339 * ZONE_SUBPROC_FATAL 27340 * ================== 27341 * The subprocess failed in a fatal manner, usually one that will require 27342 * some type of recovery action by the user. 27343 * 27344 * For example, if the subprocess were called by "zoneadm install," the 27345 * installation of the zone did not succeed and the user will need to 27346 * perform a "zoneadm uninstall" before another install attempt is 27347 * possible. 27348 * 27349 * The non-success exit values are large to avoid accidental collision 27350 * with values used internally by some commands (e.g. "Z_ERR" and 27351 * "Z_USAGE" as used by zoneadm.) 27352 */ 27353 # 189 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/zone.h" 27354 typedef struct { 27355 const char *zone_name; 27356 const char *zone_root; 27357 const struct priv_set *zone_privs; 27358 size_t zone_privssz; 27359 const char *rctlbuf; 27360 size_t rctlbufsz; 27361 int *extended_error; 27362 const char *zfsbuf; 27363 size_t zfsbufsz; 27364 int match; /* match level */ 27365 uint32_t doi; /* DOI for label */ 27366 const bslabel_t *label; /* label associated with zone */ 27367 int flags; 27368 } zone_def; 27369 27370 /* extended error information */ 27371 27372 27373 27374 27375 27376 /* 27377 * zone_status values 27378 * 27379 * You must modify zone_status_names in mdb(1M)'s genunix module 27380 * (genunix/zone.c) when you modify this enum. 27381 */ 27382 typedef enum { 27383 ZONE_IS_UNINITIALIZED = 0, 27384 ZONE_IS_INITIALIZED, 27385 ZONE_IS_READY, 27386 ZONE_IS_BOOTING, 27387 ZONE_IS_RUNNING, 27388 ZONE_IS_SHUTTING_DOWN, 27389 ZONE_IS_EMPTY, 27390 ZONE_IS_DOWN, 27391 ZONE_IS_DYING, 27392 ZONE_IS_DEAD 27393 } zone_status_t; 27394 27395 27396 27397 /* 27398 * Valid commands which may be issued by zoneadm to zoneadmd. The kernel also 27399 * communicates with zoneadmd, but only uses Z_REBOOT and Z_HALT. 27400 */ 27401 typedef enum zone_cmd { 27402 Z_READY, Z_BOOT, Z_FORCEBOOT, Z_REBOOT, Z_HALT, Z_NOTE_UNINSTALLING, 27403 Z_MOUNT, Z_FORCEMOUNT, Z_UNMOUNT, Z_SHUTDOWN 27404 } zone_cmd_t; 27405 27406 /* 27407 * The structure of a request to zoneadmd. 27408 */ 27409 typedef struct zone_cmd_arg { 27410 uint64_t uniqid; /* unique "generation number" */ 27411 zone_cmd_t cmd; /* requested action */ 27412 uint32_t _pad; /* need consistent 32/64 bit alignmt */ 27413 char locale[1024]; /* locale in which to render messages */ 27414 char bootbuf[256]; /* arguments passed to zone_boot() */ 27415 } zone_cmd_arg_t; 27416 27417 /* 27418 * Structure of zoneadmd's response to a request. A NULL return value means 27419 * the caller should attempt to restart zoneadmd and retry. 27420 */ 27421 typedef struct zone_cmd_rval { 27422 int rval; /* return value of request */ 27423 char errbuf[1]; /* variable-sized buffer containing error messages */ 27424 } zone_cmd_rval_t; 27425 27426 /* 27427 * The zone support infrastructure uses the zone name as a component 27428 * of unix domain (AF_UNIX) sockets, which are limited to 108 characters 27429 * in length, so ZONENAME_MAX is limited by that. 27430 */ 27431 27432 27433 27434 27435 /* 27436 * Extended Regular expression (see regex(5)) which matches all valid zone 27437 * names. 27438 */ 27439 27440 27441 /* 27442 * Where the zones support infrastructure places temporary files. 27443 */ 27444 27445 27446 /* 27447 * The path to the door used by clients to communicate with zoneadmd. 27448 */ 27449 27450 27451 27452 /* zone_flags */ 27453 /* 27454 * Threads that read or write the following flag must hold zone_lock. 27455 */ 27456 27457 27458 /* 27459 * The following threads are set when the zone is created and never changed. 27460 * Threads that test for these flags don't have to hold zone_lock. 27461 */ 27462 27463 27464 27465 27466 27467 /* zone_create flags */ 27468 27469 27470 /* zone network properties */ 27471 27472 27473 27474 27475 27476 27477 typedef struct zone_net_data { 27478 int zn_type; 27479 int zn_len; 27480 datalink_id_t zn_linkid; 27481 uint8_t zn_val[1]; 27482 } zone_net_data_t; 27483 # 31 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 27484 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/refstr.h" 1 27485 /* 27486 * CDDL HEADER START 27487 * 27488 * The contents of this file are subject to the terms of the 27489 * Common Development and Distribution License, Version 1.0 only 27490 * (the "License"). You may not use this file except in compliance 27491 * with the License. 27492 * 27493 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27494 * or http://www.opensolaris.org/os/licensing. 27495 * See the License for the specific language governing permissions 27496 * and limitations under the License. 27497 * 27498 * When distributing Covered Code, include this CDDL HEADER in each 27499 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27500 * If applicable, add the following below this CDDL HEADER, with the 27501 * fields enclosed by brackets "[]" replaced with your own identifying 27502 * information: Portions Copyright [yyyy] [name of copyright owner] 27503 * 27504 * CDDL HEADER END 27505 */ 27506 /* 27507 * Copyright (c) 1999 by Sun Microsystems, Inc. 27508 * All rights reserved. 27509 * 27510 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 27511 */ 27512 # 36 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/refstr.h" 27513 /* 27514 * Strings with reference counts. 27515 * The 'struct refstr' definition is private to the refstr.c module. 27516 */ 27517 27518 typedef struct refstr refstr_t; 27519 # 32 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 27520 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/mutex.h" 1 27521 /* 27522 * CDDL HEADER START 27523 * 27524 * The contents of this file are subject to the terms of the 27525 * Common Development and Distribution License (the "License"). 27526 * You may not use this file except in compliance with the License. 27527 * 27528 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27529 * or http://www.opensolaris.org/os/licensing. 27530 * See the License for the specific language governing permissions 27531 * and limitations under the License. 27532 * 27533 * When distributing Covered Code, include this CDDL HEADER in each 27534 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27535 * If applicable, add the following below this CDDL HEADER, with the 27536 * fields enclosed by brackets "[]" replaced with your own identifying 27537 * information: Portions Copyright [yyyy] [name of copyright owner] 27538 * 27539 * CDDL HEADER END 27540 */ 27541 /* 27542 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 27543 */ 27544 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 2 27545 27546 27547 27548 27549 27550 /* 27551 * Definitions for corectl() system call. 27552 */ 27553 27554 /* subcodes */ 27555 # 58 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 27556 /* options */ 27557 27558 27559 27560 27561 27562 27563 /* all of the above */ 27564 27565 27566 27567 27568 /* contents */ 27569 27570 27571 27572 /* MAP_SHARED file mappings */ 27573 27574 27575 27576 /* MAP_PRIVATE file mappings */ 27577 # 100 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 27578 typedef u_longlong_t core_content_t; 27579 27580 typedef struct corectl_content { 27581 core_content_t ccc_content; 27582 kmutex_t ccc_mtx; 27583 uint32_t ccc_refcnt; 27584 } corectl_content_t; 27585 27586 typedef struct corectl_path { 27587 refstr_t *ccp_path; 27588 kmutex_t ccp_mtx; 27589 uint32_t ccp_refcnt; 27590 } corectl_path_t; 27591 # 141 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/corectl.h" 27592 extern int core_set_options(int); 27593 extern int core_get_options(void); 27594 extern int core_set_global_path(const char *, size_t); 27595 extern int core_get_global_path(char *, size_t); 27596 extern int core_set_default_path(const char *, size_t); 27597 extern int core_get_default_path(char *, size_t); 27598 extern int core_set_process_path(const char *, size_t, pid_t); 27599 extern int core_get_process_path(char *, size_t, pid_t); 27600 extern int core_set_global_content(const core_content_t *); 27601 extern int core_get_global_content(core_content_t *); 27602 extern int core_set_default_content(const core_content_t *); 27603 extern int core_get_default_content(core_content_t *); 27604 extern int core_set_process_content(const core_content_t *, pid_t); 27605 extern int core_get_process_content(core_content_t *, pid_t); 27606 # 69 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 27607 27608 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysi86.h" 1 27609 /* 27610 * CDDL HEADER START 27611 * 27612 * The contents of this file are subject to the terms of the 27613 * Common Development and Distribution License (the "License"). 27614 * You may not use this file except in compliance with the License. 27615 * 27616 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 27617 * or http://www.opensolaris.org/os/licensing. 27618 * See the License for the specific language governing permissions 27619 * and limitations under the License. 27620 * 27621 * When distributing Covered Code, include this CDDL HEADER in each 27622 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 27623 * If applicable, add the following below this CDDL HEADER, with the 27624 * fields enclosed by brackets "[]" replaced with your own identifying 27625 * information: Portions Copyright [yyyy] [name of copyright owner] 27626 * 27627 * CDDL HEADER END 27628 */ 27629 /* 27630 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 27631 * Use is subject to license terms. 27632 */ 27633 27634 /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ 27635 /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ 27636 /* All Rights Reserved */ 27637 # 71 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 2 27638 27639 27640 27641 27642 27643 27644 /* 27645 * Opaque structure tag reference to a process control structure. 27646 * Clients of libproc cannot look inside the process control structure. 27647 * The implementation of struct ps_prochandle can change w/o affecting clients. 27648 */ 27649 struct ps_prochandle; 27650 27651 /* 27652 * Opaque structure tag reference to an lwp control structure. 27653 */ 27654 struct ps_lwphandle; 27655 27656 extern int _libproc_debug; /* set non-zero to enable debugging fprintfs */ 27657 extern int _libproc_no_qsort; /* set non-zero to inhibit sorting */ 27658 /* of symbol tables */ 27659 extern int _libproc_incore_elf; /* only use in-core elf data */ 27660 # 113 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 27661 /* maximum sizes of things */ 27662 27663 27664 27665 27666 /* State values returned by Pstate() */ 27667 27668 27669 27670 27671 27672 27673 27674 /* Flags accepted by Pgrab() */ 27675 27676 27677 27678 27679 27680 27681 /* Error codes from Pcreate() */ 27682 # 142 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 27683 /* Error codes from Pgrab(), Pfgrab_core(), and Pgrab_core() */ 27684 # 163 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 27685 /* Flags accepted by Prelease */ 27686 27687 27688 27689 27690 27691 typedef struct { /* argument descriptor for system call (Psyscall) */ 27692 long arg_value; /* value of argument given to system call */ 27693 void *arg_object; /* pointer to object in controlling process */ 27694 char arg_type; /* AT_BYVAL, AT_BYREF */ 27695 char arg_inout; /* AI_INPUT, AI_OUTPUT, AI_INOUT */ 27696 ushort_t arg_size; /* if AT_BYREF, size of object in bytes */ 27697 } argdes_t; 27698 27699 /* values for type */ 27700 27701 27702 27703 /* values for inout */ 27704 27705 27706 27707 27708 /* maximum number of syscall arguments */ 27709 27710 27711 /* maximum size in bytes of a BYREF argument */ 27712 27713 27714 /* 27715 * Ops vector definition for the Pgrab_ops(). 27716 */ 27717 typedef ssize_t (*pop_pread_t)(struct ps_prochandle *, void *, size_t, 27718 uintptr_t, void *); 27719 typedef ssize_t (*pop_pwrite_t)(struct ps_prochandle *, const void *, size_t, 27720 uintptr_t, void *); 27721 typedef int (*pop_read_maps_t)(struct ps_prochandle *, prmap_t **, ssize_t *, 27722 void *); 27723 typedef void (*pop_read_aux_t)(struct ps_prochandle *, auxv_t **, int *, 27724 void *); 27725 typedef int (*pop_cred_t)(struct ps_prochandle *, prcred_t *, int, 27726 void *); 27727 typedef int (*pop_priv_t)(struct ps_prochandle *, prpriv_t **, void *); 27728 typedef const psinfo_t *(*pop_psinfo_t)(struct ps_prochandle *, psinfo_t *, 27729 void *); 27730 typedef void (*pop_status_t)(struct ps_prochandle *, pstatus_t *, void *); 27731 typedef prheader_t *(*pop_lstatus_t)(struct ps_prochandle *, void *); 27732 typedef prheader_t *(*pop_lpsinfo_t)(struct ps_prochandle *, void *); 27733 typedef void (*pop_fini_t)(struct ps_prochandle *, void *); 27734 typedef char *(*pop_platform_t)(struct ps_prochandle *, char *, size_t, void *); 27735 typedef int (*pop_uname_t)(struct ps_prochandle *, struct utsname *, void *); 27736 typedef char *(*pop_zonename_t)(struct ps_prochandle *, char *, size_t, void *); 27737 typedef char *(*pop_execname_t)(struct ps_prochandle *, char *, size_t, void *); 27738 27739 typedef int (*pop_ldt_t)(struct ps_prochandle *, struct ssd *, int, void *); 27740 27741 27742 typedef struct ps_ops { 27743 pop_pread_t pop_pread; 27744 pop_pwrite_t pop_pwrite; 27745 pop_read_maps_t pop_read_maps; 27746 pop_read_aux_t pop_read_aux; 27747 pop_cred_t pop_cred; 27748 pop_priv_t pop_priv; 27749 pop_psinfo_t pop_psinfo; 27750 pop_status_t pop_status; 27751 pop_lstatus_t pop_lstatus; 27752 pop_lpsinfo_t pop_lpsinfo; 27753 pop_fini_t pop_fini; 27754 pop_platform_t pop_platform; 27755 pop_uname_t pop_uname; 27756 pop_zonename_t pop_zonename; 27757 pop_execname_t pop_execname; 27758 27759 pop_ldt_t pop_ldt; 27760 27761 } ps_ops_t; 27762 27763 /* 27764 * Function prototypes for routines in the process control package. 27765 */ 27766 extern struct ps_prochandle *Pcreate(const char *, char *const *, 27767 int *, char *, size_t); 27768 extern struct ps_prochandle *Pxcreate(const char *, char *const *, 27769 char *const *, int *, char *, size_t); 27770 27771 extern const char *Pcreate_error(int); 27772 27773 extern struct ps_prochandle *Pgrab(pid_t, int, int *); 27774 extern struct ps_prochandle *Pgrab_core(const char *, const char *, int, int *); 27775 extern struct ps_prochandle *Pfgrab_core(int, const char *, int *); 27776 extern struct ps_prochandle *Pgrab_file(const char *, int *); 27777 extern struct ps_prochandle *Pgrab_ops(pid_t, void *, const ps_ops_t *, int); 27778 extern const char *Pgrab_error(int); 27779 27780 extern int Preopen(struct ps_prochandle *); 27781 extern void Prelease(struct ps_prochandle *, int); 27782 extern void Pfree(struct ps_prochandle *); 27783 27784 extern int Pasfd(struct ps_prochandle *); 27785 extern char *Pbrandname(struct ps_prochandle *, char *, size_t); 27786 extern int Pctlfd(struct ps_prochandle *); 27787 extern int Pcreate_agent(struct ps_prochandle *); 27788 extern void Pdestroy_agent(struct ps_prochandle *); 27789 extern int Pstopstatus(struct ps_prochandle *, long, uint_t); 27790 extern int Pwait(struct ps_prochandle *, uint_t); 27791 extern int Pstop(struct ps_prochandle *, uint_t); 27792 extern int Pdstop(struct ps_prochandle *); 27793 extern int Pstate(struct ps_prochandle *); 27794 extern const psinfo_t *Ppsinfo(struct ps_prochandle *); 27795 extern const pstatus_t *Pstatus(struct ps_prochandle *); 27796 extern int Pcred(struct ps_prochandle *, prcred_t *, int); 27797 extern int Psetcred(struct ps_prochandle *, const prcred_t *); 27798 extern int Ppriv(struct ps_prochandle *, prpriv_t **); 27799 extern int Psetpriv(struct ps_prochandle *, prpriv_t *); 27800 extern void *Pprivinfo(struct ps_prochandle *); 27801 extern int Psetzoneid(struct ps_prochandle *, zoneid_t); 27802 extern int Pgetareg(struct ps_prochandle *, int, greg_t *); 27803 extern int Pputareg(struct ps_prochandle *, int, greg_t); 27804 extern int Psetrun(struct ps_prochandle *, int, int); 27805 extern ssize_t Pread(struct ps_prochandle *, void *, size_t, uintptr_t); 27806 extern ssize_t Pread_string(struct ps_prochandle *, char *, size_t, uintptr_t); 27807 extern ssize_t Pwrite(struct ps_prochandle *, const void *, size_t, uintptr_t); 27808 extern int Pclearsig(struct ps_prochandle *); 27809 extern int Pclearfault(struct ps_prochandle *); 27810 extern int Psetbkpt(struct ps_prochandle *, uintptr_t, ulong_t *); 27811 extern int Pdelbkpt(struct ps_prochandle *, uintptr_t, ulong_t); 27812 extern int Pxecbkpt(struct ps_prochandle *, ulong_t); 27813 extern int Psetwapt(struct ps_prochandle *, const prwatch_t *); 27814 extern int Pdelwapt(struct ps_prochandle *, const prwatch_t *); 27815 extern int Pxecwapt(struct ps_prochandle *, const prwatch_t *); 27816 extern int Psetflags(struct ps_prochandle *, long); 27817 extern int Punsetflags(struct ps_prochandle *, long); 27818 extern int Psignal(struct ps_prochandle *, int, int); 27819 extern int Pfault(struct ps_prochandle *, int, int); 27820 extern int Psysentry(struct ps_prochandle *, int, int); 27821 extern int Psysexit(struct ps_prochandle *, int, int); 27822 extern void Psetsignal(struct ps_prochandle *, const sigset_t *); 27823 extern void Psetfault(struct ps_prochandle *, const fltset_t *); 27824 extern void Psetsysentry(struct ps_prochandle *, const sysset_t *); 27825 extern void Psetsysexit(struct ps_prochandle *, const sysset_t *); 27826 27827 extern void Psync(struct ps_prochandle *); 27828 extern int Psyscall(struct ps_prochandle *, sysret_t *, 27829 int, uint_t, argdes_t *); 27830 extern int Pisprocdir(struct ps_prochandle *, const char *); 27831 27832 /* 27833 * Function prototypes for lwp-specific operations. 27834 */ 27835 extern struct ps_lwphandle *Lgrab(struct ps_prochandle *, lwpid_t, int *); 27836 extern const char *Lgrab_error(int); 27837 27838 extern struct ps_prochandle *Lprochandle(struct ps_lwphandle *); 27839 extern void Lfree(struct ps_lwphandle *); 27840 27841 extern int Lctlfd(struct ps_lwphandle *); 27842 extern int Lwait(struct ps_lwphandle *, uint_t); 27843 extern int Lstop(struct ps_lwphandle *, uint_t); 27844 extern int Ldstop(struct ps_lwphandle *); 27845 extern int Lstate(struct ps_lwphandle *); 27846 extern const lwpsinfo_t *Lpsinfo(struct ps_lwphandle *); 27847 extern const lwpstatus_t *Lstatus(struct ps_lwphandle *); 27848 extern int Lgetareg(struct ps_lwphandle *, int, greg_t *); 27849 extern int Lputareg(struct ps_lwphandle *, int, greg_t); 27850 extern int Lsetrun(struct ps_lwphandle *, int, int); 27851 extern int Lclearsig(struct ps_lwphandle *); 27852 extern int Lclearfault(struct ps_lwphandle *); 27853 extern int Lxecbkpt(struct ps_lwphandle *, ulong_t); 27854 extern int Lxecwapt(struct ps_lwphandle *, const prwatch_t *); 27855 extern void Lsync(struct ps_lwphandle *); 27856 27857 extern int Lstack(struct ps_lwphandle *, stack_t *); 27858 extern int Lmain_stack(struct ps_lwphandle *, stack_t *); 27859 extern int Lalt_stack(struct ps_lwphandle *, stack_t *); 27860 27861 /* 27862 * Function prototypes for system calls forced on the victim process. 27863 */ 27864 extern int pr_open(struct ps_prochandle *, const char *, int, mode_t); 27865 extern int pr_creat(struct ps_prochandle *, const char *, mode_t); 27866 extern int pr_close(struct ps_prochandle *, int); 27867 extern int pr_access(struct ps_prochandle *, const char *, int); 27868 extern int pr_door_info(struct ps_prochandle *, int, struct door_info *); 27869 extern void *pr_mmap(struct ps_prochandle *, 27870 void *, size_t, int, int, int, off_t); 27871 extern void *pr_zmap(struct ps_prochandle *, 27872 void *, size_t, int, int); 27873 extern int pr_munmap(struct ps_prochandle *, void *, size_t); 27874 extern int pr_memcntl(struct ps_prochandle *, 27875 caddr_t, size_t, int, caddr_t, int, int); 27876 extern int pr_meminfo(struct ps_prochandle *, const uint64_t *addrs, 27877 int addr_count, const uint_t *info, int info_count, 27878 uint64_t *outdata, uint_t *validity); 27879 extern int pr_sigaction(struct ps_prochandle *, 27880 int, const struct sigaction *, struct sigaction *); 27881 extern int pr_getitimer(struct ps_prochandle *, 27882 int, struct itimerval *); 27883 extern int pr_setitimer(struct ps_prochandle *, 27884 int, const struct itimerval *, struct itimerval *); 27885 extern int pr_ioctl(struct ps_prochandle *, int, int, void *, size_t); 27886 extern int pr_fcntl(struct ps_prochandle *, int, int, void *); 27887 extern int pr_stat(struct ps_prochandle *, const char *, struct stat *); 27888 extern int pr_lstat(struct ps_prochandle *, const char *, struct stat *); 27889 extern int pr_fstat(struct ps_prochandle *, int, struct stat *); 27890 extern int pr_stat64(struct ps_prochandle *, const char *, 27891 struct stat64 *); 27892 extern int pr_lstat64(struct ps_prochandle *, const char *, 27893 struct stat64 *); 27894 extern int pr_fstat64(struct ps_prochandle *, int, struct stat64 *); 27895 extern int pr_statvfs(struct ps_prochandle *, const char *, statvfs_t *); 27896 extern int pr_fstatvfs(struct ps_prochandle *, int, statvfs_t *); 27897 extern projid_t pr_getprojid(struct ps_prochandle *Pr); 27898 extern taskid_t pr_gettaskid(struct ps_prochandle *Pr); 27899 extern taskid_t pr_settaskid(struct ps_prochandle *Pr, projid_t project, 27900 int flags); 27901 extern zoneid_t pr_getzoneid(struct ps_prochandle *Pr); 27902 extern int pr_getrctl(struct ps_prochandle *, 27903 const char *, rctlblk_t *, rctlblk_t *, int); 27904 extern int pr_setrctl(struct ps_prochandle *, 27905 const char *, rctlblk_t *, rctlblk_t *, int); 27906 extern int pr_getrlimit(struct ps_prochandle *, 27907 int, struct rlimit *); 27908 extern int pr_setrlimit(struct ps_prochandle *, 27909 int, const struct rlimit *); 27910 extern int pr_setprojrctl(struct ps_prochandle *, const char *, 27911 rctlblk_t *, size_t, int); 27912 27913 extern int pr_getrlimit64(struct ps_prochandle *, 27914 int, struct rlimit64 *); 27915 extern int pr_setrlimit64(struct ps_prochandle *, 27916 int, const struct rlimit64 *); 27917 27918 extern int pr_lwp_exit(struct ps_prochandle *); 27919 extern int pr_exit(struct ps_prochandle *, int); 27920 extern int pr_waitid(struct ps_prochandle *, 27921 idtype_t, id_t, siginfo_t *, int); 27922 extern off_t pr_lseek(struct ps_prochandle *, int, off_t, int); 27923 extern offset_t pr_llseek(struct ps_prochandle *, int, offset_t, int); 27924 extern int pr_rename(struct ps_prochandle *, const char *, const char *); 27925 extern int pr_link(struct ps_prochandle *, const char *, const char *); 27926 extern int pr_unlink(struct ps_prochandle *, const char *); 27927 extern int pr_getpeerucred(struct ps_prochandle *, int, ucred_t **); 27928 extern int pr_getpeername(struct ps_prochandle *, 27929 int, struct sockaddr *, socklen_t *); 27930 extern int pr_getsockname(struct ps_prochandle *, 27931 int, struct sockaddr *, socklen_t *); 27932 extern int pr_getsockopt(struct ps_prochandle *, 27933 int, int, int, void *, int *); 27934 extern int pr_processor_bind(struct ps_prochandle *, 27935 idtype_t, id_t, int, int *); 27936 27937 /* 27938 * Function prototypes for accessing per-LWP register information. 27939 */ 27940 extern int Plwp_getregs(struct ps_prochandle *, lwpid_t, gregset_t); 27941 extern int Plwp_setregs(struct ps_prochandle *, lwpid_t, const gregset_t); 27942 27943 extern int Plwp_getfpregs(struct ps_prochandle *, lwpid_t, fpregset_t *); 27944 extern int Plwp_setfpregs(struct ps_prochandle *, lwpid_t, 27945 const fpregset_t *); 27946 # 440 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 27947 extern int Pldt(struct ps_prochandle *, struct ssd *, int); 27948 extern int proc_get_ldt(pid_t, struct ssd *, int); 27949 27950 27951 extern int Plwp_getpsinfo(struct ps_prochandle *, lwpid_t, lwpsinfo_t *); 27952 extern int Plwp_getspymaster(struct ps_prochandle *, lwpid_t, psinfo_t *); 27953 27954 extern int Plwp_stack(struct ps_prochandle *, lwpid_t, stack_t *); 27955 extern int Plwp_main_stack(struct ps_prochandle *, lwpid_t, stack_t *); 27956 extern int Plwp_alt_stack(struct ps_prochandle *, lwpid_t, stack_t *); 27957 27958 /* 27959 * LWP iteration interface; iterate over all active LWPs. 27960 */ 27961 typedef int proc_lwp_f(void *, const lwpstatus_t *); 27962 extern int Plwp_iter(struct ps_prochandle *, proc_lwp_f *, void *); 27963 27964 /* 27965 * LWP iteration interface; iterate over all LWPs, active and zombie. 27966 */ 27967 typedef int proc_lwp_all_f(void *, const lwpstatus_t *, const lwpsinfo_t *); 27968 extern int Plwp_iter_all(struct ps_prochandle *, proc_lwp_all_f *, void *); 27969 27970 /* 27971 * Process iteration interface; iterate over all non-system processes. 27972 */ 27973 typedef int proc_walk_f(psinfo_t *, lwpsinfo_t *, void *); 27974 extern int proc_walk(proc_walk_f *, void *, int); 27975 27976 27977 27978 27979 /* 27980 * Determine if an lwp is in a set as returned from proc_arg_xgrab(). 27981 */ 27982 extern int proc_lwp_in_set(const char *, lwpid_t); 27983 extern int proc_lwp_range_valid(const char *); 27984 27985 /* 27986 * Symbol table interfaces. 27987 */ 27988 27989 /* 27990 * Pseudo-names passed to Plookup_by_name() for well-known load objects. 27991 * NOTE: It is required that PR_OBJ_EXEC and PR_OBJ_LDSO exactly match 27992 * the definitions of PS_OBJ_EXEC and PS_OBJ_LDSO from <proc_service.h>. 27993 */ 27994 27995 27996 27997 27998 /* 27999 * Special Lmid_t passed to Plookup_by_lmid() to search all link maps. The 28000 * special values LM_ID_BASE and LM_ID_LDSO from <link.h> may also be used. 28001 * If PR_OBJ_EXEC is used as the object name, the lmid must be PR_LMID_EVERY 28002 * or LM_ID_BASE in order to return a match. If PR_OBJ_LDSO is used as the 28003 * object name, the lmid must be PR_LMID_EVERY or LM_ID_LDSO to return a match. 28004 */ 28005 28006 28007 /* 28008 * 'object_name' is the name of a load object obtained from an 28009 * iteration over the process's address space mappings (Pmapping_iter), 28010 * or an iteration over the process's mapped objects (Pobject_iter), 28011 * or else it is one of the special PR_OBJ_* values above. 28012 */ 28013 extern int Plookup_by_name(struct ps_prochandle *, 28014 const char *, const char *, GElf_Sym *); 28015 28016 extern int Plookup_by_addr(struct ps_prochandle *, 28017 uintptr_t, char *, size_t, GElf_Sym *); 28018 28019 typedef struct prsyminfo { 28020 const char *prs_object; /* object name */ 28021 const char *prs_name; /* symbol name */ 28022 Lmid_t prs_lmid; /* link map id */ 28023 uint_t prs_id; /* symbol id */ 28024 uint_t prs_table; /* symbol table id */ 28025 } prsyminfo_t; 28026 28027 extern int Pxlookup_by_name(struct ps_prochandle *, 28028 Lmid_t, const char *, const char *, GElf_Sym *, prsyminfo_t *); 28029 28030 extern int Pxlookup_by_addr(struct ps_prochandle *, 28031 uintptr_t, char *, size_t, GElf_Sym *, prsyminfo_t *); 28032 extern int Pxlookup_by_addr_resolved(struct ps_prochandle *, 28033 uintptr_t, char *, size_t, GElf_Sym *, prsyminfo_t *); 28034 28035 typedef int proc_map_f(void *, const prmap_t *, const char *); 28036 28037 extern int Pmapping_iter(struct ps_prochandle *, proc_map_f *, void *); 28038 extern int Pmapping_iter_resolved(struct ps_prochandle *, proc_map_f *, void *); 28039 extern int Pobject_iter(struct ps_prochandle *, proc_map_f *, void *); 28040 extern int Pobject_iter_resolved(struct ps_prochandle *, proc_map_f *, void *); 28041 28042 extern const prmap_t *Paddr_to_map(struct ps_prochandle *, uintptr_t); 28043 extern const prmap_t *Paddr_to_text_map(struct ps_prochandle *, uintptr_t); 28044 extern const prmap_t *Pname_to_map(struct ps_prochandle *, const char *); 28045 extern const prmap_t *Plmid_to_map(struct ps_prochandle *, 28046 Lmid_t, const char *); 28047 28048 extern const rd_loadobj_t *Paddr_to_loadobj(struct ps_prochandle *, uintptr_t); 28049 extern const rd_loadobj_t *Pname_to_loadobj(struct ps_prochandle *, 28050 const char *); 28051 extern const rd_loadobj_t *Plmid_to_loadobj(struct ps_prochandle *, 28052 Lmid_t, const char *); 28053 28054 extern ctf_file_t *Paddr_to_ctf(struct ps_prochandle *, uintptr_t); 28055 extern ctf_file_t *Pname_to_ctf(struct ps_prochandle *, const char *); 28056 28057 extern char *Pplatform(struct ps_prochandle *, char *, size_t); 28058 extern int Puname(struct ps_prochandle *, struct utsname *); 28059 extern char *Pzonename(struct ps_prochandle *, char *, size_t); 28060 extern char *Pfindobj(struct ps_prochandle *, const char *, char *, size_t); 28061 28062 extern char *Pexecname(struct ps_prochandle *, char *, size_t); 28063 extern char *Pobjname(struct ps_prochandle *, uintptr_t, char *, size_t); 28064 extern char *Pobjname_resolved(struct ps_prochandle *, uintptr_t, char *, 28065 size_t); 28066 extern int Plmid(struct ps_prochandle *, uintptr_t, Lmid_t *); 28067 28068 typedef int proc_env_f(void *, struct ps_prochandle *, uintptr_t, const char *); 28069 extern int Penv_iter(struct ps_prochandle *, proc_env_f *, void *); 28070 extern char *Pgetenv(struct ps_prochandle *, const char *, char *, size_t); 28071 extern long Pgetauxval(struct ps_prochandle *, int); 28072 extern const auxv_t *Pgetauxvec(struct ps_prochandle *); 28073 28074 extern void Pset_procfs_path(const char *); 28075 28076 /* 28077 * Symbol table iteration interface. The special lmid constants LM_ID_BASE, 28078 * LM_ID_LDSO, and PR_LMID_EVERY may be used with Psymbol_iter_by_lmid. 28079 */ 28080 typedef int proc_sym_f(void *, const GElf_Sym *, const char *); 28081 typedef int proc_xsym_f(void *, const GElf_Sym *, const char *, 28082 const prsyminfo_t *); 28083 28084 extern int Psymbol_iter(struct ps_prochandle *, 28085 const char *, int, int, proc_sym_f *, void *); 28086 extern int Psymbol_iter_by_addr(struct ps_prochandle *, 28087 const char *, int, int, proc_sym_f *, void *); 28088 extern int Psymbol_iter_by_name(struct ps_prochandle *, 28089 const char *, int, int, proc_sym_f *, void *); 28090 28091 extern int Psymbol_iter_by_lmid(struct ps_prochandle *, 28092 Lmid_t, const char *, int, int, proc_sym_f *, void *); 28093 28094 extern int Pxsymbol_iter(struct ps_prochandle *, 28095 Lmid_t, const char *, int, int, proc_xsym_f *, void *); 28096 28097 /* 28098 * 'which' selects which symbol table and can be one of the following. 28099 */ 28100 28101 28102 /* 28103 * 'type' selects the symbols of interest by binding and type. It is a bit- 28104 * mask of one or more of the following flags, whose order MUST match the 28105 * order of STB and STT constants in <sys/elf.h>. 28106 */ 28107 # 611 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libproc.h" 28108 /* 28109 * This returns the rtld_db agent handle for the process. 28110 * The handle will become invalid at the next successful exec() and 28111 * must not be used beyond that point (see Preset_maps(), below). 28112 */ 28113 extern rd_agent_t *Prd_agent(struct ps_prochandle *); 28114 28115 /* 28116 * This should be called when an RD_DLACTIVITY event with the 28117 * RD_CONSISTENT state occurs via librtld_db's event mechanism. 28118 * This makes libproc's address space mappings and symbol tables current. 28119 * The variant Pupdate_syms() can be used to preload all symbol tables as well. 28120 */ 28121 extern void Pupdate_maps(struct ps_prochandle *); 28122 extern void Pupdate_syms(struct ps_prochandle *); 28123 28124 /* 28125 * This must be called after the victim process performs a successful 28126 * exec() if any of the symbol table interface functions have been called 28127 * prior to that point. This is essential because an exec() invalidates 28128 * all previous symbol table and address space mapping information. 28129 * It is always safe to call, but if it is called other than after an 28130 * exec() by the victim process it just causes unnecessary overhead. 28131 * 28132 * The rtld_db agent handle obtained from a previous call to Prd_agent() is 28133 * made invalid by Preset_maps() and Prd_agent() must be called again to get 28134 * the new handle. 28135 */ 28136 extern void Preset_maps(struct ps_prochandle *); 28137 28138 /* 28139 * Given an address, Ppltdest() determines if this is part of a PLT, and if 28140 * so returns a pointer to the symbol name that will be used for resolution. 28141 * If the specified address is not part of a PLT, the function returns NULL. 28142 */ 28143 extern const char *Ppltdest(struct ps_prochandle *, uintptr_t); 28144 28145 /* 28146 * See comments for Pissyscall(), in Pisadep.h 28147 */ 28148 extern int Pissyscall_prev(struct ps_prochandle *, uintptr_t, uintptr_t *); 28149 28150 /* 28151 * Stack frame iteration interface. 28152 */ 28153 typedef int proc_stack_f(void *, gregset_t, uint_t, const long *); 28154 28155 extern int Pstack_iter(struct ps_prochandle *, 28156 const gregset_t, proc_stack_f *, void *); 28157 28158 /* 28159 * The following functions define a set of passive interfaces: libproc provides 28160 * default, empty definitions that are called internally. If a client wishes 28161 * to override these definitions, it can simply provide its own version with 28162 * the same signature that interposes on the libproc definition. 28163 * 28164 * If the client program wishes to report additional error information, it 28165 * can provide its own version of Perror_printf. 28166 * 28167 * If the client program wishes to receive a callback after Pcreate forks 28168 * but before it execs, it can provide its own version of Pcreate_callback. 28169 */ 28170 extern void Perror_printf(struct ps_prochandle *P, const char *format, ...); 28171 extern void Pcreate_callback(struct ps_prochandle *); 28172 28173 /* 28174 * Remove unprintable characters from psinfo.pr_psargs and replace with 28175 * whitespace characters so it is safe for printing. 28176 */ 28177 extern void proc_unctrl_psinfo(psinfo_t *); 28178 28179 /* 28180 * Utility functions for processing arguments which should be /proc files, 28181 * pids, and/or core files. The returned error code can be passed to 28182 * Pgrab_error() in order to convert it to an error string. 28183 */ 28184 28185 28186 28187 28188 28189 extern struct ps_prochandle *proc_arg_grab(const char *, int, int, int *); 28190 extern struct ps_prochandle *proc_arg_xgrab(const char *, const char *, int, 28191 int, int *, const char **); 28192 extern pid_t proc_arg_psinfo(const char *, int, psinfo_t *, int *); 28193 extern pid_t proc_arg_xpsinfo(const char *, int, psinfo_t *, int *, 28194 const char **); 28195 28196 /* 28197 * Utility functions for obtaining information via /proc without actually 28198 * performing a Pcreate() or Pgrab(): 28199 */ 28200 extern int proc_get_auxv(pid_t, auxv_t *, int); 28201 extern int proc_get_cred(pid_t, prcred_t *, int); 28202 extern prpriv_t *proc_get_priv(pid_t); 28203 extern int proc_get_psinfo(pid_t, psinfo_t *); 28204 extern int proc_get_status(pid_t, pstatus_t *); 28205 28206 /* 28207 * Utility functions for debugging tools to convert numeric fault, 28208 * signal, and system call numbers to symbolic names: 28209 */ 28210 28211 28212 28213 extern char *proc_fltname(int, char *, size_t); 28214 extern char *proc_signame(int, char *, size_t); 28215 extern char *proc_sysname(int, char *, size_t); 28216 28217 /* 28218 * Utility functions for debugging tools to convert fault, signal, and system 28219 * call names back to the numeric constants: 28220 */ 28221 extern int proc_str2flt(const char *, int *); 28222 extern int proc_str2sig(const char *, int *); 28223 extern int proc_str2sys(const char *, int *); 28224 28225 /* 28226 * Utility functions for debugging tools to convert a fault, signal or system 28227 * call set to a string representation (e.g. "BUS,SEGV" or "open,close,read"). 28228 */ 28229 28230 28231 extern char *proc_fltset2str(const fltset_t *, const char *, int, 28232 char *, size_t); 28233 extern char *proc_sigset2str(const sigset_t *, const char *, int, 28234 char *, size_t); 28235 extern char *proc_sysset2str(const sysset_t *, const char *, int, 28236 char *, size_t); 28237 28238 extern int Pgcore(struct ps_prochandle *, const char *, core_content_t); 28239 extern int Pfgcore(struct ps_prochandle *, int, core_content_t); 28240 extern core_content_t Pcontent(struct ps_prochandle *); 28241 28242 /* 28243 * Utility functions for debugging tools to convert a string representation of 28244 * a fault, signal or system call set back to the numeric value of the 28245 * corresponding set type. 28246 */ 28247 extern char *proc_str2fltset(const char *, const char *, int, fltset_t *); 28248 extern char *proc_str2sigset(const char *, const char *, int, sigset_t *); 28249 extern char *proc_str2sysset(const char *, const char *, int, sysset_t *); 28250 28251 /* 28252 * Utility functions for converting between strings and core_content_t. 28253 */ 28254 28255 28256 extern int proc_str2content(const char *, core_content_t *); 28257 extern int proc_content2str(core_content_t, char *, size_t); 28258 28259 /* 28260 * Utility functions for buffering output to stdout, stderr while 28261 * process is grabbed. Prevents deadlocks due to pfiles `pgrep xterm` 28262 * and other varients. 28263 */ 28264 extern int proc_initstdio(void); 28265 extern int proc_flushstdio(void); 28266 extern int proc_finistdio(void); 28267 28268 /* 28269 * Iterate over all open files. 28270 */ 28271 typedef int proc_fdinfo_f(void *, prfdinfo_t *); 28272 extern int Pfdinfo_iter(struct ps_prochandle *, proc_fdinfo_f *, void *); 28273 # 52 "common/apptrace.c" 2 28274 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/libctf.h" 1 28275 /* 28276 * CDDL HEADER START 28277 * 28278 * The contents of this file are subject to the terms of the 28279 * Common Development and Distribution License, Version 1.0 only 28280 * (the "License"). You may not use this file except in compliance 28281 * with the License. 28282 * 28283 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 28284 * or http://www.opensolaris.org/os/licensing. 28285 * See the License for the specific language governing permissions 28286 * and limitations under the License. 28287 * 28288 * When distributing Covered Code, include this CDDL HEADER in each 28289 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 28290 * If applicable, add the following below this CDDL HEADER, with the 28291 * fields enclosed by brackets "[]" replaced with your own identifying 28292 * information: Portions Copyright [yyyy] [name of copyright owner] 28293 * 28294 * CDDL HEADER END 28295 */ 28296 /* 28297 * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. 28298 * Use is subject to license terms. 28299 */ 28300 /* 28301 * Copyright (c) 2015, Joyent, Inc. 28302 */ 28303 28304 /* 28305 * This header file defines the interfaces available from the CTF debugger 28306 * library, libctf. This library provides functions that a debugger can 28307 * use to operate on data in the Compact ANSI-C Type Format (CTF). This 28308 * is NOT a public interface, although it may eventually become one in 28309 * the fullness of time after we gain more experience with the interfaces. 28310 * 28311 * In the meantime, be aware that any program linked with libctf in this 28312 * release of illumos is almost guaranteed to break in the next release. 28313 * 28314 * In short, do not user this header file or libctf for any purpose. 28315 */ 28316 # 53 "common/apptrace.c" 2 28317 28318 28319 28320 extern const char *type_name(ctf_file_t *, ctf_id_t, char *, size_t); 28321 extern void print_value(ctf_file_t *, ctf_id_t, ulong_t); 28322 28323 static struct ps_prochandle *proc_hdl = 0; 28324 28325 static Liblist *bindto_list; 28326 static Liblist *bindto_excl; 28327 static Liblist *bindfrom_list; 28328 static Liblist *bindfrom_excl; 28329 static Liblist *intlib_list; 28330 static uint_t pidout; 28331 static Intlist *trace_list; 28332 static Intlist *trace_excl; 28333 static Intlist *verbose_list; 28334 static Intlist *verbose_excl; 28335 28336 /* 28337 * Required for calls to build_env_list1 where 28338 * things are added to the end of the list (preserving 28339 * search order implied by the setting of env variables 28340 * in apptracecmd.c) 28341 */ 28342 static Liblist *intlib_listend; 28343 28344 /* 28345 * These globals are sought and used by interceptlib.c 28346 * which goes into all interceptor objects. 28347 */ 28348 FILE *__abi_outfile = (&__iob[2]); 28349 sigset_t abisigset; 28350 28351 /* 28352 * Strings are printed with "%.*s", abi_strpsz, string 28353 */ 28354 int abi_strpsz = 20; 28355 28356 /* 28357 * Special function pointers that'll be set up to point at the 28358 * libc/libthread versions in the _application's_ link map (as opposed 28359 * to our own). 28360 * 28361 * Additionally, it is impossible to generalize the programmatic 28362 * creation of interceptor functions for variable argument list 28363 * functions. However, in the case of the printf family, there is a 28364 * vprintf equivalent. The interceptors for the printf family live in 28365 * interceptor.c and they call the appropriate vprintf interface 28366 * instead of the printf interface that they're intercepting. The 28367 * link map issue remains, however, so function pointers for the 28368 * vprintf family in the application's link map are set up here. 28369 * 28370 * The interceptors also need to examine errno which also needs to be 28371 * extracted from the base link map. 28372 * 28373 * All of these pointers are initialized in la_preinit(). 28374 */ 28375 28376 thread_t (*abi_thr_self)(void); 28377 int (*abi_thr_main)(void); 28378 28379 int (*__abi_real_vfprintf)(FILE *, char const *, va_list); 28380 int (*__abi_real_vfwprintf)(FILE *, const wchar_t *, va_list); 28381 int (*__abi_real_vprintf)(char const *, va_list); 28382 int (*__abi_real_vsnprintf)(char *, size_t, char const *, va_list); 28383 int (*__abi_real_vsprintf)(char *, char const *, va_list); 28384 int (*__abi_real_vswprintf)(wchar_t *, size_t, const wchar_t *, va_list); 28385 int (*__abi_real_vwprintf)(const wchar_t *, va_list); 28386 int *(*__abi_real_errno)(void); 28387 28388 28389 28390 28391 28392 28393 static char const *libcpath = "/lib/libc.so.1"; 28394 28395 28396 /* Used as arguments later to dlsym */ 28397 static char const *thr_main_sym = "thr_main"; 28398 static char const *thr_self_sym = "thr_self"; 28399 static char const *vfprintf_sym = "vfprintf"; 28400 static char const *vfwprintf_sym = "vfwprintf"; 28401 static char const *vprintf_sym = "vprintf"; 28402 static char const *vsnprintf_sym = "vsnprintf"; 28403 static char const *vsprintf_sym = "vsprintf"; 28404 static char const *vswprintf_sym = "vswprintf"; 28405 static char const *vwprintf_sym = "vwprintf"; 28406 static char const *errno_sym = "___errno"; 28407 28408 /* 28409 * The list of functions below are functions for which 28410 * apptrace.so will not perform any tracing. 28411 * 28412 * The user visible failure of tracing these functions 28413 * is a core dump of the application under observation. 28414 * 28415 * This list was originally discovered during sotruss 28416 * development. Attempts lacking sufficient determination 28417 * to shrink this list have failed. 28418 * 28419 * There are a number of different kinds of issues here. 28420 * 28421 * The .stretX functions have to do with the relationship 28422 * that the caller and callee has with functions that 28423 * return structures and the altered calling convention 28424 * that results. 28425 * 28426 * We cannot trace *setjmp because the caller of these routines 28427 * is not allow to return which is exactly what an interceptor 28428 * function is going to do. 28429 * 28430 * The *context functions are on the list because we cannot trace 28431 * netscape without them on the list, but the exact mechanics of the 28432 * failure are not known at this time. 28433 * 28434 * The leaf functions *getsp can probably be removed given the 28435 * presence of an interceptor but that experiment has not been 28436 * conducted. 28437 * 28438 * NOTE: this list *must* be maintained in alphabetical order. 28439 * if this list ever became too long a faster search mechanism 28440 * should be considered. 28441 */ 28442 static char *spec_sym[] = { 28443 28444 28445 28446 28447 28448 28449 "__getcontext", 28450 "_getcontext", 28451 "_getsp", 28452 "_longjmp", 28453 "_setcontext", 28454 "_setjmp", 28455 "_siglongjmp", 28456 "_sigsetjmp", 28457 "_vfork", 28458 "getcontext", 28459 "getsp", 28460 "longjmp", 28461 "setcontext", 28462 "setjmp", 28463 "siglongjmp", 28464 "sigsetjmp", 28465 "vfork", 28466 0 28467 }; 28468 28469 uint_t 28470 la_version(uint_t version) 28471 { 28472 char *str; 28473 FILE *fp; 28474 28475 if (version > 5) 28476 (void) fprintf((&__iob[2]), 28477 dgettext(TEXT_DOMAIN, 28478 "apptrace: unexpected version: %u\n"), 28479 version); 28480 28481 build_env_list(&bindto_list, "APPTRACE_BINDTO"); 28482 build_env_list(&bindto_excl, "APPTRACE_BINDTO_EXCLUDE"); 28483 28484 build_env_list(&bindfrom_list, "APPTRACE_BINDFROM"); 28485 build_env_list(&bindfrom_excl, "APPTRACE_BINDFROM_EXCLUDE"); 28486 28487 if (checkenv("APPTRACE_PID") != 0) { 28488 pidout = 1; 28489 } else { 28490 char *str = "LD_AUDIT="; 28491 char *str2 = "LD_AUDIT64="; 28492 /* 28493 * This disables apptrace output in subsequent exec'ed 28494 * processes. 28495 */ 28496 (void) putenv(str); 28497 (void) putenv(str2); 28498 } 28499 28500 if ((str = checkenv("APPTRACE_OUTPUT")) != 0) { 28501 int fd, newfd, targetfd, lowerlimit; 28502 struct rlimit rl; 28503 28504 if (getrlimit(5, &rl) == -1) { 28505 (void) fprintf((&__iob[2]), 28506 dgettext(TEXT_DOMAIN, 28507 "apptrace: getrlimit: %s\n"), 28508 strerror((*(___errno())))); 28509 exit(1); 28510 } 28511 28512 fd = open(str, 1|0x100|0x200, 0666); 28513 if (fd == -1) { 28514 (void) fprintf((&__iob[2]), 28515 dgettext(TEXT_DOMAIN, 28516 "apptrace: %s: %s\n"), 28517 str, 28518 strerror((*(___errno())))); 28519 exit(1); 28520 } 28521 28522 /* 28523 * Those fans of dup2 should note that dup2 cannot 28524 * be used below because dup2 closes the target file 28525 * descriptor. Thus, if we're apptracing say, ksh 28526 * we'd have closed the fd it uses for the history 28527 * file (63 on my box). 28528 * 28529 * fcntl with F_DUPFD returns first available >= arg3 28530 * so we iterate from the top until we find a available 28531 * fd. 28532 * 28533 * Not finding an fd after 10 tries is a failure. 28534 * 28535 * Since the _file member of the FILE structure is an 28536 * unsigned char, we must clamp our fd request to 28537 * UCHAR_MAX 28538 */ 28539 lowerlimit = ((rl.rlim_cur > 28540 255) ? 255 : rl.rlim_cur) - 10; 28541 28542 for (targetfd = lowerlimit + 10; 28543 targetfd > lowerlimit; targetfd--) { 28544 if ((newfd = fcntl(fd, 0, targetfd)) != -1) 28545 break; 28546 } 28547 28548 if (newfd == -1) { 28549 (void) fprintf((&__iob[2]), 28550 dgettext(TEXT_DOMAIN, 28551 "apptrace: F_DUPFD: %s\n"), 28552 strerror((*(___errno())))); 28553 exit(1); 28554 } 28555 (void) close(fd); 28556 28557 if (fcntl(newfd, 2, 1) == -1) { 28558 (void) fprintf((&__iob[2]), 28559 dgettext(TEXT_DOMAIN, 28560 "apptrace: fcntl FD_CLOEXEC: %s\n"), 28561 strerror((*(___errno())))); 28562 exit(1); 28563 } 28564 28565 if ((fp = fdopen(newfd, "wF")) != 0) { 28566 __abi_outfile = fp; 28567 } else { 28568 (void) fprintf((&__iob[2]), 28569 dgettext(TEXT_DOMAIN, 28570 "apptrace: fdopen: %s\n"), 28571 strerror((*(___errno())))); 28572 exit(1); 28573 } 28574 } 28575 28576 28577 28578 28579 28580 build_env_list1(&intlib_list, &intlib_listend, 28581 "APPTRACE_INTERCEPTORS"); 28582 28583 28584 /* Set up lists interfaces to trace or ignore */ 28585 env_to_intlist(&trace_list, "APPTRACE_INTERFACES"); 28586 env_to_intlist(&trace_excl, "APPTRACE_INTERFACES_EXCLUDE"); 28587 env_to_intlist(&verbose_list, "APPTRACE_VERBOSE"); 28588 env_to_intlist(&verbose_excl, "APPTRACE_VERBOSE_EXCLUDE"); 28589 28590 return (5); 28591 } 28592 28593 /* ARGSUSED1 */ 28594 uint_t 28595 la_objopen(Link_map *lmp, Lmid_t lmid, uintptr_t *cookie) 28596 { 28597 uint_t flags; 28598 static int first = 1; 28599 int perr; 28600 28601 /* 28602 * If this is the first time in, then l_name is the app 28603 * and unless the user gave an explict from list 28604 * we will trace calls from it. 28605 */ 28606 if (first && bindfrom_list == 0) { 28607 flags = 0x0002 | 0x0001; 28608 first = 0; 28609 goto work; 28610 } 28611 28612 /* 28613 * If we have no bindto_list, then we assume that we 28614 * bindto everything (apptrace -T \*) 28615 * 28616 * Otherwise we make sure that l_name is on the list. 28617 */ 28618 flags = 0; 28619 if (bindto_list == 0) { 28620 flags = 0x0001; 28621 } else if (check_list(bindto_list, lmp->l_name) != 0) { 28622 flags |= 0x0001; 28623 } 28624 28625 /* 28626 * If l_name is on the exclusion list, zero the bit. 28627 */ 28628 if ((bindto_excl != 0) && 28629 check_list(bindto_excl, lmp->l_name) != 0) { 28630 flags &= ~0x0001; 28631 } 28632 28633 /* 28634 * If l_name is on the bindfrom list then trace 28635 */ 28636 if (check_list(bindfrom_list, lmp->l_name) != 0) { 28637 flags |= 0x0002; 28638 } 28639 28640 /* 28641 * If l_name is on the exclusion list, zero the bit 28642 * else trace, (this allows "-F !foo" to imply 28643 * "-F '*' -F !foo") 28644 */ 28645 if (check_list(bindfrom_excl, lmp->l_name) != 0) { 28646 flags &= ~0x0002; 28647 } else if (bindfrom_excl != 0 && bindfrom_list == 0) { 28648 flags |= 0x0002; 28649 } 28650 28651 work: 28652 if (flags) { 28653 *cookie = (uintptr_t)abibasename(lmp->l_name); 28654 28655 /* 28656 * only call Pgrab() once to get the ps_prochandle 28657 */ 28658 if (proc_hdl == 0) 28659 proc_hdl = Pgrab(getpid(), 0x04, &perr); 28660 } 28661 28662 return (flags); 28663 } 28664 28665 static void 28666 apptrace_preinit_fail(void) 28667 { 28668 (void) fprintf((&__iob[2]), 28669 dgettext(TEXT_DOMAIN, "apptrace: la_preinit: %s\n"), 28670 dlerror()); 28671 exit(1); 28672 } 28673 28674 /* ARGSUSED */ 28675 void 28676 la_preinit(uintptr_t *cookie) 28677 { 28678 void *h = 0; 28679 28680 (void) sigfillset(&abisigset); 28681 28682 h = dlmopen(0x00, libcpath, 0x00001 | 0x00004); 28683 if (h == 0) 28684 apptrace_preinit_fail(); 28685 28686 if ((abi_thr_self = 28687 (thread_t (*)(void)) dlsym(h, thr_self_sym)) == 0) 28688 apptrace_preinit_fail(); 28689 if ((abi_thr_main = 28690 (int (*)(void)) dlsym(h, thr_main_sym)) == 0) 28691 apptrace_preinit_fail(); 28692 28693 /* Do printf style pointers */ 28694 if ((__abi_real_vfprintf = 28695 (int (*)(FILE *, char const *, va_list)) 28696 dlsym(h, vfprintf_sym)) == 0) 28697 apptrace_preinit_fail(); 28698 28699 if ((__abi_real_vfwprintf = 28700 (int (*)(FILE *, const wchar_t *, va_list)) 28701 dlsym(h, vfwprintf_sym)) == 0) 28702 apptrace_preinit_fail(); 28703 28704 if ((__abi_real_vprintf = 28705 (int (*)(char const *, va_list)) 28706 dlsym(h, vprintf_sym)) == 0) 28707 apptrace_preinit_fail(); 28708 28709 if ((__abi_real_vsnprintf = 28710 (int (*)(char *, size_t, char const *, va_list)) 28711 dlsym(h, vsnprintf_sym)) == 0) 28712 apptrace_preinit_fail(); 28713 28714 if ((__abi_real_vsprintf = 28715 (int (*)(char *, char const *, va_list)) 28716 dlsym(h, vsprintf_sym)) == 0) 28717 apptrace_preinit_fail(); 28718 28719 if ((__abi_real_vswprintf = 28720 (int (*)(wchar_t *, size_t, const wchar_t *, va_list)) 28721 dlsym(h, vswprintf_sym)) == 0) 28722 apptrace_preinit_fail(); 28723 28724 if ((__abi_real_vwprintf = 28725 (int (*)(const wchar_t *, va_list)) 28726 dlsym(h, vwprintf_sym)) == 0) 28727 apptrace_preinit_fail(); 28728 28729 if ((__abi_real_errno = 28730 (int *(*)(void)) 28731 dlsym(h, errno_sym)) == 0) 28732 apptrace_preinit_fail(); 28733 28734 (void) dlclose(h); 28735 } 28736 28737 /* ARGSUSED1 */ 28738 28739 28740 28741 28742 28743 uintptr_t 28744 la_symbind32(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcook, 28745 uintptr_t *defcook, uint_t *sb_flags) 28746 28747 { 28748 28749 char const *sym_name = (char const *) symp->st_name; 28750 28751 int intercept = 0, verbose = 0; 28752 uintptr_t ret = symp->st_value; 28753 uint_t ndx; 28754 char *str; 28755 28756 28757 28758 28759 28760 /* If we're not looking at a function, bug out */ 28761 if (((symp->st_info) & 0xf) != 2) 28762 goto end; 28763 28764 28765 if (verbose_list != 0) { 28766 /* apptrace ... -v verbose_list ... cmd */ 28767 if (check_intlist(verbose_list, sym_name)) 28768 verbose = 1; 28769 } 28770 if (verbose_excl != 0) { 28771 /* apptrace ... -v !verbose_excl ... cmd */ 28772 if (check_intlist(verbose_excl, sym_name)) 28773 verbose = 0; 28774 else if (verbose_list == 0 && trace_list == 0 && 28775 trace_excl == 0) 28776 /* apptrace -v !verbose_excl cmd */ 28777 intercept = 1; 28778 } 28779 if (trace_list != 0) { 28780 /* apptrace ... -t trace_list ... cmd */ 28781 if (check_intlist(trace_list, sym_name)) 28782 intercept = 1; 28783 } else if (verbose_list == 0 && verbose_excl == 0) 28784 /* default (implies -t '*'): apptrace cmd */ 28785 intercept = 1; 28786 28787 if (trace_excl != 0) { 28788 /* apptrace ... -t !trace_excl ... cmd */ 28789 if (check_intlist(trace_excl, sym_name)) 28790 intercept = 0; 28791 } 28792 28793 if (verbose == 0 && intercept == 0) { 28794 *sb_flags |= (0x0002 | 0x0001); 28795 goto end; 28796 } 28797 28798 /* 28799 * Check to see if this symbol is one of the 'special' symbols. 28800 * If so we disable calls for that symbol. 28801 */ 28802 for (ndx = 0; (str = spec_sym[ndx]) != 0; ndx++) { 28803 int cmpval; 28804 cmpval = strcmp(sym_name, str); 28805 if (cmpval < 0) 28806 break; 28807 if (cmpval == 0) { 28808 intercept = verbose = 0; 28809 *sb_flags |= (0x0002 | 0x0001); 28810 break; 28811 } 28812 } 28813 28814 end: 28815 return (ret); 28816 } 28817 28818 /* ARGSUSED1 */ 28819 # 570 "common/apptrace.c" 28820 uintptr_t 28821 la_i86_pltenter(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcookie, 28822 uintptr_t *defcookie, La_i86_regs *regset, uint_t *sb_flags) 28823 28824 { 28825 char *defname = (char *)(*defcookie); 28826 char *refname = (char *)(*refcookie); 28827 sigset_t omask; 28828 28829 char const *sym_name = (char const *)symp->st_name; 28830 28831 28832 char buf[256]; 28833 GElf_Sym sym; 28834 prsyminfo_t si; 28835 ctf_file_t *ctfp; 28836 ctf_funcinfo_t finfo; 28837 int argc; 28838 ctf_id_t argt[40]; 28839 ulong_t argv[40]; 28840 int i; 28841 char *sep = ""; 28842 ctf_id_t type, rtype; 28843 int kind; 28844 28845 abilock(&omask); 28846 28847 if (pidout) 28848 (void) fprintf(__abi_outfile, "%7u:", (unsigned int)getpid()); 28849 28850 if ((ctfp = Pname_to_ctf(proc_hdl, defname)) == 0) 28851 goto fail; 28852 28853 if (Pxlookup_by_name(proc_hdl, ((Lmid_t)-1UL), defname, sym_name, 28854 &sym, &si) != 0) 28855 goto fail; 28856 28857 if (ctf_func_info(ctfp, si.prs_id, &finfo) == (-1L)) 28858 goto fail; 28859 28860 (void) type_name(ctfp, finfo.ctc_return, buf, sizeof (buf)); 28861 (void) fprintf(__abi_outfile, "-> %-8s -> %8s:%s %s(", 28862 refname, defname, buf, sym_name); 28863 28864 /* 28865 * According to bug in la_pltexit(), it can't return 28866 * if the type is just a struct/union. So, if the return 28867 * type is a struct/union, la_pltexit() should be off. 28868 */ 28869 rtype = ctf_type_resolve(ctfp, finfo.ctc_return); 28870 type = ctf_type_reference(ctfp, rtype); 28871 rtype = ctf_type_resolve(ctfp, type); 28872 kind = ctf_type_kind(ctfp, rtype); 28873 if ((kind == 6 || kind == 7) && 28874 strpbrk(buf, "*") == 0) 28875 *sb_flags |= 0x0002; 28876 28877 argc = ((sizeof (argt) / sizeof (argt[0])) < (finfo.ctc_argc) ? (sizeof (argt) / sizeof (argt[0])) : (finfo.ctc_argc)); 28878 (void) ctf_func_args(ctfp, si.prs_id, argc, argt); 28879 28880 argv[0] = (((ulong_t *)regset->lr_esp)[1]); 28881 if (argc > 1) 28882 argv[1] = (((ulong_t *)regset->lr_esp)[2]); 28883 if (argc > 2) 28884 argv[2] = (((ulong_t *)regset->lr_esp)[3]); 28885 if (argc > 3) 28886 argv[3] = (((ulong_t *)regset->lr_esp)[4]); 28887 if (argc > 4) 28888 argv[4] = (((ulong_t *)regset->lr_esp)[5]); 28889 if (argc > 5) 28890 argv[5] = (((ulong_t *)regset->lr_esp)[6]); 28891 if (argc > 6) { 28892 for (i = 6; i < argc; i++) 28893 argv[i] = (((ulong_t *)regset->lr_esp)[i+1]); 28894 } 28895 28896 for (i = 0; i < argc; i++) { 28897 (void) type_name(ctfp, argt[i], buf, sizeof (buf)); 28898 (void) fprintf(__abi_outfile, "%s%s = ", sep, buf); 28899 rtype = ctf_type_resolve(ctfp, argt[i]); 28900 type = ctf_type_reference(ctfp, rtype); 28901 rtype = ctf_type_resolve(ctfp, type); 28902 kind = ctf_type_kind(ctfp, rtype); 28903 if (kind == 6 || kind == 7) 28904 (void) fprintf(__abi_outfile, "0x%p", (void *)argv[i]); 28905 else 28906 print_value(ctfp, argt[i], argv[i]); 28907 sep = ", "; 28908 } 28909 28910 if (finfo.ctc_flags & 0x1) 28911 (void) fprintf(__abi_outfile, "%s...", sep); 28912 else if (argc == 0) 28913 (void) fprintf(__abi_outfile, "void"); 28914 28915 if ((*sb_flags & 0x0002) != 0) 28916 (void) fprintf(__abi_outfile, ") ** ST\n"); 28917 else 28918 (void) fprintf(__abi_outfile, ")\n"); 28919 28920 if (verbose_list != 0 && 28921 check_intlist(verbose_list, sym_name) != 0) { 28922 for (i = 0; i < argc; i++) { 28923 (void) type_name(ctfp, argt[i], buf, sizeof (buf)); 28924 (void) fprintf(__abi_outfile, "\targ%d = (%s) ", i, buf); 28925 print_value(ctfp, argt[i], argv[i]); 28926 (void) fprintf(__abi_outfile, "\n"); 28927 } 28928 if ((*sb_flags & 0x0002) != 0) { 28929 if (kind == 6) 28930 (void) fprintf(__abi_outfile, 28931 "\treturn = (struct), apptrace " 28932 "will not trace the return\n"); 28933 else 28934 (void) fprintf(__abi_outfile, 28935 "\treturn = (union), apptrace " 28936 "will not trace the return\n"); 28937 } 28938 } 28939 28940 (void) fflush(__abi_outfile); 28941 abiunlock(&omask); 28942 return (symp->st_value); 28943 28944 fail: 28945 (void) fprintf(__abi_outfile, 28946 "-> %-8s -> %8s:%s(0x%lx, 0x%lx, 0x%lx) ** NR\n", 28947 refname, defname, sym_name, 28948 (ulong_t)(((ulong_t *)regset->lr_esp)[1]), 28949 (ulong_t)(((ulong_t *)regset->lr_esp)[2]), 28950 (ulong_t)(((ulong_t *)regset->lr_esp)[3])); 28951 28952 *sb_flags |= 0x0002; 28953 (void) fflush(__abi_outfile); 28954 abiunlock(&omask); 28955 return (symp->st_value); 28956 } 28957 28958 /* ARGSUSED */ 28959 28960 28961 28962 28963 28964 uintptr_t 28965 la_pltexit(Elf32_Sym *symp, uint_t symndx, uintptr_t *refcookie, 28966 uintptr_t *defcookie, uintptr_t retval) 28967 28968 { 28969 28970 const char *sym_name = (const char *)symp->st_name; 28971 28972 sigset_t omask; 28973 char buf[256]; 28974 GElf_Sym sym; 28975 prsyminfo_t si; 28976 ctf_file_t *ctfp; 28977 ctf_funcinfo_t finfo; 28978 char *defname = (char *)(*defcookie); 28979 char *refname = (char *)(*refcookie); 28980 28981 abilock(&omask); 28982 28983 if (pidout) 28984 (void) fprintf(__abi_outfile, "%7u:", (unsigned int)getpid()); 28985 28986 if (retval == 0) { 28987 if (verbose_list == 0) { 28988 (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()\n", 28989 refname, defname, sym_name); 28990 (void) fflush(__abi_outfile); 28991 } 28992 abiunlock(&omask); 28993 return (retval); 28994 } 28995 28996 if ((ctfp = Pname_to_ctf(proc_hdl, defname)) == 0) 28997 goto fail; 28998 28999 if (Pxlookup_by_name(proc_hdl, ((Lmid_t)-1UL), defname, 29000 sym_name, &sym, &si) != 0) 29001 goto fail; 29002 29003 if (ctf_func_info(ctfp, si.prs_id, &finfo) == (-1L)) 29004 goto fail; 29005 29006 if (verbose_list != 0) { 29007 if (check_intlist(verbose_list, sym_name) != 0) { 29008 (void) type_name(ctfp, finfo.ctc_return, buf, 29009 sizeof (buf)); 29010 (void) fprintf(__abi_outfile, "\treturn = (%s) ", buf); 29011 print_value(ctfp, finfo.ctc_return, retval); 29012 (void) fprintf(__abi_outfile, "\n"); 29013 (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", 29014 refname, defname, sym_name); 29015 (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); 29016 } 29017 } else { 29018 (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", 29019 refname, defname, sym_name); 29020 (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); 29021 } 29022 29023 (void) fflush(__abi_outfile); 29024 abiunlock(&omask); 29025 return (retval); 29026 29027 fail: 29028 if (verbose_list != 0) { 29029 if (check_intlist(verbose_list, sym_name) != 0) { 29030 (void) fprintf(__abi_outfile, 29031 "\treturn = 0x%p\n", (void *)retval); 29032 (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", 29033 refname, defname, sym_name); 29034 (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); 29035 } 29036 } else { 29037 (void) fprintf(__abi_outfile, "<- %-8s -> %8s:%s()", 29038 refname, defname, sym_name); 29039 (void) fprintf(__abi_outfile, " = 0x%p\n", (void *)retval); 29040 } 29041 29042 (void) fflush(__abi_outfile); 29043 abiunlock(&omask); 29044 return (retval); 29045 } 29046