Mac Developer Library

Developer

IOReportTypes.h Reference

Options
Deployment Target:

On This Page

IOReportTypes.h Reference

Included Headers

  • <stdint.h>

Functions

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

    Declaration

    #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

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

    Declaration

    #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

    See Also

    __IOR_lshiftchr

Constants

See the Overview section above for header-level documentation.

  • Declaration

    #define kIOReportInvalidValue UINT64_MAX

    Constants

    • kIOReportInvalidValue

      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.