IOReportTypes.h Reference

Declared in
IOReportTypes.h

Overview

Included Headers

  • <stdint.h>

Functions

See the Overview section above for header-level documentation.

IOREPORT_MAKECHID

convert up to 8 printable characters into a 64-bit channel ID

#define __IOR_lshiftchr(c, chshift) ((uint64_t)(c) << (8*(chshift)))
Parameters
<char0..char7>

- printable chars to be packed into a channel ID

Return Value

a 64-bit channel ID with an implicit ASCII name

Discussion

A simple example: IOREPORT_MAKECHID('H', 'i', ' ', 'w', 'o', 'r', 'l', 'd'); will evaluate to 0x686920776f726c64. Any NUL bytes are ignored (by libIOReport) for naming purposes, but will appear in the channel ID. Using a non-NUL non-printable character will disable the implicit name. Putting NUL bytes first eliminates trailing zeros when the channel ID is printed as hex. For example: IORERPORT_MAKECHID('\0','\0','n','x','f','e','r','s'); To see the text, use xxd -r -p # not -rp; see 12976241

__IOR_lshiftchr

convert up to 8 printable characters into a 64-bit channel ID

#define __IOR_lshiftchr(c, chshift) ((uint64_t)(c) << (8*(chshift)))
Parameters
<char0..char7>

- printable chars to be packed into a channel ID

Discussion

A simple example: IOREPORT_MAKECHID('H', 'i', ' ', 'w', 'o', 'r', 'l', 'd'); will evaluate to 0x686920776f726c64. Any NUL bytes are ignored (by libIOReport) for naming purposes, but will appear in the channel ID. Using a non-NUL non-printable character will disable the implicit name. Putting NUL bytes first eliminates trailing zeros when the channel ID is printed as hex. For example: IORERPORT_MAKECHID('\0','\0','n','x','f','e','r','s'); To see the text, use xxd -r -p # not -rp; see 12976241

Constants

See the Overview section above for header-level documentation.

Miscellaneous Defines

   
#define kIOReportInvalidValue UINT64_MAX
Constants
kIOReportInvalidValue

cardinal value used to indicate data errors

kIOReportInvalidValue and kIOReportInvalidIntValue have the same bit pattern so that clients checking for one or the other don't have to worry about getting the signedness right.

Available in OS X v10.9 and later.

Declared in IOReportTypes.h.