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