Annotation of Gnu-Mach/doc/mach.info-2, revision 1.1
1.1 ! root 1: This is mach.info, produced by makeinfo version 5.1 from mach.texi.
! 2:
! 3: This file documents the GNU Mach microkernel.
! 4:
! 5: This is edition 0.4, last updated on 27 September 2013, of 'The GNU
! 6: Mach Reference Manual', for version 1.4.
! 7:
! 8: Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
! 9: Inc.
! 10:
! 11: Permission is granted to copy, distribute and/or modify this
! 12: document under the terms of the GNU Free Documentation License,
! 13: Version 1.2 or any later version published by the Free Software
! 14: Foundation; with no Invariant Section, with no Front-Cover Texts,
! 15: and with no Back-Cover Texts. A copy of the license is included in
! 16: the section entitled "GNU Free Documentation License".
! 17:
! 18: This work is based on manual pages under the following copyright
! 19: and license:
! 20:
! 21: Mach Operating System
! 22: Copyright (C) 1991,1990 Carnegie Mellon University
! 23: All Rights Reserved.
! 24:
! 25: Permission to use, copy, modify and distribute this software and
! 26: its documentation is hereby granted, provided that both the
! 27: copyright notice and this permission notice appear in all copies of
! 28: the software, derivative works or modified versions, and any
! 29: portions thereof, and that both notices appear in supporting
! 30: documentation.
! 31:
! 32: CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
! 33: CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
! 34: ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
! 35: INFO-DIR-SECTION Kernel
! 36: START-INFO-DIR-ENTRY
! 37: * GNUMach: (mach). Using and programming the GNU Mach microkernel.
! 38: END-INFO-DIR-ENTRY
! 39:
! 40:
! 41: File: mach.info, Node: Commands, Next: Variables, Prev: Operation, Up: Kernel Debugger
! 42:
! 43: 11.2 Commands
! 44: =============
! 45:
! 46: 'examine(x) [/MODIFIER] ADDR[,COUNT] [ THREAD ]'
! 47: Display the addressed locations according to the formats in the
! 48: modifier. Multiple modifier formats display multiple locations.
! 49: If no format is specified, the last formats specified for this
! 50: command is used. Address space other than that of the current
! 51: thread can be specified with 't' option in the modifier and THREAD
! 52: parameter. The format characters are
! 53:
! 54: 'b'
! 55: look at by bytes(8 bits)
! 56:
! 57: 'h'
! 58: look at by half words(16 bits)
! 59:
! 60: 'l'
! 61: look at by long words(32 bits)
! 62:
! 63: 'a'
! 64: print the location being displayed
! 65:
! 66: ','
! 67: skip one unit producing no output
! 68:
! 69: 'A'
! 70: print the location with a line number if possible
! 71:
! 72: 'x'
! 73: display in unsigned hex
! 74:
! 75: 'z'
! 76: display in signed hex
! 77:
! 78: 'o'
! 79: display in unsigned octal
! 80:
! 81: 'd'
! 82: display in signed decimal
! 83:
! 84: 'u'
! 85: display in unsigned decimal
! 86:
! 87: 'r'
! 88: display in current radix, signed
! 89:
! 90: 'c'
! 91: display low 8 bits as a character. Non-printing characters
! 92: are displayed as an octal escape code (e.g. '\000').
! 93:
! 94: 's'
! 95: display the null-terminated string at the location.
! 96: Non-printing characters are displayed as octal escapes.
! 97:
! 98: 'm'
! 99: display in unsigned hex with character dump at the end of each
! 100: line. The location is also displayed in hex at the beginning
! 101: of each line.
! 102:
! 103: 'i'
! 104: display as an instruction
! 105:
! 106: 'I'
! 107: display as an instruction with possible alternate formats
! 108: depending on the machine:
! 109:
! 110: 'vax'
! 111: don't assume that each external label is a procedure
! 112: entry mask
! 113:
! 114: 'i386'
! 115: don't round to the next long word boundary
! 116:
! 117: 'mips'
! 118: print register contents
! 119:
! 120: 'xf'
! 121: Examine forward. It executes an examine command with the last
! 122: specified parameters to it except that the next address displayed
! 123: by it is used as the start address.
! 124:
! 125: 'xb'
! 126: Examine backward. It executes an examine command with the last
! 127: specified parameters to it except that the last start address
! 128: subtracted by the size displayed by it is used as the start
! 129: address.
! 130:
! 131: 'print[/axzodurc] ADDR1 [ ADDR2 ... ]'
! 132: Print ADDR's according to the modifier character. Valid formats
! 133: are: 'a' 'x' 'z' 'o' 'd' 'u' 'r' 'c'. If no modifier is specified,
! 134: the last one specified to it is used. ADDR can be a string, and it
! 135: is printed as it is. For example,
! 136:
! 137: print/x "eax = " $eax "\necx = " $ecx "\n"
! 138:
! 139: will print like
! 140:
! 141: eax = xxxxxx
! 142: ecx = yyyyyy
! 143:
! 144: 'write[/bhlt] ADDR [ THREAD ] EXPR1 [ EXPR2 ... ]'
! 145: Write the expressions at succeeding locations. The write unit size
! 146: can be specified in the modifier with a letter b (byte), h (half
! 147: word) or l(long word) respectively. If omitted, long word is
! 148: assumed. Target address space can also be specified with 't'
! 149: option in the modifier and THREAD parameter. Warning: since there
! 150: is no delimiter between expressions, strange things may happen.
! 151: It's best to enclose each expression in parentheses.
! 152:
! 153: 'set $VARIABLE [=] EXPR'
! 154: Set the named variable or register with the value of EXPR. Valid
! 155: variable names are described below.
! 156:
! 157: 'break[/tuTU] ADDR[,COUNT] [ THREAD1 ... ]'
! 158: Set a break point at ADDR. If count is supplied, continues
! 159: (COUNT-1) times before stopping at the break point. If the break
! 160: point is set, a break point number is printed with '#'. This
! 161: number can be used in deleting the break point or adding conditions
! 162: to it.
! 163:
! 164: 't'
! 165: Set a break point only for a specific thread. The thread is
! 166: specified by THREAD parameter, or default one is used if the
! 167: parameter is omitted.
! 168:
! 169: 'u'
! 170: Set a break point in user space address. It may be combined
! 171: with 't' or 'T' option to specify the non-current target user
! 172: space. Without 'u' option, the address is considered in the
! 173: kernel space, and wrong space address is rejected with an
! 174: error message. This option can be used only if it is
! 175: supported by machine dependent routines.
! 176:
! 177: 'T'
! 178: Set a break point only for threads in a specific task. It is
! 179: like 't' option except that the break point is valid for all
! 180: threads which belong to the same task as the specified target
! 181: thread.
! 182:
! 183: 'U'
! 184: Set a break point in shared user space address. It is like
! 185: 'u' option, except that the break point is valid for all
! 186: threads which share the same address space even if 't' option
! 187: is specified. 't' option is used only to specify the target
! 188: shared space. Without 't' option, 'u' and 'U' have the same
! 189: meanings. 'U' is useful for setting a user space break point
! 190: in non-current address space with 't' option such as in an
! 191: emulation library space. This option can be used only if it
! 192: is supported by machine dependent routines.
! 193:
! 194: Warning: if a user text is shadowed by a normal user space
! 195: debugger, user space break points may not work correctly. Setting
! 196: a break point at the low-level code paths may also cause strange
! 197: behavior.
! 198:
! 199: 'delete[/tuTU] ADDR|#NUMBER [ THREAD1 ... ]'
! 200: Delete the break point. The target break point can be specified by
! 201: a break point number with '#', or by ADDR like specified in 'break'
! 202: command.
! 203:
! 204: 'cond #NUMBER [ CONDITION COMMANDS ]'
! 205: Set or delete a condition for the break point specified by the
! 206: NUMBER. If the CONDITION and COMMANDS are null, the condition is
! 207: deleted. Otherwise the condition is set for it. When the break
! 208: point is hit, the CONDITION is evaluated. The COMMANDS will be
! 209: executed if the condition is true and the break point count set by
! 210: a break point command becomes zero. COMMANDS is a list of commands
! 211: separated by semicolons. Each command in the list is executed in
! 212: that order, but if a 'continue' command is executed, the command
! 213: execution stops there, and the stopped thread resumes execution.
! 214: If the command execution reaches the end of the list, and it enters
! 215: into a command input mode. For example,
! 216:
! 217: set $work0 0
! 218: break/Tu xxx_start $task7.0
! 219: cond #1 (1) set $work0 1; set $work1 0; cont
! 220: break/T vm_fault $task7.0
! 221: cond #2 ($work0) set $work1 ($work1+1); cont
! 222: break/Tu xxx_end $task7.0
! 223: cond #3 ($work0) print $work1 " faults\n"; set $work0 0
! 224: cont
! 225:
! 226: will print page fault counts from 'xxx_start' to 'xxx_end' in
! 227: 'task7'.
! 228:
! 229: 'step[/p] [,COUNT]'
! 230: Single step COUNT times. If 'p' option is specified, print each
! 231: instruction at each step. Otherwise, only print the last
! 232: instruction.
! 233:
! 234: Warning: depending on machine type, it may not be possible to
! 235: single-step through some low-level code paths or user space code.
! 236: On machines with software-emulated single-stepping (e.g., pmax),
! 237: stepping through code executed by interrupt handlers will probably
! 238: do the wrong thing.
! 239:
! 240: 'continue[/c]'
! 241: Continue execution until a breakpoint or watchpoint. If '/c',
! 242: count instructions while executing. Some machines (e.g., pmax)
! 243: also count loads and stores.
! 244:
! 245: Warning: when counting, the debugger is really silently
! 246: single-stepping. This means that single-stepping on low-level code
! 247: may cause strange behavior.
! 248:
! 249: 'until'
! 250: Stop at the next call or return instruction.
! 251:
! 252: 'next[/p]'
! 253: Stop at the matching return instruction. If 'p' option is
! 254: specified, print the call nesting depth and the cumulative
! 255: instruction count at each call or return. Otherwise, only print
! 256: when the matching return is hit.
! 257:
! 258: 'match[/p]'
! 259: A synonym for 'next'.
! 260:
! 261: 'trace[/tu] [ FRAME_ADDR|THREAD ][,COUNT]'
! 262: Stack trace. 'u' option traces user space; if omitted, only traces
! 263: kernel space. If 't' option is specified, it shows the stack trace
! 264: of the specified thread or a default target thread. Otherwise, it
! 265: shows the stack trace of the current thread from the frame address
! 266: specified by a parameter or from the current frame. COUNT is the
! 267: number of frames to be traced. If the COUNT is omitted, all frames
! 268: are printed.
! 269:
! 270: Warning: If the target thread's stack is not in the main memory at
! 271: that time, the stack trace will fail. User space stack trace is
! 272: valid only if the machine dependent code supports it.
! 273:
! 274: 'search[/bhl] ADDR VALUE [MASK] [,COUNT]'
! 275: Search memory for a value. This command might fail in interesting
! 276: ways if it doesn't find the searched-for value. This is because
! 277: 'ddb' doesn't always recover from touching bad memory. The
! 278: optional count argument limits the search.
! 279:
! 280: 'macro NAME COMMANDS'
! 281: Define a debugger macro as NAME. COMMANDS is a list of commands to
! 282: be associated with the macro. In the expressions of the command
! 283: list, a variable '$argxx' can be used to get a parameter passed to
! 284: the macro. When a macro is called, each argument is evaluated as
! 285: an expression, and the value is assigned to each parameter,
! 286: '$arg1', '$arg2', ... respectively. 10 '$arg' variables are
! 287: reserved to each level of macros, and they can be used as local
! 288: variables. The nesting of macro can be allowed up to 5 levels.
! 289: For example,
! 290:
! 291: macro xinit set $work0 $arg1
! 292: macro xlist examine/m $work0,4; set $work0 *($work0)
! 293: xinit *(xxx_list)
! 294: xlist
! 295: ...
! 296:
! 297: will print the contents of a list starting from 'xxx_list' by each
! 298: 'xlist' command.
! 299:
! 300: 'dmacro NAME'
! 301: Delete the macro named NAME.
! 302:
! 303: 'show all threads[/ul]'
! 304: Display all tasks and threads information. This version of 'ddb'
! 305: prints more information than previous one. It shows UNIX process
! 306: information like 'ps' for each task. The UNIX process information
! 307: may not be shown if it is not supported in the machine, or the
! 308: bottom of the stack of the target task is not in the main memory at
! 309: that time. It also shows task and thread identification numbers.
! 310: These numbers can be used to specify a task or a thread
! 311: symbolically in various commands. The numbers are valid only in
! 312: the same debugger session. If the execution is resumed again, the
! 313: numbers may change. The current thread can be distinguished from
! 314: others by a '#' after the thread id instead of ':'. Without 'l'
! 315: option, it only shows thread id, thread structure address and the
! 316: status for each thread. The status consists of 5 letters, R(run),
! 317: W(wait), S(suspended), O(swapped out) and N(interruptible), and if
! 318: corresponding status bit is off, '.' is printed instead. If 'l'
! 319: option is specified, more detail information is printed for each
! 320: thread.
! 321:
! 322: 'show task [ ADDR ]'
! 323: Display the information of a task specified by ADDR. If ADDR is
! 324: omitted, current task information is displayed.
! 325:
! 326: 'show thread [ ADDR ]'
! 327: Display the information of a thread specified by ADDR. If ADDR is
! 328: omitted, current thread information is displayed.
! 329:
! 330: 'show registers[/tu [ THREAD ]]'
! 331: Display the register set. Target thread can be specified with 't'
! 332: option and THREAD parameter. If 'u' option is specified, it
! 333: displays user registers instead of kernel or currently saved one.
! 334:
! 335: Warning: The support of 't' and 'u' option depends on the machine.
! 336: If not supported, incorrect information will be displayed.
! 337:
! 338: 'show map ADDR'
! 339: Prints the 'vm_map' at ADDR.
! 340:
! 341: 'show object ADDR'
! 342: Prints the 'vm_object' at ADDR.
! 343:
! 344: 'show page ADDR'
! 345: Prints the 'vm_page' structure at ADDR.
! 346:
! 347: 'show port ADDR'
! 348: Prints the 'ipc_port' structure at ADDR.
! 349:
! 350: 'show ipc_port[/t [ THREAD ]]'
! 351: Prints all 'ipc_port' structure's addresses the target thread has.
! 352: The target thread is a current thread or that specified by a
! 353: parameter.
! 354:
! 355: 'show macro [ NAME ]'
! 356: Show the definitions of macros. If NAME is specified, only the
! 357: definition of it is displayed. Otherwise, definitions of all
! 358: macros are displayed.
! 359:
! 360: 'show watches'
! 361: Displays all watchpoints.
! 362:
! 363: 'watch[/T] ADDR,SIZE [ TASK ]'
! 364: Set a watchpoint for a region. Execution stops when an attempt to
! 365: modify the region occurs. The SIZE argument defaults to 4.
! 366: Without 'T' option, ADDR is assumed to be a kernel address. If you
! 367: want to set a watch point in user space, specify 'T' and TASK
! 368: parameter where the address belongs to. If the TASK parameter is
! 369: omitted, a task of the default target thread or a current task is
! 370: assumed. If you specify a wrong space address, the request is
! 371: rejected with an error message.
! 372:
! 373: Warning: Attempts to watch wired kernel memory may cause
! 374: unrecoverable error in some systems such as i386. Watchpoints on
! 375: user addresses work best.
! 376:
! 377: 'dwatch[/T] ADDR [ TASK ]'
! 378: Clears a watchpoint previously set for a region. Without 'T'
! 379: option, ADDR is assumed to be a kernel address. If you want to
! 380: clear a watch point in user space, specify 'T' and TASK parameter
! 381: where the address belongs to. If the TASK parameter is omitted, a
! 382: task of the default target thread or a current task is assumed. If
! 383: you specify a wrong space address, the request is rejected with an
! 384: error message.
! 385:
! 386:
! 387: File: mach.info, Node: Variables, Next: Expressions, Prev: Commands, Up: Kernel Debugger
! 388:
! 389: 11.3 Variables
! 390: ==============
! 391:
! 392: The debugger accesses registers and variables as $NAME. Register names
! 393: are as in the 'show registers' command. Some variables are suffixed
! 394: with numbers, and may have some modifier following a colon immediately
! 395: after the variable name. For example, register variables can have 'u'
! 396: and 't' modifier to indicate user register and that of a default target
! 397: thread instead of that of the current thread (e.g. '$eax:tu').
! 398:
! 399: Built-in variables currently supported are:
! 400:
! 401: 'taskXX[.YY]'
! 402: Task or thread structure address. XX and YY are task and thread
! 403: identification numbers printed by a 'show all threads' command
! 404: respectively. This variable is read only.
! 405:
! 406: 'thread'
! 407: The default target thread. The value is used when 't' option is
! 408: specified without explicit thread structure address parameter in
! 409: command lines or expression evaluation.
! 410:
! 411: 'radix'
! 412: Input and output radix
! 413:
! 414: 'maxoff'
! 415: Addresses are printed as SYMBOL+OFFSET unless offset is greater
! 416: than maxoff.
! 417:
! 418: 'maxwidth'
! 419: The width of the displayed line.
! 420:
! 421: 'lines'
! 422: The number of lines. It is used by 'more' feature.
! 423:
! 424: 'tabstops'
! 425: Tab stop width.
! 426:
! 427: 'argXX'
! 428: Parameters passed to a macro. XX can be 1 to 10.
! 429:
! 430: 'workXX'
! 431: Work variable. XX can be 0 to 31.
! 432:
! 433:
! 434: File: mach.info, Node: Expressions, Prev: Variables, Up: Kernel Debugger
! 435:
! 436: 11.4 Expressions
! 437: ================
! 438:
! 439: Almost all expression operators in C are supported except '~', '^', and
! 440: unary '&'. Special rules in 'ddb' are:
! 441:
! 442: 'IDENTIFIER'
! 443: name of a symbol. It is translated to the address(or value) of it.
! 444: '.' and ':' can be used in the identifier. If supported by an
! 445: object format dependent routine, [FILE_NAME:]FUNC[:LINE_NUMBER]
! 446: [FILE_NAME:]VARIABLE, and FILE_NAME[:LINE_NUMBER] can be accepted
! 447: as a symbol. The symbol may be prefixed with 'SYMBOL_TABLE_NAME::'
! 448: like 'emulator::mach_msg_trap' to specify other than kernel
! 449: symbols.
! 450:
! 451: 'NUMBER'
! 452: radix is determined by the first two letters:
! 453: '0x'
! 454: hex
! 455: '0o'
! 456: octal
! 457: '0t'
! 458: decimal
! 459:
! 460: otherwise, follow current radix.
! 461:
! 462: '.'
! 463: dot
! 464:
! 465: '+'
! 466: next
! 467:
! 468: '..'
! 469: address of the start of the last line examined. Unlike dot or
! 470: next, this is only changed by 'examine' or 'write' command.
! 471:
! 472: '�'
! 473: last address explicitly specified.
! 474:
! 475: '$VARIABLE'
! 476: register name or variable. It is translated to the value of it.
! 477: It may be followed by a ':' and modifiers as described above.
! 478:
! 479: 'a'
! 480: multiple of right hand side.
! 481:
! 482: '*EXPR'
! 483: indirection. It may be followed by a ':' and modifiers as
! 484: described above.
! 485:
! 486:
! 487: File: mach.info, Node: Copying, Next: Documentation License, Prev: Kernel Debugger, Up: Top
! 488:
! 489: GNU General Public License
! 490: **************************
! 491:
! 492: Version 2, June 1991
! 493:
! 494: Copyright (C) 1989, 1991 Free Software Foundation, Inc.
! 495: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
! 496:
! 497: Everyone is permitted to copy and distribute verbatim copies
! 498: of this license document, but changing it is not allowed.
! 499:
! 500: Preamble
! 501: ========
! 502:
! 503: The licenses for most software are designed to take away your freedom to
! 504: share and change it. By contrast, the GNU General Public License is
! 505: intended to guarantee your freedom to share and change free software--to
! 506: make sure the software is free for all its users. This General Public
! 507: License applies to most of the Free Software Foundation's software and
! 508: to any other program whose authors commit to using it. (Some other Free
! 509: Software Foundation software is covered by the GNU Lesser General Public
! 510: License instead.) You can apply it to your programs, too.
! 511:
! 512: When we speak of free software, we are referring to freedom, not
! 513: price. Our General Public Licenses are designed to make sure that you
! 514: have the freedom to distribute copies of free software (and charge for
! 515: this service if you wish), that you receive source code or can get it if
! 516: you want it, that you can change the software or use pieces of it in new
! 517: free programs; and that you know you can do these things.
! 518:
! 519: To protect your rights, we need to make restrictions that forbid
! 520: anyone to deny you these rights or to ask you to surrender the rights.
! 521: These restrictions translate to certain responsibilities for you if you
! 522: distribute copies of the software, or if you modify it.
! 523:
! 524: For example, if you distribute copies of such a program, whether
! 525: gratis or for a fee, you must give the recipients all the rights that
! 526: you have. You must make sure that they, too, receive or can get the
! 527: source code. And you must show them these terms so they know their
! 528: rights.
! 529:
! 530: We protect your rights with two steps: (1) copyright the software,
! 531: and (2) offer you this license which gives you legal permission to copy,
! 532: distribute and/or modify the software.
! 533:
! 534: Also, for each author's protection and ours, we want to make certain
! 535: that everyone understands that there is no warranty for this free
! 536: software. If the software is modified by someone else and passed on, we
! 537: want its recipients to know that what they have is not the original, so
! 538: that any problems introduced by others will not reflect on the original
! 539: authors' reputations.
! 540:
! 541: Finally, any free program is threatened constantly by software
! 542: patents. We wish to avoid the danger that redistributors of a free
! 543: program will individually obtain patent licenses, in effect making the
! 544: program proprietary. To prevent this, we have made it clear that any
! 545: patent must be licensed for everyone's free use or not licensed at all.
! 546:
! 547: The precise terms and conditions for copying, distribution and
! 548: modification follow.
! 549:
! 550: TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
! 551: ===============================================================
! 552:
! 553: 0. This License applies to any program or other work which contains a
! 554: notice placed by the copyright holder saying it may be distributed
! 555: under the terms of this General Public License. The "Program",
! 556: below, refers to any such program or work, and a "work based on the
! 557: Program" means either the Program or any derivative work under
! 558: copyright law: that is to say, a work containing the Program or a
! 559: portion of it, either verbatim or with modifications and/or
! 560: translated into another language. (Hereinafter, translation is
! 561: included without limitation in the term "modification".) Each
! 562: licensee is addressed as "you".
! 563:
! 564: Activities other than copying, distribution and modification are
! 565: not covered by this License; they are outside its scope. The act
! 566: of running the Program is not restricted, and the output from the
! 567: Program is covered only if its contents constitute a work based on
! 568: the Program (independent of having been made by running the
! 569: Program). Whether that is true depends on what the Program does.
! 570:
! 571: 1. You may copy and distribute verbatim copies of the Program's source
! 572: code as you receive it, in any medium, provided that you
! 573: conspicuously and appropriately publish on each copy an appropriate
! 574: copyright notice and disclaimer of warranty; keep intact all the
! 575: notices that refer to this License and to the absence of any
! 576: warranty; and give any other recipients of the Program a copy of
! 577: this License along with the Program.
! 578:
! 579: You may charge a fee for the physical act of transferring a copy,
! 580: and you may at your option offer warranty protection in exchange
! 581: for a fee.
! 582:
! 583: 2. You may modify your copy or copies of the Program or any portion of
! 584: it, thus forming a work based on the Program, and copy and
! 585: distribute such modifications or work under the terms of Section 1
! 586: above, provided that you also meet all of these conditions:
! 587:
! 588: a. You must cause the modified files to carry prominent notices
! 589: stating that you changed the files and the date of any change.
! 590:
! 591: b. You must cause any work that you distribute or publish, that
! 592: in whole or in part contains or is derived from the Program or
! 593: any part thereof, to be licensed as a whole at no charge to
! 594: all third parties under the terms of this License.
! 595:
! 596: c. If the modified program normally reads commands interactively
! 597: when run, you must cause it, when started running for such
! 598: interactive use in the most ordinary way, to print or display
! 599: an announcement including an appropriate copyright notice and
! 600: a notice that there is no warranty (or else, saying that you
! 601: provide a warranty) and that users may redistribute the
! 602: program under these conditions, and telling the user how to
! 603: view a copy of this License. (Exception: if the Program
! 604: itself is interactive but does not normally print such an
! 605: announcement, your work based on the Program is not required
! 606: to print an announcement.)
! 607:
! 608: These requirements apply to the modified work as a whole. If
! 609: identifiable sections of that work are not derived from the
! 610: Program, and can be reasonably considered independent and separate
! 611: works in themselves, then this License, and its terms, do not apply
! 612: to those sections when you distribute them as separate works. But
! 613: when you distribute the same sections as part of a whole which is a
! 614: work based on the Program, the distribution of the whole must be on
! 615: the terms of this License, whose permissions for other licensees
! 616: extend to the entire whole, and thus to each and every part
! 617: regardless of who wrote it.
! 618:
! 619: Thus, it is not the intent of this section to claim rights or
! 620: contest your rights to work written entirely by you; rather, the
! 621: intent is to exercise the right to control the distribution of
! 622: derivative or collective works based on the Program.
! 623:
! 624: In addition, mere aggregation of another work not based on the
! 625: Program with the Program (or with a work based on the Program) on a
! 626: volume of a storage or distribution medium does not bring the other
! 627: work under the scope of this License.
! 628:
! 629: 3. You may copy and distribute the Program (or a work based on it,
! 630: under Section 2) in object code or executable form under the terms
! 631: of Sections 1 and 2 above provided that you also do one of the
! 632: following:
! 633:
! 634: a. Accompany it with the complete corresponding machine-readable
! 635: source code, which must be distributed under the terms of
! 636: Sections 1 and 2 above on a medium customarily used for
! 637: software interchange; or,
! 638:
! 639: b. Accompany it with a written offer, valid for at least three
! 640: years, to give any third party, for a charge no more than your
! 641: cost of physically performing source distribution, a complete
! 642: machine-readable copy of the corresponding source code, to be
! 643: distributed under the terms of Sections 1 and 2 above on a
! 644: medium customarily used for software interchange; or,
! 645:
! 646: c. Accompany it with the information you received as to the offer
! 647: to distribute corresponding source code. (This alternative is
! 648: allowed only for noncommercial distribution and only if you
! 649: received the program in object code or executable form with
! 650: such an offer, in accord with Subsection b above.)
! 651:
! 652: The source code for a work means the preferred form of the work for
! 653: making modifications to it. For an executable work, complete
! 654: source code means all the source code for all modules it contains,
! 655: plus any associated interface definition files, plus the scripts
! 656: used to control compilation and installation of the executable.
! 657: However, as a special exception, the source code distributed need
! 658: not include anything that is normally distributed (in either source
! 659: or binary form) with the major components (compiler, kernel, and so
! 660: on) of the operating system on which the executable runs, unless
! 661: that component itself accompanies the executable.
! 662:
! 663: If distribution of executable or object code is made by offering
! 664: access to copy from a designated place, then offering equivalent
! 665: access to copy the source code from the same place counts as
! 666: distribution of the source code, even though third parties are not
! 667: compelled to copy the source along with the object code.
! 668:
! 669: 4. You may not copy, modify, sublicense, or distribute the Program
! 670: except as expressly provided under this License. Any attempt
! 671: otherwise to copy, modify, sublicense or distribute the Program is
! 672: void, and will automatically terminate your rights under this
! 673: License. However, parties who have received copies, or rights,
! 674: from you under this License will not have their licenses terminated
! 675: so long as such parties remain in full compliance.
! 676:
! 677: 5. You are not required to accept this License, since you have not
! 678: signed it. However, nothing else grants you permission to modify
! 679: or distribute the Program or its derivative works. These actions
! 680: are prohibited by law if you do not accept this License.
! 681: Therefore, by modifying or distributing the Program (or any work
! 682: based on the Program), you indicate your acceptance of this License
! 683: to do so, and all its terms and conditions for copying,
! 684: distributing or modifying the Program or works based on it.
! 685:
! 686: 6. Each time you redistribute the Program (or any work based on the
! 687: Program), the recipient automatically receives a license from the
! 688: original licensor to copy, distribute or modify the Program subject
! 689: to these terms and conditions. You may not impose any further
! 690: restrictions on the recipients' exercise of the rights granted
! 691: herein. You are not responsible for enforcing compliance by third
! 692: parties to this License.
! 693:
! 694: 7. If, as a consequence of a court judgment or allegation of patent
! 695: infringement or for any other reason (not limited to patent
! 696: issues), conditions are imposed on you (whether by court order,
! 697: agreement or otherwise) that contradict the conditions of this
! 698: License, they do not excuse you from the conditions of this
! 699: License. If you cannot distribute so as to satisfy simultaneously
! 700: your obligations under this License and any other pertinent
! 701: obligations, then as a consequence you may not distribute the
! 702: Program at all. For example, if a patent license would not permit
! 703: royalty-free redistribution of the Program by all those who receive
! 704: copies directly or indirectly through you, then the only way you
! 705: could satisfy both it and this License would be to refrain entirely
! 706: from distribution of the Program.
! 707:
! 708: If any portion of this section is held invalid or unenforceable
! 709: under any particular circumstance, the balance of the section is
! 710: intended to apply and the section as a whole is intended to apply
! 711: in other circumstances.
! 712:
! 713: It is not the purpose of this section to induce you to infringe any
! 714: patents or other property right claims or to contest validity of
! 715: any such claims; this section has the sole purpose of protecting
! 716: the integrity of the free software distribution system, which is
! 717: implemented by public license practices. Many people have made
! 718: generous contributions to the wide range of software distributed
! 719: through that system in reliance on consistent application of that
! 720: system; it is up to the author/donor to decide if he or she is
! 721: willing to distribute software through any other system and a
! 722: licensee cannot impose that choice.
! 723:
! 724: This section is intended to make thoroughly clear what is believed
! 725: to be a consequence of the rest of this License.
! 726:
! 727: 8. If the distribution and/or use of the Program is restricted in
! 728: certain countries either by patents or by copyrighted interfaces,
! 729: the original copyright holder who places the Program under this
! 730: License may add an explicit geographical distribution limitation
! 731: excluding those countries, so that distribution is permitted only
! 732: in or among countries not thus excluded. In such case, this
! 733: License incorporates the limitation as if written in the body of
! 734: this License.
! 735:
! 736: 9. The Free Software Foundation may publish revised and/or new
! 737: versions of the General Public License from time to time. Such new
! 738: versions will be similar in spirit to the present version, but may
! 739: differ in detail to address new problems or concerns.
! 740:
! 741: Each version is given a distinguishing version number. If the
! 742: Program specifies a version number of this License which applies to
! 743: it and "any later version", you have the option of following the
! 744: terms and conditions either of that version or of any later version
! 745: published by the Free Software Foundation. If the Program does not
! 746: specify a version number of this License, you may choose any
! 747: version ever published by the Free Software Foundation.
! 748:
! 749: 10. If you wish to incorporate parts of the Program into other free
! 750: programs whose distribution conditions are different, write to the
! 751: author to ask for permission. For software which is copyrighted by
! 752: the Free Software Foundation, write to the Free Software
! 753: Foundation; we sometimes make exceptions for this. Our decision
! 754: will be guided by the two goals of preserving the free status of
! 755: all derivatives of our free software and of promoting the sharing
! 756: and reuse of software generally.
! 757:
! 758: 11. NO WARRANTY
! 759:
! 760: BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
! 761: WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
! 762: LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
! 763: AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
! 764: OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
! 765: LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
! 766: FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
! 767: PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
! 768: DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
! 769: OR CORRECTION.
! 770:
! 771: 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
! 772: WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
! 773: MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
! 774: LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
! 775: INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
! 776: INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
! 777: DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
! 778: OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
! 779: OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
! 780: ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
! 781:
! 782: END OF TERMS AND CONDITIONS
! 783:
! 784: Appendix: How to Apply These Terms to Your New Programs
! 785: =======================================================
! 786:
! 787: If you develop a new program, and you want it to be of the greatest
! 788: possible use to the public, the best way to achieve this is to make it
! 789: free software which everyone can redistribute and change under these
! 790: terms.
! 791:
! 792: To do so, attach the following notices to the program. It is safest
! 793: to attach them to the start of each source file to most effectively
! 794: convey the exclusion of warranty; and each file should have at least the
! 795: "copyright" line and a pointer to where the full notice is found.
! 796:
! 797: ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
! 798: Copyright (C) YYYY NAME OF AUTHOR
! 799:
! 800: This program is free software; you can redistribute it and/or modify
! 801: it under the terms of the GNU General Public License as published by
! 802: the Free Software Foundation; either version 2 of the License, or
! 803: (at your option) any later version.
! 804:
! 805: This program is distributed in the hope that it will be useful,
! 806: but WITHOUT ANY WARRANTY; without even the implied warranty of
! 807: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 808: GNU General Public License for more details.
! 809:
! 810: You should have received a copy of the GNU General Public License
! 811: along with this program; if not, write to the Free Software
! 812: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
! 813:
! 814: Also add information on how to contact you by electronic and paper
! 815: mail.
! 816:
! 817: If the program is interactive, make it output a short notice like
! 818: this when it starts in an interactive mode:
! 819:
! 820: Gnomovision version 69, Copyright (C) YEAR NAME OF AUTHOR
! 821: Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
! 822: This is free software, and you are welcome to redistribute it
! 823: under certain conditions; type `show c' for details.
! 824:
! 825: The hypothetical commands 'show w' and 'show c' should show the
! 826: appropriate parts of the General Public License. Of course, the
! 827: commands you use may be called something other than 'show w' and 'show
! 828: c'; they could even be mouse-clicks or menu items--whatever suits your
! 829: program.
! 830:
! 831: You should also get your employer (if you work as a programmer) or
! 832: your school, if any, to sign a "copyright disclaimer" for the program,
! 833: if necessary. Here is a sample; alter the names:
! 834:
! 835: Yoyodyne, Inc., hereby disclaims all copyright interest in the program
! 836: `Gnomovision' (which makes passes at compilers) written by James Hacker.
! 837:
! 838: SIGNATURE OF TY COON, 1 April 1989
! 839: Ty Coon, President of Vice
! 840:
! 841: This General Public License does not permit incorporating your
! 842: program into proprietary programs. If your program is a subroutine
! 843: library, you may consider it more useful to permit linking proprietary
! 844: applications with the library. If this is what you want to do, use the
! 845: GNU Lesser General Public License instead of this License.
! 846:
! 847:
! 848: File: mach.info, Node: Documentation License, Next: Concept Index, Prev: Copying, Up: Top
! 849:
! 850: Appendix A Documentation License
! 851: ********************************
! 852:
! 853: This manual is copyrighted and licensed under the GNU Free Documentation
! 854: license.
! 855:
! 856: Parts of this manual are derived from the Mach manual packages
! 857: originally provided by Carnegie Mellon University.
! 858:
! 859: * Menu:
! 860:
! 861: * GNU Free Documentation License:: The GNU Free Documentation License.
! 862: * CMU License:: The CMU license applies to the original Mach
! 863: kernel and its documentation.
! 864:
! 865:
! 866: File: mach.info, Node: GNU Free Documentation License, Next: CMU License, Up: Documentation License
! 867:
! 868: A.1 GNU Free Documentation License
! 869: ==================================
! 870:
! 871: Version 1.2, November 2002
! 872:
! 873: Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
! 874: 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
! 875:
! 876: Everyone is permitted to copy and distribute verbatim copies
! 877: of this license document, but changing it is not allowed.
! 878:
! 879: 0. PREAMBLE
! 880:
! 881: The purpose of this License is to make a manual, textbook, or other
! 882: functional and useful document "free" in the sense of freedom: to
! 883: assure everyone the effective freedom to copy and redistribute it,
! 884: with or without modifying it, either commercially or
! 885: noncommercially. Secondarily, this License preserves for the
! 886: author and publisher a way to get credit for their work, while not
! 887: being considered responsible for modifications made by others.
! 888:
! 889: This License is a kind of "copyleft", which means that derivative
! 890: works of the document must themselves be free in the same sense.
! 891: It complements the GNU General Public License, which is a copyleft
! 892: license designed for free software.
! 893:
! 894: We have designed this License in order to use it for manuals for
! 895: free software, because free software needs free documentation: a
! 896: free program should come with manuals providing the same freedoms
! 897: that the software does. But this License is not limited to
! 898: software manuals; it can be used for any textual work, regardless
! 899: of subject matter or whether it is published as a printed book. We
! 900: recommend this License principally for works whose purpose is
! 901: instruction or reference.
! 902:
! 903: 1. APPLICABILITY AND DEFINITIONS
! 904:
! 905: This License applies to any manual or other work, in any medium,
! 906: that contains a notice placed by the copyright holder saying it can
! 907: be distributed under the terms of this License. Such a notice
! 908: grants a world-wide, royalty-free license, unlimited in duration,
! 909: to use that work under the conditions stated herein. The
! 910: "Document", below, refers to any such manual or work. Any member
! 911: of the public is a licensee, and is addressed as "you". You accept
! 912: the license if you copy, modify or distribute the work in a way
! 913: requiring permission under copyright law.
! 914:
! 915: A "Modified Version" of the Document means any work containing the
! 916: Document or a portion of it, either copied verbatim, or with
! 917: modifications and/or translated into another language.
! 918:
! 919: A "Secondary Section" is a named appendix or a front-matter section
! 920: of the Document that deals exclusively with the relationship of the
! 921: publishers or authors of the Document to the Document's overall
! 922: subject (or to related matters) and contains nothing that could
! 923: fall directly within that overall subject. (Thus, if the Document
! 924: is in part a textbook of mathematics, a Secondary Section may not
! 925: explain any mathematics.) The relationship could be a matter of
! 926: historical connection with the subject or with related matters, or
! 927: of legal, commercial, philosophical, ethical or political position
! 928: regarding them.
! 929:
! 930: The "Invariant Sections" are certain Secondary Sections whose
! 931: titles are designated, as being those of Invariant Sections, in the
! 932: notice that says that the Document is released under this License.
! 933: If a section does not fit the above definition of Secondary then it
! 934: is not allowed to be designated as Invariant. The Document may
! 935: contain zero Invariant Sections. If the Document does not identify
! 936: any Invariant Sections then there are none.
! 937:
! 938: The "Cover Texts" are certain short passages of text that are
! 939: listed, as Front-Cover Texts or Back-Cover Texts, in the notice
! 940: that says that the Document is released under this License. A
! 941: Front-Cover Text may be at most 5 words, and a Back-Cover Text may
! 942: be at most 25 words.
! 943:
! 944: A "Transparent" copy of the Document means a machine-readable copy,
! 945: represented in a format whose specification is available to the
! 946: general public, that is suitable for revising the document
! 947: straightforwardly with generic text editors or (for images composed
! 948: of pixels) generic paint programs or (for drawings) some widely
! 949: available drawing editor, and that is suitable for input to text
! 950: formatters or for automatic translation to a variety of formats
! 951: suitable for input to text formatters. A copy made in an otherwise
! 952: Transparent file format whose markup, or absence of markup, has
! 953: been arranged to thwart or discourage subsequent modification by
! 954: readers is not Transparent. An image format is not Transparent if
! 955: used for any substantial amount of text. A copy that is not
! 956: "Transparent" is called "Opaque".
! 957:
! 958: Examples of suitable formats for Transparent copies include plain
! 959: ASCII without markup, Texinfo input format, LaTeX input format,
! 960: SGML or XML using a publicly available DTD, and standard-conforming
! 961: simple HTML, PostScript or PDF designed for human modification.
! 962: Examples of transparent image formats include PNG, XCF and JPG.
! 963: Opaque formats include proprietary formats that can be read and
! 964: edited only by proprietary word processors, SGML or XML for which
! 965: the DTD and/or processing tools are not generally available, and
! 966: the machine-generated HTML, PostScript or PDF produced by some word
! 967: processors for output purposes only.
! 968:
! 969: The "Title Page" means, for a printed book, the title page itself,
! 970: plus such following pages as are needed to hold, legibly, the
! 971: material this License requires to appear in the title page. For
! 972: works in formats which do not have any title page as such, "Title
! 973: Page" means the text near the most prominent appearance of the
! 974: work's title, preceding the beginning of the body of the text.
! 975:
! 976: A section "Entitled XYZ" means a named subunit of the Document
! 977: whose title either is precisely XYZ or contains XYZ in parentheses
! 978: following text that translates XYZ in another language. (Here XYZ
! 979: stands for a specific section name mentioned below, such as
! 980: "Acknowledgements", "Dedications", "Endorsements", or "History".)
! 981: To "Preserve the Title" of such a section when you modify the
! 982: Document means that it remains a section "Entitled XYZ" according
! 983: to this definition.
! 984:
! 985: The Document may include Warranty Disclaimers next to the notice
! 986: which states that this License applies to the Document. These
! 987: Warranty Disclaimers are considered to be included by reference in
! 988: this License, but only as regards disclaiming warranties: any other
! 989: implication that these Warranty Disclaimers may have is void and
! 990: has no effect on the meaning of this License.
! 991:
! 992: 2. VERBATIM COPYING
! 993:
! 994: You may copy and distribute the Document in any medium, either
! 995: commercially or noncommercially, provided that this License, the
! 996: copyright notices, and the license notice saying this License
! 997: applies to the Document are reproduced in all copies, and that you
! 998: add no other conditions whatsoever to those of this License. You
! 999: may not use technical measures to obstruct or control the reading
! 1000: or further copying of the copies you make or distribute. However,
! 1001: you may accept compensation in exchange for copies. If you
! 1002: distribute a large enough number of copies you must also follow the
! 1003: conditions in section 3.
! 1004:
! 1005: You may also lend copies, under the same conditions stated above,
! 1006: and you may publicly display copies.
! 1007:
! 1008: 3. COPYING IN QUANTITY
! 1009:
! 1010: If you publish printed copies (or copies in media that commonly
! 1011: have printed covers) of the Document, numbering more than 100, and
! 1012: the Document's license notice requires Cover Texts, you must
! 1013: enclose the copies in covers that carry, clearly and legibly, all
! 1014: these Cover Texts: Front-Cover Texts on the front cover, and
! 1015: Back-Cover Texts on the back cover. Both covers must also clearly
! 1016: and legibly identify you as the publisher of these copies. The
! 1017: front cover must present the full title with all words of the title
! 1018: equally prominent and visible. You may add other material on the
! 1019: covers in addition. Copying with changes limited to the covers, as
! 1020: long as they preserve the title of the Document and satisfy these
! 1021: conditions, can be treated as verbatim copying in other respects.
! 1022:
! 1023: If the required texts for either cover are too voluminous to fit
! 1024: legibly, you should put the first ones listed (as many as fit
! 1025: reasonably) on the actual cover, and continue the rest onto
! 1026: adjacent pages.
! 1027:
! 1028: If you publish or distribute Opaque copies of the Document
! 1029: numbering more than 100, you must either include a machine-readable
! 1030: Transparent copy along with each Opaque copy, or state in or with
! 1031: each Opaque copy a computer-network location from which the general
! 1032: network-using public has access to download using public-standard
! 1033: network protocols a complete Transparent copy of the Document, free
! 1034: of added material. If you use the latter option, you must take
! 1035: reasonably prudent steps, when you begin distribution of Opaque
! 1036: copies in quantity, to ensure that this Transparent copy will
! 1037: remain thus accessible at the stated location until at least one
! 1038: year after the last time you distribute an Opaque copy (directly or
! 1039: through your agents or retailers) of that edition to the public.
! 1040:
! 1041: It is requested, but not required, that you contact the authors of
! 1042: the Document well before redistributing any large number of copies,
! 1043: to give them a chance to provide you with an updated version of the
! 1044: Document.
! 1045:
! 1046: 4. MODIFICATIONS
! 1047:
! 1048: You may copy and distribute a Modified Version of the Document
! 1049: under the conditions of sections 2 and 3 above, provided that you
! 1050: release the Modified Version under precisely this License, with the
! 1051: Modified Version filling the role of the Document, thus licensing
! 1052: distribution and modification of the Modified Version to whoever
! 1053: possesses a copy of it. In addition, you must do these things in
! 1054: the Modified Version:
! 1055:
! 1056: A. Use in the Title Page (and on the covers, if any) a title
! 1057: distinct from that of the Document, and from those of previous
! 1058: versions (which should, if there were any, be listed in the
! 1059: History section of the Document). You may use the same title
! 1060: as a previous version if the original publisher of that
! 1061: version gives permission.
! 1062:
! 1063: B. List on the Title Page, as authors, one or more persons or
! 1064: entities responsible for authorship of the modifications in
! 1065: the Modified Version, together with at least five of the
! 1066: principal authors of the Document (all of its principal
! 1067: authors, if it has fewer than five), unless they release you
! 1068: from this requirement.
! 1069:
! 1070: C. State on the Title page the name of the publisher of the
! 1071: Modified Version, as the publisher.
! 1072:
! 1073: D. Preserve all the copyright notices of the Document.
! 1074:
! 1075: E. Add an appropriate copyright notice for your modifications
! 1076: adjacent to the other copyright notices.
! 1077:
! 1078: F. Include, immediately after the copyright notices, a license
! 1079: notice giving the public permission to use the Modified
! 1080: Version under the terms of this License, in the form shown in
! 1081: the Addendum below.
! 1082:
! 1083: G. Preserve in that license notice the full lists of Invariant
! 1084: Sections and required Cover Texts given in the Document's
! 1085: license notice.
! 1086:
! 1087: H. Include an unaltered copy of this License.
! 1088:
! 1089: I. Preserve the section Entitled "History", Preserve its Title,
! 1090: and add to it an item stating at least the title, year, new
! 1091: authors, and publisher of the Modified Version as given on the
! 1092: Title Page. If there is no section Entitled "History" in the
! 1093: Document, create one stating the title, year, authors, and
! 1094: publisher of the Document as given on its Title Page, then add
! 1095: an item describing the Modified Version as stated in the
! 1096: previous sentence.
! 1097:
! 1098: J. Preserve the network location, if any, given in the Document
! 1099: for public access to a Transparent copy of the Document, and
! 1100: likewise the network locations given in the Document for
! 1101: previous versions it was based on. These may be placed in the
! 1102: "History" section. You may omit a network location for a work
! 1103: that was published at least four years before the Document
! 1104: itself, or if the original publisher of the version it refers
! 1105: to gives permission.
! 1106:
! 1107: K. For any section Entitled "Acknowledgements" or "Dedications",
! 1108: Preserve the Title of the section, and preserve in the section
! 1109: all the substance and tone of each of the contributor
! 1110: acknowledgements and/or dedications given therein.
! 1111:
! 1112: L. Preserve all the Invariant Sections of the Document, unaltered
! 1113: in their text and in their titles. Section numbers or the
! 1114: equivalent are not considered part of the section titles.
! 1115:
! 1116: M. Delete any section Entitled "Endorsements". Such a section
! 1117: may not be included in the Modified Version.
! 1118:
! 1119: N. Do not retitle any existing section to be Entitled
! 1120: "Endorsements" or to conflict in title with any Invariant
! 1121: Section.
! 1122:
! 1123: O. Preserve any Warranty Disclaimers.
! 1124:
! 1125: If the Modified Version includes new front-matter sections or
! 1126: appendices that qualify as Secondary Sections and contain no
! 1127: material copied from the Document, you may at your option designate
! 1128: some or all of these sections as invariant. To do this, add their
! 1129: titles to the list of Invariant Sections in the Modified Version's
! 1130: license notice. These titles must be distinct from any other
! 1131: section titles.
! 1132:
! 1133: You may add a section Entitled "Endorsements", provided it contains
! 1134: nothing but endorsements of your Modified Version by various
! 1135: parties--for example, statements of peer review or that the text
! 1136: has been approved by an organization as the authoritative
! 1137: definition of a standard.
! 1138:
! 1139: You may add a passage of up to five words as a Front-Cover Text,
! 1140: and a passage of up to 25 words as a Back-Cover Text, to the end of
! 1141: the list of Cover Texts in the Modified Version. Only one passage
! 1142: of Front-Cover Text and one of Back-Cover Text may be added by (or
! 1143: through arrangements made by) any one entity. If the Document
! 1144: already includes a cover text for the same cover, previously added
! 1145: by you or by arrangement made by the same entity you are acting on
! 1146: behalf of, you may not add another; but you may replace the old
! 1147: one, on explicit permission from the previous publisher that added
! 1148: the old one.
! 1149:
! 1150: The author(s) and publisher(s) of the Document do not by this
! 1151: License give permission to use their names for publicity for or to
! 1152: assert or imply endorsement of any Modified Version.
! 1153:
! 1154: 5. COMBINING DOCUMENTS
! 1155:
! 1156: You may combine the Document with other documents released under
! 1157: this License, under the terms defined in section 4 above for
! 1158: modified versions, provided that you include in the combination all
! 1159: of the Invariant Sections of all of the original documents,
! 1160: unmodified, and list them all as Invariant Sections of your
! 1161: combined work in its license notice, and that you preserve all
! 1162: their Warranty Disclaimers.
! 1163:
! 1164: The combined work need only contain one copy of this License, and
! 1165: multiple identical Invariant Sections may be replaced with a single
! 1166: copy. If there are multiple Invariant Sections with the same name
! 1167: but different contents, make the title of each such section unique
! 1168: by adding at the end of it, in parentheses, the name of the
! 1169: original author or publisher of that section if known, or else a
! 1170: unique number. Make the same adjustment to the section titles in
! 1171: the list of Invariant Sections in the license notice of the
! 1172: combined work.
! 1173:
! 1174: In the combination, you must combine any sections Entitled
! 1175: "History" in the various original documents, forming one section
! 1176: Entitled "History"; likewise combine any sections Entitled
! 1177: "Acknowledgements", and any sections Entitled "Dedications". You
! 1178: must delete all sections Entitled "Endorsements."
! 1179:
! 1180: 6. COLLECTIONS OF DOCUMENTS
! 1181:
! 1182: You may make a collection consisting of the Document and other
! 1183: documents released under this License, and replace the individual
! 1184: copies of this License in the various documents with a single copy
! 1185: that is included in the collection, provided that you follow the
! 1186: rules of this License for verbatim copying of each of the documents
! 1187: in all other respects.
! 1188:
! 1189: You may extract a single document from such a collection, and
! 1190: distribute it individually under this License, provided you insert
! 1191: a copy of this License into the extracted document, and follow this
! 1192: License in all other respects regarding verbatim copying of that
! 1193: document.
! 1194:
! 1195: 7. AGGREGATION WITH INDEPENDENT WORKS
! 1196:
! 1197: A compilation of the Document or its derivatives with other
! 1198: separate and independent documents or works, in or on a volume of a
! 1199: storage or distribution medium, is called an "aggregate" if the
! 1200: copyright resulting from the compilation is not used to limit the
! 1201: legal rights of the compilation's users beyond what the individual
! 1202: works permit. When the Document is included in an aggregate, this
! 1203: License does not apply to the other works in the aggregate which
! 1204: are not themselves derivative works of the Document.
! 1205:
! 1206: If the Cover Text requirement of section 3 is applicable to these
! 1207: copies of the Document, then if the Document is less than one half
! 1208: of the entire aggregate, the Document's Cover Texts may be placed
! 1209: on covers that bracket the Document within the aggregate, or the
! 1210: electronic equivalent of covers if the Document is in electronic
! 1211: form. Otherwise they must appear on printed covers that bracket
! 1212: the whole aggregate.
! 1213:
! 1214: 8. TRANSLATION
! 1215:
! 1216: Translation is considered a kind of modification, so you may
! 1217: distribute translations of the Document under the terms of section
! 1218: 4. Replacing Invariant Sections with translations requires special
! 1219: permission from their copyright holders, but you may include
! 1220: translations of some or all Invariant Sections in addition to the
! 1221: original versions of these Invariant Sections. You may include a
! 1222: translation of this License, and all the license notices in the
! 1223: Document, and any Warranty Disclaimers, provided that you also
! 1224: include the original English version of this License and the
! 1225: original versions of those notices and disclaimers. In case of a
! 1226: disagreement between the translation and the original version of
! 1227: this License or a notice or disclaimer, the original version will
! 1228: prevail.
! 1229:
! 1230: If a section in the Document is Entitled "Acknowledgements",
! 1231: "Dedications", or "History", the requirement (section 4) to
! 1232: Preserve its Title (section 1) will typically require changing the
! 1233: actual title.
! 1234:
! 1235: 9. TERMINATION
! 1236:
! 1237: You may not copy, modify, sublicense, or distribute the Document
! 1238: except as expressly provided for under this License. Any other
! 1239: attempt to copy, modify, sublicense or distribute the Document is
! 1240: void, and will automatically terminate your rights under this
! 1241: License. However, parties who have received copies, or rights,
! 1242: from you under this License will not have their licenses terminated
! 1243: so long as such parties remain in full compliance.
! 1244:
! 1245: 10. FUTURE REVISIONS OF THIS LICENSE
! 1246:
! 1247: The Free Software Foundation may publish new, revised versions of
! 1248: the GNU Free Documentation License from time to time. Such new
! 1249: versions will be similar in spirit to the present version, but may
! 1250: differ in detail to address new problems or concerns. See
! 1251: <http://www.gnu.org/copyleft/>.
! 1252:
! 1253: Each version of the License is given a distinguishing version
! 1254: number. If the Document specifies that a particular numbered
! 1255: version of this License "or any later version" applies to it, you
! 1256: have the option of following the terms and conditions either of
! 1257: that specified version or of any later version that has been
! 1258: published (not as a draft) by the Free Software Foundation. If the
! 1259: Document does not specify a version number of this License, you may
! 1260: choose any version ever published (not as a draft) by the Free
! 1261: Software Foundation.
! 1262:
! 1263: ADDENDUM: How to use this License for your documents
! 1264: ====================================================
! 1265:
! 1266: To use this License in a document you have written, include a copy of
! 1267: the License in the document and put the following copyright and license
! 1268: notices just after the title page:
! 1269:
! 1270: Copyright (C) YEAR YOUR NAME.
! 1271: Permission is granted to copy, distribute and/or modify this document
! 1272: under the terms of the GNU Free Documentation License, Version 1.2
! 1273: or any later version published by the Free Software Foundation;
! 1274: with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
! 1275: Texts. A copy of the license is included in the section entitled ``GNU
! 1276: Free Documentation License''.
! 1277:
! 1278: If you have Invariant Sections, Front-Cover Texts and Back-Cover
! 1279: Texts, replace the "with...Texts." line with this:
! 1280:
! 1281: with the Invariant Sections being LIST THEIR TITLES, with
! 1282: the Front-Cover Texts being LIST, and with the Back-Cover Texts
! 1283: being LIST.
! 1284:
! 1285: If you have Invariant Sections without Cover Texts, or some other
! 1286: combination of the three, merge those two alternatives to suit the
! 1287: situation.
! 1288:
! 1289: If your document contains nontrivial examples of program code, we
! 1290: recommend releasing these examples in parallel under your choice of free
! 1291: software license, such as the GNU General Public License, to permit
! 1292: their use in free software.
! 1293:
! 1294:
! 1295: File: mach.info, Node: CMU License, Prev: GNU Free Documentation License, Up: Documentation License
! 1296:
! 1297: A.2 CMU License
! 1298: ===============
! 1299:
! 1300: Mach Operating System
! 1301: Copyright (C) 1991,1990,1989 Carnegie Mellon University
! 1302: All Rights Reserved.
! 1303:
! 1304: Permission to use, copy, modify and distribute this software and
! 1305: its documentation is hereby granted, provided that both the
! 1306: copyright notice and this permission notice appear in all copies of
! 1307: the software, derivative works or modified versions, and any
! 1308: portions thereof, and that both notices appear in supporting
! 1309: documentation.
! 1310:
! 1311: CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
! 1312: CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
! 1313: ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
! 1314:
! 1315: Carnegie Mellon requests users of this software to return to
! 1316:
! 1317: Software Distribution Coordinator
! 1318: School of Computer Science
! 1319: Carnegie Mellon University
! 1320: Pittsburgh PA 15213-3890
! 1321:
! 1322: or <[email protected]> any improvements or
! 1323: extensions that they make and grant Carnegie Mellon the rights to
! 1324: redistribute these changes.
! 1325:
! 1326:
! 1327: File: mach.info, Node: Concept Index, Next: Function and Data Index, Prev: Documentation License, Up: Top
! 1328:
! 1329: Concept Index
! 1330: *************
! 1331:
! 1332: