Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

IOREG(8)                  BSD System Manager's Manual                 IOREG(8)

     ioreg -- show I/O Kit registry

     ioreg [-abfilrtx] [-c class] [-d depth] [-k key] [-n name] [-p plane] [-w width]

     ioreg displays the I/O Kit registry.  It shows the heirarchical registry structure as an inverted tree.
     The provider-client relationships among those objects is shown as follows:

     +-o provider
       +-o client

     By default, object properties are not shown.  The use of the -c, -k, -l, or -n options cause ioreg to
     show properties for objects that match the specified criteria.

     By supplying the -r option, the user may specify the object which will appear at the root of the tree
     with the -c, -k, or -n options.  If root matches more than one object, multiple trees will be dis-played. displayed.

     The options are as follows:

     -a    Archive the output in XML.

     -b    Show the object name in bold.

     -c    Show the object properties only if the object is an instance of, or derives from, the specified
           C++ class (e.g. IOService).

     -d    Limit tree traversal to the specified depth.  The depth limit is applied with respect to each
           subtree root individually.  Therefore, supplying a depth of 1 will cause ioreg to display only
           (sub)tree root nodes; children will not be shown.

     -f    Enable smart formatting.  ioreg knows how to format certain properties so that the output is more
           readable and meaningful, decoding data fields where appropriate.  Currently supported are `reg',
           `assigned-addresses', `slot-names', `ranges', `interrupt-map', `interrupt-parent`, and `inter-rupts'. `interrupts'.

     -i    Show the object inheritance.

     -k    Show the object properties only if the object has the specified key.  Substrings do not match;
           the specified key must be a full property name.

     -l    Show properties for all displayed objects.

     -n    Show the object properties only if the object has the specified name.  The object location, if
           any, is considered part of the name, thus pci@f0000000 and pci@f4000000 are distinct names.

     -p    Traverse the registry over the specified plane.  The default plane value is ``IOService''.  The
           other planes, such as ``IODeviceTree'', can be found under the ``IORegistryPlanes'' property of
           the root object (ioreg -d 1 -k IORegistryPlanes).

     -r    Show subtrees rooted by objects that match the specified criteria.  If none of -c, -k, or -n are
           supplied, -r has no effect.

     -t    Show tree location of each subtree.  This option causes ioreg to display all nodes between the
           I/O Kit Root and the root of the displayed subtree, i.e. the subtree's parent, grandparent, etc.

     -w    Clip the output to the specified line width.  The default width value is the current screen size.
           A value of 0 specifies an unlimited line width.

     -x    Show data and numbers as hexadecimal.

Darwin                        September 26, 2011                        Darwin

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.