1 # 1 "nblk.c" 2 # 1 "<built-in>" 3 # 1 "<command-line>" 4 # 1 "nblk.c" 5 /* 6 * CDDL HEADER START 7 * 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License (the "License"). 10 * You may not use this file except in compliance with the License. 11 * 12 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 * or http://www.opensolaris.org/os/licensing. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 * If applicable, add the following below this CDDL HEADER, with the 20 * fields enclosed by brackets "[]" replaced with your own identifying 21 * information: Portions Copyright [yyyy] [name of copyright owner] 22 * 23 * CDDL HEADER END 24 */ 25 26 /* 27 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 28 * Use is subject to license terms. 29 */ 30 31 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 32 /* All Rights Reserved */ 33 34 35 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 36 /* 37 * CDDL HEADER START 38 * 39 * The contents of this file are subject to the terms of the 40 * Common Development and Distribution License (the "License"). 41 * You may not use this file except in compliance with the License. 42 * 43 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 44 * or http://www.opensolaris.org/os/licensing. 45 * See the License for the specific language governing permissions 46 * and limitations under the License. 47 * 48 * When distributing Covered Code, include this CDDL HEADER in each 49 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 50 * If applicable, add the following below this CDDL HEADER, with the 51 * fields enclosed by brackets "[]" replaced with your own identifying 52 * information: Portions Copyright [yyyy] [name of copyright owner] 53 * 54 * CDDL HEADER END 55 */ 56 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 57 /* All Rights Reserved */ 58 59 60 /* 61 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 62 * Use is subject to license terms. 63 * 64 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 65 * Copyright 2016 Joyent, Inc. 66 */ 67 68 69 70 71 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 72 /* 73 * CDDL HEADER START 74 * 75 * The contents of this file are subject to the terms of the 76 * Common Development and Distribution License (the "License"). 77 * You may not use this file except in compliance with the License. 78 * 79 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 80 * or http://www.opensolaris.org/os/licensing. 81 * See the License for the specific language governing permissions 82 * and limitations under the License. 83 * 84 * When distributing Covered Code, include this CDDL HEADER in each 85 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 86 * If applicable, add the following below this CDDL HEADER, with the 87 * fields enclosed by brackets "[]" replaced with your own identifying 88 * information: Portions Copyright [yyyy] [name of copyright owner] 89 * 90 * CDDL HEADER END 91 */ 92 93 /* 94 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 95 * Copyright 2016 Joyent, Inc. 96 * 97 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 98 * Use is subject to license terms. 99 */ 100 101 102 103 104 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 1 105 /* 106 * CDDL HEADER START 107 * 108 * The contents of this file are subject to the terms of the 109 * Common Development and Distribution License, Version 1.0 only 110 * (the "License"). You may not use this file except in compliance 111 * with the License. 112 * 113 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 114 * or http://www.opensolaris.org/os/licensing. 115 * See the License for the specific language governing permissions 116 * and limitations under the License. 117 * 118 * When distributing Covered Code, include this CDDL HEADER in each 119 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 120 * If applicable, add the following below this CDDL HEADER, with the 121 * fields enclosed by brackets "[]" replaced with your own identifying 122 * information: Portions Copyright [yyyy] [name of copyright owner] 123 * 124 * CDDL HEADER END 125 */ 126 /* 127 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 128 * Use is subject to license terms. 129 */ 130 /* 131 * Copyright 2015 EveryCity Ltd. All rights reserved. 132 */ 133 134 135 136 137 /* 138 * This file contains definitions designed to enable different compilers 139 * to be used harmoniously on Solaris systems. 140 */ 141 142 143 144 145 146 /* 147 * Allow for version tests for compiler bugs and features. 148 */ 149 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 150 /* 151 * analogous to lint's PRINTFLIKEn 152 */ 153 154 155 156 157 158 /* 159 * Handle the kernel printf routines that can take '%b' too 160 */ 161 # 78 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 162 /* 163 * This one's pretty obvious -- the function never returns 164 */ 165 166 167 /* 168 * The function is 'extern inline' and expects GNU C89 behaviour, not C99 169 * behaviour. 170 * 171 * Should only be used on 'extern inline' definitions for GCC. 172 */ 173 174 175 176 177 178 179 /* 180 * The function has control flow such that it may return multiple times (in 181 * the manner of setjmp or vfork) 182 */ 183 184 185 186 187 188 189 /* 190 * This is an appropriate label for functions that do not 191 * modify their arguments, e.g. strlen() 192 */ 193 194 195 /* 196 * This is a stronger form of __pure__. Can be used for functions 197 * that do not modify their arguments and don't depend on global 198 * memory. 199 */ 200 201 202 203 204 /* 205 * This attribute, attached to a variable, means that the variable is meant to 206 * be possibly unused. GCC will not produce a warning for this variable. 207 */ 208 # 138 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/ccompile.h" 209 /* 210 * Shorthand versions for readability 211 */ 212 # 34 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 213 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 214 /* 215 * CDDL HEADER START 216 * 217 * The contents of this file are subject to the terms of the 218 * Common Development and Distribution License (the "License"). 219 * You may not use this file except in compliance with the License. 220 * 221 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 222 * or http://www.opensolaris.org/os/licensing. 223 * See the License for the specific language governing permissions 224 * and limitations under the License. 225 * 226 * 227 * When distributing Covered Code, include this CDDL HEADER in each 228 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 229 * If applicable, add the following below this CDDL HEADER, with the 230 * fields enclosed by brackets "[]" replaced with your own identifying 231 * information: Portions Copyright [yyyy] [name of copyright owner] 232 * 233 * CDDL HEADER END 234 */ 235 236 /* 237 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 238 * Use is subject to license terms. 239 * Copyright 2016 Joyent, Inc. 240 */ 241 242 243 244 245 /* 246 * This header file serves to group a set of well known defines and to 247 * set these for each instruction set architecture. These defines may 248 * be divided into two groups; characteristics of the processor and 249 * implementation choices for Solaris on a processor. 250 * 251 * Processor Characteristics: 252 * 253 * _LITTLE_ENDIAN / _BIG_ENDIAN: 254 * The natural byte order of the processor. A pointer to an int points 255 * to the least/most significant byte of that int. 256 * 257 * _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD: 258 * The processor specific direction of stack growth. A push onto the 259 * stack increases/decreases the stack pointer, so it stores data at 260 * successively higher/lower addresses. (Stackless machines ignored 261 * without regrets). 262 * 263 * _LONG_LONG_HTOL / _LONG_LONG_LTOH: 264 * A pointer to a long long points to the most/least significant long 265 * within that long long. 266 * 267 * _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH: 268 * The C compiler assigns bit fields from the high/low to the low/high end 269 * of an int (most to least significant vs. least to most significant). 270 * 271 * _IEEE_754: 272 * The processor (or supported implementations of the processor) 273 * supports the ieee-754 floating point standard. No other floating 274 * point standards are supported (or significant). Any other supported 275 * floating point formats are expected to be cased on the ISA processor 276 * symbol. 277 * 278 * _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED: 279 * The C Compiler implements objects of type `char' as `unsigned' or 280 * `signed' respectively. This is really an implementation choice of 281 * the compiler writer, but it is specified in the ABI and tends to 282 * be uniform across compilers for an instruction set architecture. 283 * Hence, it has the properties of a processor characteristic. 284 * 285 * _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT / 286 * _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT / 287 * _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT: 288 * The ABI defines alignment requirements of each of the primitive 289 * object types. Some, if not all, may be hardware requirements as 290 * well. The values are expressed in "byte-alignment" units. 291 * 292 * _MAX_ALIGNMENT: 293 * The most stringent alignment requirement as specified by the ABI. 294 * Equal to the maximum of all the above _XXX_ALIGNMENT values. 295 * 296 * _MAX_ALIGNMENT_TYPE: 297 * The name of the C type that has the value descried in _MAX_ALIGNMENT. 298 * 299 * _ALIGNMENT_REQUIRED: 300 * True or false (1 or 0) whether or not the hardware requires the ABI 301 * alignment. 302 * 303 * _LONG_LONG_ALIGNMENT_32 304 * The 32-bit ABI supported by a 64-bit kernel may have different 305 * alignment requirements for primitive object types. The value of this 306 * identifier is expressed in "byte-alignment" units. 307 * 308 * _HAVE_CPUID_INSN 309 * This indicates that the architecture supports the 'cpuid' 310 * instruction as defined by Intel. (Intel allows other vendors 311 * to extend the instruction for their own purposes.) 312 * 313 * 314 * Implementation Choices: 315 * 316 * _ILP32 / _LP64: 317 * This specifies the compiler data type implementation as specified in 318 * the relevant ABI. The choice between these is strongly influenced 319 * by the underlying hardware, but is not absolutely tied to it. 320 * Currently only two data type models are supported: 321 * 322 * _ILP32: 323 * Int/Long/Pointer are 32 bits. This is the historical UNIX 324 * and Solaris implementation. Due to its historical standing, 325 * this is the default case. 326 * 327 * _LP64: 328 * Long/Pointer are 64 bits, Int is 32 bits. This is the chosen 329 * implementation for 64-bit ABIs such as SPARC V9. 330 * 331 * _I32LPx: 332 * A compilation environment where 'int' is 32-bit, and 333 * longs and pointers are simply the same size. 334 * 335 * In all cases, Char is 8 bits and Short is 16 bits. 336 * 337 * _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16: 338 * This specifies the form of the disk VTOC (or label): 339 * 340 * _SUNOS_VTOC_8: 341 * This is a VTOC form which is upwardly compatible with the 342 * SunOS 4.x disk label and allows 8 partitions per disk. 343 * 344 * _SUNOS_VTOC_16: 345 * In this format the incore vtoc image matches the ondisk 346 * version. It allows 16 slices per disk, and is not 347 * compatible with the SunOS 4.x disk label. 348 * 349 * Note that these are not the only two VTOC forms possible and 350 * additional forms may be added. One possible form would be the 351 * SVr4 VTOC form. The symbol for that is reserved now, although 352 * it is not implemented. 353 * 354 * _SVR4_VTOC_16: 355 * This VTOC form is compatible with the System V Release 4 356 * VTOC (as implemented on the SVr4 Intel and 3b ports) with 357 * 16 partitions per disk. 358 * 359 * 360 * _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR 361 * This describes the type of addresses used by system DMA: 362 * 363 * _DMA_USES_PHYSADDR: 364 * This type of DMA, used in the x86 implementation, 365 * requires physical addresses for DMA buffers. The 24-bit 366 * addresses used by some legacy boards is the source of the 367 * "low-memory" (<16MB) requirement for some devices using DMA. 368 * 369 * _DMA_USES_VIRTADDR: 370 * This method of DMA allows the use of virtual addresses for 371 * DMA transfers. 372 * 373 * _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT 374 * This indicates the presence/absence of an fdisk table. 375 * 376 * _FIRMWARE_NEEDS_FDISK 377 * The fdisk table is required by system firmware. If present, 378 * it allows a disk to be subdivided into multiple fdisk 379 * partitions, each of which is equivalent to a separate, 380 * virtual disk. This enables the co-existence of multiple 381 * operating systems on a shared hard disk. 382 * 383 * _NO_FDISK_PRESENT 384 * If the fdisk table is absent, it is assumed that the entire 385 * media is allocated for a single operating system. 386 * 387 * _HAVE_TEM_FIRMWARE 388 * Defined if this architecture has the (fallback) option of 389 * using prom_* calls for doing I/O if a suitable kernel driver 390 * is not available to do it. 391 * 392 * _DONT_USE_1275_GENERIC_NAMES 393 * Controls whether or not device tree node names should 394 * comply with the IEEE 1275 "Generic Names" Recommended 395 * Practice. With _DONT_USE_GENERIC_NAMES, device-specific 396 * names identifying the particular device will be used. 397 * 398 * __i386_COMPAT 399 * This indicates whether the i386 ABI is supported as a *non-native* 400 * mode for the platform. When this symbol is defined: 401 * - 32-bit xstat-style system calls are enabled 402 * - 32-bit xmknod-style system calls are enabled 403 * - 32-bit system calls use i386 sizes -and- alignments 404 * 405 * Note that this is NOT defined for the i386 native environment! 406 * 407 * __x86 408 * This is ONLY a synonym for defined(__i386) || defined(__amd64) 409 * which is useful only insofar as these two architectures share 410 * common attributes. Analogous to __sparc. 411 * 412 * _PSM_MODULES 413 * This indicates whether or not the implementation uses PSM 414 * modules for processor support, reading /etc/mach from inside 415 * the kernel to extract a list. 416 * 417 * _RTC_CONFIG 418 * This indicates whether or not the implementation uses /etc/rtc_config 419 * to configure the real-time clock in the kernel. 420 * 421 * _UNIX_KRTLD 422 * This indicates that the implementation uses a dynamically 423 * linked unix + krtld to form the core kernel image at boot 424 * time, or (in the absence of this symbol) a prelinked kernel image. 425 * 426 * _OBP 427 * This indicates the firmware interface is OBP. 428 * 429 * _SOFT_HOSTID 430 * This indicates that the implementation obtains the hostid 431 * from the file /etc/hostid, rather than from hardware. 432 */ 433 434 435 436 437 438 /* 439 * The following set of definitions characterize Solaris on AMD's 440 * 64-bit systems. 441 */ 442 # 305 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 443 /* 444 * Define the appropriate "processor characteristics" 445 */ 446 # 333 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 447 /* 448 * Define the appropriate "implementation choices". 449 */ 450 # 351 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 451 /* 452 * The following set of definitions characterize the Solaris on SPARC systems. 453 * 454 * The symbol __sparc indicates any of the SPARC family of processor 455 * architectures. This includes SPARC V7, SPARC V8 and SPARC V9. 456 * 457 * The symbol __sparcv8 indicates the 32-bit SPARC V8 architecture as defined 458 * by Version 8 of the SPARC Architecture Manual. (SPARC V7 is close enough 459 * to SPARC V8 for the former to be subsumed into the latter definition.) 460 * 461 * The symbol __sparcv9 indicates the 64-bit SPARC V9 architecture as defined 462 * by Version 9 of the SPARC Architecture Manual. 463 * 464 * The symbols __sparcv8 and __sparcv9 are mutually exclusive, and are only 465 * relevant when the symbol __sparc is defined. 466 */ 467 /* 468 * XXX Due to the existence of 5110166, "defined(__sparcv9)" needs to be added 469 * to support backwards builds. This workaround should be removed in s10_71. 470 */ 471 # 35 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 2 472 473 474 475 476 477 /* 478 * Values of _POSIX_C_SOURCE 479 * 480 * undefined not a POSIX compilation 481 * 1 POSIX.1-1990 compilation 482 * 2 POSIX.2-1992 compilation 483 * 199309L POSIX.1b-1993 compilation (Real Time) 484 * 199506L POSIX.1c-1995 compilation (POSIX Threads) 485 * 200112L POSIX.1-2001 compilation (Austin Group Revision) 486 * 200809L POSIX.1-2008 compilation 487 */ 488 489 490 491 492 /* 493 * The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS, 494 * and _STDC_C99 are Sun implementation specific macros created in order to 495 * compress common standards specified feature test macros for easier reading. 496 * These macros should not be used by the application developer as 497 * unexpected results may occur. Instead, the user should reference 498 * standards(5) for correct usage of the standards feature test macros. 499 * 500 * __XOPEN_OR_POSIX Used in cases where a symbol is defined by both 501 * X/Open or POSIX or in the negative, when neither 502 * X/Open or POSIX defines a symbol. 503 * 504 * _STRICT_STDC __STDC__ is specified by the C Standards and defined 505 * by the compiler. For Sun compilers the value of 506 * __STDC__ is either 1, 0, or not defined based on the 507 * compilation mode (see cc(1)). When the value of 508 * __STDC__ is 1 and in the absence of any other feature 509 * test macros, the namespace available to the application 510 * is limited to only those symbols defined by the C 511 * Standard. _STRICT_STDC provides a more readable means 512 * of identifying symbols defined by the standard, or in 513 * the negative, symbols that are extensions to the C 514 * Standard. See additional comments for GNU C differences. 515 * 516 * _STDC_C99 __STDC_VERSION__ is specified by the C standards and 517 * defined by the compiler and indicates the version of 518 * the C standard. A value of 199901L indicates a 519 * compiler that complies with ISO/IEC 9899:1999, other- 520 * wise known as the C99 standard. 521 * 522 * _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__ 523 * is 201112L indicating a compiler that compiles with 524 * ISO/IEXC 9899:2011, otherwise known as the C11 standard. 525 * 526 * _STRICT_SYMBOLS Used in cases where symbol visibility is restricted 527 * by the standards, and the user has not explicitly 528 * relaxed the strictness via __EXTENSIONS__. 529 */ 530 531 532 533 534 535 /* 536 * ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC 537 * 99899:2011 specify the following predefined macro name: 538 * 539 * __STDC__ The integer constant 1, intended to indicate a conforming 540 * implementation. 541 * 542 * Furthermore, a strictly conforming program shall use only those features 543 * of the language and library specified in these standards. A conforming 544 * implementation shall accept any strictly conforming program. 545 * 546 * Based on these requirements, Sun's C compiler defines __STDC__ to 1 for 547 * strictly conforming environments and __STDC__ to 0 for environments that 548 * use ANSI C semantics but allow extensions to the C standard. For non-ANSI 549 * C semantics, Sun's C compiler does not define __STDC__. 550 * 551 * The GNU C project interpretation is that __STDC__ should always be defined 552 * to 1 for compilation modes that accept ANSI C syntax regardless of whether 553 * or not extensions to the C standard are used. Violations of conforming 554 * behavior are conditionally flagged as warnings via the use of the 555 * -pedantic option. In addition to defining __STDC__ to 1, the GNU C 556 * compiler also defines __STRICT_ANSI__ as a means of specifying strictly 557 * conforming environments using the -ansi or -std=<standard> options. 558 * 559 * In the absence of any other compiler options, Sun and GNU set the value 560 * of __STDC__ as follows when using the following options: 561 * 562 * Value of __STDC__ __STRICT_ANSI__ 563 * 564 * cc -Xa (default) 0 undefined 565 * cc -Xt (transitional) 0 undefined 566 * cc -Xc (strictly conforming) 1 undefined 567 * cc -Xs (K&R C) undefined undefined 568 * 569 * gcc (default) 1 undefined 570 * gcc -ansi, -std={c89, c99,...) 1 defined 571 * gcc -traditional (K&R) undefined undefined 572 * 573 * The default compilation modes for Sun C compilers versus GNU C compilers 574 * results in a differing value for __STDC__ which results in a more 575 * restricted namespace when using Sun compilers. To allow both GNU and Sun 576 * interpretations to peacefully co-exist, we use the following Sun 577 * implementation _STRICT_STDC_ macro: 578 */ 579 # 150 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 580 /* 581 * Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011 582 */ 583 # 162 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 584 /* 585 * Use strict symbol visibility. 586 */ 587 588 589 590 591 592 /* 593 * Large file interfaces: 594 * 595 * _LARGEFILE_SOURCE 596 * 1 large file-related additions to POSIX 597 * interfaces requested (fseeko, etc.) 598 * _LARGEFILE64_SOURCE 599 * 1 transitional large-file-related interfaces 600 * requested (seek64, stat64, etc.) 601 * 602 * The corresponding announcement macros are respectively: 603 * _LFS_LARGEFILE 604 * _LFS64_LARGEFILE 605 * (These are set in <unistd.h>.) 606 * 607 * Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as 608 * well. 609 * 610 * The large file interfaces are made visible regardless of the initial values 611 * of the feature test macros under certain circumstances: 612 * - If no explicit standards-conforming environment is requested (neither 613 * of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of 614 * __STDC__ does not imply standards conformance). 615 * - Extended system interfaces are explicitly requested (__EXTENSIONS__ 616 * is defined). 617 * - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is 618 * defined). (Note that this dependency is an artifact of the current 619 * kernel implementation and may change in future releases.) 620 */ 621 # 210 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 622 /* 623 * Large file compilation environment control: 624 * 625 * The setting of _FILE_OFFSET_BITS controls the size of various file-related 626 * types and governs the mapping between file-related source function symbol 627 * names and the corresponding binary entry points. 628 * 629 * In the 32-bit environment, the default value is 32; if not set, set it to 630 * the default here, to simplify tests in other headers. 631 * 632 * In the 64-bit compilation environment, the only value allowed is 64. 633 */ 634 # 238 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 635 /* 636 * Use of _XOPEN_SOURCE 637 * 638 * The following X/Open specifications are supported: 639 * 640 * X/Open Portability Guide, Issue 3 (XPG3) 641 * X/Open CAE Specification, Issue 4 (XPG4) 642 * X/Open CAE Specification, Issue 4, Version 2 (XPG4v2) 643 * X/Open CAE Specification, Issue 5 (XPG5) 644 * Open Group Technical Standard, Issue 6 (XPG6), also referred to as 645 * IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002. 646 * Open Group Technical Standard, Issue 7 (XPG7), also referred to as 647 * IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009. 648 * 649 * XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1). 650 * XPG5 is also referred to as UNIX 98 or the Single Unix Specification, 651 * Version 2 (SUSv2) 652 * XPG6 is the result of a merge of the X/Open and POSIX specifications 653 * and as such is also referred to as IEEE Std. 1003.1-2001 in 654 * addition to UNIX 03 and SUSv3. 655 * XPG7 is also referred to as UNIX 08 and SUSv4. 656 * 657 * When writing a conforming X/Open application, as per the specification 658 * requirements, the appropriate feature test macros must be defined at 659 * compile time. These are as follows. For more info, see standards(5). 660 * 661 * Feature Test Macro Specification 662 * ------------------------------------------------ ------------- 663 * _XOPEN_SOURCE XPG3 664 * _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 665 * _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 666 * _XOPEN_SOURCE = 500 XPG5 667 * _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6 668 * _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7 669 * 670 * In order to simplify the guards within the headers, the following 671 * implementation private test macros have been created. Applications 672 * must NOT use these private test macros as unexpected results will 673 * occur. 674 * 675 * Note that in general, the use of these private macros is cumulative. 676 * For example, the use of _XPG3 with no other restrictions on the X/Open 677 * namespace will make the symbols visible for XPG3 through XPG6 678 * compilation environments. The use of _XPG4_2 with no other X/Open 679 * namespace restrictions indicates that the symbols were introduced in 680 * XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation 681 * environments, but not for XPG3 or XPG4 compilation environments. 682 * 683 * _XPG3 X/Open Portability Guide, Issue 3 (XPG3) 684 * _XPG4 X/Open CAE Specification, Issue 4 (XPG4) 685 * _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS) 686 * _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2) 687 * _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3) 688 * _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4) 689 */ 690 691 /* X/Open Portability Guide, Issue 3 */ 692 # 341 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 693 /* 694 * _XOPEN_VERSION is defined by the X/Open specifications and is not 695 * normally defined by the application, except in the case of an XPG4 696 * application. On the implementation side, _XOPEN_VERSION defined with 697 * the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined 698 * with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application. 699 * _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98) 700 * application and with a value of 600 indicates an XPG6 (UNIX 03) 701 * application and with a value of 700 indicates an XPG7 (UNIX 08). 702 * The appropriate version is determined by the use of the 703 * feature test macros described earlier. The value of _XOPEN_VERSION 704 * defaults to 3 otherwise indicating support for XPG3 applications. 705 */ 706 # 368 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 707 /* 708 * ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly 709 * conforming environments. ISO 9899:1999 says it does. 710 * 711 * The presence of _LONGLONG_TYPE says "long long exists" which is therefore 712 * defined in all but strictly conforming environments that disallow it. 713 */ 714 # 388 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 715 /* 716 * The following macro defines a value for the ISO C99 restrict 717 * keyword so that _RESTRICT_KYWD resolves to "restrict" if 718 * an ISO C99 compiler is used, "__restrict" for c++ and "" (null string) 719 * if any other compiler is used. This allows for the use of single 720 * prototype declarations regardless of compiler version. 721 */ 722 # 410 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 723 /* 724 * The following macro defines a value for the ISO C11 _Noreturn 725 * keyword so that _NORETURN_KYWD resolves to "_Noreturn" if 726 * an ISO C11 compiler is used and "" (null string) if any other 727 * compiler is used. This allows for the use of single prototype 728 * declarations regardless of compiler version. 729 */ 730 731 732 733 734 735 736 737 /* 738 * The following macro indicates header support for the ANSI C++ 739 * standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882. 740 */ 741 742 743 /* 744 * The following macro indicates header support for the C99 standard, 745 * ISO/IEC 9899:1999, Programming Languages - C. 746 */ 747 748 749 /* 750 * The following macro indicates header support for the C99 standard, 751 * ISO/IEC 9899:2011, Programming Languages - C. 752 */ 753 754 755 /* 756 * The following macro indicates header support for DTrace. The value is an 757 * integer that corresponds to the major version number for DTrace. 758 */ 759 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 760 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 761 /* 762 * CDDL HEADER START 763 * 764 * The contents of this file are subject to the terms of the 765 * Common Development and Distribution License (the "License"). 766 * You may not use this file except in compliance with the License. 767 * 768 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 769 * or http://www.opensolaris.org/os/licensing. 770 * See the License for the specific language governing permissions 771 * and limitations under the License. 772 * 773 * 774 * When distributing Covered Code, include this CDDL HEADER in each 775 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 776 * If applicable, add the following below this CDDL HEADER, with the 777 * fields enclosed by brackets "[]" replaced with your own identifying 778 * information: Portions Copyright [yyyy] [name of copyright owner] 779 * 780 * CDDL HEADER END 781 */ 782 783 /* 784 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 785 * Use is subject to license terms. 786 * Copyright 2016 Joyent, Inc. 787 */ 788 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 789 790 /* 791 * Machine dependent definitions moved to <sys/machtypes.h>. 792 */ 793 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 1 794 /* 795 * CDDL HEADER START 796 * 797 * The contents of this file are subject to the terms of the 798 * Common Development and Distribution License, Version 1.0 only 799 * (the "License"). You may not use this file except in compliance 800 * with the License. 801 * 802 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 803 * or http://www.opensolaris.org/os/licensing. 804 * See the License for the specific language governing permissions 805 * and limitations under the License. 806 * 807 * When distributing Covered Code, include this CDDL HEADER in each 808 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 809 * If applicable, add the following below this CDDL HEADER, with the 810 * fields enclosed by brackets "[]" replaced with your own identifying 811 * information: Portions Copyright [yyyy] [name of copyright owner] 812 * 813 * CDDL HEADER END 814 */ 815 /* 816 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 817 * Use is subject to license terms. 818 */ 819 820 821 822 823 #pragma ident "%Z%%M% %I% %E% SMI" 824 825 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 826 /* 827 * CDDL HEADER START 828 * 829 * The contents of this file are subject to the terms of the 830 * Common Development and Distribution License (the "License"). 831 * You may not use this file except in compliance with the License. 832 * 833 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 834 * or http://www.opensolaris.org/os/licensing. 835 * See the License for the specific language governing permissions 836 * and limitations under the License. 837 * 838 * When distributing Covered Code, include this CDDL HEADER in each 839 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 840 * If applicable, add the following below this CDDL HEADER, with the 841 * fields enclosed by brackets "[]" replaced with your own identifying 842 * information: Portions Copyright [yyyy] [name of copyright owner] 843 * 844 * CDDL HEADER END 845 */ 846 847 /* 848 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 849 * Copyright 2016 Joyent, Inc. 850 * 851 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 852 * Use is subject to license terms. 853 */ 854 # 33 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 855 856 857 858 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 1 859 /* 860 * CDDL HEADER START 861 * 862 * The contents of this file are subject to the terms of the 863 * Common Development and Distribution License (the "License"). 864 * You may not use this file except in compliance with the License. 865 * 866 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 867 * or http://www.opensolaris.org/os/licensing. 868 * See the License for the specific language governing permissions 869 * and limitations under the License. 870 * 871 * When distributing Covered Code, include this CDDL HEADER in each 872 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 873 * If applicable, add the following below this CDDL HEADER, with the 874 * fields enclosed by brackets "[]" replaced with your own identifying 875 * information: Portions Copyright [yyyy] [name of copyright owner] 876 * 877 * CDDL HEADER END 878 */ 879 /* 880 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 881 * Use is subject to license terms. 882 */ 883 884 885 886 887 #pragma ident "%Z%%M% %I% %E% SMI" 888 889 890 891 892 893 /* 894 * Machine dependent types: 895 * 896 * intel ia32 Version 897 */ 898 # 61 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/ia32/sys/machtypes.h" 899 typedef struct _label_t { long val[6]; } label_t; 900 901 902 903 typedef unsigned char lock_t; /* lock work for busy wait */ 904 # 37 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/machtypes.h" 2 905 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 906 907 /* 908 * Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C 909 * committee's working draft for the revision of the current ISO C standard, 910 * ISO/IEC 9899:1990 Programming language - C. These are not currently 911 * required by any standard but constitute a useful, general purpose set 912 * of type definitions which is namespace clean with respect to all standards. 913 */ 914 915 916 917 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 1 918 /* 919 * CDDL HEADER START 920 * 921 * The contents of this file are subject to the terms of the 922 * Common Development and Distribution License, Version 1.0 only 923 * (the "License"). You may not use this file except in compliance 924 * with the License. 925 * 926 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 927 * or http://www.opensolaris.org/os/licensing. 928 * See the License for the specific language governing permissions 929 * and limitations under the License. 930 * 931 * When distributing Covered Code, include this CDDL HEADER in each 932 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 933 * If applicable, add the following below this CDDL HEADER, with the 934 * fields enclosed by brackets "[]" replaced with your own identifying 935 * information: Portions Copyright [yyyy] [name of copyright owner] 936 * 937 * CDDL HEADER END 938 */ 939 /* 940 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 941 * 942 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 943 * Use is subject to license terms. 944 */ 945 946 947 948 949 /* 950 * This file, <sys/int_types.h>, is part of the Sun Microsystems implementation 951 * of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999 952 * Programming language - C. 953 * 954 * Programs/Modules should not directly include this file. Access to the 955 * types defined in this file should be through the inclusion of one of the 956 * following files: 957 * 958 * <sys/types.h> Provides only the "_t" types defined in this 959 * file which is a subset of the contents of 960 * <inttypes.h>. (This can be appropriate for 961 * all programs/modules except those claiming 962 * ANSI-C conformance.) 963 * 964 * <sys/inttypes.h> Provides the Kernel and Driver appropriate 965 * components of <inttypes.h>. 966 * 967 * <inttypes.h> For use by applications. 968 * 969 * See these files for more details. 970 */ 971 972 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 973 /* 974 * CDDL HEADER START 975 * 976 * The contents of this file are subject to the terms of the 977 * Common Development and Distribution License (the "License"). 978 * You may not use this file except in compliance with the License. 979 * 980 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 981 * or http://www.opensolaris.org/os/licensing. 982 * See the License for the specific language governing permissions 983 * and limitations under the License. 984 * 985 * When distributing Covered Code, include this CDDL HEADER in each 986 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 987 * If applicable, add the following below this CDDL HEADER, with the 988 * fields enclosed by brackets "[]" replaced with your own identifying 989 * information: Portions Copyright [yyyy] [name of copyright owner] 990 * 991 * CDDL HEADER END 992 */ 993 994 /* 995 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 996 * Copyright 2016 Joyent, Inc. 997 * 998 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 999 * Use is subject to license terms. 1000 */ 1001 # 56 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/int_types.h" 2 1002 1003 1004 1005 1006 1007 /* 1008 * Basic / Extended integer types 1009 * 1010 * The following defines the basic fixed-size integer types. 1011 * 1012 * Implementations are free to typedef them to Standard C integer types or 1013 * extensions that they support. If an implementation does not support one 1014 * of the particular integer data types below, then it should not define the 1015 * typedefs and macros corresponding to that data type. Note that int8_t 1016 * is not defined in -Xs mode on ISAs for which the ABI specifies "char" 1017 * as an unsigned entity because there is no way to define an eight bit 1018 * signed integral. 1019 */ 1020 1021 typedef char int8_t; 1022 1023 1024 1025 typedef short int16_t; 1026 typedef int int32_t; 1027 1028 1029 1030 1031 1032 1033 typedef long long int64_t; 1034 1035 1036 1037 typedef unsigned char uint8_t; 1038 typedef unsigned short uint16_t; 1039 typedef unsigned int uint32_t; 1040 1041 1042 1043 1044 typedef unsigned long long uint64_t; 1045 1046 1047 1048 /* 1049 * intmax_t and uintmax_t are to be the longest (in number of bits) signed 1050 * and unsigned integer types supported by the implementation. 1051 */ 1052 1053 typedef int64_t intmax_t; 1054 typedef uint64_t uintmax_t; 1055 1056 1057 1058 1059 1060 /* 1061 * intptr_t and uintptr_t are signed and unsigned integer types large enough 1062 * to hold any data pointer; that is, data pointers can be assigned into or 1063 * from these integer types without losing precision. 1064 */ 1065 1066 1067 1068 1069 typedef int intptr_t; 1070 typedef unsigned int uintptr_t; 1071 1072 1073 /* 1074 * The following define the fastest integer types that can hold the 1075 * specified number of bits. 1076 */ 1077 1078 typedef char int_fast8_t; 1079 1080 1081 1082 typedef int int_fast16_t; 1083 typedef int int_fast32_t; 1084 1085 1086 1087 1088 typedef long long int_fast64_t; 1089 1090 1091 1092 typedef unsigned char uint_fast8_t; 1093 typedef unsigned int uint_fast16_t; 1094 typedef unsigned int uint_fast32_t; 1095 1096 1097 1098 1099 typedef unsigned long long uint_fast64_t; 1100 1101 1102 1103 /* 1104 * The following define the smallest integer types that can hold the 1105 * specified number of bits. 1106 */ 1107 1108 typedef char int_least8_t; 1109 1110 1111 1112 typedef short int_least16_t; 1113 typedef int int_least32_t; 1114 1115 1116 1117 1118 typedef long long int_least64_t; 1119 1120 1121 1122 /* 1123 * If these are changed, please update char16_t and char32_t in head/uchar.h. 1124 */ 1125 typedef unsigned char uint_least8_t; 1126 typedef unsigned short uint_least16_t; 1127 typedef unsigned int uint_least32_t; 1128 1129 1130 1131 1132 typedef unsigned long long uint_least64_t; 1133 # 55 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 1134 # 65 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1135 /* 1136 * Strictly conforming ANSI C environments prior to the 1999 1137 * revision of the C Standard (ISO/IEC 9899:1999) do not have 1138 * the long long data type. 1139 */ 1140 1141 typedef long long longlong_t; 1142 typedef unsigned long long u_longlong_t; 1143 # 85 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1144 /* 1145 * These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had 1146 * to use them instead of int32_t and uint32_t because DEC had 1147 * shipped 64-bit wide. 1148 */ 1149 1150 1151 1152 1153 typedef long t_scalar_t; /* historical versions */ 1154 typedef unsigned long t_uscalar_t; 1155 1156 1157 /* 1158 * POSIX Extensions 1159 */ 1160 typedef unsigned char uchar_t; 1161 typedef unsigned short ushort_t; 1162 typedef unsigned int uint_t; 1163 typedef unsigned long ulong_t; 1164 1165 typedef char *caddr_t; /* ?<core address> type */ 1166 typedef long daddr_t; /* <disk address> type */ 1167 typedef short cnt_t; /* ?<count> type */ 1168 1169 1170 1171 1172 1173 1174 typedef int ptrdiff_t; /* (historical version) */ 1175 1176 1177 1178 /* 1179 * VM-related types 1180 */ 1181 typedef ulong_t pfn_t; /* page frame number */ 1182 typedef ulong_t pgcnt_t; /* number of pages */ 1183 typedef long spgcnt_t; /* signed number of pages */ 1184 1185 typedef uchar_t use_t; /* use count for swap. */ 1186 typedef short sysid_t; 1187 typedef short index_t; 1188 typedef void *timeout_id_t; /* opaque handle from timeout(9F) */ 1189 typedef void *bufcall_id_t; /* opaque handle from bufcall(9F) */ 1190 1191 /* 1192 * The size of off_t and related types depends on the setting of 1193 * _FILE_OFFSET_BITS. (Note that other system headers define other types 1194 * related to those defined here.) 1195 * 1196 * If _LARGEFILE64_SOURCE is defined, variants of these types that are 1197 * explicitly 64 bits wide become available. 1198 */ 1199 1200 1201 1202 1203 1204 1205 typedef longlong_t off_t; /* offsets within files */ 1206 1207 1208 1209 1210 1211 1212 typedef longlong_t off64_t; /* offsets within files */ 1213 # 165 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1214 typedef u_longlong_t ino_t; /* expanded inode type */ 1215 typedef longlong_t blkcnt_t; /* count of file blocks */ 1216 typedef u_longlong_t fsblkcnt_t; /* count of file system blocks */ 1217 typedef u_longlong_t fsfilcnt_t; /* count of files */ 1218 # 178 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1219 typedef u_longlong_t ino64_t; /* expanded inode type */ 1220 typedef longlong_t blkcnt64_t; /* count of file blocks */ 1221 typedef u_longlong_t fsblkcnt64_t; /* count of file system blocks */ 1222 typedef u_longlong_t fsfilcnt64_t; /* count of files */ 1223 1224 1225 1226 1227 1228 1229 typedef long blksize_t; /* used for block sizes */ 1230 1231 1232 1233 1234 1235 typedef enum { B_FALSE, B_TRUE } boolean_t; 1236 # 205 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1237 /* 1238 * The {u,}pad64_t types can be used in structures such that those structures 1239 * may be accessed by code produced by compilation environments which don't 1240 * support a 64 bit integral datatype. The intention is not to allow 1241 * use of these fields in such environments, but to maintain the alignment 1242 * and offsets of the structure. 1243 * 1244 * Similar comments for {u,}pad128_t. 1245 * 1246 * Note that these types do NOT generate any stronger alignment constraints 1247 * than those available in the underlying ABI. See <sys/isa_defs.h> 1248 */ 1249 1250 typedef int64_t pad64_t; 1251 typedef uint64_t upad64_t; 1252 # 232 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1253 typedef union { 1254 long double _q; 1255 int32_t _l[4]; 1256 } pad128_t; 1257 1258 typedef union { 1259 long double _q; 1260 uint32_t _l[4]; 1261 } upad128_t; 1262 1263 typedef longlong_t offset_t; 1264 typedef u_longlong_t u_offset_t; 1265 typedef u_longlong_t len_t; 1266 typedef u_longlong_t diskaddr_t; 1267 1268 1269 1270 1271 /* 1272 * Definitions remaining from previous partial support for 64-bit file 1273 * offsets. This partial support for devices greater than 2gb requires 1274 * compiler support for long long. 1275 */ 1276 1277 typedef union { 1278 offset_t _f; /* Full 64 bit offset value */ 1279 struct { 1280 int32_t _l; /* lower 32 bits of offset value */ 1281 int32_t _u; /* upper 32 bits of offset value */ 1282 } _p; 1283 } lloff_t; 1284 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1285 typedef union { 1286 longlong_t _f; /* Full 64 bit disk address value */ 1287 struct { 1288 int32_t _l; /* lower 32 bits of disk address value */ 1289 int32_t _u; /* upper 32 bits of disk address value */ 1290 } _p; 1291 } lldaddr_t; 1292 # 295 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1293 typedef uint_t k_fltset_t; /* kernel fault set type */ 1294 1295 /* 1296 * The following type is for various kinds of identifiers. The 1297 * actual type must be the same for all since some system calls 1298 * (such as sigsend) take arguments that may be any of these 1299 * types. The enumeration type idtype_t defined in sys/procset.h 1300 * is used to indicate what type of id is being specified -- 1301 * a process id, process group id, session id, scheduling class id, 1302 * user id, group id, project id, task id or zone id. 1303 */ 1304 1305 1306 1307 typedef long id_t; /* (historical version) */ 1308 1309 1310 typedef id_t lgrp_id_t; /* lgroup ID */ 1311 1312 /* 1313 * Type useconds_t is an unsigned integral type capable of storing 1314 * values at least in the range of zero to 1,000,000. 1315 */ 1316 typedef uint_t useconds_t; /* Time, in microseconds */ 1317 1318 1319 1320 typedef long suseconds_t; /* signed # of microseconds */ 1321 1322 1323 /* 1324 * Typedefs for dev_t components. 1325 */ 1326 1327 1328 1329 1330 typedef ulong_t major_t; /* (historical version) */ 1331 typedef ulong_t minor_t; /* (historical version) */ 1332 1333 1334 /* 1335 * The data type of a thread priority. 1336 */ 1337 typedef short pri_t; 1338 1339 /* 1340 * The data type for a CPU flags field. (Can be extended to larger unsigned 1341 * types, if needed, limited by ability to update atomically.) 1342 */ 1343 typedef ushort_t cpu_flag_t; 1344 1345 /* 1346 * For compatibility reasons the following typedefs (prefixed o_) 1347 * can't grow regardless of the EFT definition. Although, 1348 * applications should not explicitly use these typedefs 1349 * they may be included via a system header definition. 1350 * WARNING: These typedefs may be removed in a future 1351 * release. 1352 * ex. the definitions in s5inode.h (now obsoleted) 1353 * remained small to preserve compatibility 1354 * in the S5 file system type. 1355 */ 1356 typedef ushort_t o_mode_t; /* old file attribute type */ 1357 typedef short o_dev_t; /* old device type */ 1358 typedef ushort_t o_uid_t; /* old UID type */ 1359 typedef o_uid_t o_gid_t; /* old GID type */ 1360 typedef short o_nlink_t; /* old file link type */ 1361 typedef short o_pid_t; /* old process id type */ 1362 typedef ushort_t o_ino_t; /* old inode type */ 1363 1364 1365 /* 1366 * POSIX and XOPEN Declarations 1367 */ 1368 typedef int key_t; /* IPC key type */ 1369 1370 1371 1372 typedef ulong_t mode_t; /* (historical version) */ 1373 1374 1375 1376 1377 typedef unsigned int uid_t; /* UID type */ 1378 1379 1380 typedef uid_t gid_t; /* GID type */ 1381 1382 typedef uint32_t datalink_id_t; 1383 typedef uint32_t vrid_t; 1384 1385 typedef id_t taskid_t; 1386 typedef id_t projid_t; 1387 typedef id_t poolid_t; 1388 typedef id_t zoneid_t; 1389 typedef id_t ctid_t; 1390 1391 /* 1392 * POSIX definitions are same as defined in thread.h and synch.h. 1393 * Any changes made to here should be reflected in corresponding 1394 * files as described in comments. 1395 */ 1396 typedef uint_t pthread_t; /* = thread_t in thread.h */ 1397 typedef uint_t pthread_key_t; /* = thread_key_t in thread.h */ 1398 1399 /* "Magic numbers" tagging synchronization object types */ 1400 1401 1402 1403 1404 1405 typedef struct _pthread_mutex { /* = mutex_t in synch.h */ 1406 struct { 1407 uint16_t __pthread_mutex_flag1; 1408 uint8_t __pthread_mutex_flag2; 1409 uint8_t __pthread_mutex_ceiling; 1410 uint16_t __pthread_mutex_type; 1411 uint16_t __pthread_mutex_magic; 1412 } __pthread_mutex_flags; 1413 union { 1414 struct { 1415 uint8_t __pthread_mutex_pad[8]; 1416 } __pthread_mutex_lock64; 1417 struct { 1418 uint32_t __pthread_ownerpid; 1419 uint32_t __pthread_lockword; 1420 } __pthread_mutex_lock32; 1421 upad64_t __pthread_mutex_owner64; 1422 } __pthread_mutex_lock; 1423 upad64_t __pthread_mutex_data; 1424 } pthread_mutex_t; 1425 1426 typedef struct _pthread_cond { /* = cond_t in synch.h */ 1427 struct { 1428 uint8_t __pthread_cond_flag[4]; 1429 uint16_t __pthread_cond_type; 1430 uint16_t __pthread_cond_magic; 1431 } __pthread_cond_flags; 1432 upad64_t __pthread_cond_data; 1433 } pthread_cond_t; 1434 1435 /* 1436 * UNIX 98 Extension 1437 */ 1438 typedef struct _pthread_rwlock { /* = rwlock_t in synch.h */ 1439 int32_t __pthread_rwlock_readers; 1440 uint16_t __pthread_rwlock_type; 1441 uint16_t __pthread_rwlock_magic; 1442 pthread_mutex_t __pthread_rwlock_mutex; 1443 pthread_cond_t __pthread_rwlock_readercv; 1444 pthread_cond_t __pthread_rwlock_writercv; 1445 } pthread_rwlock_t; 1446 1447 /* 1448 * SUSV3 1449 */ 1450 typedef struct { 1451 uint32_t __pthread_barrier_count; 1452 uint32_t __pthread_barrier_current; 1453 upad64_t __pthread_barrier_cycle; 1454 upad64_t __pthread_barrier_reserved; 1455 pthread_mutex_t __pthread_barrier_lock; 1456 pthread_cond_t __pthread_barrier_cond; 1457 } pthread_barrier_t; 1458 1459 typedef pthread_mutex_t pthread_spinlock_t; 1460 1461 /* 1462 * attributes for threads, dynamically allocated by library 1463 */ 1464 typedef struct _pthread_attr { 1465 void *__pthread_attrp; 1466 } pthread_attr_t; 1467 1468 /* 1469 * attributes for mutex, dynamically allocated by library 1470 */ 1471 typedef struct _pthread_mutexattr { 1472 void *__pthread_mutexattrp; 1473 } pthread_mutexattr_t; 1474 1475 /* 1476 * attributes for cond, dynamically allocated by library 1477 */ 1478 typedef struct _pthread_condattr { 1479 void *__pthread_condattrp; 1480 } pthread_condattr_t; 1481 1482 /* 1483 * pthread_once 1484 */ 1485 typedef struct _once { 1486 upad64_t __pthread_once_pad[4]; 1487 } pthread_once_t; 1488 1489 /* 1490 * UNIX 98 Extensions 1491 * attributes for rwlock, dynamically allocated by library 1492 */ 1493 typedef struct _pthread_rwlockattr { 1494 void *__pthread_rwlockattrp; 1495 } pthread_rwlockattr_t; 1496 1497 /* 1498 * SUSV3 1499 * attributes for pthread_barrier_t, dynamically allocated by library 1500 */ 1501 typedef struct { 1502 void *__pthread_barrierattrp; 1503 } pthread_barrierattr_t; 1504 1505 typedef ulong_t dev_t; /* expanded device type */ 1506 1507 1508 1509 1510 1511 typedef ulong_t nlink_t; /* (historical version) */ 1512 typedef long pid_t; /* (historical version) */ 1513 1514 1515 1516 1517 1518 1519 1520 typedef uint_t size_t; /* (historical version) */ 1521 # 531 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1522 typedef int ssize_t; /* (historical version) */ 1523 1524 1525 1526 1527 1528 typedef long time_t; /* time of day in seconds */ 1529 1530 1531 1532 1533 typedef long clock_t; /* relative time in a specified resolution */ 1534 1535 1536 1537 1538 typedef int clockid_t; /* clock identifier type */ 1539 1540 1541 1542 1543 typedef int timer_t; /* timer identifier type */ 1544 1545 1546 1547 1548 /* BEGIN CSTYLED */ 1549 typedef unsigned char unchar; 1550 typedef unsigned short ushort; 1551 typedef unsigned int uint; 1552 typedef unsigned long ulong; 1553 /* END CSTYLED */ 1554 # 605 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1555 /* 1556 * The following is the value of type id_t to use to indicate the 1557 * caller's current id. See procset.h for the type idtype_t 1558 * which defines which kind of id is being specified. 1559 */ 1560 # 620 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1561 /* 1562 * The following value of type pfn_t is used to indicate 1563 * invalid page frame number. 1564 */ 1565 1566 1567 1568 /* BEGIN CSTYLED */ 1569 typedef unsigned char u_char; 1570 typedef unsigned short u_short; 1571 typedef unsigned int u_int; 1572 typedef unsigned long u_long; 1573 typedef struct _quad { int val[2]; } quad_t; /* used by UFS */ 1574 typedef quad_t quad; /* used by UFS */ 1575 /* END CSTYLED */ 1576 1577 /* 1578 * Nested include for BSD/sockets source compatibility. 1579 * (The select macros used to be defined here). 1580 */ 1581 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 1582 /* 1583 * CDDL HEADER START 1584 * 1585 * The contents of this file are subject to the terms of the 1586 * Common Development and Distribution License (the "License"). 1587 * You may not use this file except in compliance with the License. 1588 * 1589 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1590 * or http://www.opensolaris.org/os/licensing. 1591 * See the License for the specific language governing permissions 1592 * and limitations under the License. 1593 * 1594 * When distributing Covered Code, include this CDDL HEADER in each 1595 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1596 * If applicable, add the following below this CDDL HEADER, with the 1597 * fields enclosed by brackets "[]" replaced with your own identifying 1598 * information: Portions Copyright [yyyy] [name of copyright owner] 1599 * 1600 * CDDL HEADER END 1601 */ 1602 1603 /* 1604 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1605 * 1606 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1607 * 1608 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 1609 * Use is subject to license terms. 1610 */ 1611 1612 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1613 /* All Rights Reserved */ 1614 1615 /* 1616 * University Copyright- Copyright (c) 1982, 1986, 1988 1617 * The Regents of the University of California 1618 * All Rights Reserved 1619 * 1620 * University Acknowledgment- Portions of this document are derived from 1621 * software developed by the University of California, Berkeley, and its 1622 * contributors. 1623 */ 1624 1625 1626 1627 1628 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1629 /* 1630 * CDDL HEADER START 1631 * 1632 * The contents of this file are subject to the terms of the 1633 * Common Development and Distribution License (the "License"). 1634 * You may not use this file except in compliance with the License. 1635 * 1636 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1637 * or http://www.opensolaris.org/os/licensing. 1638 * See the License for the specific language governing permissions 1639 * and limitations under the License. 1640 * 1641 * When distributing Covered Code, include this CDDL HEADER in each 1642 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1643 * If applicable, add the following below this CDDL HEADER, with the 1644 * fields enclosed by brackets "[]" replaced with your own identifying 1645 * information: Portions Copyright [yyyy] [name of copyright owner] 1646 * 1647 * CDDL HEADER END 1648 */ 1649 1650 /* 1651 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1652 * Copyright 2016 Joyent, Inc. 1653 * 1654 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1655 * Use is subject to license terms. 1656 */ 1657 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 1658 1659 1660 1661 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 1662 /* 1663 * CDDL HEADER START 1664 * 1665 * The contents of this file are subject to the terms of the 1666 * Common Development and Distribution License, Version 1.0 only 1667 * (the "License"). You may not use this file except in compliance 1668 * with the License. 1669 * 1670 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1671 * or http://www.opensolaris.org/os/licensing. 1672 * See the License for the specific language governing permissions 1673 * and limitations under the License. 1674 * 1675 * When distributing Covered Code, include this CDDL HEADER in each 1676 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1677 * If applicable, add the following below this CDDL HEADER, with the 1678 * fields enclosed by brackets "[]" replaced with your own identifying 1679 * information: Portions Copyright [yyyy] [name of copyright owner] 1680 * 1681 * CDDL HEADER END 1682 */ 1683 /* 1684 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 1685 * Use is subject to license terms. 1686 */ 1687 1688 /* 1689 * Implementation-private. This header should not be included 1690 * directly by an application. The application should instead 1691 * include <time.h> which includes this header conditionally 1692 * depending on which feature test macros are defined. By default, 1693 * this header is included by <time.h>. X/Open and POSIX 1694 * standards requirements result in this header being included 1695 * by <time.h> only under a restricted set of conditions. 1696 */ 1697 1698 1699 1700 1701 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1702 /* 1703 * CDDL HEADER START 1704 * 1705 * The contents of this file are subject to the terms of the 1706 * Common Development and Distribution License (the "License"). 1707 * You may not use this file except in compliance with the License. 1708 * 1709 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1710 * or http://www.opensolaris.org/os/licensing. 1711 * See the License for the specific language governing permissions 1712 * and limitations under the License. 1713 * 1714 * When distributing Covered Code, include this CDDL HEADER in each 1715 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1716 * If applicable, add the following below this CDDL HEADER, with the 1717 * fields enclosed by brackets "[]" replaced with your own identifying 1718 * information: Portions Copyright [yyyy] [name of copyright owner] 1719 * 1720 * CDDL HEADER END 1721 */ 1722 1723 /* 1724 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1725 * Copyright 2016 Joyent, Inc. 1726 * 1727 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1728 * Use is subject to license terms. 1729 */ 1730 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 2 1731 # 53 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1732 /* 1733 * Time expressed in seconds and nanoseconds 1734 */ 1735 1736 typedef struct timespec { /* definition per POSIX.4 */ 1737 time_t tv_sec; /* seconds */ 1738 long tv_nsec; /* and nanoseconds */ 1739 } timespec_t; 1740 # 81 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1741 typedef struct timespec timestruc_t; /* definition per SVr4 */ 1742 1743 /* 1744 * The following has been left in for backward compatibility. Portable 1745 * applications should not use the structure name timestruc. 1746 */ 1747 1748 1749 1750 1751 1752 /* 1753 * Timer specification 1754 */ 1755 typedef struct itimerspec { /* definition per POSIX.4 */ 1756 struct timespec it_interval; /* timer period */ 1757 struct timespec it_value; /* timer expiration */ 1758 } itimerspec_t; 1759 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 1760 1761 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1 1762 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1763 /* All Rights Reserved */ 1764 1765 1766 /* 1767 * Copyright (c) 1982, 1986, 1993 Regents of the University of California. 1768 * All rights reserved. The Berkeley software License Agreement 1769 * specifies the terms and conditions for redistribution. 1770 */ 1771 1772 /* 1773 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1774 * 1775 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 1776 * Use is subject to license terms. 1777 * 1778 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1779 */ 1780 1781 /* 1782 * Copyright (c) 2013, 2015 by Delphix. All rights reserved. 1783 */ 1784 1785 1786 1787 1788 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 1789 /* 1790 * CDDL HEADER START 1791 * 1792 * The contents of this file are subject to the terms of the 1793 * Common Development and Distribution License (the "License"). 1794 * You may not use this file except in compliance with the License. 1795 * 1796 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1797 * or http://www.opensolaris.org/os/licensing. 1798 * See the License for the specific language governing permissions 1799 * and limitations under the License. 1800 * 1801 * When distributing Covered Code, include this CDDL HEADER in each 1802 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1803 * If applicable, add the following below this CDDL HEADER, with the 1804 * fields enclosed by brackets "[]" replaced with your own identifying 1805 * information: Portions Copyright [yyyy] [name of copyright owner] 1806 * 1807 * CDDL HEADER END 1808 */ 1809 1810 /* 1811 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 1812 * Copyright 2016 Joyent, Inc. 1813 * 1814 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 1815 * Use is subject to license terms. 1816 */ 1817 # 28 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 1818 1819 /* 1820 * Structure returned by gettimeofday(2) system call, 1821 * and used in other calls. 1822 */ 1823 # 52 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1824 struct timeval { 1825 time_t tv_sec; /* seconds */ 1826 suseconds_t tv_usec; /* and microseconds */ 1827 }; 1828 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1829 struct timezone { 1830 int tz_minuteswest; /* minutes west of Greenwich */ 1831 int tz_dsttime; /* type of dst correction */ 1832 }; 1833 # 96 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1834 /* 1835 * Needed for longlong_t type. Placement of this due to <sys/types.h> 1836 * including <sys/select.h> which relies on the presense of the itimerval 1837 * structure. 1838 */ 1839 1840 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 1841 /* 1842 * CDDL HEADER START 1843 * 1844 * The contents of this file are subject to the terms of the 1845 * Common Development and Distribution License (the "License"). 1846 * You may not use this file except in compliance with the License. 1847 * 1848 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1849 * or http://www.opensolaris.org/os/licensing. 1850 * See the License for the specific language governing permissions 1851 * and limitations under the License. 1852 * 1853 * When distributing Covered Code, include this CDDL HEADER in each 1854 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1855 * If applicable, add the following below this CDDL HEADER, with the 1856 * fields enclosed by brackets "[]" replaced with your own identifying 1857 * information: Portions Copyright [yyyy] [name of copyright owner] 1858 * 1859 * CDDL HEADER END 1860 */ 1861 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 1862 /* All Rights Reserved */ 1863 1864 1865 /* 1866 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 1867 * Use is subject to license terms. 1868 * 1869 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 1870 * Copyright 2016 Joyent, Inc. 1871 */ 1872 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 1873 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1874 /* 1875 * Operations on timevals. 1876 */ 1877 # 193 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1878 /* 1879 * Names of the interval timers, and structure 1880 * defining a timer setting. 1881 */ 1882 1883 1884 1885 /* time and when system is running on */ 1886 /* behalf of the process. */ 1887 1888 /* time profiling of multithreaded */ 1889 /* programs. */ 1890 1891 1892 struct itimerval { 1893 struct timeval it_interval; /* timer interval */ 1894 struct timeval it_value; /* current value */ 1895 }; 1896 # 239 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1897 /* 1898 * Definitions for commonly used resolutions. 1899 */ 1900 # 257 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1901 /* 1902 * Time expressed as a 64-bit nanosecond counter. 1903 */ 1904 typedef longlong_t hrtime_t; 1905 # 386 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1906 int adjtime(struct timeval *, struct timeval *); 1907 1908 1909 1910 1911 int futimesat(int, const char *, const struct timeval *); 1912 1913 1914 1915 1916 1917 int getitimer(int, struct itimerval *); 1918 int utimes(const char *, const struct timeval *); 1919 1920 1921 1922 1923 int setitimer(int, struct itimerval *, 1924 struct itimerval *); 1925 1926 1927 1928 1929 /* 1930 * gettimeofday() and settimeofday() were included in SVr4 due to their 1931 * common use in BSD based applications. They were to be included exactly 1932 * as in BSD, with two parameters. However, AT&T/USL noted that the second 1933 * parameter was unused and deleted it, thereby making a routine included 1934 * for compatibility, incompatible. 1935 * 1936 * XSH4.2 (spec 1170) defines gettimeofday and settimeofday to have two 1937 * parameters. 1938 * 1939 * This has caused general disagreement in the application community as to 1940 * the syntax of these routines. Solaris defaults to the XSH4.2 definition. 1941 * The flag _SVID_GETTOD may be used to force the SVID version. 1942 */ 1943 1944 1945 1946 1947 1948 int settimeofday(struct timeval *, void *); 1949 1950 hrtime_t gethrtime(void); 1951 hrtime_t gethrvtime(void); 1952 # 441 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 1953 int gettimeofday(struct timeval *, void *); 1954 1955 1956 1957 1958 /* 1959 * The inclusion of <time.h> is historical and was added for 1960 * backward compatibility in delta 1.2 when a number of definitions 1961 * were moved out of <sys/time.h>. More recently, the timespec and 1962 * itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*, 1963 * _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>, 1964 * which is now included by <time.h>. This change was due to POSIX 1965 * 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and 1966 * non-X/Open applications, including this header will still make 1967 * visible these definitions. 1968 */ 1969 1970 1971 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 1 1972 /* 1973 * CDDL HEADER START 1974 * 1975 * The contents of this file are subject to the terms of the 1976 * Common Development and Distribution License (the "License"). 1977 * You may not use this file except in compliance with the License. 1978 * 1979 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 1980 * or http://www.opensolaris.org/os/licensing. 1981 * See the License for the specific language governing permissions 1982 * and limitations under the License. 1983 * 1984 * When distributing Covered Code, include this CDDL HEADER in each 1985 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1986 * If applicable, add the following below this CDDL HEADER, with the 1987 * fields enclosed by brackets "[]" replaced with your own identifying 1988 * information: Portions Copyright [yyyy] [name of copyright owner] 1989 * 1990 * CDDL HEADER END 1991 */ 1992 /* Copyright (c) 1988 AT&T */ 1993 /* All Rights Reserved */ 1994 1995 1996 /* 1997 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 1998 * 1999 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 2000 * Use is subject to license terms. 2001 */ 2002 /* 2003 * Copyright 2010 Nexenta Systems, Inc. Al rights reserved. 2004 * Copyright 2016 Joyent, Inc. 2005 */ 2006 2007 2008 2009 2010 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2011 /* 2012 * CDDL HEADER START 2013 * 2014 * The contents of this file are subject to the terms of the 2015 * Common Development and Distribution License (the "License"). 2016 * You may not use this file except in compliance with the License. 2017 * 2018 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2019 * or http://www.opensolaris.org/os/licensing. 2020 * See the License for the specific language governing permissions 2021 * and limitations under the License. 2022 * 2023 * When distributing Covered Code, include this CDDL HEADER in each 2024 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2025 * If applicable, add the following below this CDDL HEADER, with the 2026 * fields enclosed by brackets "[]" replaced with your own identifying 2027 * information: Portions Copyright [yyyy] [name of copyright owner] 2028 * 2029 * CDDL HEADER END 2030 */ 2031 2032 /* 2033 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2034 * Copyright 2016 Joyent, Inc. 2035 * 2036 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2037 * Use is subject to license terms. 2038 */ 2039 # 40 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2040 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 1 2041 /* 2042 * CDDL HEADER START 2043 * 2044 * The contents of this file are subject to the terms of the 2045 * Common Development and Distribution License, Version 1.0 only 2046 * (the "License"). You may not use this file except in compliance 2047 * with the License. 2048 * 2049 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2050 * or http://www.opensolaris.org/os/licensing. 2051 * See the License for the specific language governing permissions 2052 * and limitations under the License. 2053 * 2054 * When distributing Covered Code, include this CDDL HEADER in each 2055 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2056 * If applicable, add the following below this CDDL HEADER, with the 2057 * fields enclosed by brackets "[]" replaced with your own identifying 2058 * information: Portions Copyright [yyyy] [name of copyright owner] 2059 * 2060 * CDDL HEADER END 2061 */ 2062 /* Copyright (c) 1988 AT&T */ 2063 /* All Rights Reserved */ 2064 2065 /* 2066 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2067 * Copyright 2014 PALO, Richard. 2068 * 2069 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 2070 * Use is subject to license terms. 2071 */ 2072 2073 /* 2074 * An application should not include this header directly. Instead it 2075 * should be included only through the inclusion of other Sun headers. 2076 * 2077 * The contents of this header is limited to identifiers specified in the 2078 * C Standard. Any new identifiers specified in future amendments to the 2079 * C Standard must be placed in this header. If these new identifiers 2080 * are required to also be in the C++ Standard "std" namespace, then for 2081 * anything other than macro definitions, corresponding "using" directives 2082 * must also be added to <time.h.h>. 2083 */ 2084 2085 2086 2087 2088 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2089 /* 2090 * CDDL HEADER START 2091 * 2092 * The contents of this file are subject to the terms of the 2093 * Common Development and Distribution License (the "License"). 2094 * You may not use this file except in compliance with the License. 2095 * 2096 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2097 * or http://www.opensolaris.org/os/licensing. 2098 * See the License for the specific language governing permissions 2099 * and limitations under the License. 2100 * 2101 * When distributing Covered Code, include this CDDL HEADER in each 2102 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2103 * If applicable, add the following below this CDDL HEADER, with the 2104 * fields enclosed by brackets "[]" replaced with your own identifying 2105 * information: Portions Copyright [yyyy] [name of copyright owner] 2106 * 2107 * CDDL HEADER END 2108 */ 2109 2110 /* 2111 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2112 * Copyright 2016 Joyent, Inc. 2113 * 2114 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2115 * Use is subject to license terms. 2116 */ 2117 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 2118 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 2119 /* 2120 * This file and its contents are supplied under the terms of the 2121 * Common Development and Distribution License ("CDDL"), version 1.0. 2122 * You may only use this file in accordance with the terms of version 2123 * 1.0 of the CDDL. 2124 * 2125 * A full copy of the text of the CDDL should have accompanied this 2126 * source. A copy of the CDDL is also available via the Internet at 2127 * http://www.illumos.org/license/CDDL. 2128 */ 2129 2130 /* 2131 * Copyright 2014-2016 PALO, Richard. 2132 */ 2133 # 50 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2 2134 # 80 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/iso/time_iso.h" 2135 struct tm { /* see ctime(3) */ 2136 int tm_sec; 2137 int tm_min; 2138 int tm_hour; 2139 int tm_mday; 2140 int tm_mon; 2141 int tm_year; 2142 int tm_wday; 2143 int tm_yday; 2144 int tm_isdst; 2145 }; 2146 2147 2148 extern char *asctime(const struct tm *); 2149 extern clock_t clock(void); 2150 extern char *ctime(const time_t *); 2151 extern double difftime(time_t, time_t); 2152 extern struct tm *gmtime(const time_t *); 2153 extern struct tm *localtime(const time_t *); 2154 extern time_t mktime(struct tm *); 2155 extern time_t time(time_t *); 2156 extern size_t strftime(char *, size_t, const char *, 2157 const struct tm *); 2158 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2159 /* 2160 * C11 requires sys/time_impl.h for the definition of the struct timespec. 2161 */ 2162 2163 2164 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 2165 /* 2166 * CDDL HEADER START 2167 * 2168 * The contents of this file are subject to the terms of the 2169 * Common Development and Distribution License (the "License"). 2170 * You may not use this file except in compliance with the License. 2171 * 2172 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2173 * or http://www.opensolaris.org/os/licensing. 2174 * See the License for the specific language governing permissions 2175 * and limitations under the License. 2176 * 2177 * When distributing Covered Code, include this CDDL HEADER in each 2178 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2179 * If applicable, add the following below this CDDL HEADER, with the 2180 * fields enclosed by brackets "[]" replaced with your own identifying 2181 * information: Portions Copyright [yyyy] [name of copyright owner] 2182 * 2183 * CDDL HEADER END 2184 */ 2185 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2186 /* All Rights Reserved */ 2187 2188 2189 /* 2190 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2191 * Use is subject to license terms. 2192 * 2193 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 2194 * Copyright 2016 Joyent, Inc. 2195 */ 2196 # 47 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2197 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time_impl.h" 1 2198 /* 2199 * CDDL HEADER START 2200 * 2201 * The contents of this file are subject to the terms of the 2202 * Common Development and Distribution License, Version 1.0 only 2203 * (the "License"). You may not use this file except in compliance 2204 * with the License. 2205 * 2206 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2207 * or http://www.opensolaris.org/os/licensing. 2208 * See the License for the specific language governing permissions 2209 * and limitations under the License. 2210 * 2211 * When distributing Covered Code, include this CDDL HEADER in each 2212 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2213 * If applicable, add the following below this CDDL HEADER, with the 2214 * fields enclosed by brackets "[]" replaced with your own identifying 2215 * information: Portions Copyright [yyyy] [name of copyright owner] 2216 * 2217 * CDDL HEADER END 2218 */ 2219 /* 2220 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2221 * Use is subject to license terms. 2222 */ 2223 2224 /* 2225 * Implementation-private. This header should not be included 2226 * directly by an application. The application should instead 2227 * include <time.h> which includes this header conditionally 2228 * depending on which feature test macros are defined. By default, 2229 * this header is included by <time.h>. X/Open and POSIX 2230 * standards requirements result in this header being included 2231 * by <time.h> only under a restricted set of conditions. 2232 */ 2233 # 48 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2 2234 2235 2236 /* 2237 * Allow global visibility for symbols defined in 2238 * C++ "std" namespace in <iso/time_iso.h>. 2239 */ 2240 # 87 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2241 extern struct tm *gmtime_r(const time_t *, 2242 struct tm *); 2243 extern struct tm *localtime_r(const time_t *, 2244 struct tm *); 2245 # 105 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2246 extern char *strptime(const char *, const char *, 2247 struct tm *); 2248 2249 2250 2251 2252 2253 /* 2254 * Neither X/Open nor POSIX allow the inclusion of <signal.h> for the 2255 * definition of the sigevent structure. Both require the inclusion 2256 * of <signal.h> and <time.h> when using the timer_create() function. 2257 * However, X/Open also specifies that the sigevent structure be defined 2258 * in <time.h> as described in the header <signal.h>. This prevents 2259 * compiler warnings for applications that only include <time.h> and not 2260 * also <signal.h>. The sigval union and the sigevent structure is 2261 * therefore defined both here and in <sys/siginfo.h> which gets included 2262 * via inclusion of <signal.h>. 2263 */ 2264 2265 2266 union sigval { 2267 int sival_int; /* integer value */ 2268 void *sival_ptr; /* pointer value */ 2269 }; 2270 2271 2272 2273 2274 struct sigevent { 2275 int sigev_notify; /* notification mode */ 2276 int sigev_signo; /* signal number */ 2277 union sigval sigev_value; /* signal value */ 2278 void (*sigev_notify_function)(union sigval); 2279 pthread_attr_t *sigev_notify_attributes; 2280 int __sigev_pad2; 2281 }; 2282 2283 2284 extern int clock_getres(clockid_t, struct timespec *); 2285 extern int clock_gettime(clockid_t, struct timespec *); 2286 extern int clock_settime(clockid_t, const struct timespec *); 2287 extern int timer_create(clockid_t, struct sigevent *, 2288 timer_t *); 2289 extern int timer_delete(timer_t); 2290 extern int timer_getoverrun(timer_t); 2291 extern int timer_gettime(timer_t, struct itimerspec *); 2292 extern int timer_settime(timer_t, int, const struct itimerspec *, 2293 struct itimerspec *); 2294 2295 extern int nanosleep(const struct timespec *, struct timespec *); 2296 extern int clock_nanosleep(clockid_t, int, 2297 const struct timespec *, struct timespec *); 2298 2299 2300 2301 2302 2303 2304 extern void tzset(void); 2305 extern char *tzname[2]; 2306 2307 /* CLK_TCK marked as LEGACY in SUSv2 and removed in SUSv3 */ 2308 2309 2310 extern long _sysconf(int); /* System Private interface to sysconf() */ 2311 2312 /* 3 is _SC_CLK_TCK */ 2313 2314 2315 2316 2317 2318 extern long timezone; 2319 extern int daylight; 2320 2321 2322 2323 2324 2325 2326 extern time_t timegm(struct tm *); 2327 extern int cftime(char *, char *, const time_t *); 2328 extern int ascftime(char *, const char *, const struct tm *); 2329 extern long altzone; 2330 2331 2332 2333 2334 extern struct tm *getdate(const char *); 2335 2336 2337 2338 2339 2340 extern int getdate_err; 2341 2342 2343 2344 /* 2345 * ctime_r() & asctime_r() prototypes are defined here. 2346 */ 2347 2348 /* 2349 * Previous releases of Solaris, starting at 2.3, provided definitions of 2350 * various functions as specified in POSIX.1c, Draft 6. For some of these 2351 * functions, the final POSIX 1003.1c standard had a different number of 2352 * arguments and return values. 2353 * 2354 * The following segment of this header provides support for the standard 2355 * interfaces while supporting applications written under earlier 2356 * releases. The application defines appropriate values of the feature 2357 * test macros _POSIX_C_SOURCE and _POSIX_PTHREAD_SEMANTICS to indicate 2358 * whether it was written to expect the Draft 6 or standard versions of 2359 * these interfaces, before including this header. This header then 2360 * provides a mapping from the source version of the interface to an 2361 * appropriate binary interface. Such mappings permit an application 2362 * to be built from libraries and objects which have mixed expectations 2363 * of the definitions of these functions. 2364 * 2365 * For applications using the Draft 6 definitions, the binary symbol is the 2366 * same as the source symbol, and no explicit mapping is needed. For the 2367 * standard interface, the function func() is mapped to the binary symbol 2368 * _posix_func(). The preferred mechanism for the remapping is a compiler 2369 * #pragma. If the compiler does not provide such a #pragma, the header file 2370 * defines a static function func() which calls the _posix_func() version; 2371 * this has to be done instead of #define since POSIX specifies that an 2372 * application can #undef the symbol and still be bound to the correct 2373 * implementation. Unfortunately, the statics confuse lint so we fallback to 2374 * #define in that case. 2375 * 2376 * NOTE: Support for the Draft 6 definitions is provided for compatibility 2377 * only. New applications/libraries should use the standard definitions. 2378 */ 2379 # 280 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2380 extern char *asctime_r(const struct tm *, char *, int); 2381 extern char *ctime_r(const time_t *, char *, int); 2382 # 292 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/time.h" 2383 typedef struct _locale *locale_t; 2384 2385 2386 extern size_t strftime_l(char *, size_t, 2387 const char *, const struct tm *, locale_t); 2388 2389 2390 2391 2392 2393 /* 2394 * Note, the C11 standard requires that all the various base values that are 2395 * passed into timespec_get() be non-zero. Hence why TIME_UTC starts at one. 2396 */ 2397 2398 2399 extern int timespec_get(struct timespec *, int); 2400 # 460 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 2401 2402 2403 /* 2404 * The inclusion of <sys/select.h> is needed for the FD_CLR, 2405 * FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the 2406 * select() prototype defined in the XOpen specifications 2407 * beginning with XSH4v2. Placement required after definition 2408 * for itimerval. 2409 */ 2410 2411 2412 2413 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 1 2414 /* 2415 * CDDL HEADER START 2416 * 2417 * The contents of this file are subject to the terms of the 2418 * Common Development and Distribution License (the "License"). 2419 * You may not use this file except in compliance with the License. 2420 * 2421 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2422 * or http://www.opensolaris.org/os/licensing. 2423 * See the License for the specific language governing permissions 2424 * and limitations under the License. 2425 * 2426 * When distributing Covered Code, include this CDDL HEADER in each 2427 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2428 * If applicable, add the following below this CDDL HEADER, with the 2429 * fields enclosed by brackets "[]" replaced with your own identifying 2430 * information: Portions Copyright [yyyy] [name of copyright owner] 2431 * 2432 * CDDL HEADER END 2433 */ 2434 2435 /* 2436 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 2437 * 2438 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 2439 * 2440 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 2441 * Use is subject to license terms. 2442 */ 2443 2444 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2445 /* All Rights Reserved */ 2446 2447 /* 2448 * University Copyright- Copyright (c) 1982, 1986, 1988 2449 * The Regents of the University of California 2450 * All Rights Reserved 2451 * 2452 * University Acknowledgment- Portions of this document are derived from 2453 * software developed by the University of California, Berkeley, and its 2454 * contributors. 2455 */ 2456 # 473 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/time.h" 2 2457 # 54 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2 2458 # 62 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2459 /* 2460 * The sigset_t type is defined in <sys/signal.h> and duplicated 2461 * in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6 2462 * now allows the visibility of signal.h in this header, however 2463 * an order of inclusion problem occurs as a result of inclusion 2464 * of <sys/select.h> in <signal.h> under certain conditions. 2465 * Rather than include <sys/signal.h> here, we've duplicated 2466 * the sigset_t type instead. This type is required for the XPG6 2467 * introduced pselect() function also declared in this header. 2468 */ 2469 2470 2471 typedef struct { /* signal set type */ 2472 unsigned int __sigbits[4]; 2473 } sigset_t; 2474 2475 2476 2477 2478 /* 2479 * Select uses bit masks of file descriptors in longs. 2480 * These macros manipulate such bit fields. 2481 * FD_SETSIZE may be defined by the user, but the default here 2482 * should be >= NOFILE (param.h). 2483 */ 2484 # 108 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2485 typedef long fd_mask; 2486 2487 typedef long fds_mask; 2488 2489 /* 2490 * The value of _NBBY needs to be consistant with the value 2491 * of NBBY in <sys/param.h>. 2492 */ 2493 # 136 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2494 typedef struct fd_set { 2495 2496 2497 2498 long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; 2499 } fd_set; 2500 # 159 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/select.h" 2501 extern int select(int, fd_set *, fd_set *, 2502 fd_set *, struct timeval *); 2503 2504 2505 extern int pselect(int, fd_set *, fd_set *, 2506 fd_set *, const struct timespec *, 2507 const sigset_t *); 2508 # 641 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 2 2509 2510 2511 2512 /* 2513 * _VOID was defined to be either void or char but this is not 2514 * required because previous SunOS compilers have accepted the void 2515 * type. However, because many system header and source files use the 2516 * void keyword, the volatile keyword, and ANSI C function prototypes, 2517 * non-ANSI compilers cannot compile the system anyway. The _VOID macro 2518 * should therefore not be used and remains for source compatibility 2519 * only. 2520 */ 2521 /* CSTYLED */ 2522 # 32 "nblk.c" 2 2523 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 2524 /* 2525 * CDDL HEADER START 2526 * 2527 * The contents of this file are subject to the terms of the 2528 * Common Development and Distribution License (the "License"). 2529 * You may not use this file except in compliance with the License. 2530 * 2531 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2532 * or http://www.opensolaris.org/os/licensing. 2533 * See the License for the specific language governing permissions 2534 * and limitations under the License. 2535 * 2536 * When distributing Covered Code, include this CDDL HEADER in each 2537 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2538 * If applicable, add the following below this CDDL HEADER, with the 2539 * fields enclosed by brackets "[]" replaced with your own identifying 2540 * information: Portions Copyright [yyyy] [name of copyright owner] 2541 * 2542 * CDDL HEADER END 2543 */ 2544 2545 /* 2546 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 2547 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 2548 */ 2549 2550 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 2551 /* All Rights Reserved */ 2552 2553 /* 2554 * University Copyright- Copyright (c) 1982, 1986, 1988 2555 * The Regents of the University of California 2556 * All Rights Reserved 2557 * 2558 * University Acknowledgment- Portions of this document are derived from 2559 * software developed by the University of California, Berkeley, and its 2560 * contributors. 2561 */ 2562 2563 2564 2565 2566 2567 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/types.h" 1 2568 /* 2569 * CDDL HEADER START 2570 * 2571 * The contents of this file are subject to the terms of the 2572 * Common Development and Distribution License (the "License"). 2573 * You may not use this file except in compliance with the License. 2574 * 2575 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2576 * or http://www.opensolaris.org/os/licensing. 2577 * See the License for the specific language governing permissions 2578 * and limitations under the License. 2579 * 2580 * When distributing Covered Code, include this CDDL HEADER in each 2581 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2582 * If applicable, add the following below this CDDL HEADER, with the 2583 * fields enclosed by brackets "[]" replaced with your own identifying 2584 * information: Portions Copyright [yyyy] [name of copyright owner] 2585 * 2586 * CDDL HEADER END 2587 */ 2588 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 2589 /* All Rights Reserved */ 2590 2591 2592 /* 2593 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2594 * Use is subject to license terms. 2595 * 2596 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 2597 * Copyright 2016 Joyent, Inc. 2598 */ 2599 # 45 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 2600 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/isa_defs.h" 1 2601 /* 2602 * CDDL HEADER START 2603 * 2604 * The contents of this file are subject to the terms of the 2605 * Common Development and Distribution License (the "License"). 2606 * You may not use this file except in compliance with the License. 2607 * 2608 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2609 * or http://www.opensolaris.org/os/licensing. 2610 * See the License for the specific language governing permissions 2611 * and limitations under the License. 2612 * 2613 * 2614 * When distributing Covered Code, include this CDDL HEADER in each 2615 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2616 * If applicable, add the following below this CDDL HEADER, with the 2617 * fields enclosed by brackets "[]" replaced with your own identifying 2618 * information: Portions Copyright [yyyy] [name of copyright owner] 2619 * 2620 * CDDL HEADER END 2621 */ 2622 2623 /* 2624 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 2625 * Use is subject to license terms. 2626 * Copyright 2016 Joyent, Inc. 2627 */ 2628 # 46 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 2629 2630 2631 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/null.h" 1 2632 /* 2633 * This file and its contents are supplied under the terms of the 2634 * Common Development and Distribution License ("CDDL"), version 1.0. 2635 * You may only use this file in accordance with the terms of version 2636 * 1.0 of the CDDL. 2637 * 2638 * A full copy of the text of the CDDL should have accompanied this 2639 * source. A copy of the CDDL is also available via the Internet at 2640 * http://www.illumos.org/license/CDDL. 2641 */ 2642 2643 /* 2644 * Copyright 2014-2016 PALO, Richard. 2645 */ 2646 # 49 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 2647 2648 2649 2650 2651 2652 /* 2653 * Fundamental variables; don't change too often. 2654 */ 2655 2656 /* 2657 * _POSIX_VDISABLE has historically been defined in <sys/param.h> since 2658 * an early merge with AT&T source. It has also historically been defined 2659 * in <sys/termios.h>. The POSIX standard, IEEE Std. 1003.1-1988 initially 2660 * required the existence of _POSIX_VDISABLE in <sys/termios.h>. 2661 * Subsequent versions of the IEEE Standard as well as the X/Open 2662 * specifications required that _POSIX_VDISABLE be defined in <unistd.h> 2663 * while still allowing for it's existence in other headers. With the 2664 * introduction of XPG6, _POSIX_VDISABLE can only be defined in <unistd.h>. 2665 */ 2666 # 123 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2667 /* compatibility purposes only */ 2668 /* and will be removed in a */ 2669 /* later release */ 2670 2671 /* 2672 * These define the maximum and minimum allowable values of the 2673 * configurable parameter NGROUPS_MAX. 2674 */ 2675 2676 2677 2678 2679 /* 2680 * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h. 2681 */ 2682 2683 2684 /* 2685 * Default process priority. Keep it in sync with limits.h. 2686 */ 2687 2688 2689 /* 2690 * Fundamental constants of the implementation--cannot be changed easily. 2691 */ 2692 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2693 /* REMOTE -- whether machine is primary, secondary, or regular */ 2694 2695 2696 2697 /* 2698 * MAXPATHLEN defines the longest permissible path length, 2699 * including the terminating null, after expanding symbolic links. 2700 * TYPICALMAXPATHLEN is used in a few places as an optimization 2701 * with a local buffer on the stack to avoid kmem_alloc(). 2702 * MAXSYMLINKS defines the maximum number of symbolic links 2703 * that may be expanded in a path name. It should be set high 2704 * enough to allow all legitimate uses, but halt infinite loops 2705 * reasonably quickly. 2706 * MAXNAMELEN is the length (including the terminating null) of 2707 * the longest permissible file (component) name. 2708 */ 2709 2710 2711 2712 2713 2714 /* 2715 * MAXLINKNAMELEN defines the longest possible permitted datalink name, 2716 * including the terminating NUL. Note that this must not be larger 2717 * than related networking constants such as LIFNAMSIZ. 2718 */ 2719 2720 2721 2722 2723 2724 2725 /* 2726 * The following are defined to be the same as 2727 * defined in /usr/include/limits.h. They are 2728 * needed for pipe and FIFO compatibility. 2729 */ 2730 # 220 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2731 /* macros replacing interleaving functions */ 2732 2733 2734 2735 /* 2736 * File system parameters and macros. 2737 * 2738 * The file system is made out of blocks of at most MAXBSIZE units, 2739 * with smaller units (fragments) only in the last direct block. 2740 * MAXBSIZE primarily determines the size of buffers in the buffer 2741 * pool. It may be made larger without any effect on existing 2742 * file systems; however making it smaller make make some file 2743 * systems unmountable. 2744 * 2745 * Note that the blocked devices are assumed to have DEV_BSIZE 2746 * "sectors" and that fragments must be some multiple of this size. 2747 */ 2748 # 261 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2749 /* 64 bit versions of btodb and dbtob */ 2750 # 276 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2751 /* 2752 * Size of arg list passed in by user. 2753 */ 2754 # 287 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2755 /* 2756 * Scale factor for scaled integers used to count 2757 * %cpu time and load averages. 2758 */ 2759 2760 2761 2762 /* 2763 * Delay units are in microseconds. 2764 * 2765 * XXX These macros are not part of the DDI! 2766 */ 2767 # 317 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2768 /* 2769 * The following is to free utilities from machine dependencies within 2770 * an architecture. Must be included after definition of DEV_BSIZE. 2771 */ 2772 # 471 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2773 /* 2774 * The following are assorted machine dependent values which can be 2775 * obtained in a machine independent manner through sysconf(2) or 2776 * sysinfo(2). In order to guarantee that these provide the expected 2777 * value at all times, the System Private interface (leading underscore) 2778 * is used. 2779 */ 2780 2781 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 1 2782 /* 2783 * CDDL HEADER START 2784 * 2785 * The contents of this file are subject to the terms of the 2786 * Common Development and Distribution License (the "License"). 2787 * You may not use this file except in compliance with the License. 2788 * 2789 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2790 * or http://www.opensolaris.org/os/licensing. 2791 * See the License for the specific language governing permissions 2792 * and limitations under the License. 2793 * 2794 * When distributing Covered Code, include this CDDL HEADER in each 2795 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2796 * If applicable, add the following below this CDDL HEADER, with the 2797 * fields enclosed by brackets "[]" replaced with your own identifying 2798 * information: Portions Copyright [yyyy] [name of copyright owner] 2799 * 2800 * CDDL HEADER END 2801 */ 2802 2803 /* 2804 * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 2805 * All Rights Reserved 2806 * 2807 */ 2808 2809 /* 2810 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2811 * Use is subject to license terms. 2812 */ 2813 2814 /* 2815 * WARNING: This is an implementation-specific header, 2816 * its contents are not guaranteed. Applications 2817 * should include <unistd.h> and not this header. 2818 */ 2819 2820 2821 2822 2823 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/feature_tests.h" 1 2824 /* 2825 * CDDL HEADER START 2826 * 2827 * The contents of this file are subject to the terms of the 2828 * Common Development and Distribution License (the "License"). 2829 * You may not use this file except in compliance with the License. 2830 * 2831 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2832 * or http://www.opensolaris.org/os/licensing. 2833 * See the License for the specific language governing permissions 2834 * and limitations under the License. 2835 * 2836 * When distributing Covered Code, include this CDDL HEADER in each 2837 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 2838 * If applicable, add the following below this CDDL HEADER, with the 2839 * fields enclosed by brackets "[]" replaced with your own identifying 2840 * information: Portions Copyright [yyyy] [name of copyright owner] 2841 * 2842 * CDDL HEADER END 2843 */ 2844 2845 /* 2846 * Copyright 2013 Garrett D'Amore <garrett@damore.org> 2847 * Copyright 2016 Joyent, Inc. 2848 * 2849 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2850 * Use is subject to license terms. 2851 */ 2852 # 43 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2 2853 2854 2855 2856 2857 2858 /* command names for confstr */ 2859 2860 2861 2862 /* 2863 * command names for large file configuration information 2864 */ 2865 /* large file compilation environment configuration */ 2866 2867 2868 2869 2870 /* transitional large file interface configuration */ 2871 2872 2873 2874 2875 2876 /* UNIX 98 */ 2877 # 84 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2878 /* UNIX 03 */ 2879 # 103 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2880 /* command names for POSIX sysconf */ 2881 2882 /* POSIX.1 names */ 2883 # 114 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2884 /* SVR4 names */ 2885 2886 2887 2888 2889 /* 13 reserved for SVr4-ES/MP _SC_NACLS_MAX */ 2890 2891 2892 2893 2894 /* POSIX.4 names */ 2895 # 152 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2896 /* XPG4 names */ 2897 # 174 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2898 /* additional XSH4/XCU4 command names for sysconf */ 2899 2900 2901 2902 /* additional XPG4v2 (UNIX 95) command names */ 2903 2904 2905 2906 2907 2908 /* defined for XTI (XNS Issue 5) */ 2909 2910 2911 2912 2913 2914 2915 2916 /* 2917 * Hardware specific items 2918 * Note that not all items are supported on all architectures 2919 */ 2920 # 214 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2921 /* 2922 * POSIX.1c (pthreads) names. These values are defined above 2923 * the sub-500 range. See psarc case 1995/257. 2924 */ 2925 # 235 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2926 /* UNIX 98 */ 2927 # 244 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2928 /* UNIX 03 */ 2929 # 285 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2930 /* command names for POSIX pathconf */ 2931 2932 /* POSIX.1 names */ 2933 # 297 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2934 /* POSIX.4 names */ 2935 2936 2937 2938 /* UNIX 03 names */ 2939 # 315 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2940 /* UNIX 08 names */ 2941 2942 2943 /* 2944 * Large File Summit names 2945 * 2946 * This value matches the MIPS ABI choice, but leaves a large gap in the 2947 * value space. 2948 */ 2949 2950 2951 /* 2952 * Extended attributes 2953 */ 2954 2955 2956 2957 /* 2958 * If you add a _PC define above 101, you must change _PC_LAST (and truss). 2959 */ 2960 2961 2962 /* 2963 * Case sensitivity values (related to _PC_CASE_BEHAVIOR) 2964 */ 2965 2966 2967 2968 /* 2969 * The value of 0 is returned when 2970 * ACL's are not supported 2971 */ 2972 # 366 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2973 /* 2974 * Marked LEGACY in SUSv2 and removed in SUSv3. Though SUSv3 applications 2975 * should not rely on this value, it has been aligned with the current 2976 * standard to avoid confusion if used. 2977 */ 2978 # 408 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/unistd.h" 2979 /* UNIX 03 names */ 2980 # 480 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 2 2981 2982 2983 2984 2985 2986 2987 extern long _sysconf(int); /* System Private interface to sysconf() */ 2988 # 33 "nblk.c" 2 2989 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 1 2990 /* 2991 * CDDL HEADER START 2992 * 2993 * The contents of this file are subject to the terms of the 2994 * Common Development and Distribution License (the "License"). 2995 * You may not use this file except in compliance with the License. 2996 * 2997 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 2998 * or http://www.opensolaris.org/os/licensing. 2999 * See the License for the specific language governing permissions 3000 * and limitations under the License. 3001 * 3002 * When distributing Covered Code, include this CDDL HEADER in each 3003 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3004 * If applicable, add the following below this CDDL HEADER, with the 3005 * fields enclosed by brackets "[]" replaced with your own identifying 3006 * information: Portions Copyright [yyyy] [name of copyright owner] 3007 * 3008 * CDDL HEADER END 3009 */ 3010 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 3011 /* All Rights Reserved */ 3012 3013 3014 /* 3015 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 3016 * Use is subject to license terms. 3017 * 3018 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 3019 * 3020 * Copyright 2018 Joyent Inc. 3021 */ 3022 3023 3024 3025 3026 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/param.h" 1 3027 /* 3028 * CDDL HEADER START 3029 * 3030 * The contents of this file are subject to the terms of the 3031 * Common Development and Distribution License (the "License"). 3032 * You may not use this file except in compliance with the License. 3033 * 3034 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3035 * or http://www.opensolaris.org/os/licensing. 3036 * See the License for the specific language governing permissions 3037 * and limitations under the License. 3038 * 3039 * When distributing Covered Code, include this CDDL HEADER in each 3040 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3041 * If applicable, add the following below this CDDL HEADER, with the 3042 * fields enclosed by brackets "[]" replaced with your own identifying 3043 * information: Portions Copyright [yyyy] [name of copyright owner] 3044 * 3045 * CDDL HEADER END 3046 */ 3047 3048 /* 3049 * Copyright 2014 Nexenta Systems, Inc. All rights reserved. 3050 * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 3051 */ 3052 3053 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */ 3054 /* All Rights Reserved */ 3055 3056 /* 3057 * University Copyright- Copyright (c) 1982, 1986, 1988 3058 * The Regents of the University of California 3059 * All Rights Reserved 3060 * 3061 * University Acknowledgment- Portions of this document are derived from 3062 * software developed by the University of California, Berkeley, and its 3063 * contributors. 3064 */ 3065 # 38 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 3066 # 1 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 1 3067 /* 3068 * This file and its contents are supplied under the terms of the 3069 * Common Development and Distribution License ("CDDL"), version 1.0. 3070 * You may only use this file in accordance with the terms of version 3071 * 1.0 of the CDDL. 3072 * 3073 * A full copy of the text of the CDDL should have accompanied this 3074 * source. A copy of the CDDL is also available via the Internet at 3075 * http://www.illumos.org/license/CDDL. 3076 */ 3077 3078 /* 3079 * Copyright 2017 Toomas Soome <tsoome@me.com> 3080 */ 3081 3082 3083 3084 3085 /* 3086 * Commonly used macros and definitions. 3087 */ 3088 # 41 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/stddef.h" 3089 /* 3090 * We must not expose container_of() to userland, but we want it 3091 * to be available for early boot and for the kernel. 3092 */ 3093 # 39 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 2 3094 3095 3096 3097 3098 3099 /* 3100 * Some macros for units conversion 3101 */ 3102 /* 3103 * Disk blocks (sectors) and bytes. 3104 */ 3105 3106 3107 3108 3109 3110 /* common macros */ 3111 # 82 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3112 /* 3113 * WARNING: The device number macros defined here should not be used by device 3114 * drivers or user software. Device drivers should use the device functions 3115 * defined in the DDI/DKI interface (see also ddi.h). Application software 3116 * should make use of the library routines available in makedev(3). A set of 3117 * new device macros are provided to operate on the expanded device number 3118 * format supported in SVR4. Macro versions of the DDI device functions are 3119 * provided for use by kernel proper routines only. Macro routines bmajor(), 3120 * major(), minor(), emajor(), eminor(), and makedev() will be removed or 3121 * their definitions changed at the next major release following SVR4. 3122 */ 3123 # 104 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3124 /* For 3b2 hardware devices the minor is */ 3125 /* restricted to 256 (0-255) */ 3126 # 140 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3127 /* major part of a device external from the kernel (same as emajor below) */ 3128 3129 3130 3131 /* minor part of a device external from the kernel (same as eminor below) */ 3132 3133 3134 3135 3136 3137 /* create old device number */ 3138 3139 3140 3141 /* make an new device number */ 3142 3143 3144 3145 3146 /* 3147 * emajor() allows kernel/driver code to print external major numbers 3148 * eminor() allows kernel/driver code to print external minor numbers 3149 */ 3150 # 171 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3151 /* 3152 * get external major and minor device 3153 * components from expanded device number 3154 */ 3155 3156 3157 3158 3159 /* 3160 * These are versions of the kernel routines for compressing and 3161 * expanding long device numbers that don't return errors. 3162 */ 3163 # 201 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3164 /* convert to old (SVR3.2) dev format */ 3165 3166 3167 3168 3169 3170 3171 /* convert to new (SVR4) dev format */ 3172 3173 3174 3175 3176 3177 /* 3178 * Macro for checking power of 2 address alignment. 3179 */ 3180 3181 3182 /* 3183 * Macros for counting and rounding. 3184 */ 3185 3186 3187 3188 /* 3189 * Macro to determine if value is a power of 2 3190 */ 3191 3192 3193 /* 3194 * Macros for various sorts of alignment and rounding. The "align" must 3195 * be a power of 2. Often times it is a block, sector, or page. 3196 */ 3197 3198 /* 3199 * return x rounded down to an align boundary 3200 * eg, P2ALIGN(1200, 1024) == 1024 (1*align) 3201 * eg, P2ALIGN(1024, 1024) == 1024 (1*align) 3202 * eg, P2ALIGN(0x1234, 0x100) == 0x1200 (0x12*align) 3203 * eg, P2ALIGN(0x5600, 0x100) == 0x5600 (0x56*align) 3204 */ 3205 3206 3207 /* 3208 * return x % (mod) align 3209 * eg, P2PHASE(0x1234, 0x100) == 0x34 (x-0x12*align) 3210 * eg, P2PHASE(0x5600, 0x100) == 0x00 (x-0x56*align) 3211 */ 3212 3213 3214 /* 3215 * return how much space is left in this block (but if it's perfectly 3216 * aligned, return 0). 3217 * eg, P2NPHASE(0x1234, 0x100) == 0xcc (0x13*align-x) 3218 * eg, P2NPHASE(0x5600, 0x100) == 0x00 (0x56*align-x) 3219 */ 3220 3221 3222 /* 3223 * return x rounded up to an align boundary 3224 * eg, P2ROUNDUP(0x1234, 0x100) == 0x1300 (0x13*align) 3225 * eg, P2ROUNDUP(0x5600, 0x100) == 0x5600 (0x56*align) 3226 */ 3227 3228 3229 /* 3230 * return the ending address of the block that x is in 3231 * eg, P2END(0x1234, 0x100) == 0x12ff (0x13*align - 1) 3232 * eg, P2END(0x5600, 0x100) == 0x56ff (0x57*align - 1) 3233 */ 3234 3235 3236 /* 3237 * return x rounded up to the next phase (offset) within align. 3238 * phase should be < align. 3239 * eg, P2PHASEUP(0x1234, 0x100, 0x10) == 0x1310 (0x13*align + phase) 3240 * eg, P2PHASEUP(0x5600, 0x100, 0x10) == 0x5610 (0x56*align + phase) 3241 */ 3242 3243 3244 /* 3245 * return TRUE if adding len to off would cause it to cross an align 3246 * boundary. 3247 * eg, P2BOUNDARY(0x1234, 0xe0, 0x100) == TRUE (0x1234 + 0xe0 == 0x1314) 3248 * eg, P2BOUNDARY(0x1234, 0x50, 0x100) == FALSE (0x1234 + 0x50 == 0x1284) 3249 */ 3250 3251 3252 3253 /* 3254 * Return TRUE if they have the same highest bit set. 3255 * eg, P2SAMEHIGHBIT(0x1234, 0x1001) == TRUE (the high bit is 0x1000) 3256 * eg, P2SAMEHIGHBIT(0x1234, 0x3010) == FALSE (high bit of 0x3010 is 0x2000) 3257 */ 3258 3259 3260 /* 3261 * Typed version of the P2* macros. These macros should be used to ensure 3262 * that the result is correctly calculated based on the data type of (x), 3263 * which is passed in as the last argument, regardless of the data 3264 * type of the alignment. For example, if (x) is of type uint64_t, 3265 * and we want to round it up to a page boundary using "PAGESIZE" as 3266 * the alignment, we can do either 3267 * P2ROUNDUP(x, (uint64_t)PAGESIZE) 3268 * or 3269 * P2ROUNDUP_TYPED(x, PAGESIZE, uint64_t) 3270 */ 3271 # 325 "/home/git3/dehawe/titanic_53/proto/root_i386/usr/include/sys/sysmacros.h" 3272 /* 3273 * Macros to atomically increment/decrement a variable. mutex and var 3274 * must be pointers. 3275 */ 3276 3277 3278 3279 /* 3280 * Macros to declare bitfields - the order in the parameter list is 3281 * Low to High - that is, declare bit 0 first. We only support 8-bit bitfields 3282 * because if a field crosses a byte boundary it's not likely to be meaningful 3283 * without reassembly in its nonnative endianness. 3284 */ 3285 # 34 "nblk.c" 2 3286 3287 /* 3288 * This should not be a constant, but for ufs it is 12, not 10 like for s5. 3289 */ 3290 3291 3292 fsblkcnt_t 3293 nblk(fsblkcnt_t size, ulong_t bsize, ulong_t frsize) 3294 { 3295 fsblkcnt_t tot, count, count1, d_indirect, t_indirect, ind; 3296 fsblkcnt_t frags = 0; 3297 3298 if (size == 0 || bsize == 0) 3299 return (1); 3300 3301 /* 3302 * Need to keep track of indirect blocks. 3303 */ 3304 3305 ind = (((bsize)+((sizeof (daddr_t))-1))/(sizeof (daddr_t))); 3306 d_indirect = ind + 12; /* double indirection */ 3307 t_indirect = ind * (ind + 1) + 12; /* triple indirection */ 3308 3309 tot = (((size)+((bsize)-1))/(bsize)); 3310 3311 if (tot > t_indirect) { 3312 count1 = (tot - ind * ind - (12 + 1)) / ind; 3313 count = count1 + count1 / ind + ind + 3; 3314 } else if (tot > d_indirect) { 3315 count = (tot - (12 + 1)) / ind + 2; 3316 } else if (tot > 12) { 3317 count = 1; 3318 } else { 3319 count = 0; 3320 frags = (frsize > 0) ? 3321 ((((size)+((frsize)-1))/(frsize))*(frsize)) : 3322 ((((size)+((bsize)-1))/(bsize))*(bsize)); 3323 } 3324 3325 /* Accounting for the indirect blocks, the total becomes */ 3326 tot += count; 3327 3328 /* 3329 * calculate number of 512 byte blocks, for frag or full block cases. 3330 */ 3331 if (!frags) 3332 tot *= (((bsize)+((512)-1))/(512)); 3333 else 3334 tot = (((frags)+((512)-1))/(512)); 3335 return (tot); 3336 } 3337