QNX Momentics IDE User's Guide
  Overview of the IDE
    Start the IDE
    Set up your environment
      Preferences
        Import preferences
        Export preferences
      Where Files Are Stored
      Environment variables
      Version coexistence
      Utilities used by the IDE
      IDE Administration
        Install new software
        Use older toolchains with the IDE
        Copy a new version of qconn to a target system
        Update qconn on a development system
      Troubleshoot the IDE
  Prepare Your Target
    Host-target communications
      Types of target processors
      IP communications
      Serial communications
        Configure a target for serial communication
      qconn over Qnet
      Securing qconn
      Install the qconn update
      Copy a new version of qconn to a target system
    Network QNX Neutrino using PPP
      Verify a serial connection
      Prepare an embedded system for a Windows target
      QNX Neutrino Networking
      Link an embedded system running QNX Neutrino to a Windows network connection
      Verify a network connection
  Manage projects
    About projects
      The IDE project model
      Supported project types in the IDE
        Container project
      Considerations for project development
      How the IDE characterizes projects using natures
      Check out a partial source tree
      Check out existing projects
    Create a project in the IDE
      Scenarios for creating a project for the first time
      Create a simple project
      Create a C/C++ project
        How to create a C/C++ project
      Create a simple project
      Create a make project
      Use container projects
        Create a container project
        Set up a build configuration
        Edit existing configurations
        Edit using project properties
        Edit using Build Container Configuration
        Build a container project
      Convert projects
        Convert a QNX project to a managed make C/C++ project
        Convert a regular project to a managed make C/C++ project
        Convert to a QNX project
        Convert a project to a different type
        Post-build actions
    Import and export projects
      QNX BSP perspective
      Import an existing container project into a workspace
      Import an existing project into a workspace
      Import from a filesystem
      Import a QNX Source Package and BSP (archive)
      Import a team project set
      Import an archive file
      Projects within projects
        Step 1: Create a project for your source code
        Step 2: Create a new project for each existing project or component in your source code tree
        Step 3: Link the projects to a directory in the source tree
        Step 4: Build the component project in the linked folder
      Import code into the IDE
        Import a C/C++ project from CVS
        Import C/C++ code that doesn't have the project metadata in CVS
        Import C/C++ code from CVS into an existing project
        Import a C/C++ Project from SVN
        Import C/C++ code that doesn't have the project metadata for SVN
        Import C/C++ code from SVN into an existing project
      Export projects
        Use the Export command
        Set export options for a BSP
    Understanding your project
      Opening files
      Create files from scratch
      Filter files
      Open projects
      Close projects
      Rename a project
      View outlines of source and binary files
      Delete a project
    Create a Makefile to build outside of the IDE
    Specify indexer options
    Set build properties for a project
    Share projects
    Filesystem drag-and-drop
    Add linked resources
    Open headers
      Set the include paths and define directives (C/C++ Make project)
    Project and Wizard Properties Reference
      Introduction
      Wizard properties
        Options tab
        Build Variants tab
        General tab
        Library tab
        Compiler tab
        Linker tab
          General options
          Extra library paths
          Extra libraries
          Extra object files
      Make Builder tab
      Error Parsers tab
      Project properties
        Projects tab
        Resource panel
        Builders panel
        C/C++ Build panel
        Behaviour tab
        Discovery options tab
        Environment tab
        Settings panel
          Tool settings tab
          Build steps tab
          Build artifact tab
          Binary Parser tab
          Error parsers tab
        Indexer tab
  Write code
    The C/C++ perspective
      C/C++ editor layout
    Assistance with function names
    Access source files for functions
    Use hover help
    Import existing source code into the IDE
    Add include directives
    Add and remove comments in code
    Use code templates
      Insert code templates
      Create a custom template
      Edit a code template
    Build projects
      Enable the autobuild feature for QNX C/C++ projects
      Build all projects
        Configure the project build order
      Build a single project
      Build selected projects
      Build from the command line
      Clean and rebuild all projects
        Clean selected projects
      Autosave before building
      Create custom make targets
        Build a project with a custom make target
        Remove a make target
      Add a use message
        Add a usage message when using a QNX C/C++ Project
        Add a usage message when using a Makefile Project
    Customize the C/C++ editor
      Change fonts, background color, or the visibility of line numbers
      Change tabs into spaces, highlight, and folding options
      Set Content Assist options
    Use other editors
      Use an external editor outside of the IDE
      Use another editor within the IDE
  Package and Deploy
    Create a target system project
      Create a QNX target system Project
    Create and run a launch configuration
      Launcher
      What is a launch configuration?
      Launch configuration types
      Create a launch configuration
      Launch configurations
      Create a launch configuration
      Run and debug for the first time
      Debug a program the first time
      Run and debug subsequent times
        Launch a selected program (fast)
        Launch from a list of favorites (faster)
        Launch the last-launched program (fastest)
      Launch Group type
      Set execution options
        Main tab
        Arguments tab
        Environment tab
        Upload tab
        Debugger tab
        Source tab
        Common tab
        Tools tab
  Build Images
    Introducing the QNX System Builder
    Boot script files
    Overview of images
      Components of an image, in order of booting
      Types of images you can create
        BSP filename conventions
        OS image (.ifs file)
        Flash filesystem image (.efs file)
        Combined image
        Padding after the IPL
      Project layout
      Workflow of image creation
    Create a new QNX System Builder project for an OS image
    Create a project for a flash filesystem image (an .efs file)
    Create a new image and Add it to your QNX System Build Project
      Build an OS image
      Combine images
    Use the Editor to modify your QNX System Builder projects
      Item properties
      Configure project properties
        Search Paths
        Manage your search paths
        Search path variables
    Download an image to your target
      Download
      Open a terminal
      Communicate with your target
      Use the QNX Send File button
      Settings for the TFTP server
      Download using TFTP
      Transfer a file
      Transfer files that aren't in Images
      Transfer an image
      Set font and color preferences
      Download using other methods
    Move files between the host and target
      Move files to the target
      Move files from the target to the host
  Test and Debug
    The debug process
      Set up target utilities for debugging (qconn and pdebug)
      Build an executable for debugging
      Create a debug launch configuration
        Debugging frameworks
          Change the debugging framework
    Debug view
      Use the controls
      Debug view icons
      Toolbar icons
      Use hotkeys
      Control your session
        From the Debug view
        From the C/C++ editor
      Disassembly mode
    Debug launch controls
    Jump to a memory address in the Disassembly view
    Use breakpoints and watchpoints
      Add breakpoints
        Set an action for the breakpoint
        Add event breakpoints
        Import breakpoints
      Add watchpoints
      Set properties of breakpoints and watchpoints
      Disable/enable breakpoints and watchpoints
      Remove breakpoints and watchpoints
    More debugging features
      Toolbar icons
      Inspect variables (Variables view)
        Change variable values
      Control the display of variables
      Change a variable to a different type
      View variables in memory (Memory view)
      Evaluate your expressions (Expressions view)
      Inspect your registers (Registers view)
        Menu commands
        Modify registers
        Change the number system for register values
      Inspect a process's memory
        View memory
        Inspect memory
        Configure output format
        Change memory
        Menu commands
          Menu commands for the Monitors pane
          Menu commands for the Rendering pane
      Inspect shared-library usage
        Load a Library's symbol
      Monitor signal handling
        Change how the debugger handles signals
        Send a signal to a suspended program
      View your output (Console view)
      Interact with GDB
        Enable the QNX GDB Console view
        Use the QNX GDB Console view
    Debug a child process
  Use the device log view
  Use Code Coverage
    Enable code coverage for a project
      Enable code coverage for make projects
    Create a launch configuration to start a coverage-enabled program
    Save code coverage data to an XML file
    Import gcc code coverage data from a project
    Associated views
      Code Coverage Sessions view
      Combine Code Coverage sessions
      Examine data line-by-line
      Code Coverage Properties view
      Code Coverage Report view
  Find memory errors and leaks
    Test an application for memory leaks using the System Information Tool
    Use Memory Analysis tooling
      Memory leaks
        Enable leak detection
        Detect leaks on demand during program execution
        Interpret leaks
      Memory errors
        Configure the IDE for error analysis
        Change error detection options at runtime
        Interpret memory errors
    Use Mudflap
      Configure Mudflap to find errors
      Options for Mudflap
      Mudflap Violations view
      Interpret Mudflap output
    The Memory Analysis tool
      Advanced topics
        Analyze a running program
        Memory analysis of shared objects
        Memory Analysis Tool options and environment variables
      Launch your program with Memory Analysis
        Launch from the command line with Memory Analysis enabled
        Perform a postmortem memory analysis
        Attach to a running process
        The Memory Analysis tooling API
      View Memory Analysis data
        Memory Analysis editor
          Select data
          Control the page layout
          Control the overview
          Control the detail pane
          Allocations tab
          Bins tab
          Bands tab
          Usage tab
          Settings tab
        Memory Problems view
          Memory Problems Filter
          Memory Problems Preferences
          View statistics for memory problems
        Memory Events view
          Memory Events Filter
          Memory Events Preferences
          View statistics for memory events
        Memory Backtrace view
        Inspect outstanding allocations
        Interpret errors during memory analysis
          Illegal deallocation of memory
          NULL pointer dereference
          Buffer overflow
          Use freed memory
          Read uninitialized memory
          Resource (memory) leaks
          Functions checked for memory errors during memory analysis
          Summary of error messages for Memory Analysis
      Managing Memory Analysis sessions: The Session view
        Open a session
        Delete a session
        Close a session
        Export session data
        Filter information for a session
        Import session information
        Show information about a session
        Rename a session
      Import memory analysis data
        Import session information from an XML file
        Import event information
      Export memory analysis data
        Export memory analysis session data
        Memory result formats
  Manage processes
    Thread Details pane
    Environment Variables pane
    Process Properties pane
  Get System Information
    Introduction
    What the System Information perspective reveals
    Log system information
    Associated views
      Control your system information session
        Send a signal
      Examine your target system's attributes
        System Specifications pane
        System Memory pane
        Processes panes
      Examine target system memory (inspect virtual address space)
      Track heap usage
        Observe changes in memory usage (allocations and deallocations)
          Outstanding allocations
          Allocation deltas
          Deallocation deltas
          Outstanding allocation deltas
      Examine process signals
      Get channel information
      Track file descriptors
      Track resource usage
      Track the use of adaptive partitions
  Use JTAG debugging
    JTAG: Using the Abatron BDI2000 JTAG Debugger with a QNX Neutrino kernel image
      Prerequisites
      Connect the Abatron BDI2000 JTAG Debugger to your host
      Update the Abatron firmware
      Connect the Abatron BDI2000 Debugger to your target
      Build a system image
      Create a launch configuration
      Debug the startup binary
    JTAG: Using the Lauterbach Trace32 In-Circuit Debugger with a QNX Neutrino kernel image
      Prerequisites
      Install the Lauterbach Trace32 In-Circuit Debugger software
      Install the Lauterbach Trace32 Eclipse plug-in software
      Connect the Lauterbach Trace32 In-Circuit Debugger
      Configure the Lauterbach Trace32 In-Circuit Debugger
      Create a launch configuration for the target hardware
      Create a startup script for the Lauterbach Trace32 In-Circuit software
        Create multicore launch configurations
      Use the debugger
    JTAG: Using the Macraigor Usb2Demon Debugger with a QNX Neutrino kernel image
      Prerequisites
      Install the Macraigor hardware support package
      Connect the Macraigor Usb2Demon Debugger to your host
      Connect the Macraigor Usb2Demon Debugger to your target
      Start the OCDremote
      Build a system image
      Create a launch configuration
      Debug a startup binary
  Maximize performance with profiling
    Types of profiling
    Profiling an Application
      Use Function Instrumentation with the Application Profiler
      Use Sampling and Call Count instrumentation mode
      Use Function Instrumentation mode for a single application
      Use Function Instrumentation in the System Profiler
      Create an Application Profiler session
      Create a profiler session by importing profiler data
      Profile a single-threaded application
      Profile a running process for an existing project
      Use postmortem profiling for Call Count and Sampling
      Postmortem profiling
      Run an instrumented binary with profiling from a command prompt (Function Instrumentation mode)
      Take a snapshot of a profiling session
      Compare profiles
    Build a program for profiling
      Control profiling using environment variables
      Profiling features
        Build with profiling enabled
      Run and profile a process
      Profile a running process
      Postmortem profiling for Call Count and sampling
      Application Profiler tab
    Manage profiling sessions
    Interpret profiling data
      Profiler Sessions view
        Toolbar options
        Pause and resume a profiling session
        Take a snapshot of a profile session
        Create a sample profile session
        Export a profiler session
      Execution Time view
        Column descriptions
        Interpret Tree mode column information by profiling type
        Toolbar options
        Context menu navigation options
        Take Snapshot and Watch Difference
        Show Threads Tree
        Show Table mode
        Show Calls
        Show Reverse Calls
        Show Call Graphs
        Show Source
        Duplicate a view
        View history
        Grouping
        Set preferences
        Copy to the clipboard
        Filter
        Search
      Debug view
      Annotated source editor
  Analyze Your System with Kernel Tracing
    Overview of the QNX System Profiler
      System Profiler perspective
    Information Logging Process
    Create a log file
      Before you begin
      Configure a target for system profiling (IDE)
      Create a kernel event trace launch configuration
        Capture instrumentation data in an event log file
        Address translation
    View and interpret the captured data
      System Profiler editor
        Timeline view
          Add bookmarks
        Timeline State Colors view
        Zoom
      Filter profile data
      Raw Event Data view
      Trace Event Log view
      Properties view
        Trace Header tab
        Address Translation tab
        Start Date tab
        Timeline Event Labels tab
        User Event Data tab
    Track events
      Trace Search
      Bookmarks view
    Gather statistics from trace data
      General Statistics view
      Event Owner Statistics view
      Client/Server CPU Statistics view
      Overview view
      Condition Statistics view
      Thread Call Stack view
    Determine thread state behavior
      Thread State Snapshot view
      Why Running? view
    Analyze multiprocessor systems: CPU Migration pane
    Analyze systems with Adaptive Partitioning scheduling: Partition Summary pane
    Using Function Instrumentation mode with the System Profiler
      Import part of a kernel trace into the Application Profiler
    System Profiler use cases
      Locate sources of high CPU usage
      Map and isolate client CPU load from server CPU load
      Examine interrupt latency
      Locate events of interest
  Analyze Memory Usage and Find Errors
    Memory management in QNX Neutrino
      Virtual memory
    Memory optimization
      Process memory
        Inspect your process memory distribution
      Performance of heap allocations
        Prepare for a memory profiling session
      Analyze allocation patterns
      Optimize heap memory
        Memory leaks
        Enable memory leak detection
      Types of allocation overhead
      Estimate the average allocation size
      Tune the allocator
      Optimize static and stack memory
  Tutorials
    Before you start
    Tutorial 1: Create a C/C++ project
    Tutorial 2: Create a QNX C/C++ project
    Tutorial 3: Import an existing project into the IDE
    Tutorial 4: Import a QNX BSP into the IDE
  Migrate from Earlier Releases
    Migration issues
      General migration considerations
      Coexistence
      Compiler issues
      Binary compatibility
      CDT impact on the IDE
        Create a make project
        Create a make project that can be launched outside the IDE
      IDE location
      Old launch configurations don't switch perspectives automatically
      Missing features in context menus
      System Builder Console doesn't come to front
      Reverting to an older version of the IDE
         Import into an older IDE
    Migrate from IDE 4.5, IDE 4.6 or IDE 4.7 to IDE 5.0 (SDP 6.6.0)
    Migrate from IDE 4.0.1 to IDE 5.0 (SDP 6.6.0)
  Glossary
  Overview of the IDE
    Start the IDE
    Set up your environment
      Preferences
        Import preferences
        Export preferences
      Where Files Are Stored
      Environment variables
      Version coexistence
      Utilities used by the IDE
      IDE Administration
        Install new software
        Use older toolchains with the IDE
        Copy a new version of qconn to a target system
        Update qconn on a development system
      Troubleshoot the IDE
  Prepare Your Target
    Host-target communications
      Types of target processors
      IP communications
      Serial communications
        Configure a target for serial communication
      qconn over Qnet
      Securing qconn
      Install the qconn update
      Copy a new version of qconn to a target system
    Network QNX Neutrino using PPP
      Verify a serial connection
      Prepare an embedded system for a Windows target
      QNX Neutrino Networking
      Link an embedded system running QNX Neutrino to a Windows network connection
      Verify a network connection
  Manage projects
    About projects
      The IDE project model
      Supported project types in the IDE
        Container project
      Considerations for project development
      How the IDE characterizes projects using natures
      Check out a partial source tree
      Check out existing projects
    Create a project in the IDE
      Scenarios for creating a project for the first time
      Create a simple project
      Create a C/C++ project
        How to create a C/C++ project
      Create a simple project
      Create a make project
      Use container projects
        Create a container project
        Set up a build configuration
        Edit existing configurations
        Edit using project properties
        Edit using Build Container Configuration
        Build a container project
      Convert projects
        Convert a QNX project to a managed make C/C++ project
        Convert a regular project to a managed make C/C++ project
        Convert to a QNX project
        Convert a project to a different type
        Post-build actions
    Import and export projects
      QNX BSP perspective
      Import an existing container project into a workspace
      Import an existing project into a workspace
      Import from a filesystem
      Import a QNX Source Package and BSP (archive)
      Import a team project set
      Import an archive file
      Projects within projects
        Step 1: Create a project for your source code
        Step 2: Create a new project for each existing project or component in your source code tree
        Step 3: Link the projects to a directory in the source tree
        Step 4: Build the component project in the linked folder
      Import code into the IDE
        Import a C/C++ project from CVS
        Import C/C++ code that doesn't have the project metadata in CVS
        Import C/C++ code from CVS into an existing project
        Import a C/C++ Project from SVN
        Import C/C++ code that doesn't have the project metadata for SVN
        Import C/C++ code from SVN into an existing project
      Export projects
        Use the Export command
        Set export options for a BSP
    Understanding your project
      Opening files
      Create files from scratch
      Filter files
      Open projects
      Close projects
      Rename a project
      View outlines of source and binary files
      Delete a project
    Create a Makefile to build outside of the IDE
    Specify indexer options
    Set build properties for a project
    Share projects
    Filesystem drag-and-drop
    Add linked resources
    Open headers
      Set the include paths and define directives (C/C++ Make project)
    Project and Wizard Properties Reference
      Introduction
      Wizard properties
        Options tab
        Build Variants tab
        General tab
        Library tab
        Compiler tab
        Linker tab
          General options
          Extra library paths
          Extra libraries
          Extra object files
      Make Builder tab
      Error Parsers tab
      Project properties
        Projects tab
        Resource panel
        Builders panel
        C/C++ Build panel
        Behaviour tab
        Discovery options tab
        Environment tab
        Settings panel
          Tool settings tab
          Build steps tab
          Build artifact tab
          Binary Parser tab
          Error parsers tab
        Indexer tab
  Write code
    The C/C++ perspective
      C/C++ editor layout
    Assistance with function names
    Access source files for functions
    Use hover help
    Import existing source code into the IDE
    Add include directives
    Add and remove comments in code
    Use code templates
      Insert code templates
      Create a custom template
      Edit a code template
    Build projects
      Enable the autobuild feature for QNX C/C++ projects
      Build all projects
        Configure the project build order
      Build a single project
      Build selected projects
      Build from the command line
      Clean and rebuild all projects
        Clean selected projects
      Autosave before building
      Create custom make targets
        Build a project with a custom make target
        Remove a make target
      Add a use message
        Add a usage message when using a QNX C/C++ Project
        Add a usage message when using a Makefile Project
    Customize the C/C++ editor
      Change fonts, background color, or the visibility of line numbers
      Change tabs into spaces, highlight, and folding options
      Set Content Assist options
    Use other editors
      Use an external editor outside of the IDE
      Use another editor within the IDE
  Package and Deploy
    Create a target system project
      Create a QNX target system Project
    Create and run a launch configuration
      Launcher
      What is a launch configuration?
      Launch configuration types
      Create a launch configuration
      Launch configurations
      Create a launch configuration
      Run and debug for the first time
      Debug a program the first time
      Run and debug subsequent times
        Launch a selected program (fast)
        Launch from a list of favorites (faster)
        Launch the last-launched program (fastest)
      Launch Group type
      Set execution options
        Main tab
        Arguments tab
        Environment tab
        Upload tab
        Debugger tab
        Source tab
        Common tab
        Tools tab
  Build Images
    Introducing the QNX System Builder
    Boot script files
    Overview of images
      Components of an image, in order of booting
      Types of images you can create
        BSP filename conventions
        OS image (.ifs file)
        Flash filesystem image (.efs file)
        Combined image
        Padding after the IPL
      Project layout
      Workflow of image creation
    Create a new QNX System Builder project for an OS image
    Create a project for a flash filesystem image (an .efs file)
    Create a new image and Add it to your QNX System Build Project
      Build an OS image
      Combine images
    Use the Editor to modify your QNX System Builder projects
      Item properties
      Configure project properties
        Search Paths
        Manage your search paths
        Search path variables
    Download an image to your target
      Download
      Open a terminal
      Communicate with your target
      Use the QNX Send File button
      Settings for the TFTP server
      Download using TFTP
      Transfer a file
      Transfer files that aren't in Images
      Transfer an image
      Set font and color preferences
      Download using other methods
    Move files between the host and target
      Move files to the target
      Move files from the target to the host
  Test and Debug
    The debug process
      Set up target utilities for debugging (qconn and pdebug)
      Build an executable for debugging
      Create a debug launch configuration
        Debugging frameworks
          Change the debugging framework
    Debug view
      Use the controls
      Debug view icons
      Toolbar icons
      Use hotkeys
      Control your session
        From the Debug view
        From the C/C++ editor
      Disassembly mode
    Debug launch controls
    Jump to a memory address in the Disassembly view
    Use breakpoints and watchpoints
      Add breakpoints
        Set an action for the breakpoint
        Add event breakpoints
        Import breakpoints
      Add watchpoints
      Set properties of breakpoints and watchpoints
      Disable/enable breakpoints and watchpoints
      Remove breakpoints and watchpoints
    More debugging features
      Toolbar icons
      Inspect variables (Variables view)
        Change variable values
      Control the display of variables
      Change a variable to a different type
      View variables in memory (Memory view)
      Evaluate your expressions (Expressions view)
      Inspect your registers (Registers view)
        Menu commands
        Modify registers
        Change the number system for register values
      Inspect a process's memory
        View memory
        Inspect memory
        Configure output format
        Change memory
        Menu commands
          Menu commands for the Monitors pane
          Menu commands for the Rendering pane
      Inspect shared-library usage
        Load a Library's symbol
      Monitor signal handling
        Change how the debugger handles signals
        Send a signal to a suspended program
      View your output (Console view)
      Interact with GDB
        Enable the QNX GDB Console view
        Use the QNX GDB Console view
    Debug a child process
  Use the device log view
  Use Code Coverage
    Enable code coverage for a project
      Enable code coverage for make projects
    Create a launch configuration to start a coverage-enabled program
    Save code coverage data to an XML file
    Import gcc code coverage data from a project
    Associated views
      Code Coverage Sessions view
      Combine Code Coverage sessions
      Examine data line-by-line
      Code Coverage Properties view
      Code Coverage Report view
  Find memory errors and leaks
    Test an application for memory leaks using the System Information Tool
    Use Memory Analysis tooling
      Memory leaks
        Enable leak detection
        Detect leaks on demand during program execution
        Interpret leaks
      Memory errors
        Configure the IDE for error analysis
        Change error detection options at runtime
        Interpret memory errors
    Use Mudflap
      Configure Mudflap to find errors
      Options for Mudflap
      Mudflap Violations view
      Interpret Mudflap output
    The Memory Analysis tool
      Advanced topics
        Analyze a running program
        Memory analysis of shared objects
        Memory Analysis Tool options and environment variables
      Launch your program with Memory Analysis
        Launch from the command line with Memory Analysis enabled
        Perform a postmortem memory analysis
        Attach to a running process
        The Memory Analysis tooling API
      View Memory Analysis data
        Memory Analysis editor
          Select data
          Control the page layout
          Control the overview
          Control the detail pane
          Allocations tab
          Bins tab
          Bands tab
          Usage tab
          Settings tab
        Memory Problems view
          Memory Problems Filter
          Memory Problems Preferences
          View statistics for memory problems
        Memory Events view
          Memory Events Filter
          Memory Events Preferences
          View statistics for memory events
        Memory Backtrace view
        Inspect outstanding allocations
        Interpret errors during memory analysis
          Illegal deallocation of memory
          NULL pointer dereference
          Buffer overflow
          Use freed memory
          Read uninitialized memory
          Resource (memory) leaks
          Functions checked for memory errors during memory analysis
          Summary of error messages for Memory Analysis
      Managing Memory Analysis sessions: The Session view
        Open a session
        Delete a session
        Close a session
        Export session data
        Filter information for a session
        Import session information
        Show information about a session
        Rename a session
      Import memory analysis data
        Import session information from an XML file
        Import event information
      Export memory analysis data
        Export memory analysis session data
        Memory result formats
  Manage processes
    Thread Details pane
    Environment Variables pane
    Process Properties pane
  Get System Information
    Introduction
    What the System Information perspective reveals
    Log system information
    Associated views
      Control your system information session
        Send a signal
      Examine your target system's attributes
        System Specifications pane
        System Memory pane
        Processes panes
      Examine target system memory (inspect virtual address space)
      Track heap usage
        Observe changes in memory usage (allocations and deallocations)
          Outstanding allocations
          Allocation deltas
          Deallocation deltas
          Outstanding allocation deltas
      Examine process signals
      Get channel information
      Track file descriptors
      Track resource usage
      Track the use of adaptive partitions
  Use JTAG debugging
    JTAG: Using the Abatron BDI2000 JTAG Debugger with a QNX Neutrino kernel image
      Prerequisites
      Connect the Abatron BDI2000 JTAG Debugger to your host
      Update the Abatron firmware
      Connect the Abatron BDI2000 Debugger to your target
      Build a system image
      Create a launch configuration
      Debug the startup binary
    JTAG: Using the Lauterbach Trace32 In-Circuit Debugger with a QNX Neutrino kernel image
      Prerequisites
      Install the Lauterbach Trace32 In-Circuit Debugger software
      Install the Lauterbach Trace32 Eclipse plug-in software
      Connect the Lauterbach Trace32 In-Circuit Debugger
      Configure the Lauterbach Trace32 In-Circuit Debugger
      Create a launch configuration for the target hardware
      Create a startup script for the Lauterbach Trace32 In-Circuit software
        Create multicore launch configurations
      Use the debugger
    JTAG: Using the Macraigor Usb2Demon Debugger with a QNX Neutrino kernel image
      Prerequisites
      Install the Macraigor hardware support package
      Connect the Macraigor Usb2Demon Debugger to your host
      Connect the Macraigor Usb2Demon Debugger to your target
      Start the OCDremote
      Build a system image
      Create a launch configuration
      Debug a startup binary
  Maximize performance with profiling
    Types of profiling
    Profiling an Application
      Use Function Instrumentation with the Application Profiler
      Use Sampling and Call Count instrumentation mode
      Use Function Instrumentation mode for a single application
      Use Function Instrumentation in the System Profiler
      Create an Application Profiler session
      Create a profiler session by importing profiler data
      Profile a single-threaded application
      Profile a running process for an existing project
      Use postmortem profiling for Call Count and Sampling
      Postmortem profiling
      Run an instrumented binary with profiling from a command prompt (Function Instrumentation mode)
      Take a snapshot of a profiling session
      Compare profiles
    Build a program for profiling
      Control profiling using environment variables
      Profiling features
        Build with profiling enabled
      Run and profile a process
      Profile a running process
      Postmortem profiling for Call Count and sampling
      Application Profiler tab
    Manage profiling sessions
    Interpret profiling data
      Profiler Sessions view
        Toolbar options
        Pause and resume a profiling session
        Take a snapshot of a profile session
        Create a sample profile session
        Export a profiler session
      Execution Time view
        Column descriptions
        Interpret Tree mode column information by profiling type
        Toolbar options
        Context menu navigation options
        Take Snapshot and Watch Difference
        Show Threads Tree
        Show Table mode
        Show Calls
        Show Reverse Calls
        Show Call Graphs
        Show Source
        Duplicate a view
        View history
        Grouping
        Set preferences
        Copy to the clipboard
        Filter
        Search
      Debug view
      Annotated source editor
  Analyze Your System with Kernel Tracing
    Overview of the QNX System Profiler
      System Profiler perspective
    Information Logging Process
    Create a log file
      Before you begin
      Configure a target for system profiling (IDE)
      Create a kernel event trace launch configuration
        Capture instrumentation data in an event log file
        Address translation
    View and interpret the captured data
      System Profiler editor
        Timeline view
          Add bookmarks
        Timeline State Colors view
        Zoom
      Filter profile data
      Raw Event Data view
      Trace Event Log view
      Properties view
        Trace Header tab
        Address Translation tab
        Start Date tab
        Timeline Event Labels tab
        User Event Data tab
    Track events
      Trace Search
      Bookmarks view
    Gather statistics from trace data
      General Statistics view
      Event Owner Statistics view
      Client/Server CPU Statistics view
      Overview view
      Condition Statistics view
      Thread Call Stack view
    Determine thread state behavior
      Thread State Snapshot view
      Why Running? view
    Analyze multiprocessor systems: CPU Migration pane
    Analyze systems with Adaptive Partitioning scheduling: Partition Summary pane
    Using Function Instrumentation mode with the System Profiler
      Import part of a kernel trace into the Application Profiler
    System Profiler use cases
      Locate sources of high CPU usage
      Map and isolate client CPU load from server CPU load
      Examine interrupt latency
      Locate events of interest
  Analyze Memory Usage and Find Errors
    Memory management in QNX Neutrino
      Virtual memory
    Memory optimization
      Process memory
        Inspect your process memory distribution
      Performance of heap allocations
        Prepare for a memory profiling session
      Analyze allocation patterns
      Optimize heap memory
        Memory leaks
        Enable memory leak detection
      Types of allocation overhead
      Estimate the average allocation size
      Tune the allocator
      Optimize static and stack memory
  Tutorials
    Before you start
    Tutorial 1: Create a C/C++ project
    Tutorial 2: Create a QNX C/C++ project
    Tutorial 3: Import an existing project into the IDE
    Tutorial 4: Import a QNX BSP into the IDE
  Migrate from Earlier Releases
    Migration issues
      General migration considerations
      Coexistence
      Compiler issues
      Binary compatibility
      CDT impact on the IDE
        Create a make project
        Create a make project that can be launched outside the IDE
      IDE location
      Old launch configurations don't switch perspectives automatically
      Missing features in context menus
      System Builder Console doesn't come to front
      Reverting to an older version of the IDE
         Import into an older IDE
    Migrate from IDE 4.5, IDE 4.6 or IDE 4.7 to IDE 5.0 (SDP 6.6.0)
    Migrate from IDE 4.0.1 to IDE 5.0 (SDP 6.6.0)
  Glossary
QNX CAR Platform for Infotainment
  Architecture Guide
    Top-Level Design
    Common Mechanisms
    Supported Boards
    Ecosystem
    Boot Time Optimization
    Platform Layer
      QNX Neutrino RTOS
        Microkernel
        Instant Device Activation
        Networking
        Fault detection
        High Availability
        Adaptive Partitioning
        Resource manager framework
      OpenGL ES
      Software Update
    Middleware Layer
      Multimedia
      Navigation
      Automatic Speech Recognition (ASR)
        ASR modules
        ASR and TTS integration
      Radio
      Rearview camera
      Mobile Device Gateway
        Android interfaces
        Bluetooth
        DLNA
        Apple iOS interfaces
        MTP device interface
        MirrorLink
        Network interfaces
        USB
    HMI Layer
      Application support
      HTML5 application framework
        Browser engine
      Qt application model
      Application Management
      HMI Notification Manager
  Automatic Speech Recognition Developer's Guide
    Automatic Speech Recognition
      Process control flow
    Extending ASR
      Anatomy of a module
      Prompt module
      Audio modules
      Recognition module
      Conversation modules
        The search module
        The car-media module
        The dialer module
      Adding a conversation module
        Specifying NLAL grammars
    API Reference
      asr.h
        Definitions in asr.h
        Data types in asr.h
          asr_context_hdl
          asr_global_data_t
          asr_instance_data_t
        Functions in asr.h
          asr_cancel()
          asr_close_global()
          asr_close_instance()
          asr_context_add_entries()
          asr_context_create()
          asr_context_destroy()
          asr_context_save()
          asr_get_hold_count()
          asr_get_restart()
          asr_get_utterance()
          asr_hold()
          asr_open_global()
          asr_open_instance()
          asr_post_step()
          asr_recognition_initialize()
          asr_release()
          asr_reload_localization()
          asr_result_map_status()
          asr_set_recognizer()
          asr_set_restart()
          asr_set_utterance()
          asr_slog()
          asr_start()
          asr_stop()
      asra.h
        Data types in asra.h
          asra_module_hdl_t
        Functions in asra.h
          asr_audio_initialize()
          asra_acquire_buffer()
          asra_close()
          asra_connect()
          asra_disconnect()
          asra_get_utterance()
          asra_open()
          asra_relinquish_buffer()
          asra_save_wavefile()
          asra_set_params()
          asra_set_source()
          asra_set_utterance()
          asra_start()
          asra_stop()
      asrm.h
        Enumerations in asrm.h
          asrm_phrase_search_mode_t
        Functions in asrm.h
          asr_module_initialize()
          asr_strmatch()
          asrm_activate_module()
          asrm_append_intent()
          asrm_append_result()
          asrm_connect()
          asrm_context_add_entries()
          asrm_context_create()
          asrm_context_destroy()
          asrm_context_save()
          asrm_create_dictation_result()
          asrm_deactivate_module()
          asrm_delete_terminals()
          asrm_find_module()
          asrm_find_phrase()
          asrm_find_phrase_id()
          asrm_find_result_phrase()
          asrm_find_result_phrase_id()
          asrm_free_result()
          asrm_get_config()
          asrm_get_exclusive()
          asrm_get_holdcount()
          asrm_get_intent_field()
          asrm_get_locale()
          asrm_get_utterance()
          asrm_is_cancellation_request()
          asrm_is_confirmation()
          asrm_is_help_or_cancel()
          asrm_is_help_request()
          asrm_next_module()
          asrm_post_result()
          asrm_recognizer_hold()
          asrm_recognizer_release()
          asrm_recognizer_start()
          asrm_recognizer_stop()
          asrm_set_active_sections()
          asrm_set_exclusive()
          asrm_set_locale()
          asrm_set_utterance()
          asrm_slog()
          asrm_strdup_result()
          asrm_unset_exclusive()
          asrnl_check_section_rules()
          asrnl_evaluate_result()
          asrv_get_common_value()
          find_phrase()
          find_result_phrase()
          strconfstr()
      asrp.h
        Data types in asrp.h
          asr_prompt_interface
          asr_prompt_interface_t
          asrp_module_hdl_t
          asrp_module_interface
          asrp_module_interface_t
          asrp_post_step()
          asrp_prompt_info
          asrp_prompt_info_t
          asrp_visual_dialog
          asrp_visual_dialog_t
        Enumerations in asrp.h
          asrp_processing_flags_t
          tts_error_class_t
        Functions in asrp.h
          asrp_active_help()
          asrp_connect()
          asrp_get_status()
          asrp_play_item()
          asrp_play_tts()
          asrp_play_tts_item()
          asrp_play_url()
          asrp_reset()
          asrp_response_cb_t
          asrp_section_help()
          asrp_set_error()
          asrp_slog()
          asrp_start()
          asrp_stop()
      asrv.h
        Functions in asrv.h
          asrv_audio_acquire_buffer()
          asrv_audio_close()
          asrv_audio_open()
          asrv_audio_relinquish_buffer()
          asrv_audio_set_parms()
          asrv_audio_start()
          asrv_audio_stop()
          asrv_get_active_sections()
          asrv_get_common_value()
          asrv_get_context()
          asrv_get_recognizer_sections()
          asrv_post_data()
          asrv_post_result()
          asrv_post_step()
      cfg.h
        Data types in cfg.h
          cfg_encoder
          cfg_encoder_t
          cfg_item_t
        Functions in cfg.h
          cfg_add_item()
          cfg_add_item_string()
          cfg_attach_item()
          cfg_clear_item()
          cfg_clone()
          cfg_create()
          cfg_delete_item()
          cfg_destroy()
          cfg_detach_item()
          cfg_dup_resolved_item_value()
          cfg_dup_resolved_string()
          cfg_encoder_add_int()
          cfg_encoder_add_raw_string()
          cfg_encoder_add_string()
          cfg_encoder_attach()
          cfg_encoder_cleanup()
          cfg_encoder_end_object()
          cfg_encoder_init()
          cfg_encoder_start_object()
          cfg_find_higher_item()
          cfg_find_item()
          cfg_find_next_item()
          cfg_find_num()
          cfg_find_predefined_item()
          cfg_find_value()
          cfg_get_explicit_value()
          cfg_get_key()
          cfg_get_next_item()
          cfg_get_num()
          cfg_get_parent()
          cfg_get_value()
          cfg_insert_item()
          cfg_insert_raw_item()
          cfg_load()
          cfg_merge()
          cfg_replace_item()
          cfg_resolve_value()
          cfg_traverse()
          cfg_traverse_items()
          find_quote()
          remove_quotes()
          strip_escapes()
          strip_white()
      mod_types.h
        Definitions in mod_types.h
        Data types in mod_types.h
          asr_audio_info
          asr_audio_info_t
          asr_context_hdl_t
          asr_conversation_if
          asr_conversation_if_t
          asr_module_hdl_t
          asr_recognizer_hdl_t
          asr_recognizer_if
          asr_recognizer_if_t
          asr_slot_entry
          asr_slot_entry_t
          asr_transcription_s
          asr_transcription_t
          asra_module_interface
          asra_module_interface_t
        Enumerations in mod_types.h
          module_status_e
          asr_module_status_t
        Functions in mod_types.h
          asr_connect()
          stristr()
      protos.h
        Functions in protos.h
          logmsg()
          logresult()
      slot-factory.h
        Definitions in slot-factory.h
        Data types in slot-factory.h
          _Entry
          _SlotFactory
          SlotFactory_Entry
          SlotFactory_EntryList
          SlotFactory
        Functions in slot-factory.h
          SlotFactory_Create()
          SlotFactory_createEntry()
          SlotFactory_createUniqueEntry()
          SlotFactory_Delete()
          SlotFactory_Entry_Create()
          SlotFactory_Entry_delete()
          SlotFactory_init()
          SlotFactory_reset()
      terminals.h
      types.h
        Definitions in types.h
        Data types in types.h
          asr_intent
          asr_intent_t
          asr_result
          asr_result_t
          asr_result_tag
          asr_result_tag_t
          asr_result_type
          asr_result_type_t
          asr_terminal
          asr_terminal_t
        Enumerations in types.h
          asr_step_e
          asr_step_t
          result_action_e
          asr_result_action_t
        Functions in types.h
          tolower_m()
          toupper_m()
  Bluetooth Architectural Overview and Configuration Guide
    Bluetooth Architecture
    Starting Bluetooth on the Target
    Device Management
      Pairing a device
      Removing a paired device
      Getting device information
    Bluetooth Profiles
      Hands-Free Profile (HFP)
      Message Access Profile (MAP)
      Phone Book Access Profile (PBAP)
      Serial Port Profile (SPP)
      Advanced Audio Distribution Profile / Audio/Video Remote Control Profile (A2DP/AVRCP)
    Bluetooth Databases
      Core database
      Phonebook database
      Messages database
  Boot Optimization Guide
    Overview of Boot Optimization
    System Startup Sequence
    Configuring the Target for Boot Optimization
    Optimizing Boot Times
      Optimize the bootloader
      Reduce the size of the startup program
      Remove unnecessary debug printing
      Reduce the size of the IFS
      Generate the IPL to skip the image scan
      Enable fast reading in the SD card
      Use compression strategies
      Make careful use of the default build script
      Consider the placement of waitfor statments
      Reorder the startup program
      Optimize the HMI
      Create modular applications
      Statically link libraries
    Measuring Boot Times
      The boot_metrics.log file
      Measuring the time to copy from flash to RAM
  Building and Customizing Target Images
    Target Images
      Overview of an image, boot process, and filesystem layout
    Tools at a Glance
    Process to Generate an Image
    Build a Target Image
      Sample image directory structure
    Image Configuration
      Configuration file for mksysimage
      Configuration file for mkimage
      Calculatimg the size of target images and partitions
      Target startup scripts
    Board Support Packages (BSPs)
      Extract a BSP
    Transfer an Image to a microSD card
  HMI Development Guides
    HMI Notification Manager
      About This Guide
      HNM Components
      Event Processing
      Configuration
      Plugins
        The Generic plugin
        The HandsFreePhone plugin
        The VirtualMechanic plugin
      PPS Objects
      API Reference
        core.h
          Definitions in core.h
          Enumerations in core.h
            hnm_LogBufferId
            hnm_log_buffer_id
          Functions in core.h
            hnm_log()
            hnm_set_log_buffer()
            hnm_setLogVerbosity()
        display_event.h
          Definitions in display_event.h
          Typedefs in display_event.h
            hnm_DisplayEvent
            hnm_display_event
            hnm_window_type
          Enumerations in display_event.h
            hnm_WindowTypeID
            hnm_window_type_e
          Functions in display_event.h
            display_event_factory_get_next_event()
            display_event_window_type_id()
            display_event_window_type_name()
            hnm_display_event_appraise()
            hnm_DisplayEvent_create()
            hnm_DisplayEventFactory_findEvent()
            hnm_DisplayEventFactory_getDefaultEvent()
            hnm_DisplayEventFactory_init()
            hnm_DisplayEventFactory_InitWindowTypes()
            hnm_display_event_service()
        event.h
          Definitions in event.h
          Typedefs in event.h
            hnm_event
            hnm_EventClass
            hnm_event_class
            hnm_EventPriorityMap
            hnm_event_priority_map
            hnm_EventType
            hnm_Priority
          Enumerations in event.h
            hnm_EventClass
            hnm_event_class
            hnm_priority_e
        event-source.h
          Typedefs in event-source.h
            hnm_EventSource
            hnm_event_source
            hnm_Module
            hnm_module
          Functions in event-source.h
            hnm_register_module()
        messaging.h
          Definitions in messaging.h
          Typedefs in messaging.h
            hnm_Messaging_Client
            hnm_messaging_client_s
            hnm_Messaging
            hnm_messaging_s
          Functions in messaging.h
            hnm_Messaging_ppsHandler()
            hnm_Messaging_sendTransient()
        pps.h
          Definitions in pps.h
          Typedefs in pps.h
            pps_Object
            pps_object
            pps_ObjectId
          Functions in pps.h
            pps_encoder_strerror()
            pps_decoder_strerror()
            pps_Object_addToPollList()
            pps_Object_close()
            pps_Object_open()
            pps_Object_read()
            pps_Object_write()
        queue.h
          Typedefs in queue.h
            queue_Element
            queue_element
            queue_Queue
            queue_queue
          Functions in queue.h
            queue_delete()
            queue_get_head()
            queue_has_element()
            queue_is_empty()
            queue_next_element()
            queue_pop()
            queue_push()
        status.h
          Definitions in status.h
          Typedefs in status.h
            hnm_Status
            hnm_status_s
          Functions in status.h
            hnm_Status_displayList()
            hnm_Status_findDisplayEvent()
            hnm_Status_getDisplayList()
            hnm_Status_ppsHandler()
            hnm_Status_update()
    HTML5 and JavaScript Framework
      HTML5 and JavaScript Development Tools
        HTML5 app support
      Obtaining the development tools
      Modifying CSS Styles
      Creating BAR packages for Cordova apps
      Creating BAR packages for WebWorks apps
      Cordova JavaScript Plugins
        car.audiomixer
        car.hvac
        car.mediaplayer
          car.mediaplayer.MediaPlayer
        car.navigation
        car.profile
        car.radio
        car.sensors
        car.theme
        car.zone
        qnx.application.event
        qnx.bluetooth
        qnx.bluetooth.pbab
        qnx.message
        qnx.phone
        qnx.settings
      WebWorks JavaScript Extensions (Deprecated)
        qnx.application
        qnx.application.event
        qnx.audiomixer
        qnx.audioplayer
        qnx.bluetooth
        qnx.bluetooth.pbap
        qnx.bluetooth.spp
        qnx.gears
        qnx.hvac
        qnx.info
        qnx.keyboard
        qnx.keyboard.overlay
        qnx.locale
        qnx.medialibrary
        qnx.mediasource
        qnx.message
        qnx.navigation
        qnx.navigation.tcs
        qnx.navigator
        qnx.navigator.overlay
        qnx.network
        qnx.phone
        qnx.radio
        qnx.sensors
        qnx.settings
        qnx.systemupdate
        qnx.theme
        qnx.user
        qnx.voice
        qnx.volume
      Porting WebWorks Applications to Cordova
    Application and Window Management
      Introduction to Application and Window Management
      HTML5 HMI
        Window management
        Application management
        Reference implementation
      Qt5 HMI
        Window management
        Application management
      Creating an Application Window Manager: Requirements
    Qt Development Environment
      Qt Libraries
        QtQnxCar2 Library
        QPPS Library
        QPlayer Library
      Preparing your host system for Qt development
        Installing QNX QDF
        Installing Qt Creator
        Configuring a QNX device in Qt Creator
        Configuring a toolchain in Qt Creator
      Packaging a Qt App
        Qt command-line options for blackberry-nativepackager
      QPPS API
        Changeset
        DirWatcher
          Public functions in DirWatcher
            DirWatcher()
            ~DirWatcher()
            errorString()
            isValid()
            objectNames()
            path()
          Signals in DirWatcher
            objectAdded()
            objectRemoved()
        Object
          Public functions in Object
            attribute()
            attributeCacheEnabled()
            attributeNames()
            errorString()
            isValid()
            Object()
            ~Object()
            path()
            setAttributeCacheEnabled()
            setAttributes()
          Public properties of Object
            PublicationMode
          Public slots in Object
            removeAttribute()
            setAttribute()
          Signals in Object
            attributeChanged()
            attributesChanged()
            attributeRemoved()
            objectRemoved()
        Simulator
          Public functions in Simulator
            clientGetAttribute()
            clientGetAttributeNames()
            clientRemoveAttribute()
            clientSetAttribute()
            dumpTree()
            insertAttribute()
            insertObject()
            ppsObjects()
            registerClient()
            reset()
            self()
            triggerInitialListing()
            unregisterClient()
          Signals in Simulator
            attributeChanged()
            attributeRemoved()
            clientConnected()
            clientDisconnected()
            objectAdded()
        Variant
          Public functions in Variant
            encoding()
            isValid()
            toBool()
            toByteArray()
            toDouble()
            toInt()
            toJson()
            toString()
            value()
            Variant()
            Variant(bool)
            Variant(double)
            Variant(int)
            Variant(QByteArray)
            Variant(QJsonDocument)
            Variant(QJsonObject)
            Variant(QString)
            Variant(QByteArray,QByteArray)
            operator==
            operator!=
      QPlayer API
        Error and event type enumerations
          Error codes enum
          MediaSourceEventType
          TrackSessionEventType
        Media command classes
          BaseCommand
          BrowseCommand
          CreateTrackSessionCommand
          CurrentTrackCommand
          CurrentTrackPositionCommand
          ExtendedMetadataCommand
          MediaSourcesCommand
          MetadataCommand
          PlayerStateCommand
          SearchCommand
          TrackSessionInfoCommand
          TrackSessionItemsCommand
        Media information data types
          MediaNode
          MediaSource
          Metadata
          PlayerState
          Track
          TrackSession
        QPlayer class
          Public constants used by QPlayer
            ROOT_MEDIA_NODE_ID
          Public functions in QPlayer
            browse()
            createTrackSession()
            destroyTrackSession()
            getCurrentTrack()
            getCurrentTrackPosition()
            getCurrentTrackSessionInfo()
            getExtendedMetadata()
            getMediaSources()
            getMetadata()
            getPlayerState()
            getTrackSessionItems()
            QPlayer()
            ~QPlayer()
            search()
          Public slots in QPlayer
            jump()
            next()
            pause()
            play()
            previous()
            seek()
            setPlaybackRate()
            setRepeatMode()
            setShuffleMode()
            stop()
          Signals in QPlayer
            mediaSourceChanged()
            playerReady()
            playerStateChanged()
            trackChanged()
            trackPositionChanged()
            trackSessionChanged()
    Showcasing Your Apps on the QNX App Portal
  Multimedia Components
    Architecture Guide
      QNX CAR Multimedia Architecture
        Media device detection and synchronization
        Media browsing
        Media playback
    Multimedia Controller
      Multimedia Controller Overview
        Deciding whether to run mm-control
        mm-control components
      Running mm-control
        Restarting mm-control manually
        Preventing mm-control from running
        mm-control SLM specification
        mm-control command line
          mm-control configuration file
      Setup and Command Monitoring
        Media command processing
    Multimedia Detector
      Multimedia Detector Overview
        Components used to retrieve media information
        Deciding whether to run mm-detect
        Customizing mm-detect
      Running mm-detect
        Restarting mm-detect manually
        Preventing mm-detect from running
        mm-detect SLM specification
        mm-detect command line
      Device tracking and media information management
        Device insertion handling
          Media synchronization thread actions
        Device removal handling
        PPS devices information object
        PPS synchronization status object
    Multimedia Player
    Multimedia Player
      Multimedia Player Overview
        Architecture
          Layers of mm-player
        Players
        Media sources
        Media nodes
        Tracksessions
      Media Player Plugins
        POSIX plugin
        AVRCP Plugin
        DLNA Plugin
        iPod Plugin
        synceddb Plugin
      Running mm-player
        Restarting mm-player
        SLM specification of mm-player
        Configuration file
        Command line for mm-player
      Multimedia Player API
        Media browsing and playback interface
          Constants in types.h
            Definitions in types.h
          Enumerations in types.h
            ms_browse_capability_e
            ms_node_type_e
            ms_playback_capability_e
            ms_status_e
            ms_type_e
            repeat_e
            shuffle_e
            status_e
          Data types in types.h
            mmp_ms_t
            mmp_ms_node_t
            mmp_ms_node_metadata_t
            mmp_state_t
            mmp_track_info_t
            mmp_trksession_info_t
          Functions in mmplayerclient.h
            mm_player_browse()
            mm_player_close()
            mm_player_connect()
            mm_player_create_trksession()
            mm_player_destroy_trksession()
            mm_player_disconnect()
            mm_player_get_current_state()
            mm_player_get_current_track_info()
            mm_player_get_current_track_position()
            mm_player_get_current_trksession_info()
            mm_player_get_extended_metadata()
            mm_player_get_media_sources()
            mm_player_get_metadata()
            mm_player_get_trksession_tracks()
            mm_player_jump()
            mm_player_next()
            mm_player_open()
            mm_player_pause()
            mm_player_play()
            mm_player_previous()
            mm_player_repeat()
            mm_player_search()
            mm_player_seek()
            mm_player_set_playback_rate()
            mm_player_shuffle()
            mm_player_stop()
        Event interface
          Enumerations in events.h and types.h
            ms_error_e
            ms_event_e
            mmp_event_type_e
            trksession_event_e
          Data types in events.h
            mmp_event
              mmp_event::details
              mmp_event::data
          Functions in events.h
            mmp_event_get()
            mmp_event_wait()
  PPS Objects Reference
    Overview of the PPS Service
    Setting Up Your Own Objects
    PPS Objects Reference Pages
      /pps/accounts/
      /pps/applications/mediaplayer
      /pps/applications/weathernetwork/
      /pps/qnx/dbnotify/dbs
      /pps/qnx/device/<device>
      /pps/qnx/device/<device>_ctrl
      /pps/qnx/driver/<pid>
      /pps/qnx/mount/<device>
      /pps/qnx/qdb/config/<dbname>
      /pps/qnx/qdb/status/<dbname>
      /pps/qnxcar/hvac
      /pps/qnxcar/locale
      /pps/qnxcar/navigation/control
      /pps/qnxcar/navigation/geolocation
      /pps/qnxcar/navigation/options
      /pps/qnxcar/navigation/status
      /pps/qnxcar/profile/theme
      /pps/qnxcar/profile/user
      /pps/qnxcar/sensors
      /pps/qnxcar/system/info
      /pps/qnxcar/system/settings
      /pps/qnxcar/themes
      /pps/radio/command
      /pps/radio/status
      /pps/radio/ti_control
      /pps/radio/ti_rds
      /pps/radio/ti_status
      /pps/radio/tuners
      /pps/servicedata/schedule
      /pps/services/app-launcher
      /pps/services/appinst-mgr/control
      /pps/services/appinst-mgr/status
      /pps/services/asr/control
      /pps/services/audio/audio_router_control
      /pps/services/audio/audio_router_status
      /pps/services/audio/control
      /pps/services/audio/devices/
      /pps/services/audio/mixer
      /pps/services/audio/status
      /pps/services/audio/types/
      /pps/services/audio/voice_status
      /pps/services/bluetooth/control
      /pps/services/bluetooth/handsfree/control
      /pps/services/bluetooth/handsfree/status
      /pps/services/bluetooth/messages/control
      /pps/services/bluetooth/messages/notification
      /pps/services/bluetooth/messages/status
      /pps/services/bluetooth/paired_devices/<mac_addr>
      /pps/services/bluetooth/phonebook/control
      /pps/services/bluetooth/phonebook/status
      /pps/services/bluetooth/remote_devices/<mac_addr>
      /pps/services/bluetooth/services
      /pps/services/bluetooth/settings
      /pps/services/bluetooth/spp/spp
      /pps/services/bluetooth/status
      /pps/services/bootmgr/
      /pps/services/clock/control
      /pps/services/clock/status
      /pps/services/gears/control
      /pps/services/gears/status
      /pps/services/geolocation/control
      /pps/services/geolocation/status
      /pps/services/hmi-notification/control
      /pps/services/hmi-notification/Messaging
      /pps/services/hmi-notification/Status
      /pps/services/launcher/control
      /pps/services/mirrorlink/applications
      /pps/services/mirrorlink/entities
      /pps/services/mirrorlink/rtp
      /pps/services/mm-control/control
      /pps/services/mm-control/<playername>/status
      /pps/services/mm-detect/status
      /pps/services/multimedia/mediacontroller/control
      /pps/services/multimedia/mediaplayer/control
      /pps/services/multimedia/mediaplayer/phone
      /pps/services/multimedia/mediaplayer/status
      /pps/services/multimedia/renderer/component/
      /pps/services/multimedia/renderer/context/<contextname>
      /pps/services/multimedia/renderer/context/<contextname>/input
      /pps/services/multimedia/renderer/context/<contextname>/metadata
      /pps/services/multimedia/renderer/context/<contextname>/output#
      /pps/services/multimedia/renderer/context/<contextname>/p#
      /pps/services/multimedia/renderer/context/<contextname>/param
      /pps/services/multimedia/renderer/context/<contextname>/play-queue
      /pps/services/multimedia/renderer/context/<contextname>/q#
      /pps/services/multimedia/renderer/context/<contextname>/state
      /pps/services/multimedia/renderer/context/<contextname>/status
      /pps/services/multimedia/renderer/control
      /pps/services/networking/all/interfaces/<interface>
      /pps/services/networking/all/proxy
      /pps/services/networking/all/status_public
      /pps/services/networking/control
      /pps/services/networking/proxy
      /pps/services/networking/status
      /pps/services/networking/status_public
      /pps/services/tethering/control
      /pps/services/tethering/status
      /pps/services/update/control
      /pps/services/update/settings
      /pps/services/update/status
      /pps/services/update/target
      /pps/services/vnc/discovery/
      /pps/services/wifi/control
      /pps/services/wifi/status
      /pps/system/keyboard/control
      /pps/system/keyboard/status
      /pps/system/navigator/appdata
      /pps/system/navigator/applications/applications
      /pps/system/navigator/command
      /pps/system/navigator/status/mobile_hotspot
      /pps/system/navigator/status/tethering
      /pps/system/navigator/windowgroup
      /pps/system/navigator/windowparams
    List of Objects Used Internally
  System Services Reference
    Artwork Client (artwork_client_car2)
    Audio Management
      Audio manager PPS objects
    Certificate Management
    Geolocation
    Handsfree Telephony
      Handsfree telephony in QNX CAR
      Processing the handsfree call
       io-acoustic
        Configuring io-acoustic
        Configuration keys
        Example configurations
        Acoustic processing tuning files (.qcf)
      Remote control server (RCS)
      Using the io-acoustic API
      io-acoustic API
        IOAP_* type definitions
        IOAP_HF_EVENT_*
        ioap_device_t
        ioap_event_t
        ioap_event_next()
        ioap_hf_attach()
        ioap_hf_config()
        ioap_hf_get_latency_estimate()
        ioap_hf_get_log_level()
        ioap_hf_get_output_volume()
        ioap_hf_go()
        ioap_hf_latency_estimate_t
        ioap_hf_latency_test_t
        ioap_hf_mute()
        ioap_hf_prepare()
        ioap_hf_read_events()
        ioap_hf_register_events()
        ioap_hf_route()
        ioap_hf_set_log_level()
        ioap_hf_set_output_volume()
        ioap_hf_setup()
        ioap_hf_setup_t
        ioap_hf_start_latency_test()
        ioap_hf_stop()
        ioap_io_map_t
    Image Generation
      gen-ifs
      gen-osversion
      mkimage
      mksysimage
      mktar
    Keyboard
      Keyboard (keyboard-imf)
    MirrorLink
      The mlink-daemon service—discoverer, launcher, and audiorouter
      The mlink-rtp service—RTP audio streaming
      The mlink-viewer service—MirrorLink viewer app
    Navigation Engine
    Network Manager (net_pps)
    Now Playing Service
      Using the now playing service
      Now playing service PPS objects
      Now Playing Service (nowplaying)
    Radio
      RadioApp
    Realtime Clock Synchronization
    Shutdown service (coreServices2)
    Software Updates
      Software update core library
        Architecture of swu-core library
        Key concepts of the library
        How software update applications integrate with swu-core
        Manifest file
        SWU library API
          ClientConfiguration.h
            Functions in ClientConfiguration.h
              swu_client_configuration_disable_local_updates()
              swu_client_configuration_enable_local_updates()
              swu_client_configuration_get_id()
              swu_client_configuration_get_local_updates_enabled()
              swu_client_configuration_get_max_update_retries()
              swu_client_configuration_get_update_grace_period()
              swu_client_configuration_set_max_update_retries()
              swu_client_configuration_set_update_grace_period()
          Common.h
            Constants in Common.h
              Definitions in Common.h
            Enumerations in Common.h
              swu_failure_reason_t
              swu_result_t
              swu_update_priority_t
              swu_update_state_t
              swu_log_level_t
            Data types in Common.h
              swu_client_id_t
              swu_failure_code_t
              swu_failure_info_t
              swu_manifest_id_t
              swu_progress_t
              swu_string_t
              swu_target_t
              swu_target_id_t
              swu_target_sw_information_t
              swu_timestamp_t
              swu_update_t
              swu_update_id_t
              swu_update_list_t
              swu_uri_t
            Functions in Common.h
              swu_object_release()
              swu_object_retain()
              swu_result_to_string()
              swu_update_state_to_string()
          Update.h
            Data types in Update.h
              swu_update_notifications_t
              swu_update_state_mask_t
            Functions in Update.h
              swu_update_accept_install()
              swu_update_compare_to_id()
              swu_update_decline_install()
              swu_update_defer_install()
              swu_update_get_base_version()
              swu_update_get_can_be_declined()
              swu_update_get_can_be_deferred()
              swu_update_get_defer_period()
              swu_update_get_description()
              swu_update_get_failure_info()
              swu_update_get_grace_period()
              swu_update_get_id()
              swu_update_get_install_source_location()
              swu_update_get_install_percent_completed()
              swu_update_get_manifest_id()
              swu_update_get_name()
              swu_update_get_post_install_command()
              swu_update_get_priority()
              swu_update_get_pre_install_command()
              swu_update_get_prompt_to_install()
              swu_update_get_short_description()
              swu_update_get_state()
              swu_update_get_version()
              swu_update_get_release_timestamp()
              swu_update_get_size()
              swu_update_get_target()
              swu_update_get_verification_percent_completed()
              swu_update_register_notifications()
              swu_update_to_string()
              swu_update_unregister_notifications()
          UpdateClient.h
            Data types in UpdateClient.h
              swu_client_target_iterator_t
              swu_client_target_notification_t
              swu_logging_callback_t
              swu_update_list_iterator_t
              swu_update_list_notification_t
            Functions in UpdateClient.h
              swu_client_create_updates()
              swu_client_conditions_invalid_for_installs()
              swu_client_conditions_valid_for_installs()
              swu_client_get_install_update_list()
              swu_client_get_target_list_length()
              swu_client_initialize()
              swu_client_iterate_targets()
              swu_client_register_target_list_notification()
              swu_client_release_updates()
              swu_client_set_logging_callback()
              swu_client_uninitialize()
              swu_client_unregister_target_list_notification()
              swu_update_list_get_length()
              swu_update_list_iterate()
              swu_update_list_register_notification()
              swu_update_list_unregister_notification()
          UpdateTarget.h
            Functions in UpdateTarget.h
              swu_target_get_id()
              swu_target_get_info()
          UpdateTargetInterface.h
            Data types in UpdateTargetInterface.h
              swu_target_interface_t
            Functions in UpdateTargetInterface.h
              swu_target_install_failed()
              swu_target_install_progress()
              swu_target_install_successful()
              swu_target_not_ready_to_install()
              swu_target_ready_to_install()
              swu_target_register()
              swu_target_unregister()
              swu_target_verification_failed()
              swu_target_verification_progress()
              swu_target_verification_successful()
      Software update daemon
         swud
        Loading swud modules
        Developing swud modules
        Reference modules
        Generating a delta file
        SWU module API
          Constants in swu_module.h
            Definitions in swu_module.h
          Functions in swu_module.h
            SWU_MODULE_INITIALIZE()
            SWU_MODULE_SHUTDOWN()
    System Launch and Monitor (SLM)
    Tether Manager (tetherman)
    Wi-Fi configuration (wpa_pps)
  User's Guide
    Getting Ready
    A Guided Tour of the HMI
      Home
      Navigation
      Media Player
        Play Radio
        Play Music
        Play Video
        Search
        Media source menu
        Using voice commands to play media
      Car Control
        Audio Control
        Climate Control
        Virtual Mechanic
        Personalization
          Changing themes
      Communication
      Apps Section
      Push-to-Talk
    Running the HTML5 HMI
    Automatic Speech Recognition (ASR)
      Supported voice commands
      Using mm-control to process voice commands
    Bluetooth: Pairing Devices, Calling, and Messaging
      Pairing a smartphone
      Making a phone call
      Viewing the phone's email
      Viewing the phone's contacts
      Viewing the phone's text messages
    Network Settings
    Rearview Camera
    Pandora Radio
    Recalibrating the Touchscreen
    Software Updates
      Applying an update from the HMI
      Applying an update from the command line
    Downloading Apps from the QNX App Portal
  Copyrights
    Typographical conventions
    Technical support
    Copyright information
       Architecture Guide
       Automatic Speech Recognition Developer's Guide
       Bluetooth Architectural Overview and Configuration Guide
       Boot Optimization Guide
       Building and Customizing Target Images
       HMI Notification Manager
       HTML5 and JavaScript Framework
       Multimedia Architecture Guide
       Multimedia Controller Configuration Guide
       Multimedia Detector Configuration Guide
       Multimedia Player Developer's Guide
       Navigator
       PPS Objects Reference
       Qt Development Environment
       Showcasing Your Apps on the QNX App Portal
       System Services Reference
       User's Guide
    Licensing information
  Architecture Guide
    Top-Level Design
    Common Mechanisms
    Supported Boards
    Ecosystem
    Boot Time Optimization
    Platform Layer
      QNX Neutrino RTOS
        Microkernel
        Instant Device Activation
        Networking
        Fault detection
        High Availability
        Adaptive Partitioning
        Resource manager framework
      OpenGL ES
      Software Update
    Middleware Layer
      Multimedia
      Navigation
      Automatic Speech Recognition (ASR)
        ASR modules
        ASR and TTS integration
      Radio
      Rearview camera
      Mobile Device Gateway
        Android interfaces
        Bluetooth
        DLNA
        Apple iOS interfaces
        MTP device interface
        MirrorLink
        Network interfaces
        USB
    HMI Layer
      Application support
      HTML5 application framework
        Browser engine
      Qt application model
      Application Management
      HMI Notification Manager
  Automatic Speech Recognition Developer's Guide
    Automatic Speech Recognition
      Process control flow
    Extending ASR
      Anatomy of a module
      Prompt module
      Audio modules
      Recognition module
      Conversation modules
        The search module
        The car-media module
        The dialer module
      Adding a conversation module
        Specifying NLAL grammars
    API Reference
      asr.h
        Definitions in asr.h
        Data types in asr.h
          asr_context_hdl
          asr_global_data_t
          asr_instance_data_t
        Functions in asr.h
          asr_cancel()
          asr_close_global()
          asr_close_instance()
          asr_context_add_entries()
          asr_context_create()
          asr_context_destroy()
          asr_context_save()
          asr_get_hold_count()
          asr_get_restart()
          asr_get_utterance()
          asr_hold()
          asr_open_global()
          asr_open_instance()
          asr_post_step()
          asr_recognition_initialize()
          asr_release()
          asr_reload_localization()
          asr_result_map_status()
          asr_set_recognizer()
          asr_set_restart()
          asr_set_utterance()
          asr_slog()
          asr_start()
          asr_stop()
      asra.h
        Data types in asra.h
          asra_module_hdl_t
        Functions in asra.h
          asr_audio_initialize()
          asra_acquire_buffer()
          asra_close()
          asra_connect()
          asra_disconnect()
          asra_get_utterance()
          asra_open()
          asra_relinquish_buffer()
          asra_save_wavefile()
          asra_set_params()
          asra_set_source()
          asra_set_utterance()
          asra_start()
          asra_stop()
      asrm.h
        Enumerations in asrm.h
          asrm_phrase_search_mode_t
        Functions in asrm.h
          asr_module_initialize()
          asr_strmatch()
          asrm_activate_module()
          asrm_append_intent()
          asrm_append_result()
          asrm_connect()
          asrm_context_add_entries()
          asrm_context_create()
          asrm_context_destroy()
          asrm_context_save()
          asrm_create_dictation_result()
          asrm_deactivate_module()
          asrm_delete_terminals()
          asrm_find_module()
          asrm_find_phrase()
          asrm_find_phrase_id()
          asrm_find_result_phrase()
          asrm_find_result_phrase_id()
          asrm_free_result()
          asrm_get_config()
          asrm_get_exclusive()
          asrm_get_holdcount()
          asrm_get_intent_field()
          asrm_get_locale()
          asrm_get_utterance()
          asrm_is_cancellation_request()
          asrm_is_confirmation()
          asrm_is_help_or_cancel()
          asrm_is_help_request()
          asrm_next_module()
          asrm_post_result()
          asrm_recognizer_hold()
          asrm_recognizer_release()
          asrm_recognizer_start()
          asrm_recognizer_stop()
          asrm_set_active_sections()
          asrm_set_exclusive()
          asrm_set_locale()
          asrm_set_utterance()
          asrm_slog()
          asrm_strdup_result()
          asrm_unset_exclusive()
          asrnl_check_section_rules()
          asrnl_evaluate_result()
          asrv_get_common_value()
          find_phrase()
          find_result_phrase()
          strconfstr()
      asrp.h
        Data types in asrp.h
          asr_prompt_interface
          asr_prompt_interface_t
          asrp_module_hdl_t
          asrp_module_interface
          asrp_module_interface_t
          asrp_post_step()
          asrp_prompt_info
          asrp_prompt_info_t
          asrp_visual_dialog
          asrp_visual_dialog_t
        Enumerations in asrp.h
          asrp_processing_flags_t
          tts_error_class_t
        Functions in asrp.h
          asrp_active_help()
          asrp_connect()
          asrp_get_status()
          asrp_play_item()
          asrp_play_tts()
          asrp_play_tts_item()
          asrp_play_url()
          asrp_reset()
          asrp_response_cb_t
          asrp_section_help()
          asrp_set_error()
          asrp_slog()
          asrp_start()
          asrp_stop()
      asrv.h
        Functions in asrv.h
          asrv_audio_acquire_buffer()
          asrv_audio_close()
          asrv_audio_open()
          asrv_audio_relinquish_buffer()
          asrv_audio_set_parms()
          asrv_audio_start()
          asrv_audio_stop()
          asrv_get_active_sections()
          asrv_get_common_value()
          asrv_get_context()
          asrv_get_recognizer_sections()
          asrv_post_data()
          asrv_post_result()
          asrv_post_step()
      cfg.h
        Data types in cfg.h
          cfg_encoder
          cfg_encoder_t
          cfg_item_t
        Functions in cfg.h
          cfg_add_item()
          cfg_add_item_string()
          cfg_attach_item()
          cfg_clear_item()
          cfg_clone()
          cfg_create()
          cfg_delete_item()
          cfg_destroy()
          cfg_detach_item()
          cfg_dup_resolved_item_value()
          cfg_dup_resolved_string()
          cfg_encoder_add_int()
          cfg_encoder_add_raw_string()
          cfg_encoder_add_string()
          cfg_encoder_attach()
          cfg_encoder_cleanup()
          cfg_encoder_end_object()
          cfg_encoder_init()
          cfg_encoder_start_object()
          cfg_find_higher_item()
          cfg_find_item()
          cfg_find_next_item()
          cfg_find_num()
          cfg_find_predefined_item()
          cfg_find_value()
          cfg_get_explicit_value()
          cfg_get_key()
          cfg_get_next_item()
          cfg_get_num()
          cfg_get_parent()
          cfg_get_value()
          cfg_insert_item()
          cfg_insert_raw_item()
          cfg_load()
          cfg_merge()
          cfg_replace_item()
          cfg_resolve_value()
          cfg_traverse()
          cfg_traverse_items()
          find_quote()
          remove_quotes()
          strip_escapes()
          strip_white()
      mod_types.h
        Definitions in mod_types.h
        Data types in mod_types.h
          asr_audio_info
          asr_audio_info_t
          asr_context_hdl_t
          asr_conversation_if
          asr_conversation_if_t
          asr_module_hdl_t
          asr_recognizer_hdl_t
          asr_recognizer_if
          asr_recognizer_if_t
          asr_slot_entry
          asr_slot_entry_t
          asr_transcription_s
          asr_transcription_t
          asra_module_interface
          asra_module_interface_t
        Enumerations in mod_types.h
          module_status_e
          asr_module_status_t
        Functions in mod_types.h
          asr_connect()
          stristr()
      protos.h
        Functions in protos.h
          logmsg()
          logresult()
      slot-factory.h
        Definitions in slot-factory.h
        Data types in slot-factory.h
          _Entry
          _SlotFactory
          SlotFactory_Entry
          SlotFactory_EntryList
          SlotFactory
        Functions in slot-factory.h
          SlotFactory_Create()
          SlotFactory_createEntry()
          SlotFactory_createUniqueEntry()
          SlotFactory_Delete()
          SlotFactory_Entry_Create()
          SlotFactory_Entry_delete()
          SlotFactory_init()
          SlotFactory_reset()
      terminals.h
      types.h
        Definitions in types.h
        Data types in types.h
          asr_intent
          asr_intent_t
          asr_result
          asr_result_t
          asr_result_tag
          asr_result_tag_t
          asr_result_type
          asr_result_type_t
          asr_terminal
          asr_terminal_t
        Enumerations in types.h
          asr_step_e
          asr_step_t
          result_action_e
          asr_result_action_t
        Functions in types.h
          tolower_m()
          toupper_m()
  Bluetooth Architectural Overview and Configuration Guide
    Bluetooth Architecture
    Starting Bluetooth on the Target
    Device Management
      Pairing a device
      Removing a paired device
      Getting device information
    Bluetooth Profiles
      Hands-Free Profile (HFP)
      Message Access Profile (MAP)
      Phone Book Access Profile (PBAP)
      Serial Port Profile (SPP)
      Advanced Audio Distribution Profile / Audio/Video Remote Control Profile (A2DP/AVRCP)
    Bluetooth Databases
      Core database
      Phonebook database
      Messages database
  Boot Optimization Guide
    Overview of Boot Optimization
    System Startup Sequence
    Configuring the Target for Boot Optimization
    Optimizing Boot Times
      Optimize the bootloader
      Reduce the size of the startup program
      Remove unnecessary debug printing
      Reduce the size of the IFS
      Generate the IPL to skip the image scan
      Enable fast reading in the SD card
      Use compression strategies
      Make careful use of the default build script
      Consider the placement of waitfor statments
      Reorder the startup program
      Optimize the HMI
      Create modular applications
      Statically link libraries
    Measuring Boot Times
      The boot_metrics.log file
      Measuring the time to copy from flash to RAM
  Building and Customizing Target Images
    Target Images
      Overview of an image, boot process, and filesystem layout
    Tools at a Glance
    Process to Generate an Image
    Build a Target Image
      Sample image directory structure
    Image Configuration
      Configuration file for mksysimage
      Configuration file for mkimage
      Calculatimg the size of target images and partitions
      Target startup scripts
    Board Support Packages (BSPs)
      Extract a BSP
    Transfer an Image to a microSD card
  HMI Development Guides
    HMI Notification Manager
      About This Guide
      HNM Components
      Event Processing
      Configuration
      Plugins
        The Generic plugin
        The HandsFreePhone plugin
        The VirtualMechanic plugin
      PPS Objects
      API Reference
        core.h
          Definitions in core.h
          Enumerations in core.h
            hnm_LogBufferId
            hnm_log_buffer_id
          Functions in core.h
            hnm_log()
            hnm_set_log_buffer()
            hnm_setLogVerbosity()
        display_event.h
          Definitions in display_event.h
          Typedefs in display_event.h
            hnm_DisplayEvent
            hnm_display_event
            hnm_window_type
          Enumerations in display_event.h
            hnm_WindowTypeID
            hnm_window_type_e
          Functions in display_event.h
            display_event_factory_get_next_event()
            display_event_window_type_id()
            display_event_window_type_name()
            hnm_display_event_appraise()
            hnm_DisplayEvent_create()
            hnm_DisplayEventFactory_findEvent()
            hnm_DisplayEventFactory_getDefaultEvent()
            hnm_DisplayEventFactory_init()
            hnm_DisplayEventFactory_InitWindowTypes()
            hnm_display_event_service()
        event.h
          Definitions in event.h
          Typedefs in event.h
            hnm_event
            hnm_EventClass
            hnm_event_class
            hnm_EventPriorityMap
            hnm_event_priority_map
            hnm_EventType
            hnm_Priority
          Enumerations in event.h
            hnm_EventClass
            hnm_event_class
            hnm_priority_e
        event-source.h
          Typedefs in event-source.h
            hnm_EventSource
            hnm_event_source
            hnm_Module
            hnm_module
          Functions in event-source.h
            hnm_register_module()
        messaging.h
          Definitions in messaging.h
          Typedefs in messaging.h
            hnm_Messaging_Client
            hnm_messaging_client_s
            hnm_Messaging
            hnm_messaging_s
          Functions in messaging.h
            hnm_Messaging_ppsHandler()
            hnm_Messaging_sendTransient()
        pps.h
          Definitions in pps.h
          Typedefs in pps.h
            pps_Object
            pps_object
            pps_ObjectId
          Functions in pps.h
            pps_encoder_strerror()
            pps_decoder_strerror()
            pps_Object_addToPollList()
            pps_Object_close()
            pps_Object_open()
            pps_Object_read()
            pps_Object_write()
        queue.h
          Typedefs in queue.h
            queue_Element
            queue_element
            queue_Queue
            queue_queue
          Functions in queue.h
            queue_delete()
            queue_get_head()
            queue_has_element()
            queue_is_empty()
            queue_next_element()
            queue_pop()
            queue_push()
        status.h
          Definitions in status.h
          Typedefs in status.h
            hnm_Status
            hnm_status_s
          Functions in status.h
            hnm_Status_displayList()
            hnm_Status_findDisplayEvent()
            hnm_Status_getDisplayList()
            hnm_Status_ppsHandler()
            hnm_Status_update()
    HTML5 and JavaScript Framework
      HTML5 and JavaScript Development Tools
        HTML5 app support
      Obtaining the development tools
      Modifying CSS Styles
      Creating BAR packages for Cordova apps
      Creating BAR packages for WebWorks apps
      Cordova JavaScript Plugins
        car.audiomixer
        car.hvac
        car.mediaplayer
          car.mediaplayer.MediaPlayer
        car.navigation
        car.profile
        car.radio
        car.sensors
        car.theme
        car.zone
        qnx.application.event
        qnx.bluetooth
        qnx.bluetooth.pbab
        qnx.message
        qnx.phone
        qnx.settings
      WebWorks JavaScript Extensions (Deprecated)
        qnx.application
        qnx.application.event
        qnx.audiomixer
        qnx.audioplayer
        qnx.bluetooth
        qnx.bluetooth.pbap
        qnx.bluetooth.spp
        qnx.gears
        qnx.hvac
        qnx.info
        qnx.keyboard
        qnx.keyboard.overlay
        qnx.locale
        qnx.medialibrary
        qnx.mediasource
        qnx.message
        qnx.navigation
        qnx.navigation.tcs
        qnx.navigator
        qnx.navigator.overlay
        qnx.network
        qnx.phone
        qnx.radio
        qnx.sensors
        qnx.settings
        qnx.systemupdate
        qnx.theme
        qnx.user
        qnx.voice
        qnx.volume
      Porting WebWorks Applications to Cordova
    Application and Window Management
      Introduction to Application and Window Management
      HTML5 HMI
        Window management
        Application management
        Reference implementation
      Qt5 HMI
        Window management
        Application management
      Creating an Application Window Manager: Requirements
    Qt Development Environment
      Qt Libraries
        QtQnxCar2 Library
        QPPS Library
        QPlayer Library
      Preparing your host system for Qt development
        Installing QNX QDF
        Installing Qt Creator
        Configuring a QNX device in Qt Creator
        Configuring a toolchain in Qt Creator
      Packaging a Qt App
        Qt command-line options for blackberry-nativepackager
      QPPS API
        Changeset
        DirWatcher
          Public functions in DirWatcher
            DirWatcher()
            ~DirWatcher()
            errorString()
            isValid()
            objectNames()
            path()
          Signals in DirWatcher
            objectAdded()
            objectRemoved()
        Object
          Public functions in Object
            attribute()
            attributeCacheEnabled()
            attributeNames()
            errorString()
            isValid()
            Object()
            ~Object()
            path()
            setAttributeCacheEnabled()
            setAttributes()
          Public properties of Object
            PublicationMode
          Public slots in Object
            removeAttribute()
            setAttribute()
          Signals in Object
            attributeChanged()
            attributesChanged()
            attributeRemoved()
            objectRemoved()
        Simulator
          Public functions in Simulator
            clientGetAttribute()
            clientGetAttributeNames()
            clientRemoveAttribute()
            clientSetAttribute()
            dumpTree()
            insertAttribute()
            insertObject()
            ppsObjects()
            registerClient()
            reset()
            self()
            triggerInitialListing()
            unregisterClient()
          Signals in Simulator
            attributeChanged()
            attributeRemoved()
            clientConnected()
            clientDisconnected()
            objectAdded()
        Variant
          Public functions in Variant
            encoding()
            isValid()
            toBool()
            toByteArray()
            toDouble()
            toInt()
            toJson()
            toString()
            value()
            Variant()
            Variant(bool)
            Variant(double)
            Variant(int)
            Variant(QByteArray)
            Variant(QJsonDocument)
            Variant(QJsonObject)
            Variant(QString)
            Variant(QByteArray,QByteArray)
            operator==
            operator!=
      QPlayer API
        Error and event type enumerations
          Error codes enum
          MediaSourceEventType
          TrackSessionEventType
        Media command classes
          BaseCommand
          BrowseCommand
          CreateTrackSessionCommand
          CurrentTrackCommand
          CurrentTrackPositionCommand
          ExtendedMetadataCommand
          MediaSourcesCommand
          MetadataCommand
          PlayerStateCommand
          SearchCommand
          TrackSessionInfoCommand
          TrackSessionItemsCommand
        Media information data types
          MediaNode
          MediaSource
          Metadata
          PlayerState
          Track
          TrackSession
        QPlayer class
          Public constants used by QPlayer
            ROOT_MEDIA_NODE_ID
          Public functions in QPlayer
            browse()
            createTrackSession()
            destroyTrackSession()
            getCurrentTrack()
            getCurrentTrackPosition()
            getCurrentTrackSessionInfo()
            getExtendedMetadata()
            getMediaSources()
            getMetadata()
            getPlayerState()
            getTrackSessionItems()
            QPlayer()
            ~QPlayer()
            search()
          Public slots in QPlayer
            jump()
            next()
            pause()
            play()
            previous()
            seek()
            setPlaybackRate()
            setRepeatMode()
            setShuffleMode()
            stop()
          Signals in QPlayer
            mediaSourceChanged()
            playerReady()
            playerStateChanged()
            trackChanged()
            trackPositionChanged()
            trackSessionChanged()
    Showcasing Your Apps on the QNX App Portal
  Multimedia Components
    Architecture Guide
      QNX CAR Multimedia Architecture
        Media device detection and synchronization
        Media browsing
        Media playback
    Multimedia Controller
      Multimedia Controller Overview
        Deciding whether to run mm-control
        mm-control components
      Running mm-control
        Restarting mm-control manually
        Preventing mm-control from running
        mm-control SLM specification
        mm-control command line
          mm-control configuration file
      Setup and Command Monitoring
        Media command processing
    Multimedia Detector
      Multimedia Detector Overview
        Components used to retrieve media information
        Deciding whether to run mm-detect
        Customizing mm-detect
      Running mm-detect
        Restarting mm-detect manually
        Preventing mm-detect from running
        mm-detect SLM specification
        mm-detect command line
      Device tracking and media information management
        Device insertion handling
          Media synchronization thread actions
        Device removal handling
        PPS devices information object
        PPS synchronization status object
    Multimedia Player
    Multimedia Player
      Multimedia Player Overview
        Architecture
          Layers of mm-player
        Players
        Media sources
        Media nodes
        Tracksessions
      Media Player Plugins
        POSIX plugin
        AVRCP Plugin
        DLNA Plugin
        iPod Plugin
        synceddb Plugin
      Running mm-player
        Restarting mm-player
        SLM specification of mm-player
        Configuration file
        Command line for mm-player
      Multimedia Player API
        Media browsing and playback interface
          Constants in types.h
            Definitions in types.h
          Enumerations in types.h
            ms_browse_capability_e
            ms_node_type_e
            ms_playback_capability_e
            ms_status_e
            ms_type_e
            repeat_e
            shuffle_e
            status_e
          Data types in types.h
            mmp_ms_t
            mmp_ms_node_t
            mmp_ms_node_metadata_t
            mmp_state_t
            mmp_track_info_t
            mmp_trksession_info_t
          Functions in mmplayerclient.h
            mm_player_browse()
            mm_player_close()
            mm_player_connect()
            mm_player_create_trksession()
            mm_player_destroy_trksession()
            mm_player_disconnect()
            mm_player_get_current_state()
            mm_player_get_current_track_info()
            mm_player_get_current_track_position()
            mm_player_get_current_trksession_info()
            mm_player_get_extended_metadata()
            mm_player_get_media_sources()
            mm_player_get_metadata()
            mm_player_get_trksession_tracks()
            mm_player_jump()
            mm_player_next()
            mm_player_open()
            mm_player_pause()
            mm_player_play()
            mm_player_previous()
            mm_player_repeat()
            mm_player_search()
            mm_player_seek()
            mm_player_set_playback_rate()
            mm_player_shuffle()
            mm_player_stop()
        Event interface
          Enumerations in events.h and types.h
            ms_error_e
            ms_event_e
            mmp_event_type_e
            trksession_event_e
          Data types in events.h
            mmp_event
              mmp_event::details
              mmp_event::data
          Functions in events.h
            mmp_event_get()
            mmp_event_wait()
  PPS Objects Reference
    Overview of the PPS Service
    Setting Up Your Own Objects
    PPS Objects Reference Pages
      /pps/accounts/
      /pps/applications/mediaplayer
      /pps/applications/weathernetwork/
      /pps/qnx/dbnotify/dbs
      /pps/qnx/device/<device>
      /pps/qnx/device/<device>_ctrl
      /pps/qnx/driver/<pid>
      /pps/qnx/mount/<device>
      /pps/qnx/qdb/config/<dbname>
      /pps/qnx/qdb/status/<dbname>
      /pps/qnxcar/hvac
      /pps/qnxcar/locale
      /pps/qnxcar/navigation/control
      /pps/qnxcar/navigation/geolocation
      /pps/qnxcar/navigation/options
      /pps/qnxcar/navigation/status
      /pps/qnxcar/profile/theme
      /pps/qnxcar/profile/user
      /pps/qnxcar/sensors
      /pps/qnxcar/system/info
      /pps/qnxcar/system/settings
      /pps/qnxcar/themes
      /pps/radio/command
      /pps/radio/status
      /pps/radio/ti_control
      /pps/radio/ti_rds
      /pps/radio/ti_status
      /pps/radio/tuners
      /pps/servicedata/schedule
      /pps/services/app-launcher
      /pps/services/appinst-mgr/control
      /pps/services/appinst-mgr/status
      /pps/services/asr/control
      /pps/services/audio/audio_router_control
      /pps/services/audio/audio_router_status
      /pps/services/audio/control
      /pps/services/audio/devices/
      /pps/services/audio/mixer
      /pps/services/audio/status
      /pps/services/audio/types/
      /pps/services/audio/voice_status
      /pps/services/bluetooth/control
      /pps/services/bluetooth/handsfree/control
      /pps/services/bluetooth/handsfree/status
      /pps/services/bluetooth/messages/control
      /pps/services/bluetooth/messages/notification
      /pps/services/bluetooth/messages/status
      /pps/services/bluetooth/paired_devices/<mac_addr>
      /pps/services/bluetooth/phonebook/control
      /pps/services/bluetooth/phonebook/status
      /pps/services/bluetooth/remote_devices/<mac_addr>
      /pps/services/bluetooth/services
      /pps/services/bluetooth/settings
      /pps/services/bluetooth/spp/spp
      /pps/services/bluetooth/status
      /pps/services/bootmgr/
      /pps/services/clock/control
      /pps/services/clock/status
      /pps/services/gears/control
      /pps/services/gears/status
      /pps/services/geolocation/control
      /pps/services/geolocation/status
      /pps/services/hmi-notification/control
      /pps/services/hmi-notification/Messaging
      /pps/services/hmi-notification/Status
      /pps/services/launcher/control
      /pps/services/mirrorlink/applications
      /pps/services/mirrorlink/entities
      /pps/services/mirrorlink/rtp
      /pps/services/mm-control/control
      /pps/services/mm-control/<playername>/status
      /pps/services/mm-detect/status
      /pps/services/multimedia/mediacontroller/control
      /pps/services/multimedia/mediaplayer/control
      /pps/services/multimedia/mediaplayer/phone
      /pps/services/multimedia/mediaplayer/status
      /pps/services/multimedia/renderer/component/
      /pps/services/multimedia/renderer/context/<contextname>
      /pps/services/multimedia/renderer/context/<contextname>/input
      /pps/services/multimedia/renderer/context/<contextname>/metadata
      /pps/services/multimedia/renderer/context/<contextname>/output#
      /pps/services/multimedia/renderer/context/<contextname>/p#
      /pps/services/multimedia/renderer/context/<contextname>/param
      /pps/services/multimedia/renderer/context/<contextname>/play-queue
      /pps/services/multimedia/renderer/context/<contextname>/q#
      /pps/services/multimedia/renderer/context/<contextname>/state
      /pps/services/multimedia/renderer/context/<contextname>/status
      /pps/services/multimedia/renderer/control
      /pps/services/networking/all/interfaces/<interface>
      /pps/services/networking/all/proxy
      /pps/services/networking/all/status_public
      /pps/services/networking/control
      /pps/services/networking/proxy
      /pps/services/networking/status
      /pps/services/networking/status_public
      /pps/services/tethering/control
      /pps/services/tethering/status
      /pps/services/update/control
      /pps/services/update/settings
      /pps/services/update/status
      /pps/services/update/target
      /pps/services/vnc/discovery/
      /pps/services/wifi/control
      /pps/services/wifi/status
      /pps/system/keyboard/control
      /pps/system/keyboard/status
      /pps/system/navigator/appdata
      /pps/system/navigator/applications/applications
      /pps/system/navigator/command
      /pps/system/navigator/status/mobile_hotspot
      /pps/system/navigator/status/tethering
      /pps/system/navigator/windowgroup
      /pps/system/navigator/windowparams
    List of Objects Used Internally
  System Services Reference
    Artwork Client (artwork_client_car2)
    Audio Management
      Audio manager PPS objects
    Certificate Management
    Geolocation
    Handsfree Telephony
      Handsfree telephony in QNX CAR
      Processing the handsfree call
       io-acoustic
        Configuring io-acoustic
        Configuration keys
        Example configurations
        Acoustic processing tuning files (.qcf)
      Remote control server (RCS)
      Using the io-acoustic API
      io-acoustic API
        IOAP_* type definitions
        IOAP_HF_EVENT_*
        ioap_device_t
        ioap_event_t
        ioap_event_next()
        ioap_hf_attach()
        ioap_hf_config()
        ioap_hf_get_latency_estimate()
        ioap_hf_get_log_level()
        ioap_hf_get_output_volume()
        ioap_hf_go()
        ioap_hf_latency_estimate_t
        ioap_hf_latency_test_t
        ioap_hf_mute()
        ioap_hf_prepare()
        ioap_hf_read_events()
        ioap_hf_register_events()
        ioap_hf_route()
        ioap_hf_set_log_level()
        ioap_hf_set_output_volume()
        ioap_hf_setup()
        ioap_hf_setup_t
        ioap_hf_start_latency_test()
        ioap_hf_stop()
        ioap_io_map_t
    Image Generation
      gen-ifs
      gen-osversion
      mkimage
      mksysimage
      mktar
    Keyboard
      Keyboard (keyboard-imf)
    MirrorLink
      The mlink-daemon service—discoverer, launcher, and audiorouter
      The mlink-rtp service—RTP audio streaming
      The mlink-viewer service—MirrorLink viewer app
    Navigation Engine
    Network Manager (net_pps)
    Now Playing Service
      Using the now playing service
      Now playing service PPS objects
      Now Playing Service (nowplaying)
    Radio
      RadioApp
    Realtime Clock Synchronization
    Shutdown service (coreServices2)
    Software Updates
      Software update core library
        Architecture of swu-core library
        Key concepts of the library
        How software update applications integrate with swu-core
        Manifest file
        SWU library API
          ClientConfiguration.h
            Functions in ClientConfiguration.h
              swu_client_configuration_disable_local_updates()
              swu_client_configuration_enable_local_updates()
              swu_client_configuration_get_id()
              swu_client_configuration_get_local_updates_enabled()
              swu_client_configuration_get_max_update_retries()
              swu_client_configuration_get_update_grace_period()
              swu_client_configuration_set_max_update_retries()
              swu_client_configuration_set_update_grace_period()
          Common.h
            Constants in Common.h
              Definitions in Common.h
            Enumerations in Common.h
              swu_failure_reason_t
              swu_result_t
              swu_update_priority_t
              swu_update_state_t
              swu_log_level_t
            Data types in Common.h
              swu_client_id_t
              swu_failure_code_t
              swu_failure_info_t
              swu_manifest_id_t
              swu_progress_t
              swu_string_t
              swu_target_t
              swu_target_id_t
              swu_target_sw_information_t
              swu_timestamp_t
              swu_update_t
              swu_update_id_t
              swu_update_list_t
              swu_uri_t
            Functions in Common.h
              swu_object_release()
              swu_object_retain()
              swu_result_to_string()
              swu_update_state_to_string()
          Update.h
            Data types in Update.h
              swu_update_notifications_t
              swu_update_state_mask_t
            Functions in Update.h
              swu_update_accept_install()
              swu_update_compare_to_id()
              swu_update_decline_install()
              swu_update_defer_install()
              swu_update_get_base_version()
              swu_update_get_can_be_declined()
              swu_update_get_can_be_deferred()
              swu_update_get_defer_period()
              swu_update_get_description()
              swu_update_get_failure_info()
              swu_update_get_grace_period()
              swu_update_get_id()
              swu_update_get_install_source_location()
              swu_update_get_install_percent_completed()
              swu_update_get_manifest_id()
              swu_update_get_name()
              swu_update_get_post_install_command()
              swu_update_get_priority()
              swu_update_get_pre_install_command()
              swu_update_get_prompt_to_install()
              swu_update_get_short_description()
              swu_update_get_state()
              swu_update_get_version()
              swu_update_get_release_timestamp()
              swu_update_get_size()
              swu_update_get_target()
              swu_update_get_verification_percent_completed()
              swu_update_register_notifications()
              swu_update_to_string()
              swu_update_unregister_notifications()
          UpdateClient.h
            Data types in UpdateClient.h
              swu_client_target_iterator_t
              swu_client_target_notification_t
              swu_logging_callback_t
              swu_update_list_iterator_t
              swu_update_list_notification_t
            Functions in UpdateClient.h
              swu_client_create_updates()
              swu_client_conditions_invalid_for_installs()
              swu_client_conditions_valid_for_installs()
              swu_client_get_install_update_list()
              swu_client_get_target_list_length()
              swu_client_initialize()
              swu_client_iterate_targets()
              swu_client_register_target_list_notification()
              swu_client_release_updates()
              swu_client_set_logging_callback()
              swu_client_uninitialize()
              swu_client_unregister_target_list_notification()
              swu_update_list_get_length()
              swu_update_list_iterate()
              swu_update_list_register_notification()
              swu_update_list_unregister_notification()
          UpdateTarget.h
            Functions in UpdateTarget.h
              swu_target_get_id()
              swu_target_get_info()
          UpdateTargetInterface.h
            Data types in UpdateTargetInterface.h
              swu_target_interface_t
            Functions in UpdateTargetInterface.h
              swu_target_install_failed()
              swu_target_install_progress()
              swu_target_install_successful()
              swu_target_not_ready_to_install()
              swu_target_ready_to_install()
              swu_target_register()
              swu_target_unregister()
              swu_target_verification_failed()
              swu_target_verification_progress()
              swu_target_verification_successful()
      Software update daemon
         swud
        Loading swud modules
        Developing swud modules
        Reference modules
        Generating a delta file
        SWU module API
          Constants in swu_module.h
            Definitions in swu_module.h
          Functions in swu_module.h
            SWU_MODULE_INITIALIZE()
            SWU_MODULE_SHUTDOWN()
    System Launch and Monitor (SLM)
    Tether Manager (tetherman)
    Wi-Fi configuration (wpa_pps)
  User's Guide
    Getting Ready
    A Guided Tour of the HMI
      Home
      Navigation
      Media Player
        Play Radio
        Play Music
        Play Video
        Search
        Media source menu
        Using voice commands to play media
      Car Control
        Audio Control
        Climate Control
        Virtual Mechanic
        Personalization
          Changing themes
      Communication
      Apps Section
      Push-to-Talk
    Running the HTML5 HMI
    Automatic Speech Recognition (ASR)
      Supported voice commands
      Using mm-control to process voice commands
    Bluetooth: Pairing Devices, Calling, and Messaging
      Pairing a smartphone
      Making a phone call
      Viewing the phone's email
      Viewing the phone's contacts
      Viewing the phone's text messages
    Network Settings
    Rearview Camera
    Pandora Radio
    Recalibrating the Touchscreen
    Software Updates
      Applying an update from the HMI
      Applying an update from the command line
    Downloading Apps from the QNX App Portal
  Copyrights
    Typographical conventions
    Technical support
    Copyright information
       Architecture Guide
       Automatic Speech Recognition Developer's Guide
       Bluetooth Architectural Overview and Configuration Guide
       Boot Optimization Guide
       Building and Customizing Target Images
       HMI Notification Manager
       HTML5 and JavaScript Framework
       Multimedia Architecture Guide
       Multimedia Controller Configuration Guide
       Multimedia Detector Configuration Guide
       Multimedia Player Developer's Guide
       Navigator
       PPS Objects Reference
       Qt Development Environment
       Showcasing Your Apps on the QNX App Portal
       System Services Reference
       User's Guide
    Licensing information
QNX SDK for Apps and Media
  About the QNX SDK for Apps and Media
    What's in the QNX SDK for Apps and Media?
    Overview of Creating a Target Image
      Overview of the buildfiles
    Prerequisites
    Build a BSP for QNX SDP 6.6
      Building a BSP from the IDE
    Create an Apps and Media Buildfile and Image
    Include Apps in an Image
    Generate an IPL/MLO file
    Transfer an Image to an SD Card
    Load and Run the Image on the Target
    Calibrate the Screen and Launch the Browser
    Play media
    Modify your buildfile to support 720p screen resolution
  Application and Window Management
    Packaging, Installing, and Launching Apps
      Packaging an HTML5 app for installation
      Packaging a native C/C++ app for installation
      Installing a packaged app on the target
      Launching an app on the target
      Stopping all apps on the target
      Uninstalling Apps
    Application Launcher (launcher)
    Authorization Manager (authman)
    Creating Your Own Application Window Manager
      Application management
        Launcher control object (/pps/services/launcher/control)
        Interacting with the /pps/services/launcher/control object
        Starting an application
        Stopping an application
      Window management
        Set up Screen
        Handle Screen events
      An example of a simple application window manager
        struct.h
        main.c
        screen.c
        launcher.c
        pps.c
        core.c
  HTML5 Developer's Guide
    SDK Overview
    Browser Engine
      CSS3 support
      HTML5 elements
      HTML5 offline web applications
      Browser API support
    Web Sandbox Model
    Developing HTML5 Apps
      The HTML5 development environment
      Creating an HTML5 app
    Creating Your Own Cordova Plugin
      The cordova.exec() function
      Example: Using the PPS interface
    Enhancing Performance
    WebLauncher's JavaScript APIs
      WebLauncher application APIs
      WebLauncher webinspector APIs
      WebLauncher webview APIs
    Debugging Web Apps
      Enabling Web Inspector
      Launching Web Inspector
      Debugging and profiling using Web Inspector
      Optimizing layout and style
        Inspect and modify element styles
        Inspect and modify the DOM
        Modify the box model for an element
      Analyzing page resources
        View resource content
        View resource network information
      Analyzing network usage
        Apply a filter to display a specific resource type
        Change which time measure is displayed
        Reorder the list of resources
      Debugging scripts
        Set and use breakpoints
        Pause script execution
        Pause script execution on exceptions
      Analyzing loading, script execution, and rendering times
        Record browser engine activity
        Constrain the display to a specific time span
        Filter which events are displayed
      Analyzing memory usage and processing demands
        Profile the memory usage of your scripts
        Profile the performance of your CSS selectors
      Auditing your webpage
  Multimedia Components
    Architecture Guide
      Multimedia Architecture
        Device detection and information retrieval
        Metadata synchronization and retrieval
        Media playback
    Metadata Provider Library
      Metadata Provider Overview
        Architecture of libmd
        Metadata providers
          MDP ratings
          Metadata extraction
          Included MDPs
        Metadata-extraction sessions
      Configuring Metadata Providers
        Configuration file
      Metadata Provider API
        md.h
          Constants in md.h
          Data types in md.h
            mmmd_error_info_t
            mmmd_flags_t
            mmmd_hdl_t
          Functions in md.h
            mmmd_error_info()
            mmmd_flags_set()
            mmmd_get()
            mmmd_init()
            mmmd_mdps_list()
            mmmd_session_close()
            mmmd_session_open()
            mmmd_session_params_set()
            mmmd_terminate()
        md_errors.h
          Data types in md_errors.h
            mmmd_errcode
          Functions in md_errors.h
            mmmd_error_str()
    Multimedia Playlist Library
      Multimedia Playlist Library Overview
        Architecture of libmmplaylist
        Plugins
          Plugin ratings
          Included plugins
        Playlist sessions
      Configuration File
      Multimedia Playlist API
        Data types in mmplaylist.h
          mmplaylist_rc
          mmplaylist_t
          mmplaylist_entry_t
          mmplaylist_entry_validated_t
          mmplaylist_error_info_t
          mmplaylist_fmt_list_t
          mmplaylist_props_t
          mmplaylist_seek_offset_t
          mmplaylist_validation_fn_t
          mmplaylist_validation_mode_t
        Functions in mmplaylist.h
          mmplaylist_close()
          mmplaylist_current_pos_get()
          mmplaylist_current_pos_set()
          mmplaylist_entry_next_get()
          mmplaylist_entry_release()
          mmplaylist_init()
          mmplaylist_last_error_get()
          mmplaylist_num_entries_get()
          mmplaylist_open()
          mmplaylist_plps_list()
          mmplaylist_props_get()
          mmplaylist_supported_fmts_get()
          mmplaylist_supported_fmts_release()
          mmplaylist_terminate()
    Multimedia Renderer
      Multimedia Renderer Architecture
        Supported media categories
        Abstraction layers
        Contexts
        Outputs
        Inputs
        Plugins
      Using the Multimedia Renderer
        Starting the multimedia renderer
          mm-renderer configuration file
          mm-renderer command line
        Working with contexts
          Closing context handles
        Defining Parameters
        Playing media
          Play states
          Play speed
          Seeking to positions
          Managing video windows
        Recording audio data
        PPS objects
          Context state
          Play state, warnings, and errors
          Input metadata
          Playlist window
          Supported file and MIME types
      Multimedia Renderer Client API
        Data types in renderer.h and types.h
          mm_error_code_t
          mmr_connection_t
          mmr_context_t
          mmr_error_info_t
        Functions in renderer.h
          mmr_command_send()
          mmr_connect()
          mmr_context_close()
          mmr_context_create()
          mmr_context_destroy()
          mmr_context_open()
          mmr_context_parameters()
          mmr_disconnect()
          mmr_error_info()
          mmr_input_attach()
          mmr_input_detach()
          mmr_input_parameters()
          mmr_list_change()
          mmr_output_attach()
          mmr_output_detach()
          mmr_output_parameters()
          mmr_play()
          mmr_seek()
          mmr_speed_set()
          mmr_stop()
          mmr_track_parameters()
      Multimedia Renderer Event API
        Data types in events.h
          mmr_event_t
            mmr_event::details
            mmr_event::data
          mmr_event_type_t
          mmr_state_t
        Functions in events.h
          mmr_event_arm()
          mmr_event_data_set()
          mmr_event_get()
          mmr_event_wait()
      Dictionary Object API
        Data types in strm.h
          strm_dict_t
          strm_string_t
        Functions in strm.h
          strm_dict_clone()
          strm_dict_compare()
          strm_dict_destroy()
          strm_dict_find_index()
          strm_dict_find_rstr()
          strm_dict_find_value()
          strm_dict_index_delete()
          strm_dict_key_delete()
          strm_dict_key_get()
          strm_dict_key_rstr()
          strm_dict_new()
          strm_dict_set()
          strm_dict_set_rstr()
          strm_dict_size()
          strm_dict_subtract()
          strm_dict_value_get()
          strm_dict_value_rstr()
          strm_string_alloc()
          strm_string_clone()
          strm_string_destroy()
          strm_string_get()
          strm_string_make()
          strm_string_modify()
    Multimedia Synchronizer
      Multimedia Synchronization Overview
        The synchronization process
          Synchronizer selection
          Synchronization passes
          Mediastore filesystem traversal
          Database cleanup
          Optimization of synchronization for slow devices
        Full, directed, and file synchronizations
      Setting up the Multimedia Synchronizer Environment
        mm-sync command line
        mmsyncclient command utility
      Working with Synchronizations
        Synchronizing media content from applications
          Maintaining database persistence
        Tracking synchronization progress
        Setting a priority folder
        Repairing database inconsistencies
      Configuring Mediastore Synchronization
        Configuration file contents
          The <Configuration> element
          The <Configuration>/<Database> element
          The <Configuration>/<Database>/<Synchronization> element
          The <Configuration>/<Database>/<Synchronization>/<ConfigurableMetadata> element
          The <Configuration>/<Database>/<Synchronization>/<MSS> element
          The <Configuration>/<Database>/<Synchronization>/<PLSS> element
          The <Configuration>/<Database>/<Prune> element
        Synchronization thread priorities
        Skipping files based on their names
        Limiting the number of items read
        Maintaining constant IDs for updated files and playlists
        Filtering synchronization by file type
      Multimedia Synchronizer API
        Client interface
          Constants in mmsyncclient.h, interface.h, and types.h
            Defines in mmsyncclient.h
            Defines in interface.h
            Defines in types.h
          Data types in types.h
            mmsync_hdl_t
            mmsync_status_t
          Functions in mmsyncclient.h
            mm_sync_cancel()
            mm_sync_connect()
            mm_sync_control()
            mm_sync_debug_set()
            mm_sync_disconnect()
            mm_sync_resume()
            mm_sync_start()
            mm_sync_status_get()
            mm_sync_status_get_bydbname()
            mm_sync_status_get_byid()
            mm_sync_status_get_dbname()
            mm_sync_suspend()
        Configuration constants
          Defines in config.h
        Media file categories
          Data types in interface.h
            mm_ftypes_t
        Event interface
          Data types in event.h
            mmsync_event_type_t
            mmsync_event_t
            mmsync_sync_data_t
            mmsync_first_fid_data_t
            mmsync_event_metadata_licensing_t
            mmsync_ms_update_data_t
            mmsync_folder_sync_data_t
            mmsync_event_queue_size_t
          Functions in mmsyncclient.h
            mm_sync_events_get()
            mm_sync_events_register()
        Error information
          Data types in event.h
            mmsync_sync_error_type_t
            mmsync_sync_error_t
    Multimedia Test Utilities
      Role of the Multimedia Test Utilities
        Multimedia test utilities
        Using the multimedia test utilities
      mmcli
        Using mmcli instead of other components
        mmcli command line
        mmcli language
          mmcli test scripts
          mmcli interactive sessions
        Using mmcli to play media files
      mmrplay
        Using mmrplay instead of mm-renderer
        mmrplay command line
        Playback examples
      mm-pnp
        mm-pnp command line
        Configuring mm-pnp
        Initialization and termination activities
          Device monitoring, synchronization, and playback
  Copyrights
    Typographical conventions
    Technical support
    Copyright information
       Application and Window Management
       About the QNX SDK for Apps and Media
       Multimedia Architecture Guide
       Metadata Provider Library Reference
       Multimedia Playlist Library Reference
       Multimedia Renderer Developer's Guide
       Multimedia Synchronizer Developer's Guide
       Multimedia Test Utilities Guide
       HTML5 Developer's Guide
    Licensing information
  About the QNX SDK for Apps and Media
    What's in the QNX SDK for Apps and Media?
    Overview of Creating a Target Image
      Overview of the buildfiles
    Prerequisites
    Build a BSP for QNX SDP 6.6
      Building a BSP from the IDE
    Create an Apps and Media Buildfile and Image
    Include Apps in an Image
    Generate an IPL/MLO file
    Transfer an Image to an SD Card
    Load and Run the Image on the Target
    Calibrate the Screen and Launch the Browser
    Play media
    Modify your buildfile to support 720p screen resolution
  Application and Window Management
    Packaging, Installing, and Launching Apps
      Packaging an HTML5 app for installation
      Packaging a native C/C++ app for installation
      Installing a packaged app on the target
      Launching an app on the target
      Stopping all apps on the target
      Uninstalling Apps
    Application Launcher (launcher)
    Authorization Manager (authman)
    Creating Your Own Application Window Manager
      Application management
        Launcher control object (/pps/services/launcher/control)
        Interacting with the /pps/services/launcher/control object
        Starting an application
        Stopping an application
      Window management
        Set up Screen
        Handle Screen events
      An example of a simple application window manager
        struct.h
        main.c
        screen.c
        launcher.c
        pps.c
        core.c
  HTML5 Developer's Guide
    SDK Overview
    Browser Engine
      CSS3 support
      HTML5 elements
      HTML5 offline web applications
      Browser API support
    Web Sandbox Model
    Developing HTML5 Apps
      The HTML5 development environment
      Creating an HTML5 app
    Creating Your Own Cordova Plugin
      The cordova.exec() function
      Example: Using the PPS interface
    Enhancing Performance
    WebLauncher's JavaScript APIs
      WebLauncher application APIs
      WebLauncher webinspector APIs
      WebLauncher webview APIs
    Debugging Web Apps
      Enabling Web Inspector
      Launching Web Inspector
      Debugging and profiling using Web Inspector
      Optimizing layout and style
        Inspect and modify element styles
        Inspect and modify the DOM
        Modify the box model for an element
      Analyzing page resources
        View resource content
        View resource network information
      Analyzing network usage
        Apply a filter to display a specific resource type
        Change which time measure is displayed
        Reorder the list of resources
      Debugging scripts
        Set and use breakpoints
        Pause script execution
        Pause script execution on exceptions
      Analyzing loading, script execution, and rendering times
        Record browser engine activity
        Constrain the display to a specific time span
        Filter which events are displayed
      Analyzing memory usage and processing demands
        Profile the memory usage of your scripts
        Profile the performance of your CSS selectors
      Auditing your webpage
  Multimedia Components
    Architecture Guide
      Multimedia Architecture
        Device detection and information retrieval
        Metadata synchronization and retrieval
        Media playback
    Metadata Provider Library
      Metadata Provider Overview
        Architecture of libmd
        Metadata providers
          MDP ratings
          Metadata extraction
          Included MDPs
        Metadata-extraction sessions
      Configuring Metadata Providers
        Configuration file
      Metadata Provider API
        md.h
          Constants in md.h
          Data types in md.h
            mmmd_error_info_t
            mmmd_flags_t
            mmmd_hdl_t
          Functions in md.h
            mmmd_error_info()
            mmmd_flags_set()
            mmmd_get()
            mmmd_init()
            mmmd_mdps_list()
            mmmd_session_close()
            mmmd_session_open()
            mmmd_session_params_set()
            mmmd_terminate()
        md_errors.h
          Data types in md_errors.h
            mmmd_errcode
          Functions in md_errors.h
            mmmd_error_str()
    Multimedia Playlist Library
      Multimedia Playlist Library Overview
        Architecture of libmmplaylist
        Plugins
          Plugin ratings
          Included plugins
        Playlist sessions
      Configuration File
      Multimedia Playlist API
        Data types in mmplaylist.h
          mmplaylist_rc
          mmplaylist_t
          mmplaylist_entry_t
          mmplaylist_entry_validated_t
          mmplaylist_error_info_t
          mmplaylist_fmt_list_t
          mmplaylist_props_t
          mmplaylist_seek_offset_t
          mmplaylist_validation_fn_t
          mmplaylist_validation_mode_t
        Functions in mmplaylist.h
          mmplaylist_close()
          mmplaylist_current_pos_get()
          mmplaylist_current_pos_set()
          mmplaylist_entry_next_get()
          mmplaylist_entry_release()
          mmplaylist_init()
          mmplaylist_last_error_get()
          mmplaylist_num_entries_get()
          mmplaylist_open()
          mmplaylist_plps_list()
          mmplaylist_props_get()
          mmplaylist_supported_fmts_get()
          mmplaylist_supported_fmts_release()
          mmplaylist_terminate()
    Multimedia Renderer
      Multimedia Renderer Architecture
        Supported media categories
        Abstraction layers
        Contexts
        Outputs
        Inputs
        Plugins
      Using the Multimedia Renderer
        Starting the multimedia renderer
          mm-renderer configuration file
          mm-renderer command line
        Working with contexts
          Closing context handles
        Defining Parameters
        Playing media
          Play states
          Play speed
          Seeking to positions
          Managing video windows
        Recording audio data
        PPS objects
          Context state
          Play state, warnings, and errors
          Input metadata
          Playlist window
          Supported file and MIME types
      Multimedia Renderer Client API
        Data types in renderer.h and types.h
          mm_error_code_t
          mmr_connection_t
          mmr_context_t
          mmr_error_info_t
        Functions in renderer.h
          mmr_command_send()
          mmr_connect()
          mmr_context_close()
          mmr_context_create()
          mmr_context_destroy()
          mmr_context_open()
          mmr_context_parameters()
          mmr_disconnect()
          mmr_error_info()
          mmr_input_attach()
          mmr_input_detach()
          mmr_input_parameters()
          mmr_list_change()
          mmr_output_attach()
          mmr_output_detach()
          mmr_output_parameters()
          mmr_play()
          mmr_seek()
          mmr_speed_set()
          mmr_stop()
          mmr_track_parameters()
      Multimedia Renderer Event API
        Data types in events.h
          mmr_event_t
            mmr_event::details
            mmr_event::data
          mmr_event_type_t
          mmr_state_t
        Functions in events.h
          mmr_event_arm()
          mmr_event_data_set()
          mmr_event_get()
          mmr_event_wait()
      Dictionary Object API
        Data types in strm.h
          strm_dict_t
          strm_string_t
        Functions in strm.h
          strm_dict_clone()
          strm_dict_compare()
          strm_dict_destroy()
          strm_dict_find_index()
          strm_dict_find_rstr()
          strm_dict_find_value()
          strm_dict_index_delete()
          strm_dict_key_delete()
          strm_dict_key_get()
          strm_dict_key_rstr()
          strm_dict_new()
          strm_dict_set()
          strm_dict_set_rstr()
          strm_dict_size()
          strm_dict_subtract()
          strm_dict_value_get()
          strm_dict_value_rstr()
          strm_string_alloc()
          strm_string_clone()
          strm_string_destroy()
          strm_string_get()
          strm_string_make()
          strm_string_modify()
    Multimedia Synchronizer
      Multimedia Synchronization Overview
        The synchronization process
          Synchronizer selection
          Synchronization passes
          Mediastore filesystem traversal
          Database cleanup
          Optimization of synchronization for slow devices
        Full, directed, and file synchronizations
      Setting up the Multimedia Synchronizer Environment
        mm-sync command line
        mmsyncclient command utility
      Working with Synchronizations
        Synchronizing media content from applications
          Maintaining database persistence
        Tracking synchronization progress
        Setting a priority folder
        Repairing database inconsistencies
      Configuring Mediastore Synchronization
        Configuration file contents
          The <Configuration> element
          The <Configuration>/<Database> element
          The <Configuration>/<Database>/<Synchronization> element
          The <Configuration>/<Database>/<Synchronization>/<ConfigurableMetadata> element
          The <Configuration>/<Database>/<Synchronization>/<MSS> element
          The <Configuration>/<Database>/<Synchronization>/<PLSS> element
          The <Configuration>/<Database>/<Prune> element
        Synchronization thread priorities
        Skipping files based on their names
        Limiting the number of items read
        Maintaining constant IDs for updated files and playlists
        Filtering synchronization by file type
      Multimedia Synchronizer API
        Client interface
          Constants in mmsyncclient.h, interface.h, and types.h
            Defines in mmsyncclient.h
            Defines in interface.h
            Defines in types.h
          Data types in types.h
            mmsync_hdl_t
            mmsync_status_t
          Functions in mmsyncclient.h
            mm_sync_cancel()
            mm_sync_connect()
            mm_sync_control()
            mm_sync_debug_set()
            mm_sync_disconnect()
            mm_sync_resume()
            mm_sync_start()
            mm_sync_status_get()
            mm_sync_status_get_bydbname()
            mm_sync_status_get_byid()
            mm_sync_status_get_dbname()
            mm_sync_suspend()
        Configuration constants
          Defines in config.h
        Media file categories
          Data types in interface.h
            mm_ftypes_t
        Event interface
          Data types in event.h
            mmsync_event_type_t
            mmsync_event_t
            mmsync_sync_data_t
            mmsync_first_fid_data_t
            mmsync_event_metadata_licensing_t
            mmsync_ms_update_data_t
            mmsync_folder_sync_data_t
            mmsync_event_queue_size_t
          Functions in mmsyncclient.h
            mm_sync_events_get()
            mm_sync_events_register()
        Error information
          Data types in event.h
            mmsync_sync_error_type_t
            mmsync_sync_error_t
    Multimedia Test Utilities
      Role of the Multimedia Test Utilities
        Multimedia test utilities
        Using the multimedia test utilities
      mmcli
        Using mmcli instead of other components
        mmcli command line
        mmcli language
          mmcli test scripts
          mmcli interactive sessions
        Using mmcli to play media files
      mmrplay
        Using mmrplay instead of mm-renderer
        mmrplay command line
        Playback examples
      mm-pnp
        mm-pnp command line
        Configuring mm-pnp
        Initialization and termination activities
          Device monitoring, synchronization, and playback
  Copyrights
    Typographical conventions
    Technical support
    Copyright information
       Application and Window Management
       About the QNX SDK for Apps and Media
       Multimedia Architecture Guide
       Metadata Provider Library Reference
       Multimedia Playlist Library Reference
       Multimedia Renderer Developer's Guide
       Multimedia Synchronizer Developer's Guide
       Multimedia Test Utilities Guide
       HTML5 Developer's Guide
    Licensing information
QNX Software Development Platform
  OS Core Components
    Adaptive Partitioning User's Guide
      What is Adaptive Partitioning?
        What are partitions and what is adaptive partitioning?
        System and user requirements
        The thread scheduler
      Using the Thread Scheduler
        Keeping track of CPU time
        How is CPU time divided between partitions?
          Underload
          Free time
          Full Load
          Summary of scheduling behavior
        Partition inheritance
        Critical threads
          Bankruptcy
        Adaptive partitioning thread scheduler and other thread schedulers
        Using the thread scheduler and multicore together
      Setting Up and Using the Adaptive Partitioning Thread Scheduler
        Building an image
        Creating scheduler partitions
        Launching a process in a partition
        Viewing partition use
      Controlling Resources Using the Thread Scheduler
      Considerations for the Thread Scheduler
        Determining the number of scheduler partitions and their contents
        Choosing the percentage of CPU for each partition
          Setting budgets to zero
          Setting budgets for resource managers
        Choosing the window size
          Accuracy
          Delays compared to priority scheduling
        Practical limits
        Uncontrolled interactions between scheduler partitions
      Security for Scheduler Partitions
        Managing security for the thread scheduler
          Security and critical threads
      Testing and Debugging
        Instrumented kernel trace events
        Using the IDE (trace events)
        Using other methods
        Emergency access to the system
      Frequently Asked Questions: Adaptive Partitioning Thread Scheduler
        Scheduling behavior
        Microbilling
        Averaging window
        Scheduling algorithm
        Overhead
        Critical threads and bankruptcy
        Inheritance
        Budgets
        Joining a partition
        QNX Neutrino system considerations
      Glossary
    Building Embedded Systems
      Overview of Building Embedded Systems
        Introduction
          The role of the IPL
            Warm-start and cold-start IPL
          The role of the startup program
          Startup's responsibilities
            Copying and decompressing the image
            Configuring the hardware
            Determining system configuration
            Establishing callouts
            Starting the OS
            The startup library
          The role of the QNX Neutrino RTOS
        Hardware aspects
          Choice of processor
          Source of initialization and configuration
          Choice of filesystems
            No additional storage required
            Additional read-only storage required
            Additional read/write nonpersistent storage required
            Additional read/write persistent storage required
          I/O devices
            Character I/O devices
            Special/custom devices
        Getting started
          Hardware design
          Customizing the software
            Customizing the source
      Working with a BSP
        Using BSPs in the IDE
        Using BSPs on the command line
          Structure of a BSP
            prebuilt subdirectory
            install subdirectory
            src subdirectory
          Building source from the command line
          Supporting additional devices
        Transferring an OS image onto your board
          Transferring an OS image
          Working with a flash filesystem
            Raw partitions
            Flash filesystem partitions
            Flash filesystem source
            How do I create a partition?
        Testing QNX Neutrino on your board
        Where do I go from here?
        Filename conventions
      Making an OS Image
        Images, images, images
        What is an OS image?
        The OS image as a filesystem
        Configuring an OS image
          A simple buildfile
            Inline files
          The bootstrap file
            Compressing the image
          The script file
            Bound multiprocessing attributes
            The script file on the target
          Plain ordinary lists of files
            Including files from different places
            Modifying the search path
            Specifying the pathname explicitly
            Creating the contents of the file in line
            Specifying file ownership and permissions
            Including a whole whack of files
          Generating the image
          Listing the contents of an image
        Building a flash filesystem image
          Using mkefs
            mkefs buildfile
            Block size
            Spare blocks
          Compressing files
            Abstraction layer
            Two sizes
          Compression rules
            The exception
        Embedding an image
          Combining image files using mkimage
            Combining image files using the IDE
          Converting images using mkrec
          Transferring an image to flash
        System configuration
          Establishing an output device
            A simple desktop example
          Running drivers/filesystems
            Disk drivers
            Flash filesystems
            Network drivers
            Network filesystems
          Running applications
        Debugging an embedded system
          pdebug software debugging agent
          Hardware debuggers and QNX Neutrino
          Producing debug symbol information for IPL and startup
            Generating IPL debug symbols
            Generating startup debug symbols
      Writing an IPL Program
        Initial program loader (IPL)
          Responsibilities of the IPL
            Linearly mapped images
            Bank-switched images
            Processors & configurations
          Booting from a bank-switched device
          Booting from a linear device
          "Warm" vs "cold" start
            Warm-start IPL
            Cold-start IPL
          Loading the image
            If the source is a linearly mapped device
            If the source is a bank-switched device
            ROM devices
            Network boot
            Using a BOOTP server
            Serial port
            Traditional disk
            None of the above?
          Transferring control to the startup program
        Customizing IPLs
          Initialize hardware
          Loading the image into RAM
          Structure of the boot header
            signature
            version
            flags1 and flags2
            header_size
            machine
            startup_vaddr
            paddr_bias
            image_paddr
            ram_paddr
            ram_size
            startup_size
            stored_size
            imagefs_paddr
            imagefs_size
            preboot_size
            zero and zero0
            info
            struct startup_info_skip
            struct startup_info_mem and startup_info_mem_extended
            struct startup_info_disk
            struct startup_info_time
            struct startup_info_box
          Relationship of struct startup_header fields
            Linear ROM execute-in-place boot image
            Linear ROM compressed boot image
            ROM non-XIP image
            Disk/network image (x86 BIOS)
            Disk/network compressed image
          IPL structure
            IPL source directory structure
            IPL code structure
            An example
          Creating a new IPL
        The IPL library
          enable_cache
          image_download_8250()
          image_scan()
          image_scan_ext()
          image_setup()
          image_setup_ext()
          image_start()
          image_start_ext()
          int15_copy()
          print_byte()
          print_char()
          print_long()
          print_sl()
          print_string()
          print_var()
          print_word()
          protected_mode()
          uart_hex8
          uart_hex16
          uart_hex32
          uart_init
          uart_put
          uart_string
          uart32_hex8
          uart32_hex16
          uart32_hex32
          uart32_init
          uart32_put
          uart32_string
      Customizing Image Startup Programs
        Anatomy of a startup program
          Structure of a startup program
          Creating a new startup program
        Structure of the system page
          size
          total_size
          type
          num_cpu
          system_private
          asinfo
            The attr field
            Address space trees
          hwinfo
            Tags
            Items
            Device trees
            Building the section
            Other functions
            Defaults
            Predefined items and tags
            Group item
            Bus item
            Device item
            location tag
            irq tag
            diskgeometry tag
            pad tag
          cpuinfo
          syspage_entry cacheattr
          syspage_entry qtime
          callout
          callin
          typed_strings
          strings
          intrinfo
            The cpu_intr_base member
            The flags member
            config return values
          syspage_entry union un
          un.x86
          un.x86.smpinfo (deprecated)
          un.arm
          smp
          pminfo
        Callout information
          Debug interface
          Clock/timer interface
          Interrupt controller interface
          Cache controller interface
          System reset callout
          Power management callout
        The startup library
          add_cache()
          add_callout()
          add_callout_array()
          add_interrupt()
          add_interrupt_array()
          add_ram()
          add_string()
          add_typed_string()
          alloc_qtime()
          alloc_ram()
          armv_cache
          armv_chip
          armv_chip_detect()
          armv_pte
          armv_setup_v7()
          as_add()
          as_add_containing()
          as_default()
          as_find()
          as_find_containing()
          as_info2off()
          as_off2info()
          as_set_checker()
          as_set_priority()
          avoid_ram()
          calc_time_t()
          calloc_ram()
          callout_io_map(), callout_io_map_indirect()
          callout_memory_map(), callout_memory_map_indirect()
          callout_register_data()
          chip_access()
          chip_done()
          chip_read8()
          chip_read16()
          chip_read32()
          chip_write8()
          chip_write16()
          chip_write32()
          copy_memory()
          del_typed_string()
          falcon_init_l2_cache()
          falcon_init_raminfo()
          falcon_system_clock()
          find_startup_info()
          find_typed_string()
          handle_common_option()
          hwi_add_device()
          hwi_add_inputclk()
          hwi_add_irq()
          hwi_add_location()
          hwi_add_nicaddr()
          hwi_add_rtc()
          hwi_alloc_item()
          hwi_alloc_tag()
          hwi_find_as()
          hwi_find_item()
          hwi_find_tag()
          hwi_off2tag()
          hwi_tag2off()
          init_asinfo()
          init_cacheattr()
          init_cpuinfo()
          init_hwinfo()
          init_intrinfo()
          init_mmu()
          init_pminfo()
          init_qtime()
          init_qtime_sa1100()
          init_raminfo()
          init_smp()
          init_syspage_memory() (deprecated)
          init_system_private()
          jtag_reserve_memory()
          kprintf()
          openbios_init_raminfo()
          pcnet_reset()
          print_syspage()
          rtc_time()
          startup_io_map()
          startup_io_unmap()
          startup_memory_map()
          startup_memory_unmap()
          tulip_reset()
          uncompress()
          x86_cpuid_string()
          x86_cputype()
          x86_enable_a20()
          x86_fputype()
          x86_init_pcbios()
          x86_pcbios_shadow_rom()
          x86_scanmem()
        Writing your own kernel callout
          Find out who's gone before
          Why are they in assembly language?
          Starting off
          "Patching" the callout code
          Getting some R/W storage
          The exception that proves the rule
      Customizing the Flash Filesystem
        Introduction
        Driver structure
          resmgr and iofunc layers
          Flash filesystem component
          Socket services component
          Flash services component
          Probe routine component
        Building your flash filesystem driver
          The source tree
          The Makefile
          Making the driver
          The main() function
            f3s_init()
            f3s_start()
          Socket services interface
            f3s_open()
            f3s_page()
            f3s_status()
            f3s_close()
          Options parsing
            f3s_socket_option()
            f3s_socket_syspage()
          Flash services interface
            f3s_ident()
            f3s_reset()
            f3s_v2read()
            f3s_v2write()
            f3s_v2erase()
            f3s_v2suspend()
            f3s_v2resume()
            f3s_v2sync()
            f3s_v2islock()
            f3s_v2lock()
            f3s_v2unlock()
            f3s_v2unlockall()
          Choosing the right routines
        Example: The devf-ram driver
          main()
          f3s_ram_open()
          f3s_ram_page()
      System Design Considerations
        Before you design your system
        Other design considerations
          EPROM/Flash filesystem considerations
          IPL location
          Graphics cards
          A20 gate
          External ISA bus slots
          PCI bus slots
          External clocks
          Interrupts & controllers
          Serial and parallel ports
          Parallel port considerations
        Avoid Non-Maskable Interrupts (NMIs)
        Design do's and don'ts
      Sample Buildfiles
        Generic examples
          Shared libraries
          Running executables more than once
          Multiple consoles
            Starting other programs on consoles
            Redirection
            /tmp
          Complete example — minimal configuration
          Complete example — flash filesystem
          Complete example — disk filesystem
          Complete example — TCP/IP with network filesystem
        Processor-specific notes
      Glossary
    Core Networking Stack User's Guide
      Overview
        Architecture of io-pkt
        Threading model
        Threading priorities
        Components of core networking
      Packet Filtering
        Packet Filter interface
          Packet Filter (pf) module: firewalls and NAT
        Berkeley Packet Filter
      IP Security and Hardware Encryption
        Setting up an IPsec connection: examples
          Between two boxes manually
          With authentication using the preshared-key method
        IPsec tools
        OpenSSL support
        Hardware-accelerated crypto
      Wi-Fi Configuration Using WPA and WEP
        802.11 a/b/g Wi-Fi Support
        NetBSD 802.11 layer
          Device management
          Nodes
          Crypto support
        Using Wi-Fi with io-pkt
        Connecting to a wireless network
          Using no encryption
          Using WEP (Wired Equivalent Privacy) for authentication and encryption
          Using WPA/WPA2 for authentication and encryption
            Background on WPA
            WPA utilities
            Connecting with WPA or WPA2
            Personal-level authentication and Enterprise-level authentication
            Using wpa_supplicant to manage your wireless network connections
        Using a Wireless Access Point (WAP)
          Creating A WAP
            Acting as a gateway
            Acting as a bridge
          WEP access point
          WPA access point
        TCP/IP configuration in a wireless network
          Client in infrastructure or ad hoc mode
          DHCP server on WAP acting as a gateway
          Launching the DHCP server on your gateway
            DHCP server configuration file
            Launching the DHCP relay agent on your gateway
          Configuring an access point as a router
      Transparent Distributed Processing
        Using TDP over IP
      Network Drivers
        Types of network drivers
          Differences between ported NetBSD drivers and native drivers
          Differences between io-net drivers and other drivers
        Loading and unloading a driver
        Troubleshooting a driver
        Problems with shared interrupts
        Writing a new driver
        Debugging a driver using gdb
        Dumping 802.11 debugging information
        Jumbo packets and hardware checksumming
        Padding Ethernet packets
        Transmit Segmentation Offload (TSO)
      Utilities, Managers, and Configuration Files
      Writing Network Drivers for io-pkt
      A Hardware-Independent Sample Driver: sam.c
      Additional information
      Glossary
    Device Publishers Developer's Guide
      Device Publishers
        Role of device drivers and mcd
        PPS object types
        Plugins
          Plugin ratings
      The usblauncher Service
        Support for USB On-The-Go (OTG)
        Device object
        Device control object
        Driver object
        Mount object
        Command line for usblauncher
          Using usblauncher to mount filesystems
        Configuration files
          Starting USB stack in host and device mode
          USB matching rules
          USB descriptors
          Supported third-party applications and protocols
      The mmcsdpub Publisher
        Device object
        Driver object
        Mount object
        Command line for mmcsdpub
      The cdpub Publisher
        Device object
        Device control object
        Driver object
        Mount object
        Command line for cdpub
    High Availability Framework Developer's Guide
      Introduction
        Where's the problem?
        A software foundation for HA
      What's in the High Availability Framework?
      The QNX Neutrino Approach to HA
        The reset "solution"
          Traditional RTOS architecture
        Modularity means granularity
          Intrinsic HA
      Using the High Availability Manager
        HAM hierarchy
          Entities
          Conditions
          Actions
          Action Fail actions
          Multistaged recovery
        State of the HAM
          Example of the view shown in /proc/ham
        HAM API
          Connect/disconnect functions
          Attach/detach functions
            For self-attached entities
            Code snippet using self-attach/detach calls
            For attaching/detaching all other entities
            Code snippet using attach/detach calls
          Entity functions
          Condition functions
            Condition types
            Condition flags
          Action functions
          Action fail functions
            Example to monitor inetd
            Example to monitor fs-nfs2
          Functions to operate on handles
        A client example
        Starting and stopping a HAM
          Stopping a HAM
          Control functions
          Verbosity control
          Publishing autonomously detected conditions
          Publish state transitions
          Publish other conditions
          Subscribing to autonomously published conditions
          Trigger based on state transitions
          Trigger based on specific published condition
      Using the Client Recovery Library
        MsgSend*() functions
        Other covers and convenience functions
          HA-awareness functions
          I/O covers
          Convenience functions
        A simple example
        State-reconstruction example
      HAM API Reference
        ham_action_control()
        ham_action_execute()
        ham_action_fail_execute()
        ham_action_fail_log()
        ham_action_fail_notify_pulse(), ham_action_fail_notify_pulse_node()
        ham_action_fail_notify_signal(), ham_action_fail_notify_signal_node()
        ham_action_fail_waitfor()
        ham_action_handle(), ham_action_handle_node()
        ham_action_handle_free()
        ham_action_heartbeat_healthy()
        ham_action_log()
        ham_action_notify_pulse(), ham_action_notify_pulse_node()
        ham_action_notify_signal(), ham_action_notify_signal_node()
        ham_action_remove()
        ham_action_restart()
        ham_action_waitfor()
        ham_attach(), ham_attach_node()
        ham_attach_self()
        ham_condition()
        ham_entity_control()
        ham_condition_handle(), ham_condition_handle_node()
        ham_condition_handle_free()
        ham_condition_raise()
        ham_condition_remove()
        ham_condition_state()
        ham_connect(), ham_connect_nd(), ham_connect_node()
        ham_detach()
        ham_detach_name(), ham_detach_name_node()
        ham_detach_self()
        ham_disconnect(), ham_disconnect_nd(), ham_disconnect_node()
        ham_entity(), ham_entity_node()
        ham_entity_condition_raise()
        ham_entity_condition_state()
        ham_entity_control()
        ham_entity_handle(), ham_entity_handle_node()
        ham_entity_handle_free()
        ham_heartbeat()
        ham_stop(), ham_stop_nd(), ham_stop_node()
        ham__verbose()
      Client Recovery Library Reference
        ha_attach()
        ha_close()
        ha_connection_ctrl()
        ha_ConnectAttach(), ha_ConnectAttach_r()
        ha_ConnectDetach(), ha_ConnectDetach_r()
        ha_creat(), ha_creat64()
        ha_detach()
        ha_dup()
        ha_fclose()
        ha_fopen()
        ha_open(), ha_open64()
        ha_ReConnectAttach()
        ha_reopen()
      Examples
        Simple restart
        Compound restart
        Death/condition notification
        Heartbeating clients (liveness detection)
          The process is made to heartbeat
        Process starvation
          Thread 2 is made to heartbeat
      Glossary
    Instant Device Activation
      Using Minidrivers for Instant Device Activation
        The minidriver basics
        The minidriver architecture
        How does the minidriver work?
          Seamless transition
          Running multiple handler functions
        Writing a minidriver
          Hardware platform
          Timing requirements
          Data storage
          Hardware initialization
          Hardware Access
          Transition to full driver
        Sample minidriver
          Implementation notes
          The minidriver handler function
          Adding your minidriver to the system
          Build startup
          Test application: mini-peeker.c
          Transition from minidriver to full driver
        Minidriver implementation notes
          Customizing the startup program that contains your minidriver code
          Making a boot image that includes your minidriver
          Debugging from within the minidriver
          Displaying information about minidriver status (after the kernel boots)
          Making the transition to the real driver
      APIs and Datatypes
        mdriver_add()
        mdriver_max
        mdriver_max
        mdriver_entry
      Hardware Interaction within the Minidriver
    Multicore Processing User's Guide
      What is Multicore Processing?
      A Quick Introduction to Multicore Processing
        Setting up the OS image
        Trying symmetric multiprocessing
        Trying bound multiprocessing
      Developing Multicore Systems
        Building a multicore image
        The impact of multicore
          To multicore or not to multicore
          Thread affinity
          Multicore and synchronization primitives
          Multicore and FIFO scheduling
          Multicore and interrupts
          Multicore and atomic operations
          Adaptive partitioning
        Designing with multiprocessing in mind
          Use the multicore primitives
          Assume that threads really do run concurrently
          Break the problem down
      Glossary
    Persistent Publish/Subscribe Developer's Guide
      QNX Neutrino PPS service
        Running PPS
      Objects and their attributes
        Object files
          Special objects
          Object and directory sizes
        Change notification
        Object syntax
        Attribute syntax
      Persistence
        Persistent storage
        Saving objects
        Loading objects
      Publishing
        Creating, modifying, and deleting objects and attributes
        Multiple Publishers
      Subscribing
        Blocking and nonblocking reads
        Getting notifications of data on a file descriptor
          io_notify() functionality
        Subscription Modes
          Full mode
          Delta mode
        Subscribing to multiple objects
          Subscribe to all objects in a directory
          Notification groups
            Creating notification groups
            Using notification groups
      Options and qualifiers
        Pathname open options
          Critical option
          Filtering notifications
        Object and attribute qualifiers
          Nonpersistence qualifier
          Item qualifier
        Reading and writing from the command line
        Active Control List configuration file
          ACL configuration file format
      Server objects
        Working with server objects
          Sending messages through PPS server objects
            Sending a message
            Replying to a message
            Supporting cancellation of requests
      PPS encoding and decoding API
        Encoding PPS data
        Decoding PPS data
          Handling unknown data
          Dealing with errors
        Other features of PPS
      PPS API reference
        pps_attrib_flags_t
        pps_attrib_t
        pps_decoder_cleanup()
        pps_decoder_dump_tree()
        pps_decoder_error_t
        pps_decoder_flags()
        pps_decoder_get_bool()
        pps_decoder_get_double()
        pps_decoder_get_int()
        pps_decoder_get_int64()
        pps_decoder_get_state()
        pps_decoder_get_string()
        pps_decoder_goto_index()
        pps_decoder_initialize()
        pps_decoder_is_integer()
        pps_decoder_length()
        pps_decoder_name()
        pps_decoder_next()
        pps_decoder_parse_json_str()
        pps_decoder_parse_pps_str()
        pps_decoder_pop()
        pps_decoder_push()
        pps_decoder_push_array()
        pps_decoder_push_object()
        pps_decoder_reset()
        pps_decoder_set_position()
        pps_decoder_set_state()
        pps_decoder_state_t
        pps_decoder_status()
        pps_decoder_t
        pps_decoder_type()
         pps_encoder_add_bool()
        pps_encoder_add_double()
        pps_encoder_add_from_decoder()
        pps_encoder_add_int()
        pps_encoder_add_int64()
        pps_encoder_add_json()
        pps_encoder_add_null()
        pps_encoder_add_string()
        pps_encoder_buffer()
        pps_encoder_cleanup()
        pps_encoder_delete_attribute()
        pps_encoder_end_array()
        pps_encoder_end_object()
        pps_encoder_error_t
        pps_encoder_initialize()
        pps_encoder_length()
        pps_encoder_reset
        pps_encoder_start_array()
        pps_encoder_start_object()
        pps_encoder_t
        pps_node_type_t
        pps_options_t
        pps_status_t
        ppsparse()
    QDB Developer's Guide
      Getting Started with QDB
        Starting the QDB server
        Loading QDB databases
        Unloading QDB databases
        PPS configuration path
        Database configuration objects
        Database storage
        Schema files
        Summary of database files
      QDB Command Line
        Temporary storage filesystem
        Database integrity testing
        Sharing connections between clients
        Shared caching
          Advantages of shared caching
        Database recovery
        Busy timeout
        Handling corrupt databases
      QDB Client
        Backing up and restoring databases
      QDB Examples
        Connecting to a database
          Using asynchronous mode
        Executing a statement
        Getting the result of a query
        Using a result
        Disconnecting from the server
        Sample program
      Datatypes in QDB
         Storage classes
        Column affinity
          Determination of column affinity
          Column affinity example
        Comparison expressions
          Comparison example
        Operators
        Sorting, grouping and compound SELECT statements
        Other affinity modes
        User-defined collation sequences
          Assigning collation sequences from SQL
          Collation sequences example
      QDB Virtual Machine Opcodes
        Instruction format and execution
        Virtual machine features
        Viewing programs generated by QDB
        The opcodes
      Writing User-Defined Functions
        User scalar/aggregate functions
        User collation routines
        Collation algorithm example
        SQLite C/C++ API
          sqlite3_result_*
          sqlite3_value_*
          sqlite3_user_data
      QDB API Reference
        qdb_backup()
        qdb_bkcancel()
        qdb_cell()
        qdb_cell_length()
        qdb_cell_type()
        qdb_collation()
        qdb_column_decltype()
        qdb_column_index()
        qdb_column_name()
        qdb_columns()
        qdb_connect()
        qdb_data_source()
        qdb_disconnect()
        qdb_freeresult()
        qdb_getdbsize()
        qdb_geterrcode()
        qdb_geterrmsg()
        qdb_getoption()
        qdb_getresult()
        qdb_gettransstate()
        qdb_interrupt()
        qdb_last_insert_rowid()
        qdb_mprintf()
        qdb_parameters()
        qdb_printmsg()
        qdb_query()
        qdb_rowchanges()
        qdb_rows()
        qdb_setbusytimeout()
        qdb_setoption()
        qdb_snprintf()
        qdb_statement()
        qdb_stmt_decltypes()
        qdb_stmt_exec()
        qdb_stmt_free()
        qdb_stmt_init()
        qdb_vacuum()
        qdb_vmprintf()
      QDB SQL Reference
        Row ID and Autoincrement
        Comments
        Expressions
        Keywords
        Statements
          ALTER TABLE
          ANALYZE
          ATTACH DATABASE
          CREATE INDEX
          CREATE TABLE
          CREATE TRIGGER
          CREATE VIEW
          DELETE
          DETACH DATABASE
          DROP INDEX
          DROP TABLE
          DROP TRIGGER
          DROP VIEW
          EXPLAIN
          INSERT
          ON CONFLICT
          PRAGMA
          REINDEX
          REPLACE
          SELECT
          TRANSACTION
          UPDATE
          VACUUM
    System Analysis Toolkit (SAT) User's Guide
      Introduction
        What can the SAT do for you?
        Components of the SAT
          Instrumented kernel
          Kernel buffer management
          Data-capture program (tracelogger)
          Data interpretation (e.g. traceprinter)
          Integrated Development Environment
      Events and the Kernel
        Generating events: a typical scenario
          Multithreaded example
          Thread context-switch time
          Restarting threads
        Simple and combine events
        Fast and wide modes
        Classes and events
          Communication class: _NTO_TRACE_COMM
          Control class: _NTO_TRACE_CONTROL
          Interrupt classes: _NTO_TRACE_INTENTER, _NTO_TRACE_INTEXIT,_NTO_TRACE_INT_HANDLER_ENTER, and _NTO_TRACE_INT_HANDLER_EXIT
          Kernel-call classes: _NTO_TRACE_KERCALLENTER, _NTO_TRACE_KERCALLEXIT, and _NTO_TRACE_KERCALLINT
          Process class: _NTO_TRACE_PROCESS
          System class: _NTO_TRACE_SYSTEM
          Thread class: _NTO_TRACE_THREAD
          User class: _NTO_TRACE_USER
          Virtual thread class: _NTO_TRACE_VTHREAD
      Kernel Buffer Management
        Linked list size
        Full buffers and the high-water mark
        Buffer overruns
      Capturing Trace Data
        Using tracelogger to control tracing
          Managing trace buffers
          tracelogger's modes of operation
          Choosing between wide and fast modes
          Filtering events
          Specifying where to send the output
        Using TraceEvent() to control tracing
          Managing trace buffers
          Modes of operation
          Filtering events
          Choosing between wide and fast modes
          Inserting trace events
      Filtering
        The static rules filter
        The dynamic rules filter
          Setting up a dynamic rules filter
          Event handler
          Removing event handlers
        The post-processing facility
      Interpreting Trace Data
        Using traceprinter and interpreting the output
        Building your own parser
          The traceparser library
          Simple and combine events
          The traceevent_t structure
          Event interlacing
          Timestamps
      Tutorials
        The instrex.h header file
        Gathering all events from all classes
        Gathering all events from one class
        Gathering five events from four classes
        Gathering kernel calls
        Event handling - simple
        Inserting a user simple event
      Current Trace Events and Data
        Interpreting the table
        Table of events
    System Architecture
      The Philosophy of the QNX Neutrino RTOS
        An embeddable POSIX OS?
        Product scaling
        Why POSIX for embedded systems?
        Why QNX Neutrino for embedded systems?
        Microkernel architecture
          The OS as a team of processes
          A true kernel
          System processes
            System processes vs user-written processes
            Device drivers
        Interprocess communication
          QNX Neutrino as a message-passing operating system
        Network distribution of kernels
          Single-computer model
          Flexible networking
      The QNX Neutrino Microkernel
        The implementation of the QNX Neutrino RTOS
          POSIX realtime and thread extensions
        System services
        Threads and processes
          Thread attributes
          Thread life cycle
        Thread scheduling
          Scheduling priority
          Scheduling policies
            FIFO scheduling
            Round-robin scheduling
            Sporadic scheduling
            Manipulating priority and scheduling policies
          IPC issues
          Thread complexity issues
        Synchronization services
          Mutexes: mutual exclusion locks
            Priority inheritance and mutexes
          Condvars: condition variables
          Barriers
          Sleepon locks
          Reader/writer locks
          Semaphores
          Synchronization via scheduling policy
          Synchronization via message passing
          Synchronization via atomic operations
          Synchronization services implementation
        Clock and timer services
          Time correction
          Timers
        Interrupt handling
          Interrupt latency
          Scheduling latency
          Nested interrupts
          Interrupt calls
      Interprocess Communication (IPC)
        Synchronous message passing
        Message copying
        Simple messages
        Channels and connections
          Pulses
          Priority inheritance and messages
        Message-passing API
        Robust implementations with Send/Receive/Reply
        Events
          I/O notification
        Signals
          Special signals
          Summary of signals
        POSIX message queues
          Why use POSIX message queues?
          File-like interface
          Message-queue functions
        Shared memory
          Shared memory with message passing
          Creating a shared-memory object
          mmap()
          Initializing allocated memory
        Typed memory
          Implementation-defined behavior
            Seeding of typed memory regions
            Naming of typed memory regions
            Pathname space and typed memory
             mmap() allocation flags and typed memory objects
            Permissions and typed memory objects
            Object length and offset definitions
            Interaction with other POSIX APIs
          Practical examples
        Pipes and FIFOs
      The Instrumented Microkernel
        Instrumentation at a glance
        Event control
          Modes of emission
          Ring buffer
        Data interpretation
          System analysis with the IDE
        Proactive tracing
      Multicore Processing
        Asymmetric multiprocessing (AMP)
        Symmetric multiprocessing (SMP)
          The QNX Neutrino RTOS's microkernel approach
          Booting an x86 SMP system
          How the SMP microkernel works
          Critical sections
        Bound multiprocessing (BMP)
          A viable migration strategy
        Choosing between AMP, SMP, and BMP
      Process Manager
        Process management
          Process primitives
            posix_spawn()
            spawn()
            fork()
            vfork()
            exec*()
          Process loading
        Memory management
          Memory Management Units (MMUs)
          Memory protection at run time
            Software watchdog
          Quality control
          Full-protection model
            Private virtual memory
          Variable page size
          Locking memory
          Defragmenting physical memory
            Automatically marking memory as unmovable
        Pathname management
          Resolving pathnames
            Ordering mountpoints
            Single-device mountpoints
            Unioned filesystem mountpoints
            Why overlay mountpoints?
          Symbolic prefixes
            Creating special device names
            Relative pathnames
            Network root
            A note about cd
          File descriptor namespace
            Open control blocks
      Dynamic Linking
        Statically linked
        Dynamically linked
        Augmenting code at runtime
        How shared objects are used
          Memory layout for a typical process
          Runtime linker
          Loading a shared library at runtime
          Symbol name resolution
      Resource Managers
        What is a resource manager?
          Why write a resource manager?
          The types of resource managers
            Device resource managers
            Filesystem resource managers
          Communication via native IPC
        Resource manager architecture
          Message types
          The resource manager shared library
            Automatic default message handling
            open(), dup(), and close()
            Multiple thread handling
            Dispatch functions
            Combine messages
            Second-level default message handling
        Summary
      Filesystems
        Filesystems and pathname resolution
        Filesystem classes
          Filesystems as shared libraries
          io-blk
            Builtin RAM disk
            Partitions
            Buffer cache
          Filesystem limitations
        Image filesystem
        RAM "filesystem"
        Embedded transaction filesystem (ETFS)
          Inside a transaction
          Types of storage media
          Reliability features
            Dynamic wear-leveling
            Static wear-leveling
            CRC error detection
            ECC error correction
            Read degradation monitoring with automatic refresh
            Transaction rollback
            Atomic file operations
            Automatic file defragmentation
        QNX 4 filesystem
        Power-Safe filesystem
          Problems with existing disk filesystems
          Copy-on-write filesystem
          Performance
          Encryption
        DOS Filesystem
        CD-ROM filesystem
        FFS3 filesystem
          Customization
          Organization
            Raw partitions
            Filesystem partitions
            Mountpoints
          Features
            POSIX
            Background reclaim
            Fault recovery
            Compression/decompression
            Flash errors
            Endian awareness
          Utilities
          System calls
        NFS filesystem
        CIFS filesystem
        Linux Ext2 filesystem
        Universal Disk Format (UDF) filesystem
        Apple Macintosh HFS and HFS Plus
        Windows NT filesystem
        Virtual inflator filesystem
      PPS
        Persistence
        PPS objects
        Publishing
        Subscribing
      Character I/O
        Driver/io-char communication
        Device control
        Input modes
          Raw input mode
          Edited input mode
        Device subsystem performance
        Console devices
        Serial devices
        Parallel devices
        Pseudo terminal devices (ptys)
      Networking Architecture
        Network manager (io-pkt*)
        Threading model
        Protocol module
        Driver module
      Native Networking (Qnet)
        QNX Neutrino distributed
        Name resolution and lookup
          File descriptor (connection ID)
          Behind a simple open()
          Global Name Service (GNS)
          Network naming
            Resolvers
        Redundant Qnet: Quality of Service (QoS) and multiple paths
          QoS policies
          Specifying QoS policies
          Symbolic links
        Examples
      TCP/IP Networking
        Structure of the TCP/IP manager
        Socket API
          Database routines
        Multiple stacks
        IP filtering and NAT
        NTP
        Dynamic host configuration
          AutoIP
        PPP over Ethernet
        /etc/autoconnect
      High Availability
        An OS for HA
          Inherent HA
          HA-specific modules
        Custom hardware support
        Client library
          Recovery example
        High Availability Manager
          HAM and the Guardian
          HAM hierarchy
            Entities
            Conditions
            Actions
          Publishing autonomously detected conditions
            State transitions
            Other conditions
          Subscribing to autonomously published conditions
          HAM as a "filesystem"
          Multistage recovery
          HAM API
      Adaptive Partitioning
        What are partitions?
          If adaptive partitions aren't "boxes," what are they?
        Why adaptive?
        Benefits of adaptive partitioning
          Engineering product performance
          Dealing with design complexity
          Providing security
          Debugging
        Adaptive partitioning thread scheduler
      Glossary
    Technotes
      Writing a DVFS Driver
        dvfs_fini()
        dvfs_init()
        dvfs_pre_init()
        dvfs_therm_init()
        get_cpu_freq()
        get_cpu_temperature()
        get_cpu_voltage()
        get_pwr_levels_count()
        get_pwr_lvl_freq()
        get_pwr_lvl_volt()
        post_pwr_lvl_config()
        set_cpu_freq()
        set_cpu_voltage()
        update_boundaries()
      IP Tunneling (Generic Routing Encapsulation)
        How do I use it?
        A more typical example
        Final tidbits
      PPPOE and Path MTU Discovery
      Making Multiple Images
        Restrictions on XIP image filesystems
        Mounting an IFS
        Using a second IFS
        Example: mounting an IFS on a board
        Sample buildfiles
          os1.build
          os2.build
        Programming into flash
        Putting the images together
        Test program
        See also
      QNX Neutrino and QNX 4 bootloader partitions
        Encountering the .altboot message
        Booting or rebooting using a partition bootloader
        Resolving problems with bootloader partitions
      Managing POSIX Message Queues
      Choosing the Correct MTD Routine for the Flash Filesystem
        Unusual flash configurations
        MTD source code
        Manufacturer
        Choosing read() callout
        Choosing ident() callout
        Choosing write() callout
        Choosing erase() callout
        Choosing sync() callout
        Choosing suspend() andresume() callouts
        Choosing islock(), lock(),unlock(), unlockall() callouts
      Reading a Kernel Dump
      I2C (Inter-Integrated Circuit) Framework
        Hardware interface
          Function table
            version_info function
            init function
            fini function
            send function
            recv function
            abort function
            set_slave_addr function
            set_bus_speed function
            driver_info function
            ctl function
          Access function
          Sample calls
        Application interfaces
          Shared-library interface
          Resource manager interface
            Supporting data types
            DCMD_I2C_DRIVER_INFO
            DCMD_I2C_SEND
            DCMD_I2C_RECV
            DCMD_I2C_SENDRECV
            DCMD_I2C_SET_BUS_SPEED
            DCMD_I2C_SET_SLAVE_ADDR (deprecated)
            DCMD_I2C_MASTER_SEND (deprecated)
            DCMD_I2C_MASTER_RECV (deprecated)
        Resource manager design
      SPI (Serial Peripheral Interface) Framework
        Hardware interface
          Function table
          Low-level module handle structure
          init function
          fini function
          drvinfo function
          devinfo function
          setcfg function
          xfer function
          dma_xfer function
        API library
          spi_open()
          spi_close()
          spi_setcfg()
          spi_getdevinfo()
          spi_getdrvinfo()
          spi_read()
          spi_write()
          spi_xchange()
          spi_cmdread()
          spi_dma_xchange()
      Fine-tuning your network drivers
        High-performance NICs
        Low-performance NICs
        Tuning high-performance NIC drivers
        PHY probing
        Speed and duplex
      Backtraces
        API
        Examples
          Obtaining and printing a memory map
          Backtracing a thread in another process
          Backtracing another thread within the same process
          Backtracing the current thread
          Doing a BT_SELF backtrace in a signal handler
          Backtracing a collection of threads
      Reloadable Image Filesystems
        Command-line options
          Kernel restoration
          Secondary IFS restoration
        Examples
          Kernel restoration
          Secondary IFS restoration
        Power callout
        Minidriver support
        Performance measurements
        Sample program that uses sysmgr_cpumode() to call the power callout
        Manually mounting an IFS
        Sample script to combine IPL with boot image for the EDOSK7780
        Commands to burn a new IPL/Boot image for the EDOSK7780
      Filesystems and Power Failures
        Guidelines for using hard drives in an environment subject to abrupt power failures
        Recipe for creating hard drive corruption
        How to limit the possible hard drive corruption
        How to repair hard disk corruption
        Power failures while writing
      Customizing language sort orders for libqdb_cldr.so
        Standard language sort order files
        Sort order algorithm
          Contractions and expansions
          Locale data files
        Adding a new sort order locale
        Tailoring a sort order algorithm
    QNX SDP 6.6.0 BSPs
      Overview of a BSP
      Before you begin
      What's new with QNX SDP 6.6 BSPs
        Structure and contents of a QNX SDP 6.6 BSP
        Preparing a bootable SD card
          Preparing a bootable SD card (Windows 7)
          Preparing a bootable SD card (Linux Ubuntu)
      Process to update a BSP to QNX SDP 6.6
        Prerequisites
        Download, extract, and build an existing BSP
        Interpret initial results and remove unnecessary files
        Rebuild the BSP
        Update the startup and IPL library source
        Update BSPs containing prebuilt kernels and other OS components
      Clean Up Remaining Warnings
    User's Guide
      Getting to Know the OS
        QNX Neutrino compared with UNIX
        QNX Neutrino compared with Microsoft Windows
        How QNX Neutrino is unique
          Resource managers
      Logging In, Logging Out, and Shutting Down
        root or non-root?
        Logging in
        Once you've logged in
        Logging out
        Shutting down and rebooting
      Managing User Accounts
        What does a user account do?
          User accounts vs user IDs: login, lookup, and permissions
          What happens when you log in?
        Account database
          /etc/passwd
          /etc/group
          /etc/shadow
          /etc/.pwlock
        Managing your own account
          Changing your password
          Forgot your password?
        Managing other accounts
          Adding users
          Removing accounts
          Defining groups
            Creating a new group
            Modifying an existing group
        Troubleshooting
      Using the Command Line
        Processing a command
        Character-device drivers
          Input modes
          Terminal support
          Telnet
          The keyboard at a glance
          Physical and virtual consoles
        Shell
          Editing the command line
          Command and filename completion
          Reserved words
          Entering multiple commands
          Aliases
          Substitutions
          Redirecting input and output
          Pipes
          Quoting special characters
          History: recalling commands
          Shell scripts
        Utilities
          Understanding command syntax
          Displaying online usage messages
          Executing commands on another node or tty
          Priorities
        Basic commands
        QNX Neutrino for MS-DOS users
          DOS commands and their QNX Neutrino equivalents
             The diskcomp DOS command
          MS-DOS local command-interpreter variables
        Troubleshooting
      Working with Files
        Types of files
        Filenames and pathnames
          Absolute and relative pathnames
          Dot and dot-dot directories
            A note about cd
          No drive letters
          Pathnames that begin with a dot
          Extensions
          Pathname-space mapping
          Filename rules
        Where everything is stored
          /
          /bin
          /boot
          /dev
          /etc
          /fs
          /home
          /lib
          /proc
          /root
          /sbin
          /tmp
           /usr
          /var
        File ownership and permissions
          Setuid and setgid
          Sticky bit
          Default file permissions
          Access Control Lists (ACLs)
        Filename extensions
        Troubleshooting
      Using Editors
        Supported editors
        Specifying the default editor
      Configuring Your Environment
        What happens when you log in?
        Customizing your home
        Configuring your shell
          /etc/profile
          $HOME/.profile
          ksh's startup file
        Environment variables
          Setting PATH and LD_LIBRARY_PATH
        Configuration strings
        Setting the time zone
          Caveats
          Examples
          Programming with time zones
        Terminal types
        Troubleshooting
      Writing Shell Scripts
        Available shells
        Running a shell script
        The first line
          Arguments to a ksh script
          Arguments to a gawk script
          Arguments to a perl script
        Example of a Korn shell script
        Efficiency
        Caveat scriptor
      Working with Filesystems
        Setting up, starting, and stopping a block filesystem
        Mounting and unmounting filesystems
        Image filesystem
        /dev/shmem RAM "filesystem"
        QNX 4 filesystem
          Extents
          Filenames
          Links and inodes
          Removing links
          Directory links
          Symbolic links
          Filesystem robustness
        Power-Safe filesystem
          Booting
          Snapshots
        DOS filesystem
        CD-ROM filesystem
        Linux Ext2 filesystem
        Flash filesystems
        CIFS filesystem
        NFS filesystem
          Setting up NFS
          NFS server
          NFS client
        Universal Disk Format (UDF) filesystem
        Apple Macintosh HFS and HFS Plus
        Windows NT filesystem
        Inflator filesystem
        Troubleshooting
      Using Qnet for Transparent Distributed Processing
        When should you use Qnet?
        Conventions for naming nodes
        Software components for Qnet networking
        Starting Qnet
          Creating useqnet
          Starting the network manager, protocols, and drivers
        Checking out the neighborhood
          Populating /net
        Troubleshooting
          Is Qnet running?
          Are io-pkt* and the drivers running?
          Is the network card functional?
          How do I get diagnostic information?
          Is the hostname unique?
          Are the nodes in the same domain?
      TCP/IP Networking
        Overview of TCP/IP
        Software components for TCP/IP networking
        Running the Internet daemons
        Running multiple instances of the TCP/IP stack
        Dynamically assigned TCP/IP parameters
          Using PPPoE
            Establishing a PPPoE session
            Starting a point-to-point connection over PPPoE session
          Using DHCP
          Using AutoIP
        Troubleshooting
          Are io-pkt* and the drivers running?
          What is the name server information?
          How do I map hostnames to IP addresses?
          How do I get the network status?
          How do I make sure I'm connected to other hosts?
          How do I display information about an interface controller?
      Printing
        Printing with lpr
          User interface
            lpd—printer daemon
            lpr—start a print job
            lprq—show printer queue
            lprrm—remove jobs from a queue
            lprc—printer-control program
          Spooling directories
          Access control
          Network manager
          Printer capabilities: /etc/printcap
            A typical setup
            Printers on serial lines
            Remote printers
            Filters
          Some /etc/printcap examples
            USB printer
            Single printer
            Multiple printers
            Local and remote printers
          Remote printing to a printer on another network
          Remote printing to a TCP/IP-enabled printer using lpr
        Printing with spooler
          Setting up spooler
          Printing on a USB printer
          Remote printing over Qnet
          Remote printing over TCP/IP
        Troubleshooting
          Understanding lpr error messages
            lpr error messages
            lprq error messages
            lprrm error messages
            lprc error messages
            lpd error messages
          Troubleshooting remote printing problems
      Connecting Hardware
        PCI/AGP devices
        CD-ROMs and DVDs
        Floppy disks
        Hard disks
          EIDE
            Troubleshooting for devb-eide
          SCSI devices
          SCSI RAID
          LS-120
          ORB
          Zip and Jaz disks
            Magnetic optical drives
        RAM disks
        Audio cards
          ISA cards
          PCI Cards
        PCCARD and PCMCIA cards
        USB devices
          Printers
          Touchscreens
          Ethernet adapters
          Mass-storage devices
            Troubleshooting
        Character devices
          General serial adapters
          Multiport serial adapters
          Parallel ports
          Terminals
          I/O attributes
        Network adapters
          Identify your NIC
          Start the driver
          Make sure the driver is communicating properly with the hardware
            Physical Node ID
            Current Physical Node ID
            Current Operation Rate
            Active Interface Type
            Active PHY Address
            Power Management State
            Maximum Transmittable data Unit (MTU)
            Maximum Receivable data Unit (MRU)
            Receive Checksumming Enabled, Transmit Checksumming Enabled
            Hardware Interrupt
            DMA Channel
            I/O Aperture
            Memory Aperture
            ROM Aperture
            Promiscuous Mode
            Multicast Support
            Packets Transmitted OK
            Bytes Transmitted OK
            Total Packets Transmitted Bad
             Broadcast Packets Transmitted OK
            Multicast Packets Transmitted OK
            Memory Allocation Failures on Transmit
            Packets Received OK
             Bytes Received OK
            Single Collisions on Transmit
            Multiple Collisions on Transmit
            Deferred Transmits
            Late Collision on Transmit errors
            Transmits aborted (excessive collisions)
            Transmits aborted (excessive deferrals)
            Transmit Underruns
            No Carrier on Transmit
            Jabber detected
            Receive Alignment errors
            Received packets with CRC errors
            Packets Dropped on receive
            Ethernet Headers out of range
            Oversized Packets received
            Frames with Dribble Bits
            Total Frames experiencing Collision(s)
        Modems
          Internal modems
            ISA non-PnP
            ISA PnP
          PCI-based modems
          External modems
          Testing modems
          Troubleshooting modems
      Setting Up an Embedded Web Server
        Where should you put the files?
        Running Slinger
        Dynamic HTML
          CGI method
          SSI method
            Syntax for SSI Commands
          Data server method
        Security precautions
        Examples
          Configuration
          Script
            rand_images.c
            rand_images.pl
      Backing Up and Recovering Data
        Backup strategies
          Choosing backup storage media and location
          Choosing a backup format
          Controlling your backup
        Archiving your data
          Creating an archive
          Extracting from an archive
          Compressing an archive
          Decompressing the archive
        Storage choices
        Remote backups
        QNX 4 disk structure
          Partition components
            Loader block
            Root block
            Bitmap blocks
            Root directory
          Directories
          Links
          Extent blocks
          Files
        File-maintenance utilities
          fdisk
          dinit
          chkfsys
          dcheck
          zap
            Recovering a zapped file
          spatch
        Recovering disks and files
          Using chkfsys
            When to run chkfsys
            Using chkfsys on a live system
          Recovering from a bad block in the middle of a file
        What to do if your system will no longer boot
          If the mount fails…
          If the disk is unrecoverable
          If the filesystem is intact
      Securing Your System
        General OS security
          Remote and local attacks
            Remote exploits
            Local exploits
          Effects of attacks
          Viruses
          QNX Neutrino security in general
        QNX Neutrino-specific security issues
          Message passing
          pdebug
          qconn
          Qnet
          IPSec
        Setting up a firewall
      Fine-Tuning Your System
        Getting the system's status
        Improving performance
        Faster boot times
        Filesystems and block I/O (devb-*) drivers
          Performance and robustness
          Metadata updates
            Ordering the updates to metadata
          Throughput
          Configuration
            Block I/O commit level
            Record size
            Double buffering
            File descriptor vs standard I/O
            Pregrowing a file
          Fine-tuning USB storage devices
        How small can you get?
      Understanding System Limits
        Configurable limits
        Filesystem limits
          Querying filesystem limits
          QNX 4 filesystem
          Power-Safe (fs-qnx6.so) filesystem
          Ext2 filesystem
          DOS FAT12/16/32 filesystem
          CD-ROM (ISO9660) filesystem
          NFS2 and NFS3 filesystem
          CIFS filesystem
          Embedded (flash) filesystem
          Embedded Transaction filesystem (ETFS)
          UDF filesystem
          Apple Macintosh HFS and HFS Plus
          Windows NT filesystem
        Other system limits
          File descriptors
          Synchronization primitives
          TCP/IP limits
          Shared memory
          Message queues
          Platform-specific limits
      Technical Support
      Examples
        Buildfile for an NFS-mounting target
        Sample buildfile
        .profile
         .kshrc
        Configuration files for spooler
          Using lpr
          Using NCFTP
          Using SAMBA
        PPP with CHAP authentication between two QNX Neutrino boxes
      Glossary
  Audio & Graphics API
    Audio Developer's Guide
      Audio Architecture
        QNX Sound Architecture
        Cards and devices
        Control device
        Mixer devices
        Pulse Code Modulation (PCM) devices
          Data formats
          PCM state machine
          Software PCM mixing
          PCM plugin converters
      Playing and Capturing Audio Data
        Handling PCM devices
          Opening your PCM device
          Configuring the PCM device
          Controlling voice conversion
          Preparing the PCM subchannel
          Closing the PCM subchannel
        Playing audio data
          Playback states
          Sending data to the PCM subchannel
          If the PCM subchannel stops during playback
          Stopping the playback
          Synchronizing with the PCM subchannel
        Capturing audio data
          Selecting what to capture
          Capture states
          Receiving data from the PCM subchannel
          If the PCM subchannel stops during capture
          Stopping the capture
          Synchronizing with the PCM subchannel
      Mixer Architecture
        Opening the mixer device
        Controlling a mixer group
        The best mixer group with respect to your PCM subchannel
        Finding all mixer groups
        Mixer event notification
        Closing the mixer device
      Optimizing Audio
      Audio Library
        snd_card_get_longname()
        snd_card_get_name()
        snd_card_name()
        snd_cards()
        snd_cards_list()
        snd_ctl_callbacks_t
        snd_ctl_close()
        snd_ctl_file_descriptor()
        snd_ctl_hw_info()
        snd_ctl_hw_info_t
        snd_ctl_mixer_switch_list()
        snd_ctl_mixer_switch_read()
        snd_ctl_mixer_switch_write()
        snd_ctl_open()
        snd_ctl_pcm_channel_info()
        snd_ctl_pcm_info()
        snd_ctl_read()
       &nbs