diff options
Diffstat (limited to 'doc/mach.info-2')
-rw-r--r-- | doc/mach.info-2 | 1663 |
1 files changed, 1663 insertions, 0 deletions
diff --git a/doc/mach.info-2 b/doc/mach.info-2 new file mode 100644 index 0000000..806539f --- /dev/null +++ b/doc/mach.info-2 @@ -0,0 +1,1663 @@ +This is ../doc/mach.info, produced by makeinfo version 4.8 from +../doc/mach.texi. + +INFO-DIR-SECTION Kernel +START-INFO-DIR-ENTRY +* GNUMach: (mach). Using and programming the GNU Mach microkernel. +END-INFO-DIR-ENTRY + + This file documents the GNU Mach microkernel. + + This is Edition 0.4, last updated 2001-09-01, of `The GNU Mach +Reference Manual', for Version 1.3.99. + + Copyright (C) 2001 Free Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being "Free Software Needs Free Documentation" and +"GNU Lesser General Public License", the Front-Cover texts being (a) +(see below), and with the Back-Cover Texts being (b) (see below). A +copy of the license is included in the section entitled "GNU Free +Documentation License". + + (a) The FSF's Front-Cover Text is: + + A GNU Manual + + (b) The FSF's Back-Cover Text is: + + You have freedom to copy and modify this GNU Manual, like GNU +software. Copies published by the Free Software Foundation raise +funds for GNU development. + + This work is based on manual pages under the following copyright and +license: + +Mach Operating System +Copyright (C) 1991,1990 Carnegie Mellon University +All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its +documentation is hereby granted, provided that both the copyright +notice and this permission notice appear in all copies of the software, +derivative works or modified versions, and any portions thereof, and +that both notices appear in supporting documentation. + + CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" +CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY +DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + + +File: mach.info, Node: Commands, Next: Variables, Prev: Operation, Up: Kernel Debugger + +11.2 Commands +============= + +`examine(x) [/MODIFIER] ADDR[,COUNT] [ THREAD ]' + Display the addressed locations according to the formats in the + modifier. Multiple modifier formats display multiple locations. + If no format is specified, the last formats specified for this + command is used. Address space other than that of the current + thread can be specified with `t' option in the modifier and THREAD + parameter. The format characters are + + `b' + look at by bytes(8 bits) + + `h' + look at by half words(16 bits) + + `l' + look at by long words(32 bits) + + `a' + print the location being displayed + + `,' + skip one unit producing no output + + `A' + print the location with a line number if possible + + `x' + display in unsigned hex + + `z' + display in signed hex + + `o' + display in unsigned octal + + `d' + display in signed decimal + + `u' + display in unsigned decimal + + `r' + display in current radix, signed + + `c' + display low 8 bits as a character. Non-printing characters + are displayed as an octal escape code (e.g. '\000'). + + `s' + display the null-terminated string at the location. + Non-printing characters are displayed as octal escapes. + + `m' + display in unsigned hex with character dump at the end of + each line. The location is also displayed in hex at the + beginning of each line. + + `i' + display as an instruction + + `I' + display as an instruction with possible alternate formats + depending on the machine: + + `vax' + don't assume that each external label is a procedure + entry mask + + `i386' + don't round to the next long word boundary + + `mips' + print register contents + +`xf' + Examine forward. It executes an examine command with the last + specified parameters to it except that the next address displayed + by it is used as the start address. + +`xb' + Examine backward. It executes an examine command with the last + specified parameters to it except that the last start address + subtracted by the size displayed by it is used as the start + address. + +`print[/axzodurc] ADDR1 [ ADDR2 ... ]' + Print ADDR's according to the modifier character. Valid formats + are: `a' `x' `z' `o' `d' `u' `r' `c'. If no modifier is + specified, the last one specified to it is used. ADDR can be a + string, and it is printed as it is. For example, + + print/x "eax = " $eax "\necx = " $ecx "\n" + + will print like + + eax = xxxxxx + ecx = yyyyyy + +`write[/bhlt] ADDR [ THREAD ] EXPR1 [ EXPR2 ... ]' + Write the expressions at succeeding locations. The write unit + size can be specified in the modifier with a letter b (byte), h + (half word) or l(long word) respectively. If omitted, long word + is assumed. Target address space can also be specified with `t' + option in the modifier and THREAD parameter. Warning: since there + is no delimiter between expressions, strange things may happen. + It's best to enclose each expression in parentheses. + +`set $VARIABLE [=] EXPR' + Set the named variable or register with the value of EXPR. Valid + variable names are described below. + +`break[/tuTU] ADDR[,COUNT] [ THREAD1 ... ]' + Set a break point at ADDR. If count is supplied, continues + (COUNT-1) times before stopping at the break point. If the break + point is set, a break point number is printed with `#'. This + number can be used in deleting the break point or adding + conditions to it. + + `t' + Set a break point only for a specific thread. The thread is + specified by THREAD parameter, or default one is used if the + parameter is omitted. + + `u' + Set a break point in user space address. It may be combined + with `t' or `T' option to specify the non-current target user + space. Without `u' option, the address is considered in the + kernel space, and wrong space address is rejected with an + error message. This option can be used only if it is + supported by machine dependent routines. + + `T' + Set a break point only for threads in a specific task. It is + like `t' option except that the break point is valid for all + threads which belong to the same task as the specified target + thread. + + `U' + Set a break point in shared user space address. It is like + `u' option, except that the break point is valid for all + threads which share the same address space even if `t' option + is specified. `t' option is used only to specify the target + shared space. Without `t' option, `u' and `U' have the same + meanings. `U' is useful for setting a user space break point + in non-current address space with `t' option such as in an + emulation library space. This option can be used only if it + is supported by machine dependent routines. + + Warning: if a user text is shadowed by a normal user space + debugger, user space break points may not work correctly. Setting + a break point at the low-level code paths may also cause strange + behavior. + +`delete[/tuTU] ADDR|#NUMBER [ THREAD1 ... ]' + Delete the break point. The target break point can be specified + by a break point number with `#', or by ADDR like specified in + `break' command. + +`cond #NUMBER [ CONDITION COMMANDS ]' + Set or delete a condition for the break point specified by the + NUMBER. If the CONDITION and COMMANDS are null, the condition is + deleted. Otherwise the condition is set for it. When the break + point is hit, the CONDITION is evaluated. The COMMANDS will be + executed if the condition is true and the break point count set by + a break point command becomes zero. COMMANDS is a list of + commands separated by semicolons. Each command in the list is + executed in that order, but if a `continue' command is executed, + the command execution stops there, and the stopped thread resumes + execution. If the command execution reaches the end of the list, + and it enters into a command input mode. For example, + + set $work0 0 + break/Tu xxx_start $task7.0 + cond #1 (1) set $work0 1; set $work1 0; cont + break/T vm_fault $task7.0 + cond #2 ($work0) set $work1 ($work1+1); cont + break/Tu xxx_end $task7.0 + cond #3 ($work0) print $work1 " faults\n"; set $work0 0 + cont + + will print page fault counts from `xxx_start' to `xxx_end' in + `task7'. + +`step[/p] [,COUNT]' + Single step COUNT times. If `p' option is specified, print each + instruction at each step. Otherwise, only print the last + instruction. + + Warning: depending on machine type, it may not be possible to + single-step through some low-level code paths or user space code. + On machines with software-emulated single-stepping (e.g., pmax), + stepping through code executed by interrupt handlers will probably + do the wrong thing. + +`continue[/c]' + Continue execution until a breakpoint or watchpoint. If `/c', + count instructions while executing. Some machines (e.g., pmax) + also count loads and stores. + + Warning: when counting, the debugger is really silently + single-stepping. This means that single-stepping on low-level + code may cause strange behavior. + +`until' + Stop at the next call or return instruction. + +`next[/p]' + Stop at the matching return instruction. If `p' option is + specified, print the call nesting depth and the cumulative + instruction count at each call or return. Otherwise, only print + when the matching return is hit. + +`match[/p]' + A synonym for `next'. + +`trace[/tu] [ FRAME_ADDR|THREAD ][,COUNT]' + Stack trace. `u' option traces user space; if omitted, only traces + kernel space. If `t' option is specified, it shows the stack trace + of the specified thread or a default target thread. Otherwise, it + shows the stack trace of the current thread from the frame address + specified by a parameter or from the current frame. COUNT is the + number of frames to be traced. If the COUNT is omitted, all + frames are printed. + + Warning: If the target thread's stack is not in the main memory at + that time, the stack trace will fail. User space stack trace is + valid only if the machine dependent code supports it. + +`search[/bhl] ADDR VALUE [MASK] [,COUNT]' + Search memory for a value. This command might fail in interesting + ways if it doesn't find the searched-for value. This is because + `ddb' doesn't always recover from touching bad memory. The + optional count argument limits the search. + +`macro NAME COMMANDS' + Define a debugger macro as NAME. COMMANDS is a list of commands + to be associated with the macro. In the expressions of the + command list, a variable `$argxx' can be used to get a parameter + passed to the macro. When a macro is called, each argument is + evaluated as an expression, and the value is assigned to each + parameter, `$arg1', `$arg2', ... respectively. 10 `$arg' + variables are reserved to each level of macros, and they can be + used as local variables. The nesting of macro can be allowed up + to 5 levels. For example, + + macro xinit set $work0 $arg1 + macro xlist examine/m $work0,4; set $work0 *($work0) + xinit *(xxx_list) + xlist + .... + + will print the contents of a list starting from `xxx_list' by each + `xlist' command. + +`dmacro NAME' + Delete the macro named NAME. + +`show all threads[/ul]' + Display all tasks and threads information. This version of `ddb' + prints more information than previous one. It shows UNIX process + information like `ps' for each task. The UNIX process information + may not be shown if it is not supported in the machine, or the + bottom of the stack of the target task is not in the main memory at + that time. It also shows task and thread identification numbers. + These numbers can be used to specify a task or a thread + symbolically in various commands. The numbers are valid only in + the same debugger session. If the execution is resumed again, the + numbers may change. The current thread can be distinguished from + others by a `#' after the thread id instead of `:'. Without `l' + option, it only shows thread id, thread structure address and the + status for each thread. The status consists of 5 letters, R(run), + W(wait), S(sus pended), O(swapped out) and N(interruptible), and + if corresponding status bit is off, `.' is printed instead. If + `l' option is specified, more detail information is printed for + each thread. + +`show task [ ADDR ]' + Display the information of a task specified by ADDR. If ADDR is + omitted, current task information is displayed. + +`show thread [ ADDR ]' + Display the information of a thread specified by ADDR. If ADDR is + omitted, current thread information is displayed. + +`show registers[/tu [ THREAD ]]' + Display the register set. Target thread can be specified with `t' + option and THREAD parameter. If `u' option is specified, it + displays user registers instead of kernel or currently saved one. + + Warning: The support of `t' and `u' option depends on the machine. + If not supported, incorrect information will be displayed. + +`show map ADDR' + Prints the `vm_map' at ADDR. + +`show object ADDR' + Prints the `vm_object' at ADDR. + +`show page ADDR' + Prints the `vm_page' structure at ADDR. + +`show port ADDR' + Prints the `ipc_port' structure at ADDR. + +`show ipc_port[/t [ THREAD ]]' + Prints all `ipc_port' structure's addresses the target thread has. + The target thread is a current thread or that specified by a + parameter. + +`show macro [ NAME ]' + Show the definitions of macros. If NAME is specified, only the + definition of it is displayed. Otherwise, definitions of all + macros are displayed. + +`show watches' + Displays all watchpoints. + +`watch[/T] ADDR,SIZE [ TASK ]' + Set a watchpoint for a region. Execution stops when an attempt to + modify the region occurs. The SIZE argument defaults to 4. + Without `T' option, ADDR is assumed to be a kernel address. If + you want to set a watch point in user space, specify `T' and TASK + parameter where the address belongs to. If the TASK parameter is + omitted, a task of the default target thread or a current task is + assumed. If you specify a wrong space address, the request is + rejected with an error message. + + Warning: Attempts to watch wired kernel memory may cause + unrecoverable error in some systems such as i386. Watchpoints on + user addresses work best. + + +File: mach.info, Node: Variables, Next: Expressions, Prev: Commands, Up: Kernel Debugger + +11.3 Variables +============== + +The debugger accesses registers and variables as $NAME. Register names +are as in the `show registers' command. Some variables are suffixed +with numbers, and may have some modifier following a colon immediately +after the variable name. For example, register variables can have `u' +and `t' modifier to indicate user register and that of a default target +thread instead of that of the current thread (e.g. `$eax:tu'). + + Built-in variables currently supported are: + +`taskXX[.YY]' + Task or thread structure address. XX and YY are task and thread + identification numbers printed by a `show all threads' command + respectively. This variable is read only. + +`thread' + The default target thread. The value is used when `t' option is + specified without explicit thread structure address parameter in + command lines or expression evaluation. + +`radix' + Input and output radix + +`maxoff' + Addresses are printed as SYMBOL+OFFSET unless offset is greater + than maxoff. + +`maxwidth' + The width of the displayed line. + +`lines' + The number of lines. It is used by `more' feature. + +`tabstops' + Tab stop width. + +`argXX' + Parameters passed to a macro. XX can be 1 to 10. + +`workXX' + Work variable. XX can be 0 to 31. + + +File: mach.info, Node: Expressions, Prev: Variables, Up: Kernel Debugger + +11.4 Expressions +================ + +Almost all expression operators in C are supported except `~', `^', and +unary `&'. Special rules in `ddb' are: + +`IDENTIFIER' + name of a symbol. It is translated to the address(or value) of it. + `.' and `:' can be used in the identifier. If supported by an + object format dependent routine, [FILE_NAME:]FUNC[:LINE_NUMBER] + [FILE_NAME:]VARIABLE, and FILE_NAME[:LINE_NUMBER] can be accepted + as a symbol. The symbol may be prefixed with + `SYMBOL_TABLE_NAME::' like `emulator::mach_msg_trap' to specify + other than kernel symbols. + +`NUMBER' + radix is determined by the first two letters: + `0x' + hex + + `0o' + octal + + `0t' + decimal + + otherwise, follow current radix. + +`.' + dot + +`+' + next + +`..' + address of the start of the last line examined. Unlike dot or + next, this is only changed by `examine' or `write' command. + +`´' + last address explicitly specified. + +`$VARIABLE' + register name or variable. It is translated to the value of it. + It may be followed by a `:' and modifiers as described above. + +`a' + multiple of right hand side. + +`*EXPR' + indirection. It may be followed by a `:' and modifiers as + described above. + + +File: mach.info, Node: Copying, Next: Documentation License, Prev: Kernel Debugger, Up: Top + +Appendix A GNU GENERAL PUBLIC LICENSE +************************************* + + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +A.0.1 Preamble +-------------- + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it in +new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 1. This License applies to any program or other work which contains a + notice placed by the copyright holder saying it may be distributed + under the terms of this General Public License. The "Program", + below, refers to any such program or work, and a "work based on + the Program" means either the Program or any derivative work under + copyright law: that is to say, a work containing the Program or a + portion of it, either verbatim or with modifications and/or + translated into another language. (Hereinafter, translation is + included without limitation in the term "modification".) Each + licensee is addressed as "you". + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running the Program is not restricted, and the output from the + Program is covered only if its contents constitute a work based on + the Program (independent of having been made by running the + Program). Whether that is true depends on what the Program does. + + 2. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an appropriate + copyright notice and disclaimer of warranty; keep intact all the + notices that refer to this License and to the absence of any + warranty; and give any other recipients of the Program a copy of + this License along with the Program. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange + for a fee. + + 3. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a. You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b. You must cause any work that you distribute or publish, that + in whole or in part contains or is derived from the Program + or any part thereof, to be licensed as a whole at no charge + to all third parties under the terms of this License. + + c. If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display + an announcement including an appropriate copyright notice and + a notice that there is no warranty (or else, saying that you + provide a warranty) and that users may redistribute the + program under these conditions, and telling the user how to + view a copy of this License. (Exception: if the Program + itself is interactive but does not normally print such an + announcement, your work based on the Program is not required + to print an announcement.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and separate + works in themselves, then this License, and its terms, do not + apply to those sections when you distribute them as separate + works. But when you distribute the same sections as part of a + whole which is a work based on the Program, the distribution of + the whole must be on the terms of this License, whose permissions + for other licensees extend to the entire whole, and thus to each + and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program. + + In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 4. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the terms + of Sections 1 and 2 above provided that you also do one of the + following: + + a. Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + b. Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange; or, + + c. Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with + such an offer, in accord with Subsection b above.) + + The source code for a work means the preferred form of the work for + making modifications to it. For an executable work, complete + source code means all the source code for all modules it contains, + plus any associated interface definition files, plus the scripts + used to control compilation and installation of the executable. + However, as a special exception, the source code distributed need + not include anything that is normally distributed (in either + source or binary form) with the major components (compiler, + kernel, and so on) of the operating system on which the executable + runs, unless that component itself accompanies the executable. + + If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 6. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify + or distribute the Program or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Program (or any work + based on the Program), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Program or works based on it. + + 7. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program + subject to these terms and conditions. You may not impose any + further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing compliance + by third parties to this License. + + 8. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy simultaneously + your obligations under this License and any other pertinent + obligations, then as a consequence you may not distribute the + Program at all. For example, if a patent license would not permit + royalty-free redistribution of the Program by all those who + receive copies directly or indirectly through you, then the only + way you could satisfy both it and this License would be to refrain + entirely from distribution of the Program. + + If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply and the section as a whole is intended to apply + in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of + any such claims; this section has the sole purpose of protecting + the integrity of the free software distribution system, which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is + willing to distribute software through any other system and a + licensee cannot impose that choice. + + This section is intended to make thoroughly clear what is believed + to be a consequence of the rest of this License. + + 9. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Program under this + License may add an explicit geographical distribution limitation + excluding those countries, so that distribution is permitted only + in or among countries not thus excluded. In such case, this + License incorporates the limitation as if written in the body of + this License. + + 10. The Free Software Foundation may publish revised and/or new + versions of the General Public License from time to time. Such + new versions will be similar in spirit to the present version, but + may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the Program + does not specify a version number of this License, you may choose + any version ever published by the Free Software Foundation. + + 11. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to the + author to ask for permission. For software which is copyrighted + by the Free Software Foundation, write to the Free Software + Foundation; we sometimes make exceptions for this. Our decision + will be guided by the two goals of preserving the free status of + all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY + OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +============================================= + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + ONE LINE TO GIVE THE PROGRAM'S NAME AND AN IDEA OF WHAT IT DOES. + Copyright (C) 19YY NAME OF AUTHOR + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + + Also add information on how to contact you by electronic and paper +mail. + + If the program is interactive, make it output a short notice like +this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. + + The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + SIGNATURE OF TY COON, 1 April 1989 + Ty Coon, President of Vice + + This General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +GNU Library General Public License instead of this License. + + +File: mach.info, Node: Documentation License, Next: Concept Index, Prev: Copying, Up: Top + +Appendix B Documentation License +******************************** + +This manual is copyrighted and licensed under the GNU Free Documentation +license. + + Parts of this manual are derived from the Mach manual packages +originally provided by Carnegie Mellon University. + +* Menu: + +* Free Documentation License:: The GNU Free Documentation License. +* CMU License:: The CMU license applies to the original Mach + kernel and its documentation. + + +File: mach.info, Node: Free Documentation License, Next: CMU License, Up: Documentation License + +B.1 GNU Free Documentation License +================================== + + Version 1.1, March 2000 + + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + written document "free" in the sense of freedom: to assure everyone + the effective freedom to copy and redistribute it, with or without + modifying it, either commercially or noncommercially. Secondarily, + this License preserves for the author and publisher a way to get + credit for their work, while not being considered responsible for + modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work that contains a + notice placed by the copyright holder saying it can be distributed + under the terms of this License. The "Document", below, refers to + any such manual or work. Any member of the public is a licensee, + and is addressed as "you". + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter + section of the Document that deals exclusively with the + relationship of the publishers or authors of the Document to the + Document's overall subject (or to related matters) and contains + nothing that could fall directly within that overall subject. + (For example, if the Document is in part a textbook of + mathematics, a Secondary Section may not explain any mathematics.) + The relationship could be a matter of historical connection with + the subject or with related matters, or of legal, commercial, + philosophical, ethical or political position regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, whose contents can be viewed and edited directly + and straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup has been designed + to thwart or discourage subsequent modification by readers is not + Transparent. A copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML designed for human modification. + Opaque formats include PostScript, PDF, proprietary formats that + can be read and edited only by proprietary word processors, SGML + or XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies of the Document numbering more than + 100, and the Document's license notice requires Cover Texts, you + must enclose the copies in covers that carry, clearly and legibly, + all these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a publicly-accessible + computer-network location containing a complete Transparent copy + of the Document, free of added material, which the general + network-using public has access to download anonymously at no + charge using public-standard network protocols. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has less than five). + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section entitled "History", and its title, and + add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. In any section entitled "Acknowledgments" or "Dedications", + preserve the section's title, and preserve in the section all + the substance and tone of each of the contributor + acknowledgments and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section as "Endorsements" or to + conflict in title with any Invariant Section. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections entitled + "History" in the various original documents, forming one section + entitled "History"; likewise combine any sections entitled + "Acknowledgments", and any sections entitled "Dedications". You + must delete all sections entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, does not as a whole count as a + Modified Version of the Document, provided no compilation + copyright is claimed for the compilation. Such a compilation is + called an "aggregate", and this License does not apply to the + other self-contained works thus compiled with the Document, on + account of their being thus compiled, if they are not themselves + derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one + quarter of the entire aggregate, the Document's Cover Texts may be + placed on covers that surround only the Document within the + aggregate. Otherwise they must appear on covers around the whole + aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License provided that you also include the + original English version of this License. In case of a + disagreement between the translation and the original English + version of this License, the original English version will prevail. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +B.1.0.1 ADDENDUM: How to use this License for your documents +............................................................ + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no Front-Cover +Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being +LIST"; likewise for Back-Cover Texts. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. + + +File: mach.info, Node: CMU License, Prev: Free Documentation License, Up: Documentation License + +B.2 CMU License +=============== + + Mach Operating System + Copyright (C) 1991,1990,1989 Carnegie Mellon University + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and + its documentation is hereby granted, provided that both the + copyright notice and this permission notice appear in all copies + of the software, derivative works or modified versions, and any + portions thereof, and that both notices appear in supporting + documentation. + + CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" + CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR + ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + + Carnegie Mellon requests users of this software to return to + + Software Distribution Coordinator + School of Computer Science + Carnegie Mellon University + Pittsburgh PA 15213-3890 + + or <Software.Distribution@CS.CMU.EDU> any improvements or + extensions that they make and grant Carnegie Mellon the rights to + redistribute these changes. + + +File: mach.info, Node: Concept Index, Next: Function and Data Index, Prev: Documentation License, Up: Top + +Concept Index +************* + + +* Menu: + +* communication between tasks: Major Concepts. (line 6) +* composing messages: Message Format. (line 6) +* device port: Device Interface. (line 13) +* FDL, GNU Free Documentation License: Free Documentation License. + (line 6) +* format of a message: Message Format. (line 6) +* GPL, GNU General Public License: Copying. (line 6) +* GRand Unified Bootloader: Bootloader. (line 13) +* GRUB: Bootloader. (line 13) +* host control port: Host Ports. (line 34) +* host interface: Host Interface. (line 6) +* host name port: Host Ports. (line 6) +* host ports: Host Ports. (line 6) +* interprocess communication (IPC): Major Concepts. (line 6) +* IPC (interprocess communication): Major Concepts. (line 6) +* IPC space port: Port Manipulation Interface. + (line 9) +* message composition: Message Format. (line 6) +* message format: Message Format. (line 6) +* messages: Major Concepts. (line 6) +* moving port rights: Exchanging Port Rights. + (line 6) +* port representing a device: Device Interface. (line 13) +* port representing a processor: Processor Interface. (line 6) +* port representing a processor set name: Processor Set Ports. (line 6) +* port representing a task: Task Interface. (line 6) +* port representing a thread: Thread Interface. (line 6) +* port representing a virtual memory map: Virtual Memory Interface. + (line 6) +* port representing an IPC space: Port Manipulation Interface. + (line 9) +* ports representing a host: Host Ports. (line 6) +* ports representing a processor set: Processor Set Ports. (line 6) +* processor port: Processor Interface. (line 6) +* processor set name port: Processor Set Ports. (line 6) +* processor set port: Processor Set Ports. (line 13) +* processor set ports: Processor Set Ports. (line 6) +* receiving memory: Memory. (line 6) +* receiving port rights: Exchanging Port Rights. + (line 6) +* remote procedure calls (RPC): Major Concepts. (line 6) +* RPC (remote procedure calls): Major Concepts. (line 6) +* sending memory: Memory. (line 6) +* sending messages: Message Send. (line 6) +* sending port rights: Exchanging Port Rights. + (line 6) +* serverboot: Modules. (line 6) +* task port: Task Interface. (line 6) +* thread port: Thread Interface. (line 6) +* virtual memory map port: Virtual Memory Interface. + (line 6) + + +File: mach.info, Node: Function and Data Index, Prev: Concept Index, Up: Top + +Function and Data Index +*********************** + + +* Menu: + +* catch_exception_raise: Exceptions. (line 9) +* device_close: Device Close. (line 7) +* device_get_status: Device Status. (line 20) +* device_map: Device Map. (line 9) +* device_open: Device Open. (line 8) +* device_open_request: Device Open. (line 36) +* device_read: Device Read. (line 9) +* device_read_inband: Device Read. (line 27) +* device_read_request: Device Read. (line 34) +* device_read_request_inband: Device Read. (line 51) +* device_reply_server: Device Reply Server. (line 12) +* device_set_filter: Device Filter. (line 10) +* device_set_status: Device Status. (line 9) +* device_t: Device Interface. (line 14) +* device_write: Device Write. (line 9) +* device_write_inband: Device Write. (line 24) +* device_write_request: Device Write. (line 31) +* device_write_request_inband: Device Write. (line 49) +* ds_device_open_reply: Device Open. (line 39) +* ds_device_read_reply: Device Read. (line 37) +* ds_device_read_reply_inband: Device Read. (line 54) +* ds_device_write_reply: Device Write. (line 34) +* ds_device_write_reply_inband: Device Write. (line 52) +* evc_wait: Exceptions. (line 18) +* exception_raise: Exceptions. (line 15) +* host_adjust_time: Host Time. (line 43) +* host_basic_info_t: Host Information. (line 75) +* host_get_boot_info: Host Information. (line 114) +* host_get_time: Host Time. (line 34) +* host_info: Host Information. (line 9) +* host_kernel_version: Host Information. (line 96) +* host_priv_t: Host Ports. (line 35) +* host_processor_set_priv: Processor Set Access. + (line 25) +* host_processor_sets: Processor Set Access. + (line 9) +* host_processors: Hosted Processors. (line 9) +* host_reboot: Host Reboot. (line 8) +* host_sched_info_t: Host Information. (line 92) +* host_set_time: Host Time. (line 39) +* host_t: Host Ports. (line 7) +* ipc_space_t: Port Manipulation Interface. + (line 10) +* mach_host_self: Host Ports. (line 14) +* mach_msg: Mach Message Call. (line 13) +* mach_msg_bits_t: Message Format. (line 21) +* mach_msg_header_t: Message Format. (line 33) +* mach_msg_id_t: Message Format. (line 29) +* mach_msg_size_t: Message Format. (line 25) +* mach_msg_timeout_t: Mach Message Call. (line 61) +* mach_msg_type_long_t: Message Format. (line 248) +* mach_msg_type_name_t: Message Format. (line 128) +* mach_msg_type_number_t: Message Format. (line 138) +* MACH_MSG_TYPE_PORT_ANY: Message Format. (line 234) +* MACH_MSG_TYPE_PORT_ANY_RIGHT: Message Format. (line 244) +* MACH_MSG_TYPE_PORT_ANY_SEND: Message Format. (line 239) +* mach_msg_type_size_t: Message Format. (line 133) +* mach_msg_type_t: Message Format. (line 143) +* MACH_MSGH_BITS: Message Format. (line 96) +* MACH_MSGH_BITS_LOCAL: Message Format. (line 108) +* MACH_MSGH_BITS_OTHER: Message Format. (line 117) +* MACH_MSGH_BITS_PORTS: Message Format. (line 112) +* MACH_MSGH_BITS_REMOTE: Message Format. (line 103) +* mach_port_allocate: Port Creation. (line 8) +* mach_port_allocate_name: Port Creation. (line 66) +* mach_port_deallocate: Port Destruction. (line 8) +* mach_port_destroy: Port Destruction. (line 30) +* mach_port_extract_right: Ports and other Tasks. + (line 59) +* mach_port_get_receive_status: Receive Rights. (line 57) +* mach_port_get_refs: Port Rights. (line 9) +* mach_port_get_set_status: Port Sets. (line 9) +* mach_port_insert_right: Ports and other Tasks. + (line 9) +* mach_port_mod_refs: Port Rights. (line 42) +* mach_port_move_member: Port Sets. (line 28) +* mach_port_mscount_t: Receive Rights. (line 11) +* mach_port_msgcount_t: Receive Rights. (line 15) +* mach_port_names: Port Names. (line 9) +* mach_port_rename: Port Names. (line 77) +* mach_port_request_notification: Request Notifications. + (line 10) +* mach_port_rights_t: Receive Rights. (line 19) +* mach_port_seqno_t: Receive Rights. (line 7) +* mach_port_set_mscount: Receive Rights. (line 73) +* mach_port_set_qlimit: Receive Rights. (line 90) +* mach_port_set_seqno: Receive Rights. (line 108) +* mach_port_status_t: Receive Rights. (line 23) +* mach_port_t: Message Format. (line 14) +* mach_port_type: Port Names. (line 35) +* mach_reply_port: Port Creation. (line 48) +* mach_task_self: Task Information. (line 7) +* mach_thread_self: Thread Information. (line 7) +* mapped_time_value_t: Host Time. (line 51) +* memory_object_change_attributes: Memory Object Attributes. + (line 30) +* memory_object_change_completed: Memory Object Attributes. + (line 63) +* memory_object_copy: Memory Objects and Data. + (line 209) +* memory_object_create: Default Memory Manager. + (line 30) +* memory_object_data_error: Memory Objects and Data. + (line 157) +* memory_object_data_initialize: Default Memory Manager. + (line 73) +* memory_object_data_provided: Memory Objects and Data. + (line 289) +* memory_object_data_request: Memory Objects and Data. + (line 49) +* memory_object_data_return: Memory Objects and Data. + (line 11) +* memory_object_data_supply: Memory Objects and Data. + (line 84) +* memory_object_data_unavailable: Memory Objects and Data. + (line 177) +* memory_object_data_unlock: Memory Object Locking. + (line 85) +* memory_object_data_write: Memory Objects and Data. + (line 260) +* memory_object_default_server: Memory Object Server. + (line 10) +* memory_object_destroy: Memory Object Termination. + (line 37) +* memory_object_get_attributes: Memory Object Attributes. + (line 10) +* memory_object_init: Memory Object Creation. + (line 11) +* memory_object_lock_completed: Memory Object Locking. + (line 59) +* memory_object_lock_request: Memory Object Locking. + (line 11) +* memory_object_ready: Memory Object Creation. + (line 52) +* memory_object_server: Memory Object Server. + (line 8) +* memory_object_set_attributes: Memory Object Attributes. + (line 82) +* memory_object_supply_completed: Memory Objects and Data. + (line 127) +* memory_object_terminate: Memory Object Termination. + (line 10) +* processor_assign: Processors and Sets. (line 8) +* processor_basic_info_t: Processor Info. (line 67) +* processor_control: Processor Control. (line 10) +* processor_exit: Processor Control. (line 8) +* processor_get_assignment: Processors and Sets. (line 32) +* processor_info: Processor Info. (line 9) +* processor_set_basic_info_t: Processor Set Info. (line 75) +* processor_set_create: Processor Set Creation. + (line 8) +* processor_set_default: Processor Set Access. + (line 36) +* processor_set_destroy: Processor Set Destruction. + (line 8) +* processor_set_info: Processor Set Info. (line 10) +* processor_set_max_priority: Processor Set Priority. + (line 9) +* processor_set_name_t: Processor Set Ports. (line 7) +* processor_set_policy_disable: Processor Set Policy. + (line 11) +* processor_set_policy_enable: Processor Set Policy. + (line 8) +* processor_set_sched_info_t: Processor Set Info. (line 93) +* processor_set_t: Processor Set Ports. (line 14) +* processor_set_tasks: Tasks and Threads on Sets. + (line 9) +* processor_set_threads: Tasks and Threads on Sets. + (line 23) +* processor_start: Processor Control. (line 7) +* processor_t: Processor Interface. (line 7) +* sampled_pc_flavor_t: Profiling. (line 67) +* sampled_pc_t: Profiling. (line 52) +* seqnos_memory_object_change_completed: Memory Object Attributes. + (line 67) +* seqnos_memory_object_copy: Memory Objects and Data. + (line 214) +* seqnos_memory_object_create: Default Memory Manager. + (line 35) +* seqnos_memory_object_data_initialize: Default Memory Manager. + (line 77) +* seqnos_memory_object_data_request: Memory Objects and Data. + (line 53) +* seqnos_memory_object_data_return: Memory Objects and Data. + (line 16) +* seqnos_memory_object_data_unlock: Memory Object Locking. + (line 89) +* seqnos_memory_object_data_write: Memory Objects and Data. + (line 264) +* seqnos_memory_object_default_server: Memory Object Server. + (line 14) +* seqnos_memory_object_init: Memory Object Creation. + (line 16) +* seqnos_memory_object_lock_completed: Memory Object Locking. + (line 63) +* seqnos_memory_object_server: Memory Object Server. + (line 12) +* seqnos_memory_object_supply_completed: Memory Objects and Data. + (line 132) +* seqnos_memory_object_terminate: Memory Object Termination. + (line 14) +* struct host_basic_info: Host Information. (line 48) +* struct host_sched_info: Host Information. (line 78) +* struct processor_basic_info: Processor Info. (line 44) +* struct processor_set_basic_info: Processor Set Info. (line 51) +* struct processor_set_sched_info: Processor Set Info. (line 78) +* struct task_basic_info: Task Information. (line 82) +* struct task_events_info: Task Information. (line 114) +* struct task_thread_times_info: Task Information. (line 145) +* struct thread_basic_info: Thread Information. (line 66) +* struct thread_sched_info: Thread Information. (line 128) +* swtch: Hand-Off Scheduling. (line 81) +* swtch_pri: Hand-Off Scheduling. (line 93) +* task_assign: Tasks and Threads on Sets. + (line 36) +* task_assign_default: Tasks and Threads on Sets. + (line 49) +* task_basic_info_t: Task Information. (line 111) +* task_create: Task Creation. (line 8) +* task_disable_pc_sampling: Profiling. (line 22) +* task_enable_pc_sampling: Profiling. (line 8) +* task_events_info_t: Task Information. (line 142) +* task_get_assignment: Tasks and Threads on Sets. + (line 60) +* task_get_bootstrap_port: Task Special Ports. (line 42) +* task_get_emulation_vector: Syscall Emulation. (line 9) +* task_get_exception_port: Task Special Ports. (line 36) +* task_get_kernel_port: Task Special Ports. (line 30) +* task_get_sampled_pcs: Profiling. (line 36) +* task_get_special_port: Task Special Ports. (line 8) +* task_info: Task Information. (line 44) +* task_priority: Task Execution. (line 29) +* task_ras_control: Task Execution. (line 47) +* task_resume: Task Execution. (line 19) +* task_set_bootstrap_port: Task Special Ports. (line 78) +* task_set_emulation: Syscall Emulation. (line 22) +* task_set_emulation_vector: Syscall Emulation. (line 15) +* task_set_exception_port: Task Special Ports. (line 72) +* task_set_kernel_port: Task Special Ports. (line 66) +* task_set_special_port: Task Special Ports. (line 48) +* task_suspend: Task Execution. (line 7) +* task_t: Task Interface. (line 7) +* task_terminate: Task Termination. (line 7) +* task_thread_times_info_t: Task Information. (line 159) +* task_threads: Task Information. (line 33) +* thread_abort: Thread Execution. (line 38) +* thread_assign: Tasks and Threads on Sets. + (line 72) +* thread_assign_default: Tasks and Threads on Sets. + (line 85) +* thread_basic_info_t: Thread Information. (line 125) +* thread_create: Thread Creation. (line 8) +* thread_depress_abort: Hand-Off Scheduling. (line 74) +* thread_disable_pc_sampling: Profiling. (line 24) +* thread_enable_pc_sampling: Profiling. (line 10) +* thread_get_assignment: Tasks and Threads on Sets. + (line 96) +* thread_get_exception_port: Thread Special Ports. + (line 27) +* thread_get_kernel_port: Thread Special Ports. + (line 21) +* thread_get_sampled_pcs: Profiling. (line 39) +* thread_get_special_port: Thread Special Ports. + (line 8) +* thread_get_state: Thread Execution. (line 102) +* thread_info: Thread Information. (line 33) +* thread_max_priority: Thread Priority. (line 38) +* thread_policy: Scheduling Policy. (line 8) +* thread_priority: Thread Priority. (line 20) +* thread_resume: Thread Execution. (line 29) +* thread_sched_info_t: Thread Information. (line 159) +* thread_set_exception_port: Thread Special Ports. + (line 52) +* thread_set_kernel_port: Thread Special Ports. + (line 46) +* thread_set_special_port: Thread Special Ports. + (line 33) +* thread_set_state: Thread Execution. (line 126) +* thread_suspend: Thread Execution. (line 7) +* thread_switch: Hand-Off Scheduling. (line 8) +* thread_t: Thread Interface. (line 7) +* thread_terminate: Thread Termination. (line 7) +* thread_wire: Thread Settings. (line 8) +* time_value_add: Host Time. (line 25) +* time_value_add_usec: Host Time. (line 21) +* time_value_t: Host Time. (line 7) +* vm_allocate: Memory Allocation. (line 8) +* vm_copy: Data Transfer. (line 53) +* vm_deallocate: Memory Deallocation. (line 8) +* vm_inherit: Memory Attributes. (line 70) +* vm_machine_attribute: Memory Attributes. (line 134) +* vm_map: Mapping Memory Objects. + (line 11) +* vm_protect: Memory Attributes. (line 36) +* vm_read: Data Transfer. (line 9) +* vm_region: Memory Attributes. (line 11) +* vm_set_default_memory_manager: Default Memory Manager. + (line 8) +* vm_statistics: Memory Statistics. (line 52) +* vm_statistics_data_t: Memory Statistics. (line 7) +* vm_task_t: Virtual Memory Interface. + (line 7) +* vm_wire: Memory Attributes. (line 101) +* vm_write: Data Transfer. (line 34) + + |