About the QNX CAR platform
  Getting Started Guide
    Getting Ready
    A Guided Tour of the HMI
      Home
      Navigation
      Media Player
      Settings screen
      Communications screen
      App Launcher screen
      Push-to-Talk
    Automatic Speech Recognition
    Using Bluetooth
      Pairing a smartphone
      Making a phone call
      Accessing the phone's email
      Viewing the phone's contacts
      Viewing the phone's text messages
    Using Pandora Radio
    Recalibrating the Touchscreen
    Developing a Native App
      Connecting the IDE to the target
      Creating a native "hello world" application
      Debugging a native application
      Checking out a project from SVN
      Building a native application in the IDE
      Building a native application on the command line
    Software Updates
      Generating an update
      Applying an update from the HMI
      Applying an update from the command line
    Controlling System Startup
      Modifying the Startup Script
      System Launch and Monitor (SLM)
      Running the SLM service
      Realtime Clock Synchronization
  Architecture Guide
    Top Level Design
    Common Mechanisms
    Ecosystem
    Platform Layer
      QNX Neutrino RTOS
        Microkernel
        Instant Device Activation
        Networking
        Fast boot
        Fault detection
        High Availability
        Adaptive Partitioning
        Resource Manager framework
      OpenGL ES
      Software Update
    Middleware Layer
      Multimedia
      Navigation
      Automatic Speech Recognition
      Radio
      Mobile Device Gateway
        Android interfaces
        Bluetooth
        DLNA
        HTML5 interface
        Apple iOS interfaces
        MirrorLink
        Network interfaces
        USB
    HTML5 HMI Layer
      Browser Engine
      HTML5 application model
      Application management
  Getting Started Guide
    Getting Ready
    A Guided Tour of the HMI
      Home
      Navigation
      Media Player
      Settings screen
      Communications screen
      App Launcher screen
      Push-to-Talk
    Automatic Speech Recognition
    Using Bluetooth
      Pairing a smartphone
      Making a phone call
      Accessing the phone's email
      Viewing the phone's contacts
      Viewing the phone's text messages
    Using Pandora Radio
    Recalibrating the Touchscreen
    Developing a Native App
      Connecting the IDE to the target
      Creating a native "hello world" application
      Debugging a native application
      Checking out a project from SVN
      Building a native application in the IDE
      Building a native application on the command line
    Software Updates
      Generating an update
      Applying an update from the HMI
      Applying an update from the command line
    Controlling System Startup
      Modifying the Startup Script
      System Launch and Monitor (SLM)
      Running the SLM service
      Realtime Clock Synchronization
  Architecture Guide
    Top Level Design
    Common Mechanisms
    Ecosystem
    Platform Layer
      QNX Neutrino RTOS
        Microkernel
        Instant Device Activation
        Networking
        Fast boot
        Fault detection
        High Availability
        Adaptive Partitioning
        Resource Manager framework
      OpenGL ES
      Software Update
    Middleware Layer
      Multimedia
      Navigation
      Automatic Speech Recognition
      Radio
      Mobile Device Gateway
        Android interfaces
        Bluetooth
        DLNA
        HTML5 interface
        Apple iOS interfaces
        MirrorLink
        Network interfaces
        USB
    HTML5 HMI Layer
      Browser Engine
      HTML5 application model
      Application management
Developing for the QNX CAR platform
  HMI Developer's Guide
    Navigator
      Introduction to Navigator
      Navigator prerequisite knowledge
      Navigator window management
      Navigator interfaces
      Navigator reference implementation
      Creating a new Navigator
    Authman and Launcher
  Developing HTML5 Apps with WebWorks
    The HTML5 Development Tools
      Obtaining the development tools
      Ripple Emulator
        Installing the Ripple emulator
      Sencha Touch 2 framework
      HTML5 Web Application Framework
      WebGL
      jQuery support
    Creating an app
      Creating a basic "Hello World" app
        Creating a configuration document (config.xml)
        Creating an entry point for your app (index.html)
      Running "Hello World" in Ripple
    Creating your own extension
      Using the JavaScript Framework
      JavaScript extension example
      Creating the JavaScript for the extension
        Details about the JavaScript part of the extension
        Using the PPS interface
      Running your modified app
    Deploying "Hello World"
      Packaging
      Installing to a device
    Enhancing performance
    Uninstalling a package
  JavaScript Framework Reference
    blackberry.bridge
    qnx.application
    qnx.application.event
    qnx.audiomixer
    qnx.audioplayer
    qnx.bluetooth
    qnx.bluetooth.pbap
    qnx.gears
    qnx.hvac
    qnx.info
    qnx.keyboard
    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
  PPS Objects Reference
    Overview of the PPS Service
    Setting Up Your Own Objects
    PPS Objects Reference Pages
      /pps/accounts/
      /pps/accounts/1000/telenav/
      /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/radio/control
      /pps/qnxcar/radio/status
      /pps/qnxcar/radio/ti_control
      /pps/qnxcar/radio/ti_rds
      /pps/qnxcar/radio/ti_status
      /pps/qnxcar/radio/tuners
      /pps/qnxcar/sensors
      /pps/qnxcar/system/info
      /pps/qnxcar/system/settings
      /pps/servicedata/schedule
      /pps/services/alarm/control
      /pps/services/alarm/status-<clientlabel>
      /pps/services/app-launcher
      /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/status
      /pps/services/audio/types/
      /pps/services/audio/voice_status
      /pps/services/bluetooth/control
      /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/status
      /pps/services/clock/control
      /pps/services/clock/status
      /pps/services/confstr/
      /pps/services/deviceproperties
      /pps/services/dlna/dmcclient/control
      /pps/services/dlna/dmcclient/dmr/networkstate/<dmr_uuid>
      /pps/services/dlna/dmcclient/dmr/playstate/<dmr_uuid>
      /pps/services/dlna/dmcclient/dms/networkstate/<dms_uuid>
      /pps/services/gears/control
      /pps/services/gears/status
      /pps/services/handsfree/control
      /pps/services/handsfree/status
      /pps/services/launcher/control
      /pps/services/mediaserver/settings
      /pps/services/mm-control/control
      /pps/services/mm-control/<playername>/status
      /pps/services/mm-detect/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/navigator/
      /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/proxyserver
      /pps/services/networking/status
      /pps/services/networking/status_public
      /pps/services/private/deviceproperties
      /pps/services/update/control
      /pps/services/update/status
      /pps/system/authorization/control
      /pps/system/keyboard/control
      /pps/system/keyboard/status
      /pps/system/navigator/command
      /pps/system/navigator/windowgroup
      /pps/system/navigator/windowparams
      /pps/system/ppsnetd/control
      /pps/tcs/
    Appendix: List of Objects Used Internally
  Multimedia Detector Configuration Guide
    Multimedia Detector Overview
      Deciding whether to run mm-detect
      Customizing media detection and synchronization
    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 Controller Configuration Guide
    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
  HMI Developer's Guide
    Navigator
      Introduction to Navigator
      Navigator prerequisite knowledge
      Navigator window management
      Navigator interfaces
      Navigator reference implementation
      Creating a new Navigator
    Authman and Launcher
  Developing HTML5 Apps with WebWorks
    The HTML5 Development Tools
      Obtaining the development tools
      Ripple Emulator
        Installing the Ripple emulator
      Sencha Touch 2 framework
      HTML5 Web Application Framework
      WebGL
      jQuery support
    Creating an app
      Creating a basic "Hello World" app
        Creating a configuration document (config.xml)
        Creating an entry point for your app (index.html)
      Running "Hello World" in Ripple
    Creating your own extension
      Using the JavaScript Framework
      JavaScript extension example
      Creating the JavaScript for the extension
        Details about the JavaScript part of the extension
        Using the PPS interface
      Running your modified app
    Deploying "Hello World"
      Packaging
      Installing to a device
    Enhancing performance
    Uninstalling a package
  JavaScript Framework Reference
    blackberry.bridge
    qnx.application
    qnx.application.event
    qnx.audiomixer
    qnx.audioplayer
    qnx.bluetooth
    qnx.bluetooth.pbap
    qnx.gears
    qnx.hvac
    qnx.info
    qnx.keyboard
    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
  PPS Objects Reference
    Overview of the PPS Service
    Setting Up Your Own Objects
    PPS Objects Reference Pages
      /pps/accounts/
      /pps/accounts/1000/telenav/
      /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/radio/control
      /pps/qnxcar/radio/status
      /pps/qnxcar/radio/ti_control
      /pps/qnxcar/radio/ti_rds
      /pps/qnxcar/radio/ti_status
      /pps/qnxcar/radio/tuners
      /pps/qnxcar/sensors
      /pps/qnxcar/system/info
      /pps/qnxcar/system/settings
      /pps/servicedata/schedule
      /pps/services/alarm/control
      /pps/services/alarm/status-<clientlabel>
      /pps/services/app-launcher
      /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/status
      /pps/services/audio/types/
      /pps/services/audio/voice_status
      /pps/services/bluetooth/control
      /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/status
      /pps/services/clock/control
      /pps/services/clock/status
      /pps/services/confstr/
      /pps/services/deviceproperties
      /pps/services/dlna/dmcclient/control
      /pps/services/dlna/dmcclient/dmr/networkstate/<dmr_uuid>
      /pps/services/dlna/dmcclient/dmr/playstate/<dmr_uuid>
      /pps/services/dlna/dmcclient/dms/networkstate/<dms_uuid>
      /pps/services/gears/control
      /pps/services/gears/status
      /pps/services/handsfree/control
      /pps/services/handsfree/status
      /pps/services/launcher/control
      /pps/services/mediaserver/settings
      /pps/services/mm-control/control
      /pps/services/mm-control/<playername>/status
      /pps/services/mm-detect/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/navigator/
      /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/proxyserver
      /pps/services/networking/status
      /pps/services/networking/status_public
      /pps/services/private/deviceproperties
      /pps/services/update/control
      /pps/services/update/status
      /pps/system/authorization/control
      /pps/system/keyboard/control
      /pps/system/keyboard/status
      /pps/system/navigator/command
      /pps/system/navigator/windowgroup
      /pps/system/navigator/windowparams
      /pps/system/ppsnetd/control
      /pps/tcs/
    Appendix: List of Objects Used Internally
  Multimedia Detector Configuration Guide
    Multimedia Detector Overview
      Deciding whether to run mm-detect
      Customizing media detection and synchronization
    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 Controller Configuration Guide
    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
UI and Media API References
  Audio Manager Library Reference
    Audio manager routing priority
    Supported routing paths
    Linking with audio manager
    Audio Concurrency (audio_manager_concurrency.h)
      Data types in audio_manager_concurrency.h
        audio_manager_concurrency_t
      Functions in audio_manager_concurrency.h
        audio_manager_get_audio_type_concurrency_status()
        audio_manager_get_current_audio_handle_concurrency_status()
    Audio Devices (audio_manager_device.h)
      Constants in audio_manager_device.h
        Definitions in audio_manager_device.h
      Data types in audio_manager_device.h
        audio_manager_channel_config_t
        audio_manager_channel_t
        audio_manager_device_capabilities_t
        audio_manager_device_capability_t
        audio_manager_device_headset_button_t
        audio_manager_device_t
        audio_manager_device_volume_control_t
        audio_manager_device_audio_config_t
        audio_manager_headset_button_state_t
      Functions in audio_manager_device.h
        audio_manager_get_default_device()
        audio_manager_get_default_input_device()
        audio_manager_get_device_audio_capabilities()
        audio_manager_get_device_audio_config()
        audio_manager_get_device_audio_path()
        audio_manager_get_device_audio_public()
        audio_manager_get_device_button_states()
        audio_manager_get_device_capability()
        audio_manager_get_device_dependency()
        audio_manager_get_device_from_name()
        audio_manager_get_device_name()
        audio_manager_get_device_volume_control()
        audio_manager_get_preferred_audio_input_path()
        audio_manager_get_preferred_audio_output_path()
        audio_manager_is_device_connected()
        audio_manager_is_device_kept_alive()
        audio_manager_is_device_supported()
        audio_manager_is_device_suspended()
        audio_manager_is_hdmi_in_mirror_mode()
        audio_manager_set_device_connected()
        audio_manager_set_device_keep_alive()
        audio_manager_set_device_suspended()
        audio_manager_set_hdmi_mirror_mode()
    Audio Events (audio_manager_event.h)
      Data types in audio_manager_event.h
        audio_manager_event_context_t
        audio_manager_event_type_t
        audio_manager_voice_status_volume_change_t
        audio_manager_device_button_change_t
        audio_manager_device_change_t
        audio_manager_concurrency_change_t
        audio_manager_routing_change_t
        audio_manager_stat_change_t
        audio_manager_status_headphone_boost_change_t
        audio_manager_status_headphone_unsafe_zone_change_t
        audio_manager_status_volume_change_t
        audio_manager_voice_audio_option_change_t
        audio_manager_voice_service_change_t
      Functions in audio_manager_event.h
        audio_manager_add_concurrency_change_event()
        audio_manager_add_device_button_change_event()
        audio_manager_add_device_change_event()
        audio_manager_add_routing_change_event()
        audio_manager_add_stat_change_event()
        audio_manager_add_status_hp_boost_change_event()
        audio_manager_add_status_hp_unsafe_zone_change_event()
        audio_manager_add_voice_audio_option_change_event()
        audio_manager_add_voice_service_change_event()
        audio_manager_add_voice_volume_change_event()
        audio_manager_add_volume_change_event()
        audio_manager_dispatch_event()
        audio_manager_get_event()
        audio_manager_get_event_context()
        audio_manager_get_event_fd()
        audio_manager_peek_event()
        audio_manager_release_event_context()
        audio_manager_remove_concurrency_change_event()
        audio_manager_remove_device_button_change_event()
        audio_manager_remove_device_change_event()
        audio_manager_remove_routing_change_event()
        audio_manager_remove_stat_change_event()
        audio_manager_remove_status_hp_boost_change_event()
        audio_manager_remove_status_hp_unsafe_zone_change_event()
        audio_manager_remove_voice_audio_option_change_event()
        audio_manager_remove_voice_service_change_event()
        audio_manager_remove_voice_volume_change_event()
        audio_manager_remove_volume_change_event()
        audio_manager_wait_for_initialization()
    Audio Routing (audio_manager_routing.h)
      Constants in audio_manager_routing.h
        Definitions in audio_manager_routing.h
      Data types in audio_manager_routing.h
        audio_manager_audio_type_t
        audio_manager_settings_reset_condition_t
      Functions in audio_manager_routing.h
        audio_manager_activate_handle()
        audio_manager_free_handle()
        audio_manager_get_alias_handle()
        audio_manager_get_handle()
        audio_manager_get_handle_status()
        audio_manager_get_handle_type()
        audio_manager_get_name_from_type()
        audio_manager_get_type_from_name()
        audio_manager_set_handle_routing_conditions()
        audio_manager_set_handle_type()
        audio_manager_snd_pcm_open()
        audio_manager_snd_pcm_open_name()
        audio_manager_snd_pcm_open_preferred()
        audio_manager_suspend_handle()
    Audio Voice Services (audio_manager_voice_service.h)
      Constants in audio_manager_voice_service.h
        Definitions in audio_manager_voice_service.h
      Data types in audio_manager_voice_service.h
        audio_manager_voice_option_t
        audio_manager_voice_service_status_t
        audio_manager_voice_service_t
      Functions in audio_manager_voice_service.h
        audio_manager_get_voice_service_from_name()
        audio_manager_get_voice_service_name()
        audio_manager_get_voice_service_option()
        audio_manager_get_voice_service_option_from_name()
        audio_manager_get_voice_service_option_name()
        audio_manager_get_voice_service_status()
        audio_manager_get_voice_service_status_from_name()
        audio_manager_get_voice_service_status_name()
        audio_manager_set_voice_service_option()
        audio_manager_set_voice_service_status()
    Audio Volume (audio_manager_volume.h)
      Data types in audio_manager_volume.h
        audio_manager_headphone_volume_override_status_t
      Functions in audio_manager_volume.h
        audio_manager_adjust_input_level()
        audio_manager_adjust_output_level()
        audio_manager_adjust_voice_output_level()
        audio_manager_clear_stat_counter()
        audio_manager_decrease_output_level()
        audio_manager_decrease_voice_output_level()
        audio_manager_get_headphone_boost_status()
        audio_manager_get_headphone_override()
        audio_manager_get_headphone_unsafe_zone_status()
        audio_manager_get_input_level()
        audio_manager_get_input_mute()
        audio_manager_get_output_level()
        audio_manager_get_output_mute()
        audio_manager_get_output_volume_steps()
        audio_manager_get_stat_counter()
        audio_manager_get_voice_input_mute()
        audio_manager_get_voice_output_level()
        audio_manager_get_voice_output_mute()
        audio_manager_get_voice_output_volume_steps()
        audio_manager_increase_output_level()
        audio_manager_increase_voice_output_level()
        audio_manager_set_headphone_override()
        audio_manager_set_headphone_volume_boost()
        audio_manager_set_headphone_volume_unsafe_zone()
        audio_manager_set_input_level()
        audio_manager_set_input_mute()
        audio_manager_set_output_level()
        audio_manager_set_output_mute()
        audio_manager_set_voice_input_mute()
        audio_manager_set_voice_output_level()
        audio_manager_set_voice_output_mute()
        audio_manager_toggle_input_mute()
        audio_manager_toggle_output_mute()
        audio_manager_toggle_voice_output_mute()
  Gestures Library Reference
    Gesture Buckets (bucket.h)
      Definitions in bucket.h
        Definitions in bucket.h
      Enumerations in bucket.h
        events_bucket_mode_e
        events_bucket_t
        gestures_bucket_t
      Functions in bucket.h
        gestures_bucket_add()
        gestures_bucket_clear()
        gestures_bucket_count()
        gestures_bucket_del()
        gestures_bucket_get()
        gestures_bucket_init()
    Global Settings (defaults.h)
      Definitions in defaults.h
        Definitions in defaults.h
    Double Tap (double_tap.h)
      Data types in double_tap.h
        double_tap_params_t
        double_tap_state_e
        gesture_double_tap_t
      Functions in double_tap.h
        double_tap_gesture_alloc()
        double_tap_gesture_default_params()
    Event Lists (event_list.h)
      Data types in event_list.h
        event_list_item
        event_list_item_t
      Functions in event_list.h
        event_list_add()
        event_list_alloc()
        event_list_alloc_copy()
        event_list_clear()
        event_list_copy()
        event_list_free()
        event_list_get_first()
    Long Press (long_press.h)
      Data types in long_press.h
        gesture_long_press_t
        long_press_params_t
      Functions in long_press.h
        long_press_gesture_alloc()
        long_press_gesture_default_params()
    Pinch Gestures (pinch.h)
      Data types in pinch.h
        gesture_pinch_t
        pinch_params_t
      Functions in pinch.h
        pinch_gesture_alloc()
        pinch_gesture_default_params()
    Press and Tap (press_and_tap.h)
      Data types in press_and_tap.h
        gesture_pt_t
        pt_params_t
      Functions in press_and_tap.h
        pt_gesture_alloc()
        pt_gesture_default_params()
    Rotate Gesture (rotate.h)
      Data types in rotate.h
        gesture_rotate_t
        rotate_params_t
      Functions in rotate.h
        rotate_gesture_alloc()
        rotate_gesture_default_params()
    Gesture Sets (set.h)
      Data types in set.h
        gestures_set_fail_f
      Functions in set.h
        gestures_set_add()
        gestures_set_alloc()
        gestures_set_free()
        gestures_set_process_event()
        gestures_set_process_event_list()
        gestures_set_register_fail_cb()
    Swipe Gesture (swipe.h)
      Data types in swipe.h
        gesture_swipe_t
        swipe_params_t
      Functions in swipe.h
        swipe_gesture_alloc()
        swipe_gesture_default_params()
    Tap Gesture (tap.h)
      Data types in tap.h
        gesture_tap_t
        tap_params_t
      Functions in tap.h
        tap_gesture_alloc()
        tap_gesture_default_params()
    Gesture Timers (timer.h)
      Data types in timer.h
        gesture_timer_callback_t
      Functions in timer.h
        gesture_timer_clear()
        gesture_timer_create()
        gesture_timer_destroy()
        gesture_timer_query()
        gesture_timer_set_event()
        gesture_timer_set_ms()
        gesture_timer_set_now()
    Triple Tap (triple_tap.h)
      Data types in triple_tap.h
        gesture_triple_tap_t
        triple_tap_state_e
        triple_tap_params_t
      Functions in triple_tap.h
        triple_tap_gesture_alloc()
        triple_tap_gesture_default_params()
    Two Finger Pan (two_finger_pan.h)
      Data types in two_finger_pan.h
        gesture_tfpan_t
        tfpan_params_t
      Functions in two_finger_pan.h
        tfpan_gesture_alloc()
        tfpan_gesture_default_params()
    Two Finger Tap (two_finger_tap.h)
      Data types in two_finger_tap.h
        gesture_tft_t
        tft_params_t
      Functions in two_finger_tap.h
        tft_gesture_alloc()
        tft_gesture_default_params()
    Data Types and Helper Functions (types.h)
      Constants in types.h
        Definitions in types.h
      Data types in types.h
        gesture_base
        gesture_base_t
        gesture_coords_t
        gesture_callback_f
        gesture_e
        gesture_funcs_t
        gesture_state_e
      Functions in types.h
        gesture_base_init()
        gesture_add_mustfail()
        save_coords()
        diff_time_ms()
        max_displacement_abs()
        map_contact_id()
  Glview Library Reference
    Constants in glview.h
      Definitions in glview.h
    Data types in glview.h
      glview_api_t
      background_callback
      display_once_callback
      event_callback
      finalize_callback
      foreground_callback
      frame_callback
      initialize_callback
      resize_callback
    Functions in glview.h
      glview_display_once()
      glview_get_callback_data()
      glview_get_size()
      glview_get_version()
      glview_get_vsync()
      glview_initialize()
      glview_loop()
      glview_register_background_callback()
      glview_register_event_callback()
      glview_register_finalize_callback()
      glview_register_foreground_callback()
      glview_register_frame_callback()
      glview_register_initialize_callback()
      glview_register_resize_callback()
      glview_set_callback_data()
      glview_set_vsync()
  Image Library Reference
    Working with Images
      Attaching to the image library
      Loading the image
      Cleaning up
    Image API
      Data types in img.h
        img_decode_callouts_t
        img_encode_callouts_t
        img_format_t
        img_t
      Functions in img.h
        img_cfg_read()
        img_codec_get_criteria()
        img_codec_list()
        img_codec_list_byext()
        img_codec_list_bymime()
        img_convert_data()
        img_convert_getfunc()
        img_crop()
        img_decode_begin()
        img_decode_finish()
        img_decode_frame()
        img_decode_validate()
        img_dtransform()
        img_dtransform_apply()
        img_dtransform_create()
        img_dtransform_free()
        img_encode_begin()
        img_encode_finish()
        img_encode_frame()
        img_expand_getfunc()
        IMG_FMT_BPL()
        IMG_FMT_BPP()
        img_lib_attach()
        img_lib_detach()
        img_load()
        img_load_file()
        img_load_resize_file()
        img_resize_fs()
        img_rotate_ortho()
        img_write()
        img_write_file()
  Input Events Library Reference
    Event types (event_types.h)
      Data types in event_types.h
        input_class_e
        input_event_e
        mtouch_event
    Screen helpers (screen_helpers.h)
      Functions in screen_helpers.h
        screen_get_mtouch_event()
  Metadata Provider Library Reference
    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
        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 Renderer Developer's Guide
    Multimedia Renderer Architecture
      Supported media
      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 Developer's Guide
    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 multimedia content
        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 the same 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
  Screen and Windowing Developer's Guide
    Contexts
      Create a context
      Context types
      Set a context property
    Windows
      Window types
      Position a window
      Create a window
      Create a child window
      Pixel formats
    Displays
      Multiple displays
        Complete Sample: Using Multiple Displays
    Event types
     Screen and Windowing Installation and Configuration
      Install Screen and Windowing
        Apply your Screen and Windowing patch
        Troubleshooting
      Configure Screen and Windowing
        Configure khronos section
          Configure egl display
          egl display configuration parameters
          Configure wfd device
        Configure winmgr section
          Configure globals
          globals configuration parameters
          Configure display display_id
          display configuration parameters
          Configure class
          class configuration parameters
          Configure mtouch
          mtouch configuration parameters
        Apply your Screen and Windowing configuration
        Troubleshooting
     Screen and Windowing Library Reference
      Function safety
      Function execution types
        Immediate execution
        Flushing execution
        Delayed execution
        Apply execution
        Function types
      General (screen.h)
        Constants in screen.h
          Definitions in screen.h
        Data types in screen.h
          _screen_mode
          Screen property types
          Screen object types
          Screen power mode types
          Screen Idle Mode types
          Screen mirror types
          Screen alpha mode types
          Screen pixel format types
          Screen usage flag types
          Screen transparency types
          Screen sensitivity types
          Screen sensitivity masks
          Screen scaling quality types
          Screen CBABC mode types
          Screen flushing types
          Screen mouse button types
          Screen touch types
      Contexts (screen.h)
        Data types in screen.h
          screen_context_t
          Screen context types
        Functions in screen.h
          screen_create_context()
          screen_set_context_property_cv()
          screen_set_context_property_iv()
          screen_set_context_property_llv()
          screen_set_context_property_pv()
          screen_get_context_property_cv()
          screen_get_context_property_iv()
          screen_get_context_property_llv()
          screen_get_context_property_pv()
          screen_destroy_context()
      Windows (screen.h)
        Data types in screen.h
          screen_window_t
          Screen window types
          Screen window metric counts
        Functions in screen.h
          screen_create_window()
          screen_create_window_type()
          screen_create_window_buffers()
          screen_attach_window_buffers()
          screen_share_window_buffers()
          screen_create_window_group()
          screen_join_window_group()
          screen_leave_window_group()
          screen_ref_window()
          screen_unref_window()
          screen_post_window()
          screen_wait_post()
          screen_read_window()
          screen_discard_window_regions()
          screen_set_window_property_cv()
          screen_set_window_property_iv()
          screen_set_window_property_llv()
          screen_set_window_property_pv()
          screen_get_window_property_cv()
          screen_get_window_property_iv()
          screen_get_window_property_llv()
          screen_get_window_property_pv()
          screen_destroy_window_buffers()
          screen_destroy_window()
      Pixmaps (screen.h)
        Data types in screen.h
          screen_pixmap_t
          Screen pixmap metric counts
        Functions in screen.h
          screen_create_pixmap()
          screen_attach_pixmap_buffer()
          screen_create_pixmap_buffer()
          screen_destroy_pixmap()
          screen_destroy_pixmap_buffer()
          screen_get_pixmap_property_cv()
          screen_get_pixmap_property_iv()
          screen_get_pixmap_property_llv()
          screen_get_pixmap_property_pv()
          screen_join_pixmap_group()
          screen_leave_pixmap_group()
          screen_set_pixmap_property_cv()
          screen_set_pixmap_property_iv()
          screen_set_pixmap_property_llv()
          screen_set_pixmap_property_pv()
      Buffers (screen.h)
        Data types in screen.h
          screen_buffer_t
        Functions in screen.h
          screen_create_buffer()
          screen_set_buffer_property_cv()
          screen_set_buffer_property_iv()
          screen_set_buffer_property_llv()
          screen_set_buffer_property_pv()
          screen_get_buffer_property_cv()
          screen_get_buffer_property_iv()
          screen_get_buffer_property_llv()
          screen_get_buffer_property_pv()
          screen_destroy_buffer()
      Groups (screen.h)
        Data types in screen.h
          screen_group_t
        Functions in screen.h
          screen_create_group()
          screen_set_group_property_cv()
          screen_set_group_property_iv()
          screen_set_group_property_llv()
          screen_set_group_property_pv()
          screen_get_group_property_cv()
          screen_get_group_property_iv()
          screen_get_group_property_llv()
          screen_get_group_property_pv()
          screen_destroy_group()
      Events (screen.h)
        Data types in screen.h
          screen_event_t
          Screen event types
        Functions in screen.h
          screen_create_event()
          screen_inject_event()
          screen_send_event()
          screen_get_event()
          screen_set_event_property_cv()
          screen_set_event_property_iv()
          screen_set_event_property_llv()
          screen_set_event_property_pv()
          screen_get_event_property_cv()
          screen_get_event_property_iv()
          screen_get_event_property_llv()
          screen_get_event_property_pv()
          screen_destroy_event()
      Displays (screen.h)
        Data types in screen.h
          screen_display_t
          screen_display_mode_t
          Screen display mode types
          Screen display types
          Screen display metric count types
        Functions in screen.h
          screen_set_display_property_cv()
          screen_set_display_property_iv()
          screen_set_display_property_llv()
          screen_set_display_property_pv()
          screen_get_display_property_cv()
          screen_get_display_property_iv()
          screen_get_display_property_llv()
          screen_get_display_property_pv()
          screen_get_display_modes()
          screen_read_display()
          screen_share_display_buffers()
          screen_wait_vsync()
      Devices (screen.h)
        Data types in screen.h
          screen_device_t
          Screen device metric counts
        Functions in screen.h
          screen_create_device_type()
          screen_set_device_property_cv()
          screen_set_device_property_iv()
          screen_set_device_property_llv()
          screen_set_device_property_pv()
          screen_get_device_property_cv()
          screen_get_device_property_iv()
          screen_get_device_property_llv()
          screen_get_device_property_pv()
          screen_destroy_device()
      Blits (screen.h)
        Data types in screen.h
          Screen blit types
        Functions in screen.h
          screen_blit()
          screen_fill()
          screen_flush_blits()
          screen_flush_context()
      Effects (screen.h, effects.h)
        Data types in effects.h
          Screen effect types
          Screen effect property types
          Screen effect flip axis types
          Screen effect flip direction types
          Screen effect rotate direction types
          Screen effect page curl types
          Screen effect reveal types
        Functions in screen.h
          screen_prepare_effect()
          screen_start_effect()
          screen_stop_effect()
          screen_set_effect_property_fv()
          screen_set_effect_property_iv()
      Debugging (screen.h)
        Data types in screen.h
          Screen debug graph types
          Screen packet types
        Functions in screen.h
          screen_print_packet()
    Tutorial: Draw and perform vysnc operation using windows
      Create the background window
      Create the child windows
      Create the main() function
      Complete Sample: A vsync application using windows
    Tutorial: Draw and perform vsync operations using blits, pixmaps, and buffers
      Create a context and initialize a window
      Create buffers and a pixmap
      Combine buffers with blit functions and properties
      Complete Sample: A vsync application using blits, pixmaps and buffers
    Tutorial: Write an application using OpenGL ES
      Use OpenGL ES in a windowed vsync application
      Complete Sample: A windowed vsync application using OpenGL ES
    Tutorial: Screenshots
      Capture a window screenshot
      Complete sample: a window screenshot example
      Capture a display screenshot
      Complete Sample: A Display screen shot example
  String Pattern Library Reference
    Constants in strpattern.h
      Definitions in strpattern.h
    Data types in strpattern.h
      strpattern_analyze_callback_func
      strpattern_context
      strpattern_match
      strpattern_regex_registration
    Functions in strpattern.h
      strpattern_analyze()
      strpattern_analyzeUTF8()
      strpattern_cancel()
      strpattern_context_delete()
      strpattern_context_new()
      strpattern_context_set_sync()
      strpattern_context_sync()
      strpattern_errstr()
      strpattern_init()
      strpattern_match_delete()
      strpattern_match_delete_all()
      strpattern_match_end_index()
      strpattern_match_invoke_action()
      strpattern_match_invoke_count()
      strpattern_match_invoke_data()
      strpattern_match_invoke_data_type()
      strpattern_match_invoke_default()
      strpattern_match_invoke_target()
      strpattern_match_invoke_uri()
      strpattern_match_start_index()
  Audio Manager Library Reference
    Audio manager routing priority
    Supported routing paths
    Linking with audio manager
    Audio Concurrency (audio_manager_concurrency.h)
      Data types in audio_manager_concurrency.h
        audio_manager_concurrency_t
      Functions in audio_manager_concurrency.h
        audio_manager_get_audio_type_concurrency_status()
        audio_manager_get_current_audio_handle_concurrency_status()
    Audio Devices (audio_manager_device.h)
      Constants in audio_manager_device.h
        Definitions in audio_manager_device.h
      Data types in audio_manager_device.h
        audio_manager_channel_config_t
        audio_manager_channel_t
        audio_manager_device_capabilities_t
        audio_manager_device_capability_t
        audio_manager_device_headset_button_t
        audio_manager_device_t
        audio_manager_device_volume_control_t
        audio_manager_device_audio_config_t
        audio_manager_headset_button_state_t
      Functions in audio_manager_device.h
        audio_manager_get_default_device()
        audio_manager_get_default_input_device()
        audio_manager_get_device_audio_capabilities()
        audio_manager_get_device_audio_config()
        audio_manager_get_device_audio_path()
        audio_manager_get_device_audio_public()
        audio_manager_get_device_button_states()
        audio_manager_get_device_capability()
        audio_manager_get_device_dependency()
        audio_manager_get_device_from_name()
        audio_manager_get_device_name()
        audio_manager_get_device_volume_control()
        audio_manager_get_preferred_audio_input_path()
        audio_manager_get_preferred_audio_output_path()
        audio_manager_is_device_connected()
        audio_manager_is_device_kept_alive()
        audio_manager_is_device_supported()
        audio_manager_is_device_suspended()
        audio_manager_is_hdmi_in_mirror_mode()
        audio_manager_set_device_connected()
        audio_manager_set_device_keep_alive()
        audio_manager_set_device_suspended()
        audio_manager_set_hdmi_mirror_mode()
    Audio Events (audio_manager_event.h)
      Data types in audio_manager_event.h
        audio_manager_event_context_t
        audio_manager_event_type_t
        audio_manager_voice_status_volume_change_t
        audio_manager_device_button_change_t
        audio_manager_device_change_t
        audio_manager_concurrency_change_t
        audio_manager_routing_change_t
        audio_manager_stat_change_t
        audio_manager_status_headphone_boost_change_t
        audio_manager_status_headphone_unsafe_zone_change_t
        audio_manager_status_volume_change_t
        audio_manager_voice_audio_option_change_t
        audio_manager_voice_service_change_t
      Functions in audio_manager_event.h
        audio_manager_add_concurrency_change_event()
        audio_manager_add_device_button_change_event()
        audio_manager_add_device_change_event()
        audio_manager_add_routing_change_event()
        audio_manager_add_stat_change_event()
        audio_manager_add_status_hp_boost_change_event()
        audio_manager_add_status_hp_unsafe_zone_change_event()
        audio_manager_add_voice_audio_option_change_event()
        audio_manager_add_voice_service_change_event()
        audio_manager_add_voice_volume_change_event()
        audio_manager_add_volume_change_event()
        audio_manager_dispatch_event()
        audio_manager_get_event()
        audio_manager_get_event_context()
        audio_manager_get_event_fd()
        audio_manager_peek_event()
        audio_manager_release_event_context()
        audio_manager_remove_concurrency_change_event()
        audio_manager_remove_device_button_change_event()
        audio_manager_remove_device_change_event()
        audio_manager_remove_routing_change_event()
        audio_manager_remove_stat_change_event()
        audio_manager_remove_status_hp_boost_change_event()
        audio_manager_remove_status_hp_unsafe_zone_change_event()
        audio_manager_remove_voice_audio_option_change_event()
        audio_manager_remove_voice_service_change_event()
        audio_manager_remove_voice_volume_change_event()
        audio_manager_remove_volume_change_event()
        audio_manager_wait_for_initialization()
    Audio Routing (audio_manager_routing.h)
      Constants in audio_manager_routing.h
        Definitions in audio_manager_routing.h
      Data types in audio_manager_routing.h
        audio_manager_audio_type_t
        audio_manager_settings_reset_condition_t
      Functions in audio_manager_routing.h
        audio_manager_activate_handle()
        audio_manager_free_handle()
        audio_manager_get_alias_handle()
        audio_manager_get_handle()
        audio_manager_get_handle_status()
        audio_manager_get_handle_type()
        audio_manager_get_name_from_type()
        audio_manager_get_type_from_name()
        audio_manager_set_handle_routing_conditions()
        audio_manager_set_handle_type()
        audio_manager_snd_pcm_open()
        audio_manager_snd_pcm_open_name()
        audio_manager_snd_pcm_open_preferred()
        audio_manager_suspend_handle()
    Audio Voice Services (audio_manager_voice_service.h)
      Constants in audio_manager_voice_service.h
        Definitions in audio_manager_voice_service.h
      Data types in audio_manager_voice_service.h
        audio_manager_voice_option_t
        audio_manager_voice_service_status_t
        audio_manager_voice_service_t
      Functions in audio_manager_voice_service.h
        audio_manager_get_voice_service_from_name()
        audio_manager_get_voice_service_name()
        audio_manager_get_voice_service_option()
        audio_manager_get_voice_service_option_from_name()
        audio_manager_get_voice_service_option_name()
        audio_manager_get_voice_service_status()
        audio_manager_get_voice_service_status_from_name()
        audio_manager_get_voice_service_status_name()
        audio_manager_set_voice_service_option()
        audio_manager_set_voice_service_status()
    Audio Volume (audio_manager_volume.h)
      Data types in audio_manager_volume.h
        audio_manager_headphone_volume_override_status_t
      Functions in audio_manager_volume.h
        audio_manager_adjust_input_level()
        audio_manager_adjust_output_level()
        audio_manager_adjust_voice_output_level()
        audio_manager_clear_stat_counter()
        audio_manager_decrease_output_level()
        audio_manager_decrease_voice_output_level()
        audio_manager_get_headphone_boost_status()
        audio_manager_get_headphone_override()
        audio_manager_get_headphone_unsafe_zone_status()
        audio_manager_get_input_level()
        audio_manager_get_input_mute()
        audio_manager_get_output_level()
        audio_manager_get_output_mute()
        audio_manager_get_output_volume_steps()
        audio_manager_get_stat_counter()
        audio_manager_get_voice_input_mute()
        audio_manager_get_voice_output_level()
        audio_manager_get_voice_output_mute()
        audio_manager_get_voice_output_volume_steps()
        audio_manager_increase_output_level()
        audio_manager_increase_voice_output_level()
        audio_manager_set_headphone_override()
        audio_manager_set_headphone_volume_boost()
        audio_manager_set_headphone_volume_unsafe_zone()
        audio_manager_set_input_level()
        audio_manager_set_input_mute()
        audio_manager_set_output_level()
        audio_manager_set_output_mute()
        audio_manager_set_voice_input_mute()
        audio_manager_set_voice_output_level()
        audio_manager_set_voice_output_mute()
        audio_manager_toggle_input_mute()
        audio_manager_toggle_output_mute()
        audio_manager_toggle_voice_output_mute()
  Gestures Library Reference
    Gesture Buckets (bucket.h)
      Definitions in bucket.h
        Definitions in bucket.h
      Enumerations in bucket.h
        events_bucket_mode_e
        events_bucket_t
        gestures_bucket_t
      Functions in bucket.h
        gestures_bucket_add()
        gestures_bucket_clear()
        gestures_bucket_count()
        gestures_bucket_del()
        gestures_bucket_get()
        gestures_bucket_init()
    Global Settings (defaults.h)
      Definitions in defaults.h
        Definitions in defaults.h
    Double Tap (double_tap.h)
      Data types in double_tap.h
        double_tap_params_t
        double_tap_state_e
        gesture_double_tap_t
      Functions in double_tap.h
        double_tap_gesture_alloc()
        double_tap_gesture_default_params()
    Event Lists (event_list.h)
      Data types in event_list.h
        event_list_item
        event_list_item_t
      Functions in event_list.h
        event_list_add()
        event_list_alloc()
        event_list_alloc_copy()
        event_list_clear()
        event_list_copy()
        event_list_free()
        event_list_get_first()
    Long Press (long_press.h)
      Data types in long_press.h
        gesture_long_press_t
        long_press_params_t
      Functions in long_press.h
        long_press_gesture_alloc()
        long_press_gesture_default_params()
    Pinch Gestures (pinch.h)
      Data types in pinch.h
        gesture_pinch_t
        pinch_params_t
      Functions in pinch.h
        pinch_gesture_alloc()
        pinch_gesture_default_params()
    Press and Tap (press_and_tap.h)
      Data types in press_and_tap.h
        gesture_pt_t
        pt_params_t
      Functions in press_and_tap.h
        pt_gesture_alloc()
        pt_gesture_default_params()
    Rotate Gesture (rotate.h)
      Data types in rotate.h
        gesture_rotate_t
        rotate_params_t
      Functions in rotate.h
        rotate_gesture_alloc()
        rotate_gesture_default_params()
    Gesture Sets (set.h)
      Data types in set.h
        gestures_set_fail_f
      Functions in set.h
        gestures_set_add()
        gestures_set_alloc()
        gestures_set_free()
        gestures_set_process_event()
        gestures_set_process_event_list()
        gestures_set_register_fail_cb()
    Swipe Gesture (swipe.h)
      Data types in swipe.h
        gesture_swipe_t
        swipe_params_t
      Functions in swipe.h
        swipe_gesture_alloc()
        swipe_gesture_default_params()
    Tap Gesture (tap.h)
      Data types in tap.h
        gesture_tap_t
        tap_params_t
      Functions in tap.h
        tap_gesture_alloc()
        tap_gesture_default_params()
    Gesture Timers (timer.h)
      Data types in timer.h
        gesture_timer_callback_t
      Functions in timer.h
        gesture_timer_clear()
        gesture_timer_create()
        gesture_timer_destroy()
        gesture_timer_query()
        gesture_timer_set_event()
        gesture_timer_set_ms()
        gesture_timer_set_now()
    Triple Tap (triple_tap.h)
      Data types in triple_tap.h
        gesture_triple_tap_t
        triple_tap_state_e
        triple_tap_params_t
      Functions in triple_tap.h
        triple_tap_gesture_alloc()
        triple_tap_gesture_default_params()
    Two Finger Pan (two_finger_pan.h)
      Data types in two_finger_pan.h
        gesture_tfpan_t
        tfpan_params_t
      Functions in two_finger_pan.h
        tfpan_gesture_alloc()
        tfpan_gesture_default_params()
    Two Finger Tap (two_finger_tap.h)
      Data types in two_finger_tap.h
        gesture_tft_t
        tft_params_t
      Functions in two_finger_tap.h
        tft_gesture_alloc()
        tft_gesture_default_params()
    Data Types and Helper Functions (types.h)
      Constants in types.h
        Definitions in types.h
      Data types in types.h
        gesture_base
        gesture_base_t
        gesture_coords_t
        gesture_callback_f
        gesture_e
        gesture_funcs_t
        gesture_state_e
      Functions in types.h
        gesture_base_init()
        gesture_add_mustfail()
        save_coords()
        diff_time_ms()
        max_displacement_abs()
        map_contact_id()
  Glview Library Reference
    Constants in glview.h
      Definitions in glview.h
    Data types in glview.h
      glview_api_t
      background_callback
      display_once_callback
      event_callback
      finalize_callback
      foreground_callback
      frame_callback
      initialize_callback
      resize_callback
    Functions in glview.h
      glview_display_once()
      glview_get_callback_data()
      glview_get_size()
      glview_get_version()
      glview_get_vsync()
      glview_initialize()
      glview_loop()
      glview_register_background_callback()
      glview_register_event_callback()
      glview_register_finalize_callback()
      glview_register_foreground_callback()
      glview_register_frame_callback()
      glview_register_initialize_callback()
      glview_register_resize_callback()
      glview_set_callback_data()
      glview_set_vsync()
  Image Library Reference
    Working with Images
      Attaching to the image library
      Loading the image
      Cleaning up
    Image API
      Data types in img.h
        img_decode_callouts_t
        img_encode_callouts_t
        img_format_t
        img_t
      Functions in img.h
        img_cfg_read()
        img_codec_get_criteria()
        img_codec_list()
        img_codec_list_byext()
        img_codec_list_bymime()
        img_convert_data()
        img_convert_getfunc()
        img_crop()
        img_decode_begin()
        img_decode_finish()
        img_decode_frame()
        img_decode_validate()
        img_dtransform()
        img_dtransform_apply()
        img_dtransform_create()
        img_dtransform_free()
        img_encode_begin()
        img_encode_finish()
        img_encode_frame()
        img_expand_getfunc()
        IMG_FMT_BPL()
        IMG_FMT_BPP()
        img_lib_attach()
        img_lib_detach()
        img_load()
        img_load_file()
        img_load_resize_file()
        img_resize_fs()
        img_rotate_ortho()
        img_write()
        img_write_file()
  Input Events Library Reference
    Event types (event_types.h)
      Data types in event_types.h
        input_class_e
        input_event_e
        mtouch_event
    Screen helpers (screen_helpers.h)
      Functions in screen_helpers.h
        screen_get_mtouch_event()
  Metadata Provider Library Reference
    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
        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 Renderer Developer's Guide
    Multimedia Renderer Architecture
      Supported media
      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 Developer's Guide
    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 multimedia content
        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 the same 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
  Screen and Windowing Developer's Guide
    Contexts
      Create a context
      Context types
      Set a context property
    Windows
      Window types
      Position a window
      Create a window
      Create a child window
      Pixel formats
    Displays
      Multiple displays
        Complete Sample: Using Multiple Displays
    Event types
     Screen and Windowing Installation and Configuration
      Install Screen and Windowing
        Apply your Screen and Windowing patch
        Troubleshooting
      Configure Screen and Windowing
        Configure khronos section
          Configure egl display
          egl display configuration parameters
          Configure wfd device
        Configure winmgr section
          Configure globals
          globals configuration parameters
          Configure display display_id
          display configuration parameters
          Configure class
          class configuration parameters
          Configure mtouch
          mtouch configuration parameters
        Apply your Screen and Windowing configuration
        Troubleshooting
     Screen and Windowing Library Reference
      Function safety
      Function execution types
        Immediate execution
        Flushing execution
        Delayed execution
        Apply execution
        Function types
      General (screen.h)
        Constants in screen.h
          Definitions in screen.h
        Data types in screen.h
          _screen_mode
          Screen property types
          Screen object types
          Screen power mode types
          Screen Idle Mode types
          Screen mirror types
          Screen alpha mode types
          Screen pixel format types
          Screen usage flag types
          Screen transparency types
          Screen sensitivity types
          Screen sensitivity masks
          Screen scaling quality types
          Screen CBABC mode types
          Screen flushing types
          Screen mouse button types
          Screen touch types
      Contexts (screen.h)
        Data types in screen.h
          screen_context_t
          Screen context types
        Functions in screen.h
          screen_create_context()
          screen_set_context_property_cv()
          screen_set_context_property_iv()
          screen_set_context_property_llv()
          screen_set_context_property_pv()
          screen_get_context_property_cv()
          screen_get_context_property_iv()
          screen_get_context_property_llv()
          screen_get_context_property_pv()
          screen_destroy_context()
      Windows (screen.h)
        Data types in screen.h
          screen_window_t
          Screen window types
          Screen window metric counts
        Functions in screen.h
          screen_create_window()
          screen_create_window_type()
          screen_create_window_buffers()
          screen_attach_window_buffers()
          screen_share_window_buffers()
          screen_create_window_group()
          screen_join_window_group()
          screen_leave_window_group()
          screen_ref_window()
          screen_unref_window()
          screen_post_window()
          screen_wait_post()
          screen_read_window()
          screen_discard_window_regions()
          screen_set_window_property_cv()
          screen_set_window_property_iv()
          screen_set_window_property_llv()
          screen_set_window_property_pv()
          screen_get_window_property_cv()
          screen_get_window_property_iv()
          screen_get_window_property_llv()
          screen_get_window_property_pv()
          screen_destroy_window_buffers()
          screen_destroy_window()
      Pixmaps (screen.h)
        Data types in screen.h
          screen_pixmap_t
          Screen pixmap metric counts
        Functions in screen.h
          screen_create_pixmap()
          screen_attach_pixmap_buffer()
          screen_create_pixmap_buffer()
          screen_destroy_pixmap()
          screen_destroy_pixmap_buffer()
          screen_get_pixmap_property_cv()
          screen_get_pixmap_property_iv()
          screen_get_pixmap_property_llv()
          screen_get_pixmap_property_pv()
          screen_join_pixmap_group()
          screen_leave_pixmap_group()
          screen_set_pixmap_property_cv()
          screen_set_pixmap_property_iv()
          screen_set_pixmap_property_llv()
          screen_set_pixmap_property_pv()
      Buffers (screen.h)
        Data types in screen.h
          screen_buffer_t
        Functions in screen.h
          screen_create_buffer()
          screen_set_buffer_property_cv()
          screen_set_buffer_property_iv()
          screen_set_buffer_property_llv()
          screen_set_buffer_property_pv()
          screen_get_buffer_property_cv()
          screen_get_buffer_property_iv()
          screen_get_buffer_property_llv()
          screen_get_buffer_property_pv()
          screen_destroy_buffer()
      Groups (screen.h)
        Data types in screen.h
          screen_group_t
        Functions in screen.h
          screen_create_group()
          screen_set_group_property_cv()
          screen_set_group_property_iv()
          screen_set_group_property_llv()
          screen_set_group_property_pv()
          screen_get_group_property_cv()
          screen_get_group_property_iv()
          screen_get_group_property_llv()
          screen_get_group_property_pv()
          screen_destroy_group()
      Events (screen.h)
        Data types in screen.h
          screen_event_t
          Screen event types
        Functions in screen.h
          screen_create_event()
          screen_inject_event()
          screen_send_event()
          screen_get_event()
          screen_set_event_property_cv()
          screen_set_event_property_iv()
          screen_set_event_property_llv()
          screen_set_event_property_pv()
          screen_get_event_property_cv()
          screen_get_event_property_iv()
          screen_get_event_property_llv()
          screen_get_event_property_pv()
          screen_destroy_event()
      Displays (screen.h)
        Data types in screen.h
          screen_display_t
          screen_display_mode_t
          Screen display mode types
          Screen display types
          Screen display metric count types
        Functions in screen.h
          screen_set_display_property_cv()
          screen_set_display_property_iv()
          screen_set_display_property_llv()
          screen_set_display_property_pv()
          screen_get_display_property_cv()
          screen_get_display_property_iv()
          screen_get_display_property_llv()
          screen_get_display_property_pv()
          screen_get_display_modes()
          screen_read_display()
          screen_share_display_buffers()
          screen_wait_vsync()
      Devices (screen.h)
        Data types in screen.h
          screen_device_t
          Screen device metric counts
        Functions in screen.h
          screen_create_device_type()
          screen_set_device_property_cv()
          screen_set_device_property_iv()
          screen_set_device_property_llv()
          screen_set_device_property_pv()
          screen_get_device_property_cv()
          screen_get_device_property_iv()
          screen_get_device_property_llv()
          screen_get_device_property_pv()
          screen_destroy_device()
      Blits (screen.h)
        Data types in screen.h
          Screen blit types
        Functions in screen.h
          screen_blit()
          screen_fill()
          screen_flush_blits()
          screen_flush_context()
      Effects (screen.h, effects.h)
        Data types in effects.h
          Screen effect types
          Screen effect property types
          Screen effect flip axis types
          Screen effect flip direction types
          Screen effect rotate direction types
          Screen effect page curl types
          Screen effect reveal types
        Functions in screen.h
          screen_prepare_effect()
          screen_start_effect()
          screen_stop_effect()
          screen_set_effect_property_fv()
          screen_set_effect_property_iv()
      Debugging (screen.h)
        Data types in screen.h
          Screen debug graph types
          Screen packet types
        Functions in screen.h
          screen_print_packet()
    Tutorial: Draw and perform vysnc operation using windows
      Create the background window
      Create the child windows
      Create the main() function
      Complete Sample: A vsync application using windows
    Tutorial: Draw and perform vsync operations using blits, pixmaps, and buffers
      Create a context and initialize a window
      Create buffers and a pixmap
      Combine buffers with blit functions and properties
      Complete Sample: A vsync application using blits, pixmaps and buffers
    Tutorial: Write an application using OpenGL ES
      Use OpenGL ES in a windowed vsync application
      Complete Sample: A windowed vsync application using OpenGL ES
    Tutorial: Screenshots
      Capture a window screenshot
      Complete sample: a window screenshot example
      Capture a display screenshot
      Complete Sample: A Display screen shot example
  String Pattern Library Reference
    Constants in strpattern.h
      Definitions in strpattern.h
    Data types in strpattern.h
      strpattern_analyze_callback_func
      strpattern_context
      strpattern_match
      strpattern_regex_registration
    Functions in strpattern.h
      strpattern_analyze()
      strpattern_analyzeUTF8()
      strpattern_cancel()
      strpattern_context_delete()
      strpattern_context_new()
      strpattern_context_set_sync()
      strpattern_context_sync()
      strpattern_errstr()
      strpattern_init()
      strpattern_match_delete()
      strpattern_match_delete_all()
      strpattern_match_end_index()
      strpattern_match_invoke_action()
      strpattern_match_invoke_count()
      strpattern_match_invoke_data()
      strpattern_match_invoke_data_type()
      strpattern_match_invoke_default()
      strpattern_match_invoke_target()
      strpattern_match_invoke_uri()
      strpattern_match_start_index()
QNX Momentics IDE User's Guide
  Assumptions
  IDE Concepts
     What is an IDE?
       Build embedded systems using the IDE
    Perspectives
    Views
    Editors
      Use alternate editors
      Change editors
      Refresh the resources
      Disable automatic syntax annotation highlighting
     Projects in the IDE
      Considerations for project development
      How the IDE characterizes projects using natures
    The IDE Workspace
      Specify a workspace location
    Host and target machines
    Target agent (the qconn daemon)
    Launcher
    Resources
    Wizards
    Keyboard shortcuts
    Version coexistence
      Specify which OS version to build for
    Environment variables
   Getting Started
    Start the IDE
      The IDE welcomes you
      Start the IDE for the first time
      Start the IDE from the command line
    Use the workbench
    Use the QNX help system
      Open the online help from the IDE
      Navigate the online help
      Create help bookmarks
      Tips and Tricks
    Create a project
      Create a simple project
    Rename a project
    Create a target system project
      Create a QNX target system Project
    Create a launch configuration
     Run your application
    Delete a project
    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 Networking
      Link an embedded system running QNX Neutrino to a Windows network connection
      Verify a network connection
  Develop C/C++ Programs
    The C/C++ perspective
    Understand projects in the IDE
      The IDE project model
      Supported project types in the IDE
        Container project
      Scenarios for creating a project for the first time
      Check out a partial source tree
      Share projects
      Check out existing projects
      Set build properties for a project
    Create a project in the IDE
      Create a simple project
      Create a make project
      Managed make projects
        Create a Makefile to build outside of the IDE
      Choose an indexer
    Working with projects
       Opening files
      Create files from scratch
      Filter files
      Open projects
      Close projects
      View outlines of source and binary files
    Write code
      C/C++ editor layout
      Assistance with function names
      Access source files for functions
      Use code templates
        Insert code templates
        Create a custom template
        Edit a code template
      Add include directives
      Use hover help
      Add and remove comments in code
      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
     Build projects
      Enable the autobuild feature for QNX C/C++ projects
      Enable the autobuild feature for non QNX C/C++ projects
      Configure automated builds
        Example #1: the Makefile is in the root
      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
    More development features
      Track remaining work
        Error markers
        Jump to errors
        Filtering errors
        Track tasks
        Set reminders
        Associate tasks with resources
        Remove a task
      Code synopsis
        Toolbar icons
        Outline view icons
        Filter and group in the Outline view
        Use Working Sets
      Check your build
        Customize the Console view
      Open headers
        Set the include paths and define directives (C/C++ Make project)
      Navigate using Go To Type
  Manage Source Code
    SVN and the IDE
    CVS and the IDE
    Local history feature
    Project files (.project and .cproject)
    Use the core Eclipse source control documentation in the IDE
      SVN documentation
      CVS documentation
   Use a Launch Configuration to Run and Debug Your Application
     What is a launch configuration?
    Launch configuration types
    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
   Debugging a program in the IDE
    Debug a program (build an executable for debugging)
    Debug a child process
    Control your session
      Debug view
        Debug view icons
        Use the controls
        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
    More debugging features
      Inspect variables
      Change variable values
      Control the display of variables
      Change a variable to a different type
      View variables in memory
      Use breakpoints and watchpoints
        Add breakpoints
        Add watchpoints
        Set an action for the breakpoint
        Add event breakpoints
        Set properties of breakpoints and watchpoints
        Disable/enable breakpoints and watchpoints
        Remove breakpoints and watchpoints
      Evaluate your expressions
      Inspect your registers
        Toolbar icons
        Menu commands
        Modify registers
        Chang 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
      Interact with GDB
        Enable the QNX GDB Console view
        Use the QNX GDB Console view
    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
        Createa 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
  Import and Export
    Import preferences
    Export preferences
    Import existing source code into the IDE
      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
      Import wizard
      Filesystem drag-and-drop
      Add linked resources
    Import a BSP or other QNX source packages
      QNX BSP perspective
      Import a BSP package from Foundry27
      Check out BSP packages directly from the SVN Repositories view
      Set export options for a BSP
    Export projects
      Use the Export command
  Build OS and Flash Images
    Introducing the QNX System Builder
      Toolbar buttons
      Binary Inspector
    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)
    Build an OS image
      Create a new image
      Combine images
        Add an IPL to the start of your image
        Add an EFS to your image
        Set the final format of your OS image
    Download an image to your target
      Download
      Open a terminal
      Communicate with your target
      Use the QNX Send File button
      Download using TFTP
      Transfer a file
      Transfer files that aren't in Images
      Transfer an image
      Settings for the TFTP server
      Set font and color preferences
      Download using other methods
    Configure your QNX System Builder projects
      Manage your images
        Determine the shared libraries and DLLs are required for an executable
        Add files to your image
        Delete files
        Add directories
        Delete directories
      Configure image properties
      Image properties
        Directories
        General
        System (.ifs)
        System (.efs)
      Item properties
        General
        Combine
        Memory
        Permissions
      Configure project properties
         Search Paths
        Manage your search paths
        Search path variables
    Optimize your system
      Optimize all libraries in your image
      Optimize a single library
      Restore a slimmed-down library
    Move files between the host and target
      Move files to the target
      Move files from the target to the host
    Export a System Builder project to a mkxfs build file(s)
   Profiling an Application
    Types of profiling
      Statistical sample profiling (sampling)
      Function Instrumentation profiling
      Sampling and Call Count instrumentation profiling
      Postmortem profiling for Call Count and Function Instrumentation profiling
    Profile your programs
      Build a program for profiling
        Build with profiling enabled
      Run and profile a process
      Profile a running process
      Postmortem profiling for Call Count and sampling
      Application Profiler tab
    Control your profiling sessions
    Understand your 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
    Debug view
    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
    Annotated source editor
    Use the Application Profiler
      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
   Using Code Coverage
    Types of code coverage in the IDE
    How the coverage tool works
    Enable code coverage
      Enable code coverage for make projects
      Start a coverage-enabled program
    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
   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
        Inspect outstanding allocations
      Types of allocation overhead
      Estimate the average allocation size
      Tune the allocator
      Optimize static and stack memory
    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
        GUI interface options and environment variables for the Memory Analysis Tool
      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
   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
    Watch your processes
      Thread Details pane
      Environment Variables pane
      Process Properties pane
    Examining your target system's 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
    Associated views
  Analyze Your System with Kernel Tracing
    Overview of the QNX System Profiler
      Before you begin
    Configure a target for system profiling
      Launch the Log Configuration dialog
      Address translation
      Configure your kernel event trace
      Capture instrumentation data in event log files
    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
  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
    Creating projects
      Create a C/C++ project
        How to create a C/C++ project
      Create a C Makefile project
      Create a make project
      Create a make project that can be launched outside the IDE
      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 projects
      Import an existing container project into a workspace
      Import an existing project into a workspace
      Import from a filesystem
      Import GCC coverage data from a project
      Import a QNX Source Package
        Copy a QNX source package
      Import a QNX mkifs Buildfile
      Import a team project set
      Import an archive file
      Breakpoints
      Launch configurations
  Preferences
    General preferences
      Appearance page
        Color and font page
        Label Decorations page
      Compare/Patch page
      Content Types page
      Editors page
        File Associations page
        Text Editors page
          Accessibility page
          Annotations page
          Hyperlinking page
    QNX preferences
  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
  Where Files Are Stored
  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
  Glossary
  Assumptions
  IDE Concepts
     What is an IDE?
       Build embedded systems using the IDE
    Perspectives
    Views
    Editors
      Use alternate editors
      Change editors
      Refresh the resources
      Disable automatic syntax annotation highlighting
     Projects in the IDE
      Considerations for project development
      How the IDE characterizes projects using natures
    The IDE Workspace
      Specify a workspace location
    Host and target machines
    Target agent (the qconn daemon)
    Launcher
    Resources
    Wizards
    Keyboard shortcuts
    Version coexistence
      Specify which OS version to build for
    Environment variables
   Getting Started
    Start the IDE
      The IDE welcomes you
      Start the IDE for the first time
      Start the IDE from the command line
    Use the workbench
    Use the QNX help system
      Open the online help from the IDE
      Navigate the online help
      Create help bookmarks
      Tips and Tricks
    Create a project
      Create a simple project
    Rename a project
    Create a target system project
      Create a QNX target system Project
    Create a launch configuration
     Run your application
    Delete a project
    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 Networking
      Link an embedded system running QNX Neutrino to a Windows network connection
      Verify a network connection
  Develop C/C++ Programs
    The C/C++ perspective
    Understand projects in the IDE
      The IDE project model
      Supported project types in the IDE
        Container project
      Scenarios for creating a project for the first time
      Check out a partial source tree
      Share projects
      Check out existing projects
      Set build properties for a project
    Create a project in the IDE
      Create a simple project
      Create a make project
      Managed make projects
        Create a Makefile to build outside of the IDE
      Choose an indexer
    Working with projects
       Opening files
      Create files from scratch
      Filter files
      Open projects
      Close projects
      View outlines of source and binary files
    Write code
      C/C++ editor layout
      Assistance with function names
      Access source files for functions
      Use code templates
        Insert code templates
        Create a custom template
        Edit a code template
      Add include directives
      Use hover help
      Add and remove comments in code
      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
     Build projects
      Enable the autobuild feature for QNX C/C++ projects
      Enable the autobuild feature for non QNX C/C++ projects
      Configure automated builds
        Example #1: the Makefile is in the root
      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
    More development features
      Track remaining work
        Error markers
        Jump to errors
        Filtering errors
        Track tasks
        Set reminders
        Associate tasks with resources
        Remove a task
      Code synopsis
        Toolbar icons
        Outline view icons
        Filter and group in the Outline view
        Use Working Sets
      Check your build
        Customize the Console view
      Open headers
        Set the include paths and define directives (C/C++ Make project)
      Navigate using Go To Type
  Manage Source Code
    SVN and the IDE
    CVS and the IDE
    Local history feature
    Project files (.project and .cproject)
    Use the core Eclipse source control documentation in the IDE
      SVN documentation
      CVS documentation
   Use a Launch Configuration to Run and Debug Your Application
     What is a launch configuration?
    Launch configuration types
    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
   Debugging a program in the IDE
    Debug a program (build an executable for debugging)
    Debug a child process
    Control your session
      Debug view
        Debug view icons
        Use the controls
        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
    More debugging features
      Inspect variables
      Change variable values
      Control the display of variables
      Change a variable to a different type
      View variables in memory
      Use breakpoints and watchpoints
        Add breakpoints
        Add watchpoints
        Set an action for the breakpoint
        Add event breakpoints
        Set properties of breakpoints and watchpoints
        Disable/enable breakpoints and watchpoints
        Remove breakpoints and watchpoints
      Evaluate your expressions
      Inspect your registers
        Toolbar icons
        Menu commands
        Modify registers
        Chang 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
      Interact with GDB
        Enable the QNX GDB Console view
        Use the QNX GDB Console view
    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
        Createa 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
  Import and Export
    Import preferences
    Export preferences
    Import existing source code into the IDE
      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
      Import wizard
      Filesystem drag-and-drop
      Add linked resources
    Import a BSP or other QNX source packages
      QNX BSP perspective
      Import a BSP package from Foundry27
      Check out BSP packages directly from the SVN Repositories view
      Set export options for a BSP
    Export projects
      Use the Export command
  Build OS and Flash Images
    Introducing the QNX System Builder
      Toolbar buttons
      Binary Inspector
    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)
    Build an OS image
      Create a new image
      Combine images
        Add an IPL to the start of your image
        Add an EFS to your image
        Set the final format of your OS image
    Download an image to your target
      Download
      Open a terminal
      Communicate with your target
      Use the QNX Send File button
      Download using TFTP
      Transfer a file
      Transfer files that aren't in Images
      Transfer an image
      Settings for the TFTP server
      Set font and color preferences
      Download using other methods
    Configure your QNX System Builder projects
      Manage your images
        Determine the shared libraries and DLLs are required for an executable
        Add files to your image
        Delete files
        Add directories
        Delete directories
      Configure image properties
      Image properties
        Directories
        General
        System (.ifs)
        System (.efs)
      Item properties
        General
        Combine
        Memory
        Permissions
      Configure project properties
         Search Paths
        Manage your search paths
        Search path variables
    Optimize your system
      Optimize all libraries in your image
      Optimize a single library
      Restore a slimmed-down library
    Move files between the host and target
      Move files to the target
      Move files from the target to the host
    Export a System Builder project to a mkxfs build file(s)
   Profiling an Application
    Types of profiling
      Statistical sample profiling (sampling)
      Function Instrumentation profiling
      Sampling and Call Count instrumentation profiling
      Postmortem profiling for Call Count and Function Instrumentation profiling
    Profile your programs
      Build a program for profiling
        Build with profiling enabled
      Run and profile a process
      Profile a running process
      Postmortem profiling for Call Count and sampling
      Application Profiler tab
    Control your profiling sessions
    Understand your 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
    Debug view
    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
    Annotated source editor
    Use the Application Profiler
      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
   Using Code Coverage
    Types of code coverage in the IDE
    How the coverage tool works
    Enable code coverage
      Enable code coverage for make projects
      Start a coverage-enabled program
    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
   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
        Inspect outstanding allocations
      Types of allocation overhead
      Estimate the average allocation size
      Tune the allocator
      Optimize static and stack memory
    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
        GUI interface options and environment variables for the Memory Analysis Tool
      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
   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
    Watch your processes
      Thread Details pane
      Environment Variables pane
      Process Properties pane
    Examining your target system's 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
    Associated views
  Analyze Your System with Kernel Tracing
    Overview of the QNX System Profiler
      Before you begin
    Configure a target for system profiling
      Launch the Log Configuration dialog
      Address translation
      Configure your kernel event trace
      Capture instrumentation data in event log files
    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
  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
    Creating projects
      Create a C/C++ project
        How to create a C/C++ project
      Create a C Makefile project
      Create a make project
      Create a make project that can be launched outside the IDE
      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 projects
      Import an existing container project into a workspace
      Import an existing project into a workspace
      Import from a filesystem
      Import GCC coverage data from a project
      Import a QNX Source Package
        Copy a QNX source package
      Import a QNX mkifs Buildfile
      Import a team project set
      Import an archive file
      Breakpoints
      Launch configurations
  Preferences
    General preferences
      Appearance page
        Color and font page
        Label Decorations page
      Compare/Patch page
      Content Types page
      Editors page
        File Associations page
        Text Editors page
          Accessibility page
          Annotations page
          Hyperlinking page
    QNX preferences
  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
  Where Files Are Stored
  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
  Glossary
QNX Neutrino OS Guides
  System Architecture
    The Philosophy of QNX Neutrino
      An embeddable POSIX OS?
      Product scaling
      Why POSIX for embedded systems?
        Multiple OS sources
        Portability of development staff
        Development environment: native and cross development
      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 QNX Neutrino
        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)
        Neutrino's microkernel approach
        Booting an x86 SMP system
        Booting a PowerPC or MIPS 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
      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
  User's Guide
    Getting to Know the OS
      Neutrino compared with UNIX
      Neutrino compared with Microsoft Windows
      Limitations
      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
      Neutrino for MS-DOS users
        DOS commands and their 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
    Controlling How Neutrino Starts
      What happens when you boot?
      Loading a Neutrino image
        Power-Safe filesystem
        QNX 4 filesystem
      diskboot
      .diskroot
      /etc/system/sysinit
      Device enumeration
        oem file or directory
        overrides file or directory
        Host-specific enumerators
      /etc/rc.d/rc.sysinit
      rc.local
      tinit
      Updating disk drivers
        Applying a driver update patch after you've installed QNX Neutrino
      Troubleshooting
    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?
    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
    Using CVS
      CVS basics
        Revisions
        Basic operations
        Repositories
        Editors and CVS
        Creating a repository
        Getting files in and out of the repository
        Putting changes back into the repository
        Importing an existing source tree
        Getting information on files
        Changing files
        More information on files: what changed and why
      CVS and directory trees
      Concurrent development: branching and merging
        Branching
        Merging
      Removing and restoring files
      Setting up a CVS server
    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
        Neutrino security in general
      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
      qnxbasedma.build
      Buildfile that doesn't use diskboot
      .profile
       .kshrc
      Configuration files for spooler
        Using lpr
        Using NCFTP
        Using SAMBA
      PPP with CHAP authentication between two Neutrino boxes
    Glossary
  Starting to Program with QNX Neutrino
    Foreword to the First Edition by Peter van der Veen
    Preface to the First Edition by Rob Krten
      A little history
      Who this book is for
      What's in this book?
      About Rob Krten
      Acknowledgments
    Processes and Threads
      Process and thread fundamentals
        A process as a house
        The occupants as threads
          Single threaded
          Multi threaded
        Back to processes and threads
        Mutual exclusion
        Priorities
        Semaphores
          A semaphore with a count of 1
          A semaphore with a count greater than 1
        A semaphore as a mutex
      The kernel's role
        Single CPU
        Multiple CPU (SMP)
        The kernel as arbiter
          Prioritization
          Scheduling policies
          FIFO
          Round Robin
          The rules
        Kernel states
          Kernel states, the complete list
      Threads and processes
        Why processes?
        Starting a process
          Starting a process from the command line
          Starting a process from within a program
            Starting a process with the system() call
            Starting a process with the exec() and spawn() calls
              "l" suffix
              "e" suffix
              "p" suffix
              Plain spawn()
            Starting a process with the fork() call
            Starting a process with the vfork() call
            So what should you use?
        Starting a thread
          The thread attributes structure
            Thread attribute administration
            The "flags" thread attribute
            The "stack" thread attributes
            The "scheduling" thread attributes
          A few examples
          Where a thread is a good idea
          Threads in mathematical operations
            Coding for SMP or single processor
            Synchronizing to the termination of a thread
            Joining
            Using a barrier
            Multiple threads on a single CPU
            Things to watch out for when using SMP
          Threads in independent situations
            Multiple processes
            Multiple processes with shared memory
            Multiple threads
            Comparisons
      More on synchronization
        Readers/writer locks
        Sleepon locks
        Condition variables
          Signal versus broadcast
          Sleepons versus condvars
        Additional Neutrino services
        Pools of threads
          Controlling the number of threads
          The thread pool functions
      Scheduling and the real world
        Rescheduling: hardware interrupts
        Rescheduling: kernel calls
        Rescheduling: exceptions
        Summary
    Message Passing
      Messaging fundamentals
        A small microkernel and message passing
      Message passing and client/server
      Network-distributed message passing
      What it means for you
        The philosophy of Neutrino
      Multiple threads
        Server/subserver
        Some examples
          Send-driven (client/server)
          Reply-driven (server/subserver)
          An important subtlety
          Multi-threaded server
      Using message passing
        Architecture & structure
        The client
          Establishing a connection
          Sending messages
        The server
          Creating the channel
          Message handling
          Server framework
        The send-hierarchy
        Receive IDs, channels, and other parameters
          More about channels
          Who sent the message?
          The receive ID (a.k.a. the client cookie)
          Replying to the client
          Not replying to the client
          Replying with no data, or an errno
          Finding the server's ND/PID/CHID
          What about priorities?
          Reading and writing data
        Multipart messages
          What about the other versions?
          Implementation
      Pulses
        Receiving a pulse message
          What's in a pulse?
          The MsgReceivePulse() function
        The MsgDeliverEvent() function
        Channel flags
          _NTO_CHF_UNBLOCK
            Synchronization problem
            Using the _NTO_MI_UNBLOCK_REQ
      Message passing over a network
        Networked message passing differences
          Longer delays
          Impact on ConnectAttach()
          Impact on MsgDeliverEvent()
          Impact on MsgReply(), MsgRead(), and MsgWrite()
          Impact on MsgReceive()
        Some notes on NDs
      Priority inheritance
        So what's the trick?
        Summary
    Clocks, Timers, and Getting a Kick Every So Often
      Clocks and timers
        Operating periodically
        Clock interrupt sources
        Base timing resolution
        Timing jitter
        Types of timers
        Notification schemes
          How to fill in the struct sigevent
            Pulse notification
            Signal notification
            Thread notification
            General tricks for notification
          Pulse notification
          Signal notification
      Using timers
        Creating a timer
        Signal, pulse, or thread?
        What kind of timer?
        A server with periodic pulses
          Server-maintained timeouts
            Declarations
            main()
            setupPulseAndTimer()
            gotAPulse()
            gotAMessage()
          Notes
          Periodic server maintenance cycles
        Timers delivering signals
        Timers creating threads
        Getting and setting the realtime clock and more
          Getting and setting
          Adjusting the timebase
          An accurate timestamp
      Advanced topics
        Other clock sources
           CLOCK_MONOTONIC
          So what does CLOCK_SOFTTIME do?
          Using different clock sources
        Kernel timeouts
          Kernel timeouts with pthread_join()
          Kernel timeouts with message passing
        Summary
    Interrupts
      Neutrino and interrupts
        Interrupt service routine
          Clearing the interrupt source
          Telling a thread to do something
        Level-sensitivity versus edge-sensitivity
      Writing interrupt handlers
        Attaching an interrupt handler
          Attaching with InterruptAttachEvent()
          Attaching with InterruptAttach()
        Now that you've attached an interrupt
        Detaching an interrupt handler
        The flags parameter
        The interrupt service routine
          Using InterruptAttach()
          Using InterruptAttachEvent()
          InterruptAttach() versus InterruptAttachEvent()
          The tradeoffs
        ISR functions
      Summary
    Resource Managers
      What is a resource manager?
        Examples of resource managers
        Characteristics of resource managers
      The client's view
        Finding the server
        Finding the process manager
        Handling directories
        Union'd filesystems
        Client summary
      The resource manager's view
        Registering a pathname
        Handling messages
          Connect messages
          I/O messages
          Three groups, really
      The resource manager library
        The library really does what we just talked about
        Behind the scenes at the library
          The base layer
          The POSIX layer
      Writing a resource manager
        Data structures
          resmgr_attr_t control structure
            The other_func message handler
            The data structure sizing parameters
            The flags parameter
          resmgr_connect_funcs_t connect table
          resmgr_io_funcs_t I/O table
          The resmgr_context_t internal context block
        Resource manager structure
          The resmgr_attach() function and its parameters
          Putting in your own functions
          The general flow of a resource manager
          Messages that should be connect messages but aren't
          Combine messages
        POSIX-layer data structures
          The iofunc_ocb_t OCB structure
            The strange case of the offset member
          The iofunc_attr_t attributes structure
          The iofunc_mount_t mount structure
            Of device numbers, inodes, and our friend rdev
      Handler routines
        General notes
          Locking, unlocking, and combine message handling
        Connect functions notes
          Internal use part
          End-user parameter part
      Alphabetical listing of connect and I/O functions
        io_chmod()
        io_chown()
        io_close_dup()
        io_close_ocb()
        io_devctl()
        io_dup()
        io_fdinfo()
        io_link()
        io_lock()
        io_lock_ocb()
        io_lseek()
        io_mknod()
        io_mmap()
        io_mount()
        io_msg()
        io_notify()
        io_open()
        io_openfd()
        io_pathconf()
         io_power()
        io_read()
        io_readlink()
        io_rename()
         io_shutdown()
        io_space()
        io_stat()
        io_sync()
        io_unblock() [CONNECT]
        io_unblock() [I/O]
        io_unlink()
        io_unlock_ocb()
        io_utime()
        io_write()
      Examples
        The basic skeleton of a resource manager
        A simple io_read() example
          The code
          Effective use of other messaging functions
        A simple io_write() example
        A simple io_devctl() example
        An io_devctl() example that deals with data
      Advanced topics
        Extending the OCB
          OCB monitor
          More efficient allocation
        Extending the attributes structure
        Blocking within the resource manager
        Returning directory entries
          Generally speaking...
          The struct dirent structure and friends
            Offsets
            Contents
          Example
            main() and declarations
            my_open()
             my_read()
             my_read_dir()
            my_read_file()
             dirent_size()
             dirent_fill()
      Summary
    QNX 4 to Neutrino
      Similarities
      Improvements
        Embeddability
        Thread support
        Message passing
          Pulses and events
        Device driver model
        MIPS, PPC, SH4, and ARM support
        SMP support
      Porting philosophy
        Message passing considerations
          Client/server using the global namespace
            Translating messages to standard file-descriptor-based POSIX calls
            Translating messages to devctl() or _IO_MSG
          Client/Server using an I/O manager
          Proxies
            Proxies for their IDs
            Proxies for their contents
        Interrupt service routines
      Summary
    Calling 911
      Read the manuals
      Contact technical support
        Describe the problem
        Precise information
        Versions
        If you're using a beta…
        Reproduce the problem
        Narrow it down
      Training
    Sample Programs
       atoz.c
      time1.c
      tp1.c
      tt1.c
    Glossary
  Programmer's Guide
    Compiling and Debugging
      Choosing the version of the OS
      Making your code more portable
        Conforming to standards
        Including QNX- or Neutrino-specific code
      Header files in /usr/include
      Self-hosted or cross-development
        A simple example
        Self-hosted
        Cross-development with network filesystem
        Cross-development with debugger
          Download/upload facility
        Cross-development, deeply embedded
          Step 1: Build a Neutrino system image.
          Step 2: Transfer the system image to the target.
          Step 3: Boot the target.
      Using libraries
        Static and dynamic libraries
          Static libraries
          Dynamic libraries
           dlopen()
        Platform-specific library locations
      Linking your modules
        Creating shared objects
          Specifying an internal name
      Optimizing the runtime linker
        Lazy binding
         RTLD_LAZY
        Lazy loading
        Diagnostics and debugging
        Environment variables
      Debugging
        Debugging in a self-hosted environment
        Debugging in a cross-development environment
        The GNU debugger (gdb)
        The process-level debug agent
          Serial connection
          TCP/IP connection
      A simple debug session
        Configure the target
        Compile for debugging
        Start the debug session
        Get help
        Sample boot image
      Debugging using libmudflap
    Programming Overview
      Process model
        An application as a set of processes
      Some definitions
      Priorities and scheduling
        Priority range
        BLOCKED and READY states
        The ready queue
        Suspending a running thread
        When the thread is blocked
        When the thread is preempted
        When the thread yields
      Scheduling policies
        FIFO scheduling
        Round-robin scheduling
        Sporadic scheduling
      Why threads?
      Summary
    Processes
      Starting processes — two methods
      Process creation
        Concurrency
        Inheriting file descriptors
      Process termination
        Normal process termination
        Abnormal process termination
      Detecting process termination
        Using the High Availability Framework
        Detecting termination from a starter process
        Sample parent process using wait()
        Sample parent process using sigwaitinfo()
        Detecting dumped processes
        Detecting the termination of daemons
        Detecting client termination
      Process privileges
        Privilege separation
          Thread I/O privileges
        Procmgr abilities
          Ability domains
          Ability ranges
          Locking an ability
          Dropping an ability
          Ability inheritance
            Basic inheritance
            Locking and inheritance
        An example of privilege separation
      Controlling processes via the /proc filesystem
        Establishing a connection
        Reading and writing the process's address space
          Determining the offset
          Determining accessibility
        Manipulating a process or thread
          Selecting a thread for further operations
          Starting/stopping processes and threads
          Setting breakpoints
          Examining process and thread attributes
        Thread information
         DCMD_PROC_BREAK
         DCMD_PROC_CHANNELS
         DCMD_PROC_CLEAR_FLAG
         DCMD_PROC_CURTHREAD
         DCMD_PROC_EVENT
         DCMD_PROC_FREEZETHREAD
         DCMD_PROC_GETALTREG
         DCMD_PROC_GETFPREG
         DCMD_PROC_GETGREG
         DCMD_PROC_GETREGSET
         DCMD_PROC_GET_BREAKLIST
         DCMD_PROC_INFO
         DCMD_PROC_IRQS
         DCMD_PROC_MAPDEBUG
         DCMD_PROC_MAPDEBUG_BASE
         DCMD_PROC_MAPINFO
         DCMD_PROC_PAGEDATA
         DCMD_PROC_RUN
         DCMD_PROC_SETALTREG
         DCMD_PROC_SETFPREG
         DCMD_PROC_SETGREG
         DCMD_PROC_SETREGSET
         DCMD_PROC_SET_FLAG
         DCMD_PROC_SIGNAL
        DCMD_PROC_STATUS
        DCMD_PROC_STOP
        DCMD_PROC_SYSINFO
         DCMD_PROC_THAWTHREAD
         DCMD_PROC_THREADCTL
        DCMD_PROC_TIDSTATUS
         DCMD_PROC_TIMERS
         DCMD_PROC_WAITSTOP
    Working with Access Control Lists (ACLs)
      ACL formats
      ACL storage management
      Manipulating ACL entries in working storage
      Manipulating permissions in an ACL entry
      Manipulating the tag type and qualifier in an ACL entry
      Manipulating ACLs on a file or directory
      Example
    Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time
      Oversleeping: errors in delays
        Delaying for a second: inaccurate code
        Timer quantization error
        The tick and the hardware timer
        Delaying for a second: better code
      Another hiccup with hardware timers
        Where's the catch?
      What time is it?
      Clocks, timers, and power management
    Transparent Distributed Processing Using Qnet
      What is Qnet?
      Benefits of Qnet
        What works best
        What type of application is well-suited for Qnet?
      How does it work?
      Locating services using GNS
        Different modes of GNS
        Registering a service
        GNS path namespace
        Deploying the gns processes
      Quality of Service (QoS) and multiple paths
        QoS policies
         loadbalance
         preferred
         exclusive
        Specifying QoS policies
        Symbolic links
      Designing a system using Qnet
        The product: a telecom box
        Developing your distributed system
        Configuring the data cards
        Configuring the controller card
        Enhancing reliability via multiple transport buses
        Redundancy and scalability using multiple controller cards
          Redundancy
          Scalability
      Autodiscovery vs static
      When should you use Qnet, TCP/IP, or NFS?
      Drivers for Qnet
    Writing an Interrupt Handler
      What's an interrupt?
      Interrupts on multicore systems
      Attaching and detaching interrupts
      Interrupt Service Routine (ISR)
        Determining the source of the interrupt
          Edge-triggered IRQ
          Level-sensitive IRQ
        Servicing the hardware
          Safe functions
        Updating common data structures
        Signalling the application code
          Using InterruptAttach()
          Using InterruptAttachEvent()
      Running out of interrupt events
      Problems with shared interrupts
      Advanced topics
        Interrupt environment
        Ordering of shared interrupts
        Interrupt latency
        Atomic operations
        Interrupts and power management
    Heap Analysis: Making Memory Errors a Thing of the Past
      Dynamic memory management
        Arena allocations
        Small block configuration
      Heap corruption
        Contiguous memory blocks
        Multithreaded programs
        Allocation strategy
        Common sources
          Overrun and underrun errors
          Releasing memory
          Using uninitialized or stale pointers
      Detecting and reporting errors
        Using the malloc debug library
          What's checked?
          Allocating memory
          Reallocating memory
          Releasing memory
        Controlling the level of checking
          Description of optional checks
          Forcing verification
          Specifying an error handler
        Other environment variables
        Caveats
      Manual checking (bounds checking)
        Getting pointer information
      Memory leaks
        Tracing
        Causing a trace and giving results
        Analyzing dumps
      Compiler support
        C++ issues
          Clean C
          C++ example
    Freedom from Hardware and Platform Dependencies
      Common problems
        I/O space vs memory-mapped
        Big-endian vs little-endian
          Typecast mangling
          Hardware access
          Network transparency
        Alignment and structure packing
        Atomic operations
      Solutions
        Determining endianness
        Swapping data if required
           ENDIAN_LE16()
           ENDIAN_LE32()
           ENDIAN_LE64()
           ENDIAN_BE16()
           ENDIAN_BE32()
           ENDIAN_BE64()
        Accessing unaligned data
           UNALIGNED_RET16()
           UNALIGNED_RET32()
           UNALIGNED_RET64()
           UNALIGNED_PUT16()
           UNALIGNED_PUT32()
           UNALIGNED_PUT64()
        Examples
          Mixed-endian accesses
          Accessing hardware with dual-ported memory
        Accessing I/O ports
    Conventions for Recursive Makefiles and Directories
      Structure of a multiplatform source tree
        Makefile structure
        The recurse.mk file
        Macros
          The EARLY_DIRS and LATE_DIRS macros
          The LIST macro
          The MAKEFILE macro
          The CHECKFORCE macro
        Directory levels
          Project level
          Section level (optional)
          OS level
          CPU level
          Variant level
      Specifying options
        The common.mk file
        The variant-level makefile
        Recognized variant names
      Using the standard macros and include files
        The qconfig.mk include file
          Preset macros
          Postset macros
           qconfig.mk macros
        The qrules.mk include file
        The qtargets.mk include file
      Advanced topics
        Collapsing unnecessary directory levels
        Performing partial builds
        Performing parallel builds
        More uses for LIST
        GNU configure
           hook_preconfigure()
           hook_postconfigure()
           hook_premake()
           hook_postmake()
           hook_pinfo()
      Examples of creating Makefiles
        A single application
        A library and an application
    POSIX Conformance
      Conformance statement
        System interfaces: general attributes
          Supported features
          Optional features
          Float, standard I/O, and limit values
          Error conditions
          Mathematical interfaces
        File handling
        Internationalized system interfaces
        Threads: Cancellation points
        Realtime: Prioritized I/O
        Realtime threads
        C-language compilation environment
      POSIX Conformance Document (PCD)
        Base Definitions
          3. Definitions
          4. General Concepts
          6. Character Set
          7. Locale
          8. Environment Variables
          13. Headers
        System Interfaces
          2.3. Error Numbers
          2.4. Signal Concepts
          2.5. Standard I/O Streams
          2.8. Realtime
          2.11. Tracing
          3. System Interfaces
      Non-POSIX functions with POSIX-sounding names
    Using GDB
      Neutrino-specific extensions
      A quick overview of starting the debugger
      GDB commands
        Command syntax
        Command completion
        Getting help
      Running programs under GDB
        Compiling for debugging
        Setting the target
        Starting your program
        Your program's arguments
        Your program's environment
        Your program's input and output
        Debugging an already-running process
        Killing the process being debugged
        Debugging programs with multiple threads
        Debugging programs with multiple processes
      Stopping and continuing
        Breakpoints, watchpoints, and exceptions
          Setting breakpoints
          Setting watchpoints
          Breakpoints and exceptions
          Deleting breakpoints
          Disabling breakpoints
          Break conditions
          Breakpoint command lists
          Breakpoint menus
        Continuing and stepping
        Signals
        Stopping and starting multithreaded programs
      Examining the stack
        Stack frames
        Backtraces
        Selecting a frame
        Information about a frame
        MIPS machines and the function stack
      Examining source files
        Printing source lines
        Searching source files
        Specifying source directories
        Source and machine code
        Shared libraries
      Examining data
        Expressions
        Program variables
        Artificial arrays
        Output formats
        Examining memory
        Automatic display
        Print settings
        Value history
        Convenience variables
        Registers
        Floating point hardware
      Examining the symbol table
      Altering execution
        Assignment to variables
        Continuing at a different address
        Giving your program a signal
        Returning from a function
        Calling program functions
        Patching programs
    Advanced Qnet Topics
      Low-level discussion of Qnet principles
      Details of Qnet data communication
      Node descriptors
         netmgr_strtond()
         netmgr_ndtostr()
         netmgr_remote_nd()
      Booting over the network
        Overview
        Creating directory and setting up configuration files
        Building an OS image
        Booting the client
        Troubleshooting
      What are the limitations...
    Glossary
  The QNX Neutrino Cookbook
    About This Guide
    Foreword to the First Edition by Brian Stecher
    Preface to the First Edition by Rob Krten
      What's in this book?
      Philosophy
        The Basics
        High Availability
        Design Philosophy
      Recipes
        Web-Counter Resource Manager
        ADIOS — Analog / Digital I/O Server
        RAM-disk Filesystem Manager
        The tar Filesystem Manager
      References
      What's not in this book?
      Other references
      Thanks!
        Century Aluminum
    The Basics
      In the beginning...
        The main() function
        Command-line processing — optproc()
        Common globals
        Usage messages
      Threaded resource managers
    High Availability
      Terminology
      Lies, damn lies, and statistics
      Increasing availability
        Increasing the MTBF
        Decreasing the MTTR
        Parallel versus serial
          Series calculations
          Parallel calculations
          Aggregate calculations
      Failure modes and recovery models
        Cascade failures
          System startup and HA
        Overlords, or Big Brother is watching you
        Cold, warm, and hot standby
          Achieving cold standby
          Achieving warm standby
          Achieving hot standby
          Problems
        Detecting failure
          Obituaries
        Graceful fail-over
        Using shadows
        In-service upgrades
        Policies
      Implementing HA
      RK drones on about his home systems again
      Other HA systems
    Design Philosophy
      Decoupling design in a message-passing environment
        Door-lock actuators
        At this point...
      Managing message flow
        Swipe-card readers
          Control program sends to the swipe-card reader
          Swipe-card reader sends to control program
          Using a keypad challenge — control program sends to the swipe-card reader
          Using a keypad challenge — swipe-card reader sends to control program
      Scalability
        Distributed processing
      Summary
    Web Counter Resource Manager
      Requirements
        Using the web counter resource manager
      Design
        Generating the graphical image
      The code — phase 1
        Operation
          Generating the graphical image
        Step-by-step code walkthrough
          Include files and data structures
          Source files
          The code
            The execute_resmgr() function
            The io_open() function
            The io_read() function
            The io_close_ocb() function
            The render_7segment() function
            The encode_image() function
      The code — phase 2
        Persistent count file
        Font selection
        Plain text rendering
        Writing to the resource
          Adding the io_write() handler
          The io_write() function
          The io_close_ocb() function
      The code — phase 3
        Filename processing tricks
        Changes
          Globals
          The new-and-improved execute_resmgr()
          Option processing
          Handling io_read()
            Operating on a file
            Operating on a directory
            The persistent counter file
      Enhancements
      References
    ADIOS — Analog/Digital I/O Server
      Requirements
      Design
        Driver Design
          DIO-144
          ISO-813
          PCL-711
        Shared Memory Design
        Tags database design
      The Driver Code
        Theory of operation
        Code walkthrough
          main() and friends
          The resource manager modules
          The card interface modules
            Card configuration
            Analog input
            Analog output
            Digital input
            Digital output
      The ADIOS server code
        The usual stuff
        The shared memory region
          Calculating the sizes of data structures
          Open and check the shared memory
          Truncate and map shared memory
        Acquiring data
      The showsamp and tag utilities
        The showsamp utility
        The tag utility
      References
    RAM-disk Filesystem
      Requirements
        Connect functions
        I/O functions
        Missing functions
      Design
      The code
        The extended attributes structure
        The io_read() function
        The io_write() function
        The c_open() function
          Finding the target
            The pathwalk() function
            The connect_msg_to_attr() function
          Fun with symlinks
          Analyze the mode flag
          Bind the OCB and attributes structure
          Finally, the c_open() code walkthrough
          Walkthrough
          The redirect_symlink() function
        The c_readlink() function
        The c_link() function
        The c_rename() function
        The c_mknod() function
        The c_unlink() function
        The io_close_ocb() function
        The io_devctl() function
          Mounting options
          Filesystem statistics
        The c_mount() function
      References
    TAR Filesystem
      Requirements
      Design
        Creating a .tar file
      The code
        The structures
        The functions
          The c_mount() function
          The analyze_tar_file() function
          The add_tar_entry() function
          The io_read() function and related utilities
        The mount helper program
      Variations on a theme
        Virtual filesystem for USENET news (VFNews)
          How does USENET news work?
          So why is this a problem?
          How can this possibly be made better?
          Operation
        Strange and unusual filesystems
          Indexed filesystem
          Executing commands
        Secure filesystem
        Line-based filesystem
      References
    Filesystems
      What is a filesystem?
        Hierarchical arrangement
        Data elements
        The mount point and the root
      What does a filesystem do?
      Filesystems and Neutrino
      How does a filesystem work?
        Mount point management
          Unnamed mount registration
          Special device registration
          Mount point registration
        Pathname resolution
        Directory management
        Data element content management
      References
    The /proc Filesystem
      The /proc/boot directory
      The /proc/mount directory
      The /proc by-process-ID directories
        Operations on the as entry
          Discontiguous address space
          Someone else's virtual address space
        Finding a particular process
          Iterating through the list of processes
        Finding out information about the process
        DCMD_PROC_INFO
          Process information
          Memory information
          Signal information
          CPU usage information
          Miscellaneous
        DCMD_PROC_MAPINFO and DCMD_PROC_PAGEDATA
        DCMD_PROC_TIMERS
        DCMD_PROC_IRQS
        Finding out information about the threads
          The DCMD_PROC_TIDSTATUS command
          Blocked thread information
          The DCMD_PROC_GETGREG and DCMD_PROC_GETFPREG commands
      References
    Sample Programs
      Web-Counter resource manager
      ADIOS — Analog / Digital I/O Server
      RAM-disk and tar filesystem managers
      The /proc filesystem
    Glossary
  Writing a Resource Manager
    Overview
      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
      Examples of resource managers
        Transparent Distributed Processing (Qnet) statistics
        Robot arm
        GPS devices
        Database example
        I2C (Inter-Integrated Circuit) driver
      When not to use a resource manager
    The Bones of a Resource Manager
      Under the covers
        Under the client's covers
        Under the resource manager's covers
      Layers in a resource manager
        The iofunc layer
        The resmgr layer
        The dispatch layer
        The thread pool layer
      Simple examples of device resource managers
        Single-threaded device resource manager
          Initialize the dispatch interface
          Initialize the resource manager attributes
          Initialize functions used to handle messages
          Initialize the attribute structure used by the device
          Put a name into the namespace
          Allocate the context structure
          Start the resource manager message loop
        Multithreaded device resource manager
          Define THREAD_POOL_PARAM_T
          Initialize thread pool attributes
          Allocate a thread pool handle
          Start the threads
        Using MsgSend() and MsgReply()
          A bit of history
          The server
          The client
    Fleshing Out the Skeleton
      Message types
        Connect messages
        I/O messages
        Default message handling
        open(), dup(), and close()
      Setting resource manager attributes
      Ways of adding functionality to the resource manager
        Using the default functions
        Using the helper functions
        Writing the entire function yourself
    POSIX-Layer Data Structures
      The iofunc_ocb_t (Open Control Block) structure
      The iofunc_attr_t (attribute) structure
      The optional iofunc_mount_t (mount) structure
    Handling Read and Write Messages
      Handling the _IO_READ message
        Sample code for handling _IO_READ messages
      Handling the _IO_WRITE message
        Sample code for handling _IO_WRITE messages
      Methods of returning and replying
        Returning with an error
        Returning using an IOV array that points to your data
        Returning with a single buffer containing data
        Returning success but with no data
        Getting the resource manager library to do the reply
        Performing the reply in the server
        Leaving the client blocked, replying later
        Returning and telling the library to do the default action
      Handling other read/write details
        Handling the xtype member
          If you aren't expecting extended types (xtype)
        Handling pread*() and pwrite*()
          Sample code for handling _IO_READ messages in pread*()
          Sample code for handling _IO_WRITE messages in pwrite*()
        Handling readcond()
      Updating the time for reads and writes
    Combine Messages
      Where combine messages are used
        Atomic operations
        Bandwidth considerations
      The library's combine-message handling
        Component responses
        Component data access
        Locking and unlocking the attribute structure
        Connect message types
        _IO_CONNECT_COMBINE_CLOSE
        _IO_CONNECT_COMBINE
    Extending the POSIX-Layer Data Structures
      Overview
      Extending the OCB and attribute structures
      Extending the mount structure
    Handling Other Messages
      Custom messages
      Handling devctl() messages
        Sample code for handling _IO_DEVCTL messages
      Handling ionotify() and select()
        Sample code for handling _IO_NOTIFY messages
      Handling out-of-band (_IO_MSG) messages
      Handling private messages and pulses
      Handling open(), dup(), and close() messages
      Handling mount()
        mount() function call
        Mount in the resource manager
        mount utility
      Handling stat()
      Handling lseek()
    Signals, Timeouts, and Interrupts
      Handling client unblocking due to signals or timeouts
      Handling interrupts
        Sample code for handling interrupts
    Multithreaded Resource Managers
      Multithreaded resource manager example
      Thread pool attributes
      Thread pool functions
    Filesystem Resource Managers
      Considerations for filesystem resource managers
      Taking over more than one device
      Handling directories
        Matching at or below a mountpoint
        The _IO_OPEN message for filesystems
        Returning directory entries from _IO_READ
          Returning information associated with a directory structure
    Glossary
  Multicore Processing User's Guide
    What is Multicore Processing?
    Developing Multicore Systems
      The impact of multicore
        Thread affinity
        Multicore and synchronization primitives
        Multicore and FIFO scheduling
        Multicore and interrupts
        Multicore and atomic operations
      Designing with multiprocessing in mind
        Use the multicore primitives
        Assume that threads really do run concurrently
        Break the problem down
    Glossary
  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
  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 QNX IDE (trace events)
      Using other methods
      Emergency access to the system
    Sample Buildfile
    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 system considerations
    Glossary
  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()
      snd_mixer_callbacks_t
      snd_mixer_close()
      snd_mixer_eid_t
      snd_mixer_element_read()
      snd_mixer_element_t
      snd_mixer_element_write()
      snd_mixer_elements()
      snd_mixer_elements_t
      snd_mixer_file_descriptor()
      snd_mixer_filter_t
      snd_mixer_get_bit()
      snd_mixer_get_filter()
      snd_mixer_gid_t
      snd_mixer_group_read()
      snd_mixer_group_t
      snd_mixer_group_write()
      snd_mixer_groups()
      snd_mixer_groups_t
      snd_mixer_info()
      snd_mixer_info_t
      snd_mixer_open()
      snd_mixer_open_name()
      snd_mixer_read()
      snd_mixer_routes()
      snd_mixer_routes_t
      snd_mixer_set_bit()
      snd_mixer_set_filter()
      snd_mixer_sort_eid_table()
      snd_mixer_sort_gid_table()
      snd_mixer_weight_entry_t
      snd_pcm_build_linear_format()
      snd_pcm_capture_flush()
      snd_pcm_capture_go()
      snd_pcm_capture_pause()
      snd_pcm_capture_prepare()
      snd_pcm_capture_resume()
      snd_pcm_channel_flush()
      snd_pcm_channel_go()
      snd_pcm_channel_info()
      snd_pcm_channel_info_t
      snd_pcm_channel_params()
      snd_pcm_channel_params_t
      snd_pcm_channel_pause()
      snd_pcm_channel_prepare()
      snd_pcm_channel_resume()
      snd_pcm_channel_setup()
      snd_pcm_channel_setup_t
      snd_pcm_channel_status()
      snd_pcm_channel_status_t
      snd_pcm_close()
      snd_pcm_file_descriptor()
      snd_pcm_find()
      snd_pcm_format_big_endian()
      snd_pcm_format_linear()
      snd_pcm_format_little_endian()
      snd_pcm_format_signed()
      snd_pcm_format_size()
      snd_pcm_format_t
      snd_pcm_format_unsigned()
      snd_pcm_format_width()
      snd_pcm_get_audioman_handle()
      snd_pcm_get_format_name()
      snd_pcm_info()
      snd_pcm_info_t
      snd_pcm_link()
      snd_pcm_nonblock_mode()
      snd_pcm_open()
      snd_pcm_open_name()
      snd_pcm_open_preferred()
      snd_pcm_playback_drain()
      snd_pcm_playback_flush()
      snd_pcm_playback_go()
      snd_pcm_playback_pause()
      snd_pcm_playback_prepare()
      snd_pcm_playback_resume()
      snd_pcm_plugin_flush()
      snd_pcm_plugin_get_voice_conversion()
      snd_pcm_plugin_info()
      snd_pcm_plugin_params()
      snd_pcm_plugin_playback_drain()
      snd_pcm_plugin_prepare()
      snd_pcm_plugin_read()
      snd_pcm_plugin_set_disable()
      snd_pcm_plugin_set_enable()
      snd_pcm_plugin_set_src_method()
      snd_pcm_plugin_set_src_mode()
      snd_pcm_plugin_set_voice_conversion()
      snd_pcm_plugin_setup()
      snd_pcm_plugin_src_max_frag()
      snd_pcm_plugin_status()
      snd_pcm_plugin_update_src()
      snd_pcm_plugin_write()
      snd_pcm_read()
      snd_pcm_set_audioman_handle()
      snd_pcm_unlink()
      snd_pcm_voice_conversion_t
      snd_pcm_write()
      snd_strerror()
      snd_switch_t
     wave.c example
     waverec.c example
     mixer_ctl.c example
    ALSA and libasound.so
    What's New in This Release?
      What's new in QNX Neutrino 6.5.0 Service Pack 1
      What's new in QNX Neutrino 6.5.0
      What's new in QNX Neutrino 6.4
      What's new in QNX Neutrino 6.3
      What's new in QNX Neutrino 6.2
      What's new in QNX Neutrino 6.1
    Glossary
  Building Embedded Systems
    About This Book
    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 Neutrino
      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
      BSP Overview
      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 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 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
      Introduction
        Initialize hardware
        Initialize system page
        Initialize callouts
      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.ppc (deprecated)
        un.ppc.kerinfo
        un.mips
        un.arm
        un.sh
        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()
        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()
        mips41xx_set_clock_freqs()
        openbios_init_raminfo()
        pcnet_reset()
        ppc400_pit_init_qtime()
        ppc405_set_clock_freqs()
        ppc600_set_clock_freqs()
        ppc700_init_l2_cache()
        ppc800_pit_init_qtime()
        ppc800_set_clock_freqs()
        ppc_dec_init_qtime()
        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
      PPC chips support
        Adding a new CPU to the startup library
    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
      Introduction
        Before you design your system
          Processor speed
          Memory requirements
          Peripherals
          Debugging
          Field upgrades
        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
      NMI
      Design do's and don'ts
        Do:
        Don't:
    Sample Buildfiles
      Introduction
      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
        Specifying the processor
          Examples
        Specifying the startup program
        Specifying the serial device
    Glossary
  High Availability Framework
    Introduction
      Where's the problem?
      A software foundation for HA
    What's in the High Availability Framework?
      What you get
    The QNX Approach to HA
      The reset "solution"
        Traditional RTOS architecture
      Modularity means granularity
        Intrinsic HA
    Using the High Availability Manager
      Introduction
      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
      Introduction
      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 User's Guide
    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
    Sample Drivers for Instant Device Activation
      FreeScale Media5200b sample minidriver
        The minidriver handler function
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample timings
      Renesas Biscayne minidriver
        The minidriver handler function
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample Timings
      OMAP minidriver
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample timings
    Hardware Interaction within the Minidriver
  Persistent Publish/Subscribe Developer's Guide
    QNX 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
    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()
  Technotes
    About These Technotes
    IP Tunneling (Generic Routing Encapsulation)
      How do I use it?
      A more typical example
      Final tidbits
    PPPOE and Path MTU Discovery
    Making Multiple Images
      What's a multiple image?
      Restrictions on XIP image filesystems
      Mounting an IFS
      Using a second IFS
      Example: mounting an IFS on the MGT5200 Total board
      Sample buildfiles
        os1.build
        os2.build
      Programming into flash
      Putting the images together
      Test program
      See also
    QNX Neutrino and QNX4 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
    Asynchronous Messaging
      Overview
      Asynchronous-messaging functions
      Examples
        Example 1: Sending one message
        Example 2: Sending more than one message at a time
        Example 3: Flushing
        Example 4: Setting up an event that triggers the copy
        Example 5: Using time as the trigger
        Example 6: Client and server processes
    Reading a Kernel Dump
    I2C (Inter-Integrated Circuit) Framework
      Overview
      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
    Migrating to QNX Neutrino for ARMv6-Processor-Based Boards
      Overview
      BSP configuration
        armv_chip
        armv_cache
        armv_pte
        setup()
      Behavior of procnto-v6 shm_ctl()
      Using ARMv6 instructions
    Supporting Vector Floating Point Functionality for ARM Processors
      Overview
      Restrictions on VFP usage
      BSP configuration
      Using VFP instructions
    How to create a Runtime Kit from the QNX Software Development Platform
      Introduction
      Organization of the Runtime Kit
      Standard installation steps
      Creating the archives
      Creating the CD
      Sample installation script
    Backtraces
      Overview
      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
    QNX support for using Freescale e500 SPE
      Configuring for floating point
      Configuring for the command line
    Reloadable Image Filesystems
      Introduction
      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
      Introduction
      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
    Process Performance State Manager (PPSM)
      PPSM functions
        ppsm_init()
        ppsm_fini()
        ppsm_sys_mode()
        ppsm_set_polling_interval()
        ppsm_set_threshold()
        ppsm_get_cpuload()
        ppsm_get_cpufreq()
        ppsm_speedstep_enable()
        ppsm_speedstep_disable()
        ppsm_set_policy()
        ppsm_set_notify_handler()
    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
  System Architecture
    The Philosophy of QNX Neutrino
      An embeddable POSIX OS?
      Product scaling
      Why POSIX for embedded systems?
        Multiple OS sources
        Portability of development staff
        Development environment: native and cross development
      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 QNX Neutrino
        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)
        Neutrino's microkernel approach
        Booting an x86 SMP system
        Booting a PowerPC or MIPS 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
      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
  User's Guide
    Getting to Know the OS
      Neutrino compared with UNIX
      Neutrino compared with Microsoft Windows
      Limitations
      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
      Neutrino for MS-DOS users
        DOS commands and their 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
    Controlling How Neutrino Starts
      What happens when you boot?
      Loading a Neutrino image
        Power-Safe filesystem
        QNX 4 filesystem
      diskboot
      .diskroot
      /etc/system/sysinit
      Device enumeration
        oem file or directory
        overrides file or directory
        Host-specific enumerators
      /etc/rc.d/rc.sysinit
      rc.local
      tinit
      Updating disk drivers
        Applying a driver update patch after you've installed QNX Neutrino
      Troubleshooting
    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?
    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
    Using CVS
      CVS basics
        Revisions
        Basic operations
        Repositories
        Editors and CVS
        Creating a repository
        Getting files in and out of the repository
        Putting changes back into the repository
        Importing an existing source tree
        Getting information on files
        Changing files
        More information on files: what changed and why
      CVS and directory trees
      Concurrent development: branching and merging
        Branching
        Merging
      Removing and restoring files
      Setting up a CVS server
    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
        Neutrino security in general
      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
      qnxbasedma.build
      Buildfile that doesn't use diskboot
      .profile
       .kshrc
      Configuration files for spooler
        Using lpr
        Using NCFTP
        Using SAMBA
      PPP with CHAP authentication between two Neutrino boxes
    Glossary
  Starting to Program with QNX Neutrino
    Foreword to the First Edition by Peter van der Veen
    Preface to the First Edition by Rob Krten
      A little history
      Who this book is for
      What's in this book?
      About Rob Krten
      Acknowledgments
    Processes and Threads
      Process and thread fundamentals
        A process as a house
        The occupants as threads
          Single threaded
          Multi threaded
        Back to processes and threads
        Mutual exclusion
        Priorities
        Semaphores
          A semaphore with a count of 1
          A semaphore with a count greater than 1
        A semaphore as a mutex
      The kernel's role
        Single CPU
        Multiple CPU (SMP)
        The kernel as arbiter
          Prioritization
          Scheduling policies
          FIFO
          Round Robin
          The rules
        Kernel states
          Kernel states, the complete list
      Threads and processes
        Why processes?
        Starting a process
          Starting a process from the command line
          Starting a process from within a program
            Starting a process with the system() call
            Starting a process with the exec() and spawn() calls
              "l" suffix
              "e" suffix
              "p" suffix
              Plain spawn()
            Starting a process with the fork() call
            Starting a process with the vfork() call
            So what should you use?
        Starting a thread
          The thread attributes structure
            Thread attribute administration
            The "flags" thread attribute
            The "stack" thread attributes
            The "scheduling" thread attributes
          A few examples
          Where a thread is a good idea
          Threads in mathematical operations
            Coding for SMP or single processor
            Synchronizing to the termination of a thread
            Joining
            Using a barrier
            Multiple threads on a single CPU
            Things to watch out for when using SMP
          Threads in independent situations
            Multiple processes
            Multiple processes with shared memory
            Multiple threads
            Comparisons
      More on synchronization
        Readers/writer locks
        Sleepon locks
        Condition variables
          Signal versus broadcast
          Sleepons versus condvars
        Additional Neutrino services
        Pools of threads
          Controlling the number of threads
          The thread pool functions
      Scheduling and the real world
        Rescheduling: hardware interrupts
        Rescheduling: kernel calls
        Rescheduling: exceptions
        Summary
    Message Passing
      Messaging fundamentals
        A small microkernel and message passing
      Message passing and client/server
      Network-distributed message passing
      What it means for you
        The philosophy of Neutrino
      Multiple threads
        Server/subserver
        Some examples
          Send-driven (client/server)
          Reply-driven (server/subserver)
          An important subtlety
          Multi-threaded server
      Using message passing
        Architecture & structure
        The client
          Establishing a connection
          Sending messages
        The server
          Creating the channel
          Message handling
          Server framework
        The send-hierarchy
        Receive IDs, channels, and other parameters
          More about channels
          Who sent the message?
          The receive ID (a.k.a. the client cookie)
          Replying to the client
          Not replying to the client
          Replying with no data, or an errno
          Finding the server's ND/PID/CHID
          What about priorities?
          Reading and writing data
        Multipart messages
          What about the other versions?
          Implementation
      Pulses
        Receiving a pulse message
          What's in a pulse?
          The MsgReceivePulse() function
        The MsgDeliverEvent() function
        Channel flags
          _NTO_CHF_UNBLOCK
            Synchronization problem
            Using the _NTO_MI_UNBLOCK_REQ
      Message passing over a network
        Networked message passing differences
          Longer delays
          Impact on ConnectAttach()
          Impact on MsgDeliverEvent()
          Impact on MsgReply(), MsgRead(), and MsgWrite()
          Impact on MsgReceive()
        Some notes on NDs
      Priority inheritance
        So what's the trick?
        Summary
    Clocks, Timers, and Getting a Kick Every So Often
      Clocks and timers
        Operating periodically
        Clock interrupt sources
        Base timing resolution
        Timing jitter
        Types of timers
        Notification schemes
          How to fill in the struct sigevent
            Pulse notification
            Signal notification
            Thread notification
            General tricks for notification
          Pulse notification
          Signal notification
      Using timers
        Creating a timer
        Signal, pulse, or thread?
        What kind of timer?
        A server with periodic pulses
          Server-maintained timeouts
            Declarations
            main()
            setupPulseAndTimer()
            gotAPulse()
            gotAMessage()
          Notes
          Periodic server maintenance cycles
        Timers delivering signals
        Timers creating threads
        Getting and setting the realtime clock and more
          Getting and setting
          Adjusting the timebase
          An accurate timestamp
      Advanced topics
        Other clock sources
           CLOCK_MONOTONIC
          So what does CLOCK_SOFTTIME do?
          Using different clock sources
        Kernel timeouts
          Kernel timeouts with pthread_join()
          Kernel timeouts with message passing
        Summary
    Interrupts
      Neutrino and interrupts
        Interrupt service routine
          Clearing the interrupt source
          Telling a thread to do something
        Level-sensitivity versus edge-sensitivity
      Writing interrupt handlers
        Attaching an interrupt handler
          Attaching with InterruptAttachEvent()
          Attaching with InterruptAttach()
        Now that you've attached an interrupt
        Detaching an interrupt handler
        The flags parameter
        The interrupt service routine
          Using InterruptAttach()
          Using InterruptAttachEvent()
          InterruptAttach() versus InterruptAttachEvent()
          The tradeoffs
        ISR functions
      Summary
    Resource Managers
      What is a resource manager?
        Examples of resource managers
        Characteristics of resource managers
      The client's view
        Finding the server
        Finding the process manager
        Handling directories
        Union'd filesystems
        Client summary
      The resource manager's view
        Registering a pathname
        Handling messages
          Connect messages
          I/O messages
          Three groups, really
      The resource manager library
        The library really does what we just talked about
        Behind the scenes at the library
          The base layer
          The POSIX layer
      Writing a resource manager
        Data structures
          resmgr_attr_t control structure
            The other_func message handler
            The data structure sizing parameters
            The flags parameter
          resmgr_connect_funcs_t connect table
          resmgr_io_funcs_t I/O table
          The resmgr_context_t internal context block
        Resource manager structure
          The resmgr_attach() function and its parameters
          Putting in your own functions
          The general flow of a resource manager
          Messages that should be connect messages but aren't
          Combine messages
        POSIX-layer data structures
          The iofunc_ocb_t OCB structure
            The strange case of the offset member
          The iofunc_attr_t attributes structure
          The iofunc_mount_t mount structure
            Of device numbers, inodes, and our friend rdev
      Handler routines
        General notes
          Locking, unlocking, and combine message handling
        Connect functions notes
          Internal use part
          End-user parameter part
      Alphabetical listing of connect and I/O functions
        io_chmod()
        io_chown()
        io_close_dup()
        io_close_ocb()
        io_devctl()
        io_dup()
        io_fdinfo()
        io_link()
        io_lock()
        io_lock_ocb()
        io_lseek()
        io_mknod()
        io_mmap()
        io_mount()
        io_msg()
        io_notify()
        io_open()
        io_openfd()
        io_pathconf()
         io_power()
        io_read()
        io_readlink()
        io_rename()
         io_shutdown()
        io_space()
        io_stat()
        io_sync()
        io_unblock() [CONNECT]
        io_unblock() [I/O]
        io_unlink()
        io_unlock_ocb()
        io_utime()
        io_write()
      Examples
        The basic skeleton of a resource manager
        A simple io_read() example
          The code
          Effective use of other messaging functions
        A simple io_write() example
        A simple io_devctl() example
        An io_devctl() example that deals with data
      Advanced topics
        Extending the OCB
          OCB monitor
          More efficient allocation
        Extending the attributes structure
        Blocking within the resource manager
        Returning directory entries
          Generally speaking...
          The struct dirent structure and friends
            Offsets
            Contents
          Example
            main() and declarations
            my_open()
             my_read()
             my_read_dir()
            my_read_file()
             dirent_size()
             dirent_fill()
      Summary
    QNX 4 to Neutrino
      Similarities
      Improvements
        Embeddability
        Thread support
        Message passing
          Pulses and events
        Device driver model
        MIPS, PPC, SH4, and ARM support
        SMP support
      Porting philosophy
        Message passing considerations
          Client/server using the global namespace
            Translating messages to standard file-descriptor-based POSIX calls
            Translating messages to devctl() or _IO_MSG
          Client/Server using an I/O manager
          Proxies
            Proxies for their IDs
            Proxies for their contents
        Interrupt service routines
      Summary
    Calling 911
      Read the manuals
      Contact technical support
        Describe the problem
        Precise information
        Versions
        If you're using a beta…
        Reproduce the problem
        Narrow it down
      Training
    Sample Programs
       atoz.c
      time1.c
      tp1.c
      tt1.c
    Glossary
  Programmer's Guide
    Compiling and Debugging
      Choosing the version of the OS
      Making your code more portable
        Conforming to standards
        Including QNX- or Neutrino-specific code
      Header files in /usr/include
      Self-hosted or cross-development
        A simple example
        Self-hosted
        Cross-development with network filesystem
        Cross-development with debugger
          Download/upload facility
        Cross-development, deeply embedded
          Step 1: Build a Neutrino system image.
          Step 2: Transfer the system image to the target.
          Step 3: Boot the target.
      Using libraries
        Static and dynamic libraries
          Static libraries
          Dynamic libraries
           dlopen()
        Platform-specific library locations
      Linking your modules
        Creating shared objects
          Specifying an internal name
      Optimizing the runtime linker
        Lazy binding
         RTLD_LAZY
        Lazy loading
        Diagnostics and debugging
        Environment variables
      Debugging
        Debugging in a self-hosted environment
        Debugging in a cross-development environment
        The GNU debugger (gdb)
        The process-level debug agent
          Serial connection
          TCP/IP connection
      A simple debug session
        Configure the target
        Compile for debugging
        Start the debug session
        Get help
        Sample boot image
      Debugging using libmudflap
    Programming Overview
      Process model
        An application as a set of processes
      Some definitions
      Priorities and scheduling
        Priority range
        BLOCKED and READY states
        The ready queue
        Suspending a running thread
        When the thread is blocked
        When the thread is preempted
        When the thread yields
      Scheduling policies
        FIFO scheduling
        Round-robin scheduling
        Sporadic scheduling
      Why threads?
      Summary
    Processes
      Starting processes — two methods
      Process creation
        Concurrency
        Inheriting file descriptors
      Process termination
        Normal process termination
        Abnormal process termination
      Detecting process termination
        Using the High Availability Framework
        Detecting termination from a starter process
        Sample parent process using wait()
        Sample parent process using sigwaitinfo()
        Detecting dumped processes
        Detecting the termination of daemons
        Detecting client termination
      Process privileges
        Privilege separation
          Thread I/O privileges
        Procmgr abilities
          Ability domains
          Ability ranges
          Locking an ability
          Dropping an ability
          Ability inheritance
            Basic inheritance
            Locking and inheritance
        An example of privilege separation
      Controlling processes via the /proc filesystem
        Establishing a connection
        Reading and writing the process's address space
          Determining the offset
          Determining accessibility
        Manipulating a process or thread
          Selecting a thread for further operations
          Starting/stopping processes and threads
          Setting breakpoints
          Examining process and thread attributes
        Thread information
         DCMD_PROC_BREAK
         DCMD_PROC_CHANNELS
         DCMD_PROC_CLEAR_FLAG
         DCMD_PROC_CURTHREAD
         DCMD_PROC_EVENT
         DCMD_PROC_FREEZETHREAD
         DCMD_PROC_GETALTREG
         DCMD_PROC_GETFPREG
         DCMD_PROC_GETGREG
         DCMD_PROC_GETREGSET
         DCMD_PROC_GET_BREAKLIST
         DCMD_PROC_INFO
         DCMD_PROC_IRQS
         DCMD_PROC_MAPDEBUG
         DCMD_PROC_MAPDEBUG_BASE
         DCMD_PROC_MAPINFO
         DCMD_PROC_PAGEDATA
         DCMD_PROC_RUN
         DCMD_PROC_SETALTREG
         DCMD_PROC_SETFPREG
         DCMD_PROC_SETGREG
         DCMD_PROC_SETREGSET
         DCMD_PROC_SET_FLAG
         DCMD_PROC_SIGNAL
        DCMD_PROC_STATUS
        DCMD_PROC_STOP
        DCMD_PROC_SYSINFO
         DCMD_PROC_THAWTHREAD
         DCMD_PROC_THREADCTL
        DCMD_PROC_TIDSTATUS
         DCMD_PROC_TIMERS
         DCMD_PROC_WAITSTOP
    Working with Access Control Lists (ACLs)
      ACL formats
      ACL storage management
      Manipulating ACL entries in working storage
      Manipulating permissions in an ACL entry
      Manipulating the tag type and qualifier in an ACL entry
      Manipulating ACLs on a file or directory
      Example
    Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time
      Oversleeping: errors in delays
        Delaying for a second: inaccurate code
        Timer quantization error
        The tick and the hardware timer
        Delaying for a second: better code
      Another hiccup with hardware timers
        Where's the catch?
      What time is it?
      Clocks, timers, and power management
    Transparent Distributed Processing Using Qnet
      What is Qnet?
      Benefits of Qnet
        What works best
        What type of application is well-suited for Qnet?
      How does it work?
      Locating services using GNS
        Different modes of GNS
        Registering a service
        GNS path namespace
        Deploying the gns processes
      Quality of Service (QoS) and multiple paths
        QoS policies
         loadbalance
         preferred
         exclusive
        Specifying QoS policies
        Symbolic links
      Designing a system using Qnet
        The product: a telecom box
        Developing your distributed system
        Configuring the data cards
        Configuring the controller card
        Enhancing reliability via multiple transport buses
        Redundancy and scalability using multiple controller cards
          Redundancy
          Scalability
      Autodiscovery vs static
      When should you use Qnet, TCP/IP, or NFS?
      Drivers for Qnet
    Writing an Interrupt Handler
      What's an interrupt?
      Interrupts on multicore systems
      Attaching and detaching interrupts
      Interrupt Service Routine (ISR)
        Determining the source of the interrupt
          Edge-triggered IRQ
          Level-sensitive IRQ
        Servicing the hardware
          Safe functions
        Updating common data structures
        Signalling the application code
          Using InterruptAttach()
          Using InterruptAttachEvent()
      Running out of interrupt events
      Problems with shared interrupts
      Advanced topics
        Interrupt environment
        Ordering of shared interrupts
        Interrupt latency
        Atomic operations
        Interrupts and power management
    Heap Analysis: Making Memory Errors a Thing of the Past
      Dynamic memory management
        Arena allocations
        Small block configuration
      Heap corruption
        Contiguous memory blocks
        Multithreaded programs
        Allocation strategy
        Common sources
          Overrun and underrun errors
          Releasing memory
          Using uninitialized or stale pointers
      Detecting and reporting errors
        Using the malloc debug library
          What's checked?
          Allocating memory
          Reallocating memory
          Releasing memory
        Controlling the level of checking
          Description of optional checks
          Forcing verification
          Specifying an error handler
        Other environment variables
        Caveats
      Manual checking (bounds checking)
        Getting pointer information
      Memory leaks
        Tracing
        Causing a trace and giving results
        Analyzing dumps
      Compiler support
        C++ issues
          Clean C
          C++ example
    Freedom from Hardware and Platform Dependencies
      Common problems
        I/O space vs memory-mapped
        Big-endian vs little-endian
          Typecast mangling
          Hardware access
          Network transparency
        Alignment and structure packing
        Atomic operations
      Solutions
        Determining endianness
        Swapping data if required
           ENDIAN_LE16()
           ENDIAN_LE32()
           ENDIAN_LE64()
           ENDIAN_BE16()
           ENDIAN_BE32()
           ENDIAN_BE64()
        Accessing unaligned data
           UNALIGNED_RET16()
           UNALIGNED_RET32()
           UNALIGNED_RET64()
           UNALIGNED_PUT16()
           UNALIGNED_PUT32()
           UNALIGNED_PUT64()
        Examples
          Mixed-endian accesses
          Accessing hardware with dual-ported memory
        Accessing I/O ports
    Conventions for Recursive Makefiles and Directories
      Structure of a multiplatform source tree
        Makefile structure
        The recurse.mk file
        Macros
          The EARLY_DIRS and LATE_DIRS macros
          The LIST macro
          The MAKEFILE macro
          The CHECKFORCE macro
        Directory levels
          Project level
          Section level (optional)
          OS level
          CPU level
          Variant level
      Specifying options
        The common.mk file
        The variant-level makefile
        Recognized variant names
      Using the standard macros and include files
        The qconfig.mk include file
          Preset macros
          Postset macros
           qconfig.mk macros
        The qrules.mk include file
        The qtargets.mk include file
      Advanced topics
        Collapsing unnecessary directory levels
        Performing partial builds
        Performing parallel builds
        More uses for LIST
        GNU configure
           hook_preconfigure()
           hook_postconfigure()
           hook_premake()
           hook_postmake()
           hook_pinfo()
      Examples of creating Makefiles
        A single application
        A library and an application
    POSIX Conformance
      Conformance statement
        System interfaces: general attributes
          Supported features
          Optional features
          Float, standard I/O, and limit values
          Error conditions
          Mathematical interfaces
        File handling
        Internationalized system interfaces
        Threads: Cancellation points
        Realtime: Prioritized I/O
        Realtime threads
        C-language compilation environment
      POSIX Conformance Document (PCD)
        Base Definitions
          3. Definitions
          4. General Concepts
          6. Character Set
          7. Locale
          8. Environment Variables
          13. Headers
        System Interfaces
          2.3. Error Numbers
          2.4. Signal Concepts
          2.5. Standard I/O Streams
          2.8. Realtime
          2.11. Tracing
          3. System Interfaces
      Non-POSIX functions with POSIX-sounding names
    Using GDB
      Neutrino-specific extensions
      A quick overview of starting the debugger
      GDB commands
        Command syntax
        Command completion
        Getting help
      Running programs under GDB
        Compiling for debugging
        Setting the target
        Starting your program
        Your program's arguments
        Your program's environment
        Your program's input and output
        Debugging an already-running process
        Killing the process being debugged
        Debugging programs with multiple threads
        Debugging programs with multiple processes
      Stopping and continuing
        Breakpoints, watchpoints, and exceptions
          Setting breakpoints
          Setting watchpoints
          Breakpoints and exceptions
          Deleting breakpoints
          Disabling breakpoints
          Break conditions
          Breakpoint command lists
          Breakpoint menus
        Continuing and stepping
        Signals
        Stopping and starting multithreaded programs
      Examining the stack
        Stack frames
        Backtraces
        Selecting a frame
        Information about a frame
        MIPS machines and the function stack
      Examining source files
        Printing source lines
        Searching source files
        Specifying source directories
        Source and machine code
        Shared libraries
      Examining data
        Expressions
        Program variables
        Artificial arrays
        Output formats
        Examining memory
        Automatic display
        Print settings
        Value history
        Convenience variables
        Registers
        Floating point hardware
      Examining the symbol table
      Altering execution
        Assignment to variables
        Continuing at a different address
        Giving your program a signal
        Returning from a function
        Calling program functions
        Patching programs
    Advanced Qnet Topics
      Low-level discussion of Qnet principles
      Details of Qnet data communication
      Node descriptors
         netmgr_strtond()
         netmgr_ndtostr()
         netmgr_remote_nd()
      Booting over the network
        Overview
        Creating directory and setting up configuration files
        Building an OS image
        Booting the client
        Troubleshooting
      What are the limitations...
    Glossary
  The QNX Neutrino Cookbook
    About This Guide
    Foreword to the First Edition by Brian Stecher
    Preface to the First Edition by Rob Krten
      What's in this book?
      Philosophy
        The Basics
        High Availability
        Design Philosophy
      Recipes
        Web-Counter Resource Manager
        ADIOS — Analog / Digital I/O Server
        RAM-disk Filesystem Manager
        The tar Filesystem Manager
      References
      What's not in this book?
      Other references
      Thanks!
        Century Aluminum
    The Basics
      In the beginning...
        The main() function
        Command-line processing — optproc()
        Common globals
        Usage messages
      Threaded resource managers
    High Availability
      Terminology
      Lies, damn lies, and statistics
      Increasing availability
        Increasing the MTBF
        Decreasing the MTTR
        Parallel versus serial
          Series calculations
          Parallel calculations
          Aggregate calculations
      Failure modes and recovery models
        Cascade failures
          System startup and HA
        Overlords, or Big Brother is watching you
        Cold, warm, and hot standby
          Achieving cold standby
          Achieving warm standby
          Achieving hot standby
          Problems
        Detecting failure
          Obituaries
        Graceful fail-over
        Using shadows
        In-service upgrades
        Policies
      Implementing HA
      RK drones on about his home systems again
      Other HA systems
    Design Philosophy
      Decoupling design in a message-passing environment
        Door-lock actuators
        At this point...
      Managing message flow
        Swipe-card readers
          Control program sends to the swipe-card reader
          Swipe-card reader sends to control program
          Using a keypad challenge — control program sends to the swipe-card reader
          Using a keypad challenge — swipe-card reader sends to control program
      Scalability
        Distributed processing
      Summary
    Web Counter Resource Manager
      Requirements
        Using the web counter resource manager
      Design
        Generating the graphical image
      The code — phase 1
        Operation
          Generating the graphical image
        Step-by-step code walkthrough
          Include files and data structures
          Source files
          The code
            The execute_resmgr() function
            The io_open() function
            The io_read() function
            The io_close_ocb() function
            The render_7segment() function
            The encode_image() function
      The code — phase 2
        Persistent count file
        Font selection
        Plain text rendering
        Writing to the resource
          Adding the io_write() handler
          The io_write() function
          The io_close_ocb() function
      The code — phase 3
        Filename processing tricks
        Changes
          Globals
          The new-and-improved execute_resmgr()
          Option processing
          Handling io_read()
            Operating on a file
            Operating on a directory
            The persistent counter file
      Enhancements
      References
    ADIOS — Analog/Digital I/O Server
      Requirements
      Design
        Driver Design
          DIO-144
          ISO-813
          PCL-711
        Shared Memory Design
        Tags database design
      The Driver Code
        Theory of operation
        Code walkthrough
          main() and friends
          The resource manager modules
          The card interface modules
            Card configuration
            Analog input
            Analog output
            Digital input
            Digital output
      The ADIOS server code
        The usual stuff
        The shared memory region
          Calculating the sizes of data structures
          Open and check the shared memory
          Truncate and map shared memory
        Acquiring data
      The showsamp and tag utilities
        The showsamp utility
        The tag utility
      References
    RAM-disk Filesystem
      Requirements
        Connect functions
        I/O functions
        Missing functions
      Design
      The code
        The extended attributes structure
        The io_read() function
        The io_write() function
        The c_open() function
          Finding the target
            The pathwalk() function
            The connect_msg_to_attr() function
          Fun with symlinks
          Analyze the mode flag
          Bind the OCB and attributes structure
          Finally, the c_open() code walkthrough
          Walkthrough
          The redirect_symlink() function
        The c_readlink() function
        The c_link() function
        The c_rename() function
        The c_mknod() function
        The c_unlink() function
        The io_close_ocb() function
        The io_devctl() function
          Mounting options
          Filesystem statistics
        The c_mount() function
      References
    TAR Filesystem
      Requirements
      Design
        Creating a .tar file
      The code
        The structures
        The functions
          The c_mount() function
          The analyze_tar_file() function
          The add_tar_entry() function
          The io_read() function and related utilities
        The mount helper program
      Variations on a theme
        Virtual filesystem for USENET news (VFNews)
          How does USENET news work?
          So why is this a problem?
          How can this possibly be made better?
          Operation
        Strange and unusual filesystems
          Indexed filesystem
          Executing commands
        Secure filesystem
        Line-based filesystem
      References
    Filesystems
      What is a filesystem?
        Hierarchical arrangement
        Data elements
        The mount point and the root
      What does a filesystem do?
      Filesystems and Neutrino
      How does a filesystem work?
        Mount point management
          Unnamed mount registration
          Special device registration
          Mount point registration
        Pathname resolution
        Directory management
        Data element content management
      References
    The /proc Filesystem
      The /proc/boot directory
      The /proc/mount directory
      The /proc by-process-ID directories
        Operations on the as entry
          Discontiguous address space
          Someone else's virtual address space
        Finding a particular process
          Iterating through the list of processes
        Finding out information about the process
        DCMD_PROC_INFO
          Process information
          Memory information
          Signal information
          CPU usage information
          Miscellaneous
        DCMD_PROC_MAPINFO and DCMD_PROC_PAGEDATA
        DCMD_PROC_TIMERS
        DCMD_PROC_IRQS
        Finding out information about the threads
          The DCMD_PROC_TIDSTATUS command
          Blocked thread information
          The DCMD_PROC_GETGREG and DCMD_PROC_GETFPREG commands
      References
    Sample Programs
      Web-Counter resource manager
      ADIOS — Analog / Digital I/O Server
      RAM-disk and tar filesystem managers
      The /proc filesystem
    Glossary
  Writing a Resource Manager
    Overview
      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
      Examples of resource managers
        Transparent Distributed Processing (Qnet) statistics
        Robot arm
        GPS devices
        Database example
        I2C (Inter-Integrated Circuit) driver
      When not to use a resource manager
    The Bones of a Resource Manager
      Under the covers
        Under the client's covers
        Under the resource manager's covers
      Layers in a resource manager
        The iofunc layer
        The resmgr layer
        The dispatch layer
        The thread pool layer
      Simple examples of device resource managers
        Single-threaded device resource manager
          Initialize the dispatch interface
          Initialize the resource manager attributes
          Initialize functions used to handle messages
          Initialize the attribute structure used by the device
          Put a name into the namespace
          Allocate the context structure
          Start the resource manager message loop
        Multithreaded device resource manager
          Define THREAD_POOL_PARAM_T
          Initialize thread pool attributes
          Allocate a thread pool handle
          Start the threads
        Using MsgSend() and MsgReply()
          A bit of history
          The server
          The client
    Fleshing Out the Skeleton
      Message types
        Connect messages
        I/O messages
        Default message handling
        open(), dup(), and close()
      Setting resource manager attributes
      Ways of adding functionality to the resource manager
        Using the default functions
        Using the helper functions
        Writing the entire function yourself
    POSIX-Layer Data Structures
      The iofunc_ocb_t (Open Control Block) structure
      The iofunc_attr_t (attribute) structure
      The optional iofunc_mount_t (mount) structure
    Handling Read and Write Messages
      Handling the _IO_READ message
        Sample code for handling _IO_READ messages
      Handling the _IO_WRITE message
        Sample code for handling _IO_WRITE messages
      Methods of returning and replying
        Returning with an error
        Returning using an IOV array that points to your data
        Returning with a single buffer containing data
        Returning success but with no data
        Getting the resource manager library to do the reply
        Performing the reply in the server
        Leaving the client blocked, replying later
        Returning and telling the library to do the default action
      Handling other read/write details
        Handling the xtype member
          If you aren't expecting extended types (xtype)
        Handling pread*() and pwrite*()
          Sample code for handling _IO_READ messages in pread*()
          Sample code for handling _IO_WRITE messages in pwrite*()
        Handling readcond()
      Updating the time for reads and writes
    Combine Messages
      Where combine messages are used
        Atomic operations
        Bandwidth considerations
      The library's combine-message handling
        Component responses
        Component data access
        Locking and unlocking the attribute structure
        Connect message types
        _IO_CONNECT_COMBINE_CLOSE
        _IO_CONNECT_COMBINE
    Extending the POSIX-Layer Data Structures
      Overview
      Extending the OCB and attribute structures
      Extending the mount structure
    Handling Other Messages
      Custom messages
      Handling devctl() messages
        Sample code for handling _IO_DEVCTL messages
      Handling ionotify() and select()
        Sample code for handling _IO_NOTIFY messages
      Handling out-of-band (_IO_MSG) messages
      Handling private messages and pulses
      Handling open(), dup(), and close() messages
      Handling mount()
        mount() function call
        Mount in the resource manager
        mount utility
      Handling stat()
      Handling lseek()
    Signals, Timeouts, and Interrupts
      Handling client unblocking due to signals or timeouts
      Handling interrupts
        Sample code for handling interrupts
    Multithreaded Resource Managers
      Multithreaded resource manager example
      Thread pool attributes
      Thread pool functions
    Filesystem Resource Managers
      Considerations for filesystem resource managers
      Taking over more than one device
      Handling directories
        Matching at or below a mountpoint
        The _IO_OPEN message for filesystems
        Returning directory entries from _IO_READ
          Returning information associated with a directory structure
    Glossary
  Multicore Processing User's Guide
    What is Multicore Processing?
    Developing Multicore Systems
      The impact of multicore
        Thread affinity
        Multicore and synchronization primitives
        Multicore and FIFO scheduling
        Multicore and interrupts
        Multicore and atomic operations
      Designing with multiprocessing in mind
        Use the multicore primitives
        Assume that threads really do run concurrently
        Break the problem down
    Glossary
  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
  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 QNX IDE (trace events)
      Using other methods
      Emergency access to the system
    Sample Buildfile
    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 system considerations
    Glossary
  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()
      snd_mixer_callbacks_t
      snd_mixer_close()
      snd_mixer_eid_t
      snd_mixer_element_read()
      snd_mixer_element_t
      snd_mixer_element_write()
      snd_mixer_elements()
      snd_mixer_elements_t
      snd_mixer_file_descriptor()
      snd_mixer_filter_t
      snd_mixer_get_bit()
      snd_mixer_get_filter()
      snd_mixer_gid_t
      snd_mixer_group_read()
      snd_mixer_group_t
      snd_mixer_group_write()
      snd_mixer_groups()
      snd_mixer_groups_t
      snd_mixer_info()
      snd_mixer_info_t
      snd_mixer_open()
      snd_mixer_open_name()
      snd_mixer_read()
      snd_mixer_routes()
      snd_mixer_routes_t
      snd_mixer_set_bit()
      snd_mixer_set_filter()
      snd_mixer_sort_eid_table()
      snd_mixer_sort_gid_table()
      snd_mixer_weight_entry_t
      snd_pcm_build_linear_format()
      snd_pcm_capture_flush()
      snd_pcm_capture_go()
      snd_pcm_capture_pause()
      snd_pcm_capture_prepare()
      snd_pcm_capture_resume()
      snd_pcm_channel_flush()
      snd_pcm_channel_go()
      snd_pcm_channel_info()
      snd_pcm_channel_info_t
      snd_pcm_channel_params()
      snd_pcm_channel_params_t
      snd_pcm_channel_pause()
      snd_pcm_channel_prepare()
      snd_pcm_channel_resume()
      snd_pcm_channel_setup()
      snd_pcm_channel_setup_t
      snd_pcm_channel_status()
      snd_pcm_channel_status_t
      snd_pcm_close()
      snd_pcm_file_descriptor()
      snd_pcm_find()
      snd_pcm_format_big_endian()
      snd_pcm_format_linear()
      snd_pcm_format_little_endian()
      snd_pcm_format_signed()
      snd_pcm_format_size()
      snd_pcm_format_t
      snd_pcm_format_unsigned()
      snd_pcm_format_width()
      snd_pcm_get_audioman_handle()
      snd_pcm_get_format_name()
      snd_pcm_info()
      snd_pcm_info_t
      snd_pcm_link()
      snd_pcm_nonblock_mode()
      snd_pcm_open()
      snd_pcm_open_name()
      snd_pcm_open_preferred()
      snd_pcm_playback_drain()
      snd_pcm_playback_flush()
      snd_pcm_playback_go()
      snd_pcm_playback_pause()
      snd_pcm_playback_prepare()
      snd_pcm_playback_resume()
      snd_pcm_plugin_flush()
      snd_pcm_plugin_get_voice_conversion()
      snd_pcm_plugin_info()
      snd_pcm_plugin_params()
      snd_pcm_plugin_playback_drain()
      snd_pcm_plugin_prepare()
      snd_pcm_plugin_read()
      snd_pcm_plugin_set_disable()
      snd_pcm_plugin_set_enable()
      snd_pcm_plugin_set_src_method()
      snd_pcm_plugin_set_src_mode()
      snd_pcm_plugin_set_voice_conversion()
      snd_pcm_plugin_setup()
      snd_pcm_plugin_src_max_frag()
      snd_pcm_plugin_status()
      snd_pcm_plugin_update_src()
      snd_pcm_plugin_write()
      snd_pcm_read()
      snd_pcm_set_audioman_handle()
      snd_pcm_unlink()
      snd_pcm_voice_conversion_t
      snd_pcm_write()
      snd_strerror()
      snd_switch_t
     wave.c example
     waverec.c example
     mixer_ctl.c example
    ALSA and libasound.so
    What's New in This Release?
      What's new in QNX Neutrino 6.5.0 Service Pack 1
      What's new in QNX Neutrino 6.5.0
      What's new in QNX Neutrino 6.4
      What's new in QNX Neutrino 6.3
      What's new in QNX Neutrino 6.2
      What's new in QNX Neutrino 6.1
    Glossary
  Building Embedded Systems
    About This Book
    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 Neutrino
      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
      BSP Overview
      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 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 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
      Introduction
        Initialize hardware
        Initialize system page
        Initialize callouts
      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.ppc (deprecated)
        un.ppc.kerinfo
        un.mips
        un.arm
        un.sh
        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()
        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()
        mips41xx_set_clock_freqs()
        openbios_init_raminfo()
        pcnet_reset()
        ppc400_pit_init_qtime()
        ppc405_set_clock_freqs()
        ppc600_set_clock_freqs()
        ppc700_init_l2_cache()
        ppc800_pit_init_qtime()
        ppc800_set_clock_freqs()
        ppc_dec_init_qtime()
        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
      PPC chips support
        Adding a new CPU to the startup library
    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
      Introduction
        Before you design your system
          Processor speed
          Memory requirements
          Peripherals
          Debugging
          Field upgrades
        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
      NMI
      Design do's and don'ts
        Do:
        Don't:
    Sample Buildfiles
      Introduction
      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
        Specifying the processor
          Examples
        Specifying the startup program
        Specifying the serial device
    Glossary
  High Availability Framework
    Introduction
      Where's the problem?
      A software foundation for HA
    What's in the High Availability Framework?
      What you get
    The QNX Approach to HA
      The reset "solution"
        Traditional RTOS architecture
      Modularity means granularity
        Intrinsic HA
    Using the High Availability Manager
      Introduction
      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
      Introduction
      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 User's Guide
    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
    Sample Drivers for Instant Device Activation
      FreeScale Media5200b sample minidriver
        The minidriver handler function
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample timings
      Renesas Biscayne minidriver
        The minidriver handler function
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample Timings
      OMAP minidriver
        Adding your minidriver to the system
        Build startup
        Testing your minidriver
        Sample timings
    Hardware Interaction within the Minidriver
  Persistent Publish/Subscribe Developer's Guide
    QNX 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
    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()
  Technotes
    About These Technotes
    IP Tunneling (Generic Routing Encapsulation)
      How do I use it?
      A more typical example
      Final tidbits
    PPPOE and Path MTU Discovery
    Making Multiple Images
      What's a multiple image?
      Restrictions on XIP image filesystems
      Mounting an IFS
      Using a second IFS
      Example: mounting an IFS on the MGT5200 Total board
      Sample buildfiles
        os1.build
        os2.build
      Programming into flash
      Putting the images together
      Test program
      See also
    QNX Neutrino and QNX4 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
    Asynchronous Messaging
      Overview
      Asynchronous-messaging functions
      Examples
        Example 1: Sending one message
        Example 2: Sending more than one message at a time
        Example 3: Flushing
        Example 4: Setting up an event that triggers the copy
        Example 5: Using time as the trigger
        Example 6: Client and server processes
    Reading a Kernel Dump
    I2C (Inter-Integrated Circuit) Framework
      Overview
      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
    Migrating to QNX Neutrino for ARMv6-Processor-Based Boards
      Overview
      BSP configuration
        armv_chip
        armv_cache
        armv_pte
        setup()
      Behavior of procnto-v6 shm_ctl()
      Using ARMv6 instructions
    Supporting Vector Floating Point Functionality for ARM Processors
      Overview
      Restrictions on VFP usage
      BSP configuration
      Using VFP instructions
    How to create a Runtime Kit from the QNX Software Development Platform
      Introduction
      Organization of the Runtime Kit
      Standard installation steps
      Creating the archives
      Creating the CD
      Sample installation script
    Backtraces
      Overview
      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
    QNX support for using Freescale e500 SPE
      Configuring for floating point
      Configuring for the command line
    Reloadable Image Filesystems
      Introduction
      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
      Introduction
      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
    Process Performance State Manager (PPSM)
      PPSM functions
        ppsm_init()
        ppsm_fini()
        ppsm_sys_mode()
        ppsm_set_polling_interval()
        ppsm_set_threshold()
        ppsm_get_cpuload()
        ppsm_get_cpufreq()
        ppsm_speedstep_enable()
        ppsm_speedstep_disable()
        ppsm_set_policy()
        ppsm_set_notify_handler()
    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 Neutrino System References
  Addon Interfaces Library Reference
    Overview
      An example
      Library components
    Addon Interfaces Library Reference
      AOICtrl_t
      AOInterface_t
      AoAdd()
      AoAddDirectory()
      AoAddStatic()
      AoAddUnloadSignal()
      AoGetInterface()
      AoHold()
      AoIterate()
      AoIterateHoldGet()
      AoRelease()
      AoRemove()
      AoFindExt()
      AoFindFormats()
      AoFindMime()
      AoFindName()
      AoFindStreams()
      AoOpenFilespec()
    Implemented Interfaces
      Built-in Interfaces
      AODeConstructor
        Create()
        Destroy()
      AOExtInspector
        RateExtension()
      AOFormatInspector
        RateFormat()
      AOMimetypeInspector
        RateMimetype()
      AOStreamer
        Open
        Close
        Sniff()
        Read()
        Write()
        Seek()
        Tell()
        Length()
        SideInfo()
      AOStreamInspector
        RateStream()
      AOResourceAccess
        GetResources()
        SetResource()
      Built-in interfaces
        Unloading and InitializeInterface
        Name
    Using Addon Resources
      An Example
      Using addon resources in your application
    Defined Structures
      AOIStream_t
      AOMimeInfo_t
      AOResource_t
      AOAudioFormat_t
      ImageFormat_t
      MediaFormat_t
      VideoFormat_t
  C Library Reference
    What's in a Function Description?
    Manifests
    A
      abort()
      abs()
      accept()
      access()
      acl_add_perm()
      acl_calc_mask()
      acl_clear_perms()
      acl_copy_entry()
      acl_copy_ext()
      acl_copy_int()
      acl_create_entry()
      acl_delete_entry()
      acl_delete_perm()
      acl_dup()
      acl_free()
      acl_from_text()
      acl_get_entry()
      acl_get_fd()
      acl_get_file()
      acl_get_permset()
      acl_get_qualifier()
      acl_get_tag_type()
      acl_init()
      acl_set_fd()
      acl_set_file()
      acl_set_permset()
      acl_set_qualifier()
      acl_set_tag_type()
      acl_size()
      acl_to_text()
      acl_valid()
      acos(), acosf(), acosl()
      acosh(), acoshf(), acoshl()
      addrinfo
      aio_cancel()
      aio_error()
      aio_fsync()
      aio_read(), aio_read64()
      aio_return()
      aio_suspend()
      aio_write(), aio_write64()
      aiocb, aiocb64
      alarm()
      alloca()
      alphasort()
      _amblksiz
      _argc
      _argv
      asctime(), asctime_r()
      asin(), asinf(), asinl()
      asinh(), asinhf(), asinhl()
      assert()
      asyncmsg_channel_create()
      asyncmsg_channel_destroy()
      asyncmsg_connect_attach()
      asyncmsg_connect_attr()
      asyncmsg_connect_detach()
      _asyncmsg_connection_attr
      asyncmsg_flush()
      asyncmsg_free()
      asyncmsg_get()
      asyncmsg_malloc()
      asyncmsg_put(), asyncmsg_putv()
      atan(), atanf(), atanl()
      atan2(), atan2f()
      atanh(), atanhf(), atanhl()
      atexit()
      atof()
      atoh()
      atoi()
      atol(), atoll()
      atomic_add()
      atomic_add_value()
      atomic_clr()
      atomic_clr_value()
      atomic_set()
      atomic_set_value()
      atomic_sub()
      atomic_sub_value()
      atomic_toggle()
      atomic_toggle_value()
      _auxv
    B
      basename()
      bcmp()
      bcopy()
      bind()
      bindresvport()
      brk()
      bsearch()
      bt_get_backtrace()
      bt_init_accessor()
      bt_load_memmap()
      bt_release_accessor()
      bt_set_flags()
      bt_sprn_memmap()
      bt_sprnf_addrs()
      bt_translate_addrs()
      bt_unload_memmap()
      _btext
      btowc()
      bzero()
    C
      cabs(), cabsf()
      cache_fini()
      CACHE_FLUSH()
      cache_init()
      CACHE_INVAL()
      calloc()
      cbrt(), cbrtf()
      ceil(), ceilf()
      cfgetispeed()
      cfgetospeed()
      cfgopen()
      cfmakeraw()
      cfree()
      cfsetispeed()
      cfsetospeed()
      ChannelCreate(), ChannelCreate_r()
      ChannelDestroy(), ChannelDestroy_r()
      chdir()
      chmod()
      chown()
      chroot()
      chsize()
      clearenv()
      clearerr()
      ClientInfoExtFree()
      clock()
      clock_getcpuclockid()
      clock_getres()
      clock_gettime()
      clock_nanosleep()
      clock_settime()
      ClockAdjust(), ClockAdjust_r()
      ClockCycles()
      ClockId(), ClockId_r()
      ClockPeriod(), ClockPeriod_r()
      ClockTime(), ClockTime_r()
      close()
      closedir()
      closelog()
      _cmdfd()
      _cmdname()
      confstr()
      connect()
      ConnectAttach(), ConnectAttach_r()
      ConnectClientInfo(), ConnectClientInfo_r()
      ConnectClientInfoExt()
      ConnectDetach(), ConnectDetach_r()
      ConnectFlags(), ConnectFlags_r()
      ConnectServerInfo(), ConnectServerInfo_r()
      copysign(), copysignf()
      cos(), cosf(), cosl()
      cosh(), coshf(), coshl()
      creat(), creat64()
      crypt()
      ctermid()
      ctime(), ctime_r()
    D
      daemon()
      daylight
      DebugBreak()
      DebugKDBreak()
      DebugKDOutput()
      delay()
      devctl()
      dhcpctl*()
      difftime()
      dircntl()
      dirent, dirent64
      dirname()
      dispatch_block()
      dispatch_context_alloc()
      dispatch_context_free()
      dispatch_create()
      dispatch_create_channel()
      dispatch_destroy()
      dispatch_handler()
      dispatch_timeout()
      dispatch_unblock()
      div()
      dladdr()
      dlclose()
      dlerror()
      dlopen()
      dlsym()
      dn_comp()
      dn_expand()
      drand48()
      ds_clear()
      ds_create()
      ds_deregister()
      ds_flags()
      ds_get()
      ds_register()
      ds_set()
      dup()
      dup2()
    E
      eaccess()
      _edata
      encrypt()
      _end
      endfsent()
      endgrent()
      endhostent()
      ENDIAN_BE16()
      ENDIAN_BE32()
      ENDIAN_BE64()
      ENDIAN_LE16()
      ENDIAN_LE32()
      ENDIAN_LE64()
      ENDIAN_RET16()
      ENDIAN_RET32()
      ENDIAN_RET64()
      ENDIAN_SWAP16()
      ENDIAN_SWAP32()
      ENDIAN_SWAP64()
      endnetent()
      endprotoent()
      endpwent()
      endservent()
      endspent()
      endutent()
      environ
      eof()
      erand48()
      erf(), erff()
      erfc(), erfcf(), erfcl()
      err(), errx()
      errno
      _etext
      execl()
      execle()
      execlp()
      execlpe()
      execv()
      execve()
      execvp()
      execvpe()
      _exit()
      exit()
      exp(), expf(), expl()
      expm1(), expm1f()
    F
      fabs(), fabsf()
      fcfgopen()
      fchdir()
      fchmod()
      fchown()
      fclose()
      fcloseall()
      fcntl()
      fdatasync()
      fdistrusted()
      fdopen()
      feof()
      ferror()
      fflush()
      ffs()
      fgetc()
      fgetchar()
      fgetpos()
      fgets()
      fgetspent()
      fgetwc()
      fgetws()
      fileno()
      flink()
      flock()
      flockfile()
      floor(), floorf()
      flushall()
      fmod(), fmodf(), fmodl()
      fnmatch()
      fopen(), fopen64()
      fork()
      forkpty()
      fp_exception_mask()
      fp_exception_value()
      fp_precision()
      fp_rounding()
      fp_setenv()
      fpathconf()
      fprintf()
      fputc()
      fputchar()
      fputs()
      fputwc()
      fputws()
      fread()
      free()
      freeaddrinfo()
      freeifaddrs()
      freopen(), freopen64()
      frexp(), frexpf()
      fscanf()
      fseek(), fseeko(), fseeko64()
      fsetpos()
      fstat(), fstat64()
      fstatvfs(), fstatvfs64()
      fsync()
      ftell(), ftello(), ftello64()
      ftime()
      ftruncate(), ftruncate64()
      ftrylockfile()
      ftw(), ftw64()
      funlockfile()
      futime()
      fwide()
      fwprintf()
      fwrite()
      fwscanf()
    G
      gai_strerror()
      gamma(), gamma_r(), gammaf(), gammaf_r()
      getaddrinfo()
      getc()
      getc_unlocked()
      getchar()
      getchar_unlocked()
      getcwd()
      getdomainname()
      getdtablesize()
      getegid()
      getenv()
      geteuid()
      getfsfile()
      getfsent()
      getfsspec()
      getgid()
      getgrent()
      getgrgid()
      getgrgid_r()
      getgrnam()
      getgrnam_r()
      getgrouplist()
      getgroups()
      gethostbyaddr()
      gethostbyaddr_r()
      gethostbyname(), gethostbyname2()
      gethostbyname_r()
      gethostent()
      gethostent_r()
      gethostname()
      getifaddrs()
      GETIOVBASE()
      GETIOVLEN()
      getitimer()
      getlogin()
      getlogin_r()
      getnameinfo()
      getnetbyaddr()
      getnetbyname()
      getnetent()
      getopt()
      getpagesize()
      getpagesizes(), getpagesizes64()
      getpass()
      getpeereid()
      getpeername()
      getpgid()
      getpgrp()
      getpid()
      getppid()
      getprio()
      getprotobyname()
      getprotobynumber()
      getprotoent()
      getpwent()
      getpwent_r()
      getpwnam()
      getpwnam_r()
      getpwuid()
      getpwuid_r()
      getrlimit(), getrlimit64()
      getrusage()
      gets()
      getservbyname()
      getservbyport()
      getservent()
      getsid()
      getsockname()
      getsockopt()
      getspent(), getspent_r()
      getspnam(), getspnam_r()
      getsubopt()
      gettid()
      gettimeofday()
      getuid()
      getutent()
      getutid()
      getutline()
      getw()
      getwc()
      getwchar()
      getwd()
      glob()
      globfree()
      gmtime()
      gmtime_r()
      grantpt()
    H
      h_errno
      hcreate()
      hdestroy()
      herror()
      hostent
      hsearch()
      hstrerror()
      htonl()
      htons()
      hwi_find_item()
      hwi_find_tag()
      hwi_next_item()
      hwi_next_tag()
      hwi_off2tag()
      hwi_tag2off()
      hypot(), hypotf()
    I
      ICMP
      ICMP6
      if_freenameindex()
      if_indextoname()
      if_nameindex()
      if_nametoindex()
      ifaddrs
      ilogb(), ilogbf()
      img_cfg_read()
      img_codec_get_criteria()
      img_codec_list()
      img_codec_list_byext()
      img_codec_list_bymime()
      img_convert_data()
      img_convert_getfunc()
      img_crop()
      img_decode_begin()
      img_decode_callouts_t
      img_decode_finish()
      img_decode_frame()
      img_decode_validate()
      img_dtransform()
      img_dtransform_apply()
      img_dtransform_create()
      img_dtransform_free()
      img_encode_begin()
      img_encode_callouts_t
      img_encode_finish()
      img_encode_frame()
      img_expand_getfunc()
      IMG_FMT_BPL()
      IMG_FMT_BPP()
      img_format_t
      img_lib_attach()
      img_lib_detach()
      img_load()
      img_load_file()
      img_load_resize_file()
      img_resize_fs()
      img_rotate_ortho()
      img_t
      img_write()
      img_write_file()
      in8()
      in8s()
      in16(), inbe16(), inle16()
      in16s()
      in32(), inbe32(), inle32()
      in32s()
      index()
      inet_addr()
      inet_aton()
      inet_lnaof()
      inet_makeaddr()
      inet_net_ntop()
      inet_netof()
      inet_net_pton()
      inet_network()
      inet_ntoa()
      inet_ntoa_r()
      inet_ntop()
      inet_pton()
      INET6
      inet6_option_alloc()
      inet6_option_append()
      inet6_option_find()
      inet6_option_init()
      inet6_option_next()
      inet6_option_space()
      inet6_rthdr_add()
      inet6_rthdr_getaddr()
      inet6_rthdr_getflags()
      inet6_rthdr_init()
      inet6_rthdr_lasthop()
      inet6_rthdr_reverse()
      inet6_rthdr_segments()
      inet6_rthdr_space()
      initgroups()
      initstate()
      inotify_add_watch()
      inotify_event
      inotify_init()
      inotify_rm_watch()
      input_line()
      insque()
      InterruptAttach(), InterruptAttach_r()
      InterruptAttachEvent(), InterruptAttachEvent_r()
      InterruptCharacteristic(), InterruptCharacteristic_r()
      InterruptDetach(), InterruptDetach_r()
      InterruptDisable()
      InterruptEnable()
      InterruptHookIdle()
      InterruptHookTrace()
      InterruptLock()
      InterruptMask()
      InterruptStatus()
      InterruptUnlock()
      InterruptUnmask()
      InterruptWait(), InterruptWait_r()
      _intr_v86()
      _io_connect
      _io_connect_ftype_reply
      _io_connect_link_reply
      io_close()
      io_open()
      ioctl(), ioctl_socket()
      iofdinfo()
      iofunc_attr_init()
      iofunc_attr_lock()
      iofunc_attr_t
      iofunc_attr_trylock()
      iofunc_attr_unlock()
      iofunc_check_access()
      iofunc_chmod()
      iofunc_chmod_default()
      iofunc_chown()
      iofunc_chown_default()
      iofunc_client_info_ext()
      iofunc_client_info_ext_free()
      iofunc_close_dup()
      iofunc_close_dup_default()
      iofunc_close_ocb()
      iofunc_close_ocb_default()
      iofunc_devctl()
      iofunc_devctl_default()
      iofunc_devctl_verify()
      iofunc_fdinfo()
      iofunc_fdinfo_default()
      iofunc_func_init()
      iofunc_link()
      iofunc_lock()
      iofunc_lock_calloc()
      iofunc_lock_default()
      iofunc_lock_free()
      iofunc_lock_ocb_default()
      iofunc_lseek()
      iofunc_lseek_default()
      iofunc_mknod()
      iofunc_mmap()
      iofunc_mmap_default()
      iofunc_notify()
      iofunc_notify_remove()
      iofunc_notify_trigger()
      iofunc_ocb_attach()
      iofunc_ocb_calloc()
      iofunc_ocb_detach()
      iofunc_ocb_free()
      iofunc_ocb_t
      iofunc_open()
      iofunc_open_default()
      iofunc_openfd()
      iofunc_openfd_default()
      iofunc_pathconf()
      iofunc_pathconf_default()
      iofunc_read_default()
      iofunc_read_verify()
      iofunc_readlink()
      iofunc_rename()
      iofunc_space_verify()
      iofunc_stat()
      iofunc_stat_default()
      iofunc_sync()
      iofunc_sync_default()
      iofunc_sync_verify()
      iofunc_time_update()
      iofunc_unblock()
      iofunc_unblock_default()
      iofunc_unlink()
      iofunc_unlock_ocb_default()
      iofunc_utime()
      iofunc_utime_default()
      iofunc_write_default()
      iofunc_write_verify()
      ionotify()
      IP
      IPsec
      ipsec_dump_policy()
      ipsec_get_policylen()
      ipsec_set_policy()
      ipsec_strerror()
      IPv6
      iruserok(), iruserok_sa()
      isalnum()
      isalpha()
      isascii()
      isatty()
      isblank()
      iscntrl()
      isdigit()
      isfdtype()
      isfinite()
      isgraph()
      isinf()
      islower()
      isnan()
      isprint()
      ispunct()
      isspace()
      isupper()
      iswalnum()
      iswalpha()
      iswblank()
      iswcntrl()
      iswctype()
      iswdigit()
      iswgraph()
      iswlower()
      iswprint()
      iswpunct()
      iswspace()
      iswupper()
      iswxdigit()
      isxdigit()
      itoa()
    J
      j0(), j0f()
      j1(), j1f()
      jn(), jnf()
      jrand48()
    K
      kill()
      killpg()
    L
      labs()
      lchown()
      lcong48()
      ldexp(), ldexpf(), ldexpl()
      ldiv(), lldiv()
      lfind()
      lgamma(), lgamma_r(), lgammaf(), lgammaf_r()
      link()
      lio_listio(), lio_listio64()
      listen()
      llabs()
      localeconv()
      localtime()
      localtime_r()
      lockf(), lockf64()
      log(), logf(), logl()
      log10(), log10f(), log10l()
      log1p(), log1pf(), log1pl()
      logb(), logbf()
      login_tty()
      longjmp()
      lrand48()
      lsearch()
      lseek(), lseek64()
      lstat(), lstat64()
      ltoa(), lltoa()
      ltrunc()
    M
      main()
      mallinfo()
      malloc()
      mallopt()
      max()
      mblen()
      mbrlen()
      mbrtowc()
      mbsinit()
      mbsrtowcs()
      mbstowcs()
      mbtowc()
      mcheck()
      mem_offset(), mem_offset64()
      memalign()
      memccpy()
      memchr()
      memcmp()
      memcpy()
      memcpyv()
      memicmp()
      memmove()
      memset()
      memset_s()
      message_attach()
      message_connect()
      message_detach()
      min()
      mkdir()
      mkfifo()
      mknod()
      mkstemp()
      mktemp()
      mktime()
      mlock()
      mlockall()
      mmap(), mmap64()
      mmap_device_io()
      mmap_device_memory()
      modem_open()
      modem_read()
      modem_script()
      modem_write()
      modf(), modff()
      mount()
      mount_parse_generic_args()
      mprobe()
      mprotect()
      mq_close()
      mq_getattr()
      mq_notify()
      mq_open()
      mq_receive()
      mq_send()
      mq_setattr()
      mq_timedreceive(), mq_timedreceive_monotonic()
      mq_timedsend(), mq_timedsend_monotonic()
      mq_unlink()
      mrand48()
      _msg_info
      MsgCurrent(), MsgCurrent_r()
      MsgDeliverEvent(), MsgDeliverEvent_r()
      MsgError(), MsgError_r()
      MsgInfo(), MsgInfo_r()
      MsgKeyData(), MsgKeyData_r()
      MsgRead(), MsgRead_r()
      MsgReadv(), MsgReadv_r()
      MsgReceive(), MsgReceive_r()
      MsgReceivePulse(), MsgReceivePulse_r()
      MsgReceivePulsev(), MsgReceivePulsev_r()
      MsgReceivev(), MsgReceivev_r()
      MsgReply(), MsgReply_r()
      MsgReplyv(), MsgReplyv_r()
      MsgSend(), MsgSend_r()
      MsgSendnc(), MsgSendnc_r()
      MsgSendPulse(), MsgSendPulse_r()
      MsgSendsv(), MsgSendsv_r()
      MsgSendsvnc(), MsgSendsvnc_r()
      MsgSendv(), MsgSendv_r()
      MsgSendvnc(), MsgSendvnc_r()
      MsgSendvs(), MsgSendvs_r()
      MsgSendvsnc(), MsgSendvsnc_r()
      MsgVerifyEvent(), MsgVerifyEvent_r()
      MsgWrite(), MsgWrite_r()
      MsgWritev(), MsgWritev_r()
      msync()
      munlock()
      munlockall()
      munmap()
      munmap_device_io()
      munmap_device_memory()
      munmap_flags()
    N
      name_attach()
      name_close()
      name_detach()
      name_open()
      nanosleep()
      nanospin()
      nanospin_calibrate()
      nanospin_count()
      nanospin_ns()
      nanospin_ns_to_count()
      nap()
      napms()
      nbaconnect()
      nbaconnect_result()
      ncurses
      ND_NODE_CMP()
      netent
      netmgr_ndtostr()
      netmgr_remote_nd()
      netmgr_strtond()
      nextafter(), nextafterf()
      nftw(), nftw64()
      nice()
      nrand48()
      nsec2timespec()
      ntohl()
      ntohs()
    O
      offsetof()
      OMAPI
      open(), open64()
      opendir()
      openfd()
      openlog()
      openpty()
      out8()
      out8s()
      out16(), outbe16(), outle16()
      out16s()
      out32(), outbe32(), outle32()
      out32s()
    P
      pathconf()
      pathfind(), pathfind_r()
      pathmgr_symlink()
      pathmgr_unlink()
      pause()
      pccard_arm()
      pccard_attach()
      pccard_detach()
      pccard_info()
      pccard_lock()
      pccard_raw_read()
      pccard_unlock()
      pci_attach()
      pci_attach_device()
      pci_detach()
      pci_detach_device()
      pci_find_class()
      pci_find_device()
      pci_irq_routing_options()
      pci_map_irq()
      pci_present()
      pci_read_config()
      pci_read_config8()
      pci_read_config16()
      pci_read_config32()
      pci_rescan_bus()
      pci_write_config()
      pci_write_config8()
      pci_write_config16()
      pci_write_config32()
      pclose()
      perror()
      pipe()
      poll()
      popen()
      posix_fadvise(), posix_fadvise64()
      posix_fallocate(), posix_fallocate64()
      posix_madvise()
      posix_mem_offset(), posix_mem_offset64()
      posix_memalign()
      posix_openpt()
      posix_spawn(), posix_spawnp()
       posix_spawn_file_actions_addclose()
       posix_spawn_file_actions_adddup2()
       posix_spawn_file_actions_addopen()
       posix_spawn_file_actions_destroy()
       posix_spawn_file_actions_init()
       posix_spawnattr_addpartid()
       posix_spawnattr_addpartition()
       posix_spawnattr_destroy()
       posix_spawnattr_getcred()
       posix_spawnattr_getflags()
       posix_spawnattr_getnode()
       posix_spawnattr_getpartid()
       posix_spawnattr_getpgroup()
       posix_spawnattr_getrunmask()
       posix_spawnattr_getschedparam()
       posix_spawnattr_getschedpolicy()
       posix_spawnattr_getsigdefault()
       posix_spawnattr_getsigignore()
       posix_spawnattr_getsigmask()
       posix_spawnattr_getstackmax()
       posix_spawnattr_getxflags()
       posix_spawnattr_init()
       posix_spawnattr_setcred()
      posix_spawnattr_setflags()
       posix_spawnattr_setnode()
       posix_spawnattr_setpgroup()
       posix_spawnattr_setrunmask()
       posix_spawnattr_setschedparam()
       posix_spawnattr_setschedpolicy()
       posix_spawnattr_setsigdefault()
       posix_spawnattr_setsigignore()
       posix_spawnattr_setsigmask()
       posix_spawnattr_setstackmax()
      posix_spawnattr_setxflags()
      posix_typed_mem_get_info()
      posix_typed_mem_open()
      pow(), powf(), powl()
      pread(), pread64()
      printf()
      procmgr_ability()
      procmgr_daemon()
      procmgr_event_notify()
      procmgr_event_notify_add()
      procmgr_event_notify_delete()
      procmgr_event_trigger()
      procmgr_guardian()
      procmgr_session()
      procmgr_timer_tolerance()
      procmgr_value_current()
      procmgr_value_notify_add()
      __progname
      protoent
      pthread_abort()
      pthread_atfork()
      pthread_attr_destroy()
      pthread_attr_getdetachstate()
      pthread_attr_getguardsize()
      pthread_attr_getinheritsched()
      pthread_attr_getschedparam()
      pthread_attr_getschedpolicy()
      pthread_attr_getscope()
      pthread_attr_getstack()
      pthread_attr_getstackaddr()
      pthread_attr_getstacklazy()
      pthread_attr_getstackprealloc()
      pthread_attr_getstacksize()
      pthread_attr_init()
      pthread_attr_setdetachstate()
      pthread_attr_setguardsize()
      pthread_attr_setinheritsched()
      pthread_attr_setschedparam()
      pthread_attr_setschedpolicy()
      pthread_attr_setscope()
      pthread_attr_setstack()
      pthread_attr_setstackaddr()
      pthread_attr_setstacklazy()
      pthread_attr_setstackprealloc()
      pthread_attr_setstacksize()
      pthread_barrier_destroy()
      pthread_barrier_init()
      pthread_barrier_wait()
      pthread_barrierattr_destroy()
      pthread_barrierattr_getpshared()
      pthread_barrierattr_init()
      pthread_barrierattr_setpshared()
      pthread_cancel()
      pthread_cleanup_pop()
      pthread_cleanup_push()
      pthread_cond_broadcast()
      pthread_cond_destroy()
      pthread_cond_init()
      pthread_cond_signal()
      pthread_cond_timedwait()
      pthread_cond_wait()
      pthread_condattr_destroy()
      pthread_condattr_getclock()
      pthread_condattr_getpshared()
      pthread_condattr_init()
      pthread_condattr_setclock()
      pthread_condattr_setpshared()
      pthread_create()
      pthread_detach()
      pthread_equal()
      pthread_exit()
      pthread_getconcurrency()
      pthread_getcpuclockid()
      pthread_getname_np()
      pthread_getschedparam()
      pthread_getspecific()
      pthread_join()
      pthread_key_create()
      pthread_key_delete()
      pthread_kill()
      pthread_mutex_destroy()
      pthread_mutex_getprioceiling()
      pthread_mutex_init()
      pthread_mutex_lock()
      pthread_mutex_setprioceiling()
      pthread_mutex_timedlock(), pthread_mutex_timedlock_monotonic()
      pthread_mutex_trylock()
      pthread_mutex_unlock()
      pthread_mutex_wakeup_np()
      pthread_mutexattr_destroy()
      pthread_mutexattr_getprioceiling()
      pthread_mutexattr_getprotocol()
      pthread_mutexattr_getpshared()
      pthread_mutexattr_getrecursive()
      pthread_mutexattr_gettype()
      pthread_mutexattr_getwakeup_np()
      pthread_mutexattr_init()
      pthread_mutexattr_setprioceiling()
      pthread_mutexattr_setprotocol()
      pthread_mutexattr_setpshared()
      pthread_mutexattr_setrecursive()
      pthread_mutexattr_settype()
      pthread_mutexattr_setwakeup_np()
      pthread_once()
      pthread_rwlock_destroy()
      pthread_rwlock_init()
      pthread_rwlock_rdlock()
      pthread_rwlock_timedrdlock()
      pthread_rwlock_timedwrlock()
      pthread_rwlock_tryrdlock()
      pthread_rwlock_trywrlock()
      pthread_rwlock_unlock()
      pthread_rwlock_wrlock()
      pthread_rwlockattr_destroy()
      pthread_rwlockattr_getpshared()
      pthread_rwlockattr_init()
      pthread_rwlockattr_setpshared()
      pthread_self()
      pthread_setcancelstate()
      pthread_setcanceltype()
      pthread_setconcurrency()
      pthread_setname_np()
      pthread_setschedparam()
      pthread_setschedprio()
      pthread_setspecific()
      pthread_sigmask()
      pthread_sleepon_broadcast()
      pthread_sleepon_lock()
      pthread_sleepon_signal()
      pthread_sleepon_timedwait()
      pthread_sleepon_unlock()
      pthread_sleepon_wait()
      pthread_spin_destroy()
      pthread_spin_init()
      pthread_spin_lock()
      pthread_spin_trylock()
      pthread_spin_unlock()
      pthread_testcancel()
      pthread_timedjoin(), pthread_timedjoin_monotonic()
      ptsname()
      ptsname_r()
      _pulse
      pulse_attach()
      pulse_detach()
      putc()
      putc_unlocked()
      putchar()
      putchar_unlocked()
      putenv()
      puts()
      putspent()
      pututline()
      putw()
      putwc()
      putwchar()
      pwrite(), pwrite64()
    Q
      qnx_crypt()
      qsort()
    R
      Raccept()
      raise()
      rand()
      rand_r()
      random()
      Rbind()
      rcmd(), rcmd_af()
      Rconnect()
      rdchk()
      re_comp()
      re_exec()
      read()
      read_main_config_file()
      readblock()
      readcond()
      readdir(), readdir64()
      readdir_r()
      readlink()
      readv()
      realloc()
      realpath()
      recv()
      recvfrom()
      recvmsg()
      regcomp()
      regerror()
      regexec()
      regfree()
      remainder(), remainderf(), remainderl()
      remove()
      remque()
      rename()
      res_init()
      res_mkquery()
      res_query()
      res_querydomain()
      res_search()
      res_send()
      resmgr_attach()
      resmgr_block()
      resmgr_connect_funcs_t
      resmgr_context_alloc()
      resmgr_context_free()
      resmgr_context_t
      resmgr_detach()
      resmgr_devino()
      resmgr_handle_grow()
      resmgr_handle_tune()
      resmgr_handler()
      resmgr_io_funcs_t
      resmgr_iofuncs()
      resmgr_msg_again()
      resmgr_msgread()
      resmgr_msgreadv()
      resmgr_msgreply()
      resmgr_msgreplyv()
      resmgr_msgwrite()
      resmgr_msgwritev()
      _RESMGR_NPARTS()
      resmgr_ocb()
      resmgr_open_bind()
      resmgr_pathname()
      _RESMGR_PTR()
      _RESMGR_STATUS()
      resmgr_unbind()
      rewind()
      rewinddir()
      Rgetsockname()
      rindex()
      rint(), rintf(), rintl()
      Rlisten()
      rmdir()
      round(), roundf(), roundl()
      ROUTE
      Rrcmd()
      rresvport(), rresvport_af()
      Rselect()
      rsrcdbmgr_attach()
      rsrcdbmgr_create()
      rsrcdbmgr_destroy()
      rsrcdbmgr_detach()
      rsrcdbmgr_devno_attach()
      rsrcdbmgr_devno_detach()
      rsrcdbmgr_query_name()
      ruserok()
    S
      sbrk()
      scalb()
      scalbn(), scalbnf()
      _scalloc()
      scandir()
      scanf()
      sched_getparam()
      sched_get_priority_adjust()
      sched_get_priority_max()
      sched_get_priority_min()
      sched_getscheduler()
      sched_param
      sched_rr_get_interval()
      sched_setparam()
      sched_setscheduler()
      sched_yield()
      SchedCtl(), SchedCtl_r()
      SchedGet(), SchedGet_r()
      SchedInfo(), SchedInfo_r()
      SchedSet(), SchedSet_r()
      SchedYield(), SchedYield_r()
      searchenv()
      seed48()
      seekdir()
      select()
      select_attach()
      select_detach()
      select_query()
      sem_close()
      sem_destroy()
      sem_getvalue()
      sem_init()
      sem_open()
      sem_post()
      sem_timedwait(), sem_timedwait_monotonic()
      sem_trywait()
      sem_unlink()
      sem_wait()
      send()
      sendmsg()
      sendto()
      servent
      set_lowest_fd()
      setbuf()
      setbuffer()
      setdomainname()
      setegid()
      setenv()
      seteuid()
      setgid()
      setfsent()
      setgrent()
      setgroups()
      sethostent()
      sethostname()
      SETIOV()
      setitimer()
      setjmp()
      setkey()
      setlinebuf()
      setlocale()
      setlogmask()
      setnetent()
      setpgid()
      setpgrp()
      setprio()
      setprotoent()
      setpwent()
      setregid()
      setreuid()
      setrlimit(), setrlimit64()
      setservent()
      setsid()
      setsockopt()
      setspent()
      setstate()
      settimeofday()
      setuid()
      setutent()
      setvbuf()
      _sfree()
      shm_ctl()
      shm_ctl_special()
      shm_open()
      shm_unlink()
      shutdown()
      shutdown_system()
      sigaction()
      sigaddset()
      sigblock()
      sigdelset()
      sigemptyset()
      sigevent
      sigfillset()
      sigismember()
      siglongjmp()
      sigmask()
      signal()
      SignalAction(), SignalAction_r()
      SignalKill(), SignalKill_r()
      SignalProcmask(), SignalProcmask_r()
      SignalSuspend(), SignalSuspend_r()
      SignalWaitinfo(), SignalWaitinfo_r()
      sigpause()
      sigpending()
      sigprocmask()
      sigqueue()
      sigsetjmp()
      sigsetmask()
      sigsuspend()
      sigtimedwait()
      sigunblock()
      sigwait()
      sigwaitinfo()
      sin(), sinf(), sinl()
      sinh(), sinhf(), sinhl()
      sleep()
      _sleepon_broadcast()
      _sleepon_destroy()
      _sleepon_init()
      _sleepon_lock()
      _sleepon_signal()
      _sleepon_unlock()
      _sleepon_wait()
      slog2c()
      slog2f()
      slog2fa()
      slog2_get_verbosity()
      slog2_register()
      slog2_reset()
      slog2_set_default_buffer()
      slog2_set_verbosity()
      slogb()
      slogf()
      slogi()
      _smalloc()
      snmp_close()
      snmp_free_pdu()
      snmp_open()
      snmp_pdu
      snmp_pdu_create()
      snmp_read()
      snmp_select_info()
      snmp_send()
      snmp_session
      snmp_timeout()
      snprintf()
      sockatmark()
      socket()
      socketpair()
      SOCKSinit()
      sopen()
      sopenfd()
      spawn()
      spawnl()
      spawnle()
      spawnlp()
      spawnlpe()
      spawnp()
      spawnv()
      spawnve()
      spawnvp()
      spawnvpe()
      sprintf()
      sqrt(), sqrtf(), sqrtl()
      srand()
      srand48()
      srandom()
      _srealloc()
      sscanf()
      stat(), stat64()
      statvfs(), statvfs64()
      stderr
      stdin
      stdout
      straddstr()
      strcasecmp()
      strcat()
      strchr()
      strcmp()
      strcmpi()
      strcoll()
      strcpy()
      strcspn()
      strdup()
      strerror()
      strerror_r()
      strftime()
      stricmp()
      strlcat(), strlcpy()
      strlen()
      strlwr()
      strncasecmp()
      strncat()
      strncmp()
      strncpy()
      strnicmp()
      strnset()
      strpbrk()
      strptime()
      strrchr()
      strrev()
      strsep()
      strset()
      strsignal()
      strspn()
      strstr()
      strtod(), strtof(), strtold()
      strtoimax(), strtoumax()
      strtok()
      strtok_r()
      strtol(), strtoll()
      strtoul(), strtoull()
      strupr()
      strxfrm()
      swab()
      swprintf()
      swscanf()
      symlink()
      sync()
      SyncCondvarSignal(), SyncCondvarSignal_r()
      SyncCondvarWait(), SyncCondvarWait_r()
      SyncCtl(), SyncCtl_r()
      SyncDestroy(), SyncDestroy_r()
      SyncMutexEvent(), SyncMutexEvent_r()
      SyncMutexLock(), SyncMutexLock_r()
      SyncMutexRevive(), SyncMutexRevive_r()
      SyncMutexUnlock(), SyncMutexUnlock_r()
      SyncSemPost(), SyncSemPost_r()
      SyncSemWait(), SyncSemWait_r()
      SyncTypeCreate(), SyncTypeCreate_r()
      sysconf()
      sysctl()
      syslog()
      sysmgr_reboot()
      sysmgr_runstate(), sysmgr_runstate_dynamic()
      sysmgr_runstate_burst()
      SYSPAGE_CPU_ENTRY()
      SYSPAGE_ENTRY()
      _syspage_ptr
      system()
    T
      tan(), tanf(), tanl()
      tanh(), tanhf(), tanhl()
      tcdrain()
      tcdropline()
      tcflow()
      tcflush()
      tcgetattr()
      tcgetpgrp()
      tcgetsid()
      tcgetsize()
      tcinject()
      tcischars()
      TCP
      tcsendbreak()
      tcsetattr()
      tcsetpgrp()
      tcsetsid()
      tcsetsize()
      tell(), tell64()
      telldir()
      tempnam()
      termios
      thread_pool_control()
      thread_pool_create()
      thread_pool_destroy()
      thread_pool_limits()
      thread_pool_start()
      ThreadCancel(), ThreadCancel_r()
      ThreadCreate(), ThreadCreate_r()
      ThreadCtl(), ThreadCtl_r()
      ThreadDestroy(), ThreadDestroy_r()
      ThreadDetach(), ThreadDetach_r()
      ThreadJoin(), ThreadJoin_r()
      time()
      timer_create()
      timer_delete()
      timer_getexpstatus()
      timer_getoverrun()
      timer_gettime()
      timer_settime()
      timer_timeout(), timer_timeout_r()
      TimerAlarm(), TimerAlarm_r()
      TimerCreate(), TimerCreate_r()
      TimerDestroy(), TimerDestroy_r()
      TimerInfo(), TimerInfo_r()
      TimerSettime(), TimerSettime_r()
      TimerTimeout(), TimerTimeout_r()
      times()
      timespec
      timespec2nsec()
      timezone
      tm
      tmpfile(), tmpfile64()
      tmpnam()
      tolower()
      toupper()
      towctrans()
      towlower()
      towupper()
      trace_func_enter()
      trace_func_exit()
      trace_here()
      trace_logb()
      trace_logbc()
      trace_logf()
      trace_logi()
      trace_nlogf()
      trace_vnlogf()
      TraceEvent()
      traceparser()
      traceparser_cs()
      traceparser_cs_range()
      traceparser_debug()
      traceparser_destroy()
      traceparser_get_info()
      traceparser_init()
      truncate(), truncate64()
      ttyname()
      ttyname_r()
      tzname
      tzset()
    U
      ualarm()
      UDP
      ultoa(), ulltoa()
      umask()
      umount()
      UNALIGNED_PUT16()
      UNALIGNED_PUT32()
      UNALIGNED_PUT64()
      UNALIGNED_RET16()
      UNALIGNED_RET32()
      UNALIGNED_RET64()
      uname()
      ungetc()
      ungetwc()
      UNIX
      unlink()
      unlockpt()
      unsetenv()
      usleep()
      utime()
      utimes()
      utmp
      utmpname()
      utoa()
    V
      va_arg()
      va_copy()
      va_end()
      va_start()
      valloc()
      verr(), verrx()
      vfork()
      vfprintf()
      vfscanf()
      vfwprintf()
      vfwscanf()
      vprintf()
      vscanf()
      vslog2f()
      vslogf()
      vsnprintf()
      vsprintf()
      vsscanf()
      vswprintf()
      vswscanf()
      vsyslog()
      vwarn(), vwarnx()
      vwprintf()
      vwscanf()
    W
      wait()
      wait3()
      wait4()
      waitfor()
      waitid()
      waitpid()
      warn(), warnx()
      wcrtomb()
      wcscat()
      wcschr()
      wcscmp()
      wcscoll()
      wcscpy()
      wcscspn()
      wcsftime()
      wcslen()
      wcsncat()
      wcsncmp()
      wcsncpy()
      wcspbrk()
      wcsrchr()
      wcsrtombs()
      wcsspn()
      wcsstr()
      wcstod(), wcstof(), wcstold()
      wcstoimax(), wcstoumax()
      wcstok()
      wcstol(), wcstoll()
      wcstombs()
      wcstoul(), wcstoull()
      wcsxfrm()
      wctob()
      wctomb()
      wctrans()
      wctype()
      wmemchr()
      wmemcmp()
      wmemcpy()
      wmemmove()
      wmemset()
      wordexp()
      wordfree()
      wprintf()
      write()
      writeblock()
      writev()
      wscanf()
    X
    Y
      y0(), y0f()
      y1(), y1f()
      yn(), ynf()
    Z
    SOCKS — A Basic Firewall
      About SOCKS
      How to SOCKSify a client
      What SOCKS expects
    Full Safety Information
      A
      B
      C
      D
      E
      F
      G
      H
      I
      J
      K
      L
      M
      N
      O
      P
      Q
      R
      S
      T
      U
      V
      W
      Y
    What's New in this Reference?
      What's new in QNX Neutrino 6.5.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.5.0?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.4.1?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Neutrino 6.4.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.2?
        Errata
      What's new in the QNX Neutrino Core OS 6.3.2?
        New entries
        Changed content
      What's new in QNX Neutrino 6.3.0 Service Pack 2?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.0?
        New entries
        Deprecated content
      What's new in QNX Neutrino 6.2.1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.2?
        New entries
        Deprecated content
        Errata
      What's new in QNX Neutrino 6.1.0?
        New entries
        Deprecated content
    Glossary
  Core Networking Stack
    User's Guide
      Overview
        What's new in the networking stack?
        Architecture of io-pkt
        Threading model
        Threading priorities
        Components of core networking
      Packet Filtering
        Packet Filters
        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
        Supported hardware crypto engines
      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
        TDP and io-pkt
        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
      Migrating from io-net
        Overview
        Compatibility between io-net and io-pkt
        Compatibility issues
        Behavioral differences
        Simultaneous support
        Discontinued features
        Using pfil hooks to implement an io-net filter
      Glossary
    Porting Drivers from io-net to io-pkt
      Porting an io-net driver to io-pkt
        Shim and io-net drivers
        Differences between an io-net driver and an io-pkt driver
          Initialization
          Transmit
          Receive
          Link State Change Handling
          Control (e.g. devctl() and ioctl())
          Shutdown
        Threading
        Mutexing
  Dinkum C and C++ Libraries
    Dinkum C99 Library
      <assert.h>
        assert
      <complex.h>
        abs, fabs, cabs, cabsf, cabsl
        acos, cacos, cacosf, cacosl
        acosh, cacosh, cacoshf, cacoshl
        arg, carg, cargf, cargl
        asin, casin, casinf, casinl
        asinh, casinh, casinhf, casinhl
        atan, catan, catanf, catanl
        atanh, catanh, catanhf, catanhl
        complex
        _Complex_I
        conj, conjf, conjl
        cos, ccos, ccosf, ccosl
        cosh, ccosh, ccoshf, ccoshl
        cproj, cprojf, cprojl
        exp, cexp, cexpf, cexpl
        I
        imag, cimag, cimagf, cimagl
        imaginary
        _Imaginary_I
        log, clog, clogf, clogl
        pow, cpow, cpowf, cpowl
        real, creal, crealf, creall
        sin, csin, csinf, csinl
        sinh, csinh, csinhf, csinhl
        sqrt, csqrt, csqrtf, csqrtl
        tan, ctan, ctanf, ctanl
        tanh, ctanh, ctanhf, ctanhl
      <ctype.h>
        isalnum
        isalpha
        isblank
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <fenv.h>
        FE_ALL_EXCEPT
        FE_DFL_ENV
        FE_DIVBYZERO
        FE_DOWNWARD
        FE_INEXACT
        FE_INVALID
        FE_TONEAREST
        FE_TOWARDZERO
        FE_OVERFLOW
        FE_UNDERFLOW
        FE_UPWARD
        fenv_t
        feclearexcept
        fegettrapenable
        fegetenv
        fegetexceptflag
        fegetround
        feholdexcept
        feraiseexcept
        fesetenv
        fesettrapenable
        fesetexceptflag
        fesetround
        fetestexcept
        feupdateenv
        fexcept_t
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        DECIMAL_DIG
        FLT_DIG
        FLT_EPSILON
        FLT_EVAL_METHOD
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <inttypes.h>
        imaxabs, abs
        imaxdiv, div
        imaxdiv_t
        PRId8, PRId16, PRId32, PRId64
        PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64
        PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64
        PRIdMAX
        PRIdPTR
        PRIi8, PRIi16, PRIi32, PRIi64
        PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64
        PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64
        PRIiMAX
        PRIiPTR
        PRIo8, PRIo16, PRIo32, PRIo64
        PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64
        PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64
        PRIoMAX
        PRIoPTR
        PRIu8, PRIu16, PRIu32, PRIu64
        PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64
        PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64
        PRIuMAX
        PRIuPTR
        PRIx8, PRIx16, PRIx32, PRIx64
        PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64
        PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64
        PRIxMAX
        PRIxPTR
        PRIX8, PRIX16, PRIX32, PRIX64
        PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64
        PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64
        PRIXMAX
        PRIXPTR
        SCNd8, SCNd16, SCNd32, SCNd64
        SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64
        SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64
        SCNdMAX
        SCNdPTR
        SCNi8, SCNi16, SCNi32, SCNi64
        SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64
        SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64
        SCNiMAX
        SCNiPTR
        SCNo8, SCNo16, SCNo32, SCNo64
        SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64
        SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64
        SCNoMAX
        SCNoPTR
        SCNu8, SCNu16, SCNu32, SCNu64
        SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64
        SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64
        SCNuMAX
        SCNuPTR
        SCNx8, SCNx16, SCNx32, SCNx64
        SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64
        SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64
        SCNxMAX
        SCNxPTR
        strtoimax
        strtoumax
        wcstoimax
        wcstoumax
      <iohw.h>
      <iso646.h>
        and
        and_eq
        bitand
        bitor
        compl
        not
        not_eq
        or
        or_eq
        xor
        xor_eq
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LLONG_MAX
        LLONG_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULLONG_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        abs, fabs, fabsf, fabsl
        acos, acosf, acosl
        acosh, acoshf, acoshl
        asin, asinf, asinl
        asinh, asinhf, asinhl
        atan, atanf, atanl
        atan2, atan2f, atan2l
        atanh, atanhf, atanhl
        cbrt, cbrtf, cbrtl
        ceil, ceilf, ceill
        copysign, copysignf, copysignl
        cos, cosf, cosl
        cosh, coshf, coshl
        double_t
        erf, erff, erfl
        erfc, erfcf, erfcl
        exp, expf, expl
        expm1, expm1f, expm1l
        exp2, exp2f, exp2l
        fdim, fdimf, fdiml
        float_t
        floor, floorf, floorl
        fma, fmaf, fmal
        fmax, fmaxf, fmaxl
        fmin, fminf, fminl
        fmod, fmodf, fmodl
        fpclassify
        FP_FAST_FMA
        FP_FAST_FMAF
        FP_FAST_FMAL
        FP_ILOGB0
        FP_ILOGBNAN
        FP_INFINITE
        FP_NAN
        FP_NORMAL
        FP_SUBNORMAL
        FP_ZERO
        frexp, frexpf, frexpl
        HUGE_VAL
        HUGE_VALF
        HUGE_VALL
        hypot, hypotf, hypotl
        ilogb, ilogbf, ilogbl
        INFINITY
        isfinite
        isgreater
        isgreaterequal
        isinf
        isless
        islessequal
        islessgreater
        isnan
        isnormal
        isunordered
        ldexp, ldexpf, ldexpl
        lgamma, lgammaf, lgammal
        llrint, llrintf, llrintl
        llround, llroundf, llroundl
        log, logf, logl
        log10, log10f, log10l
        log1p, log1pf, log1pl
        log2, log2f, log2l
        logb, logbf, logbl
        lrint, lrintf, lrintl
        lround, lroundf, lroundl
        MATH_ERRNO
        MATH_ERREXCEPT
        math_errhandling
        modf, modff, modfl
        NAN
        nan, nanf, nanl
        nearbyint, nearbyintf, nearbyintl
        nextafter, nextafterf, nextafterl
        nexttoward, nexttowardf, nexttowardl
        pow, powf, powl
        remainder, remainderf, remainderl
        remquo, remquof, remquol
        rint, rintf, rintl
        round, roundf, roundl
        scalbln, scalblnf, scalblnl
        scalbn, scalbnf, scalbnl
        signbit
        sin, sinf, sinl
        sinh, sinhf, sinhl
        sqrt, sqrtf, sqrtl
        tan, tanf, tanl
        tanh, tanhf, tanhl
        tgamma, tgammaf, tgammal
        trunc, truncf, truncl
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_copy
        va_end
        va_list
        va_start
      <stdbool.h>
        __bool_true_false_are_defined
        bool
        false
        true
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdint.h>
        INT8_C, INT16_C, INT32_C, INT64_C
        INT8_MAX, INT16_MAX, INT32_MAX, INT64_MAX
        INT8_MIN, INT16_MIN, INT32_MIN, INT64_MIN
        int8_t, int16_t, int32_t, int64_t
        INT_FAST8_MAX, INT_FAST16_MAX, INT_FAST32_MAX, INT_FAST64_MAX
        INT_FAST8_MIN, INT_FAST16_MIN, INT_FAST32_MIN, INT_FAST64_MIN
        int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t
        INT_LEAST8_MAX, INT_LEAST16_MAX, INT_LEAST32_MAX, INT_LEAST64_MAX
        INT_LEAST8_MIN, INT_LEAST16_MIN, INT_LEAST32_MIN, INT_LEAST64_MIN
        int_least8_t, int_least16_t, int_least32_t, int_least64_t
        INTMAX_C
        INTMAX_MAX
        INTMAX_MIN
        intmax_t
        INTPTR_MAX
        INTPTR_MIN
        intptr_t
        PTRDIFF_MAX
        PTRDIFF_MIN
        SIG_ATOMIC_MAX
        SIG_ATOMIC_MIN
        SIZE_MAX
        UINT8_C, UINT16_C, UINT32_C, UINT64_C
        UINT8_MAX, UINT16_MAX, UINT32_MAX, UINT64_MAX
        uint8_t, uint16_t, uint32_t, uint64_t
        UINT_FAST8_MAX, UINT_FAST16_MAX, UINT_FAST32_MAX, UINT_FAST64_MAX
        uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t
        UINT_LEAST8_MAX, UINT_LEAST16_MAX, UINT_LEAST32_MAX, UINT_LEAST64_MAX
        uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t
        UINTMAX_C
        UINTMAX_MAX
        uintmax_t
        UINTPTR_MAX
        uintptr_t
        WCHAR_MAX
        WCHAR_MIN
        WINT_MAX
        WINT_MIN
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        snprintf
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vfscanf
        vprintf
        vscanf
        vsnprintf
        vsprintf
        vsscanf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        atoll
        bsearch
        calloc
        div
        div_t
        exit
        _Exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        llabs
        ldiv
        lldiv
        ldiv_t
        lldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtof
        strtol
        strtold
        strtoll
        strtoul
        strtoull
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <tgmath.h>
        acos
        acosh
        carg
        asin
        asinh
        atan
        atan2
        atanh
        cbrt
        ceil
        cimag
        conj
        copysign
        cos
        cosh
        cproj
        creal
        erf
        erfc
        exp
        exp2
        expm1
        fabs
        fdim
        floor
        fma
        fmax
        fmin
        fmod
        frexp
        hypot
        ilogb
        ldexp
        lgamma
        llrint
        llround
        log
        log10
        log1p
        log2
        logb
        lrint
        lround
        modf
        nearbyint
        nextafter
        nexttoward
        pow
        remainder
        remquo
        rint
        round
        scalbln
        scalbn
        sin
        sinh
        sqrt
        tan
        tanh
        tgamma
        trunc
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <uchar.h>
        c16rtomb
        c32rtomb
        char16_t
        char32_t
        mbrtoc16
        mbrtoc32
        mbstate_t
        NULL
        size_t
        __STDC_UTF_16__
        __STDC_UTF_32__
      <wchar.h>
        btowc
        fgetwc
        fgetws
        fputwc
        fputws
        fwide
        fwprintf
        fwscanf
        getwc
        getwchar
        mbrlen
        mbrtowc
        mbsinit
        mbsrtowcs
        mbstate_t
        NULL
        putwc
        putwchar
        size_t
        swprintf
        swscanf
        tm
        ungetwc
        vfwprintf
        vfwscanf
        vswprintf
        vswscanf
        vwprintf
        vwscanf
        WCHAR_MAX
        WCHAR_MIN
        wchar_t
        wcrtomb
        wcscat
        wcschr
        wcscmp
        wcscoll
        wcscpy
        wcscspn
        wcsftime
        wcslen
        wcsncat
        wcsncmp
        wcsncpy
        wcspbrk
        wcsrchr
        wcsrtombs
        wcsspn
        wcsstr
        wcstod
        wcstof
        wcstok
        wcstol
        wcstold
        wcstoll
        wcstoul
        wcstoull
        wcsxfrm
        wctob
        WEOF
        wint_t
        wmemchr
        wmemcmp
        wmemcpy
        wmemmove
        wmemset
        wprintf
        wscanf
      <wctype.h>
        WEOF
        iswalnum
        iswalpha
        iswblank
        iswcntrl
        iswctype
        iswdigit
        iswgraph
        iswlower
        iswprint
        iswpunct
        iswspace
        iswupper
        iswxdigit
        towctrans
        towlower
        towupper
        wctrans
        wctrans_t
        wctype
        wctype_t
        wint_t
      C Library Overview
        Using Standard C Headers
        C Library Conventions
        Program Startup and Termination
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Byte and Wide Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
        Print Conversion Specifiers
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      Preprocessing
      Expressions
      Functions
      Index
    Dinkum C++ Library
      <algorithm>
        adjacent_find
        binary_search
        copy
        copy_backward
        count
        count_if
        equal
        equal_range
        fill
        fill_n
        find
        find_end
        find_first_of
        find_if
        for_each
        generate
        generate_n
        includes
        inplace_merge
        iter_swap
        lexicographical_compare
        lower_bound
        make_heap
        max
        max_element
        merge
        min
        min_element
        mismatch
        next_permutation
        nth_element
        partial_sort
        partial_sort_copy
        partition
        pop_heap
        prev_permutation
        push_heap
        random_shuffle
        remove
        remove_copy
        remove_copy_if
        remove_if
        replace
        replace_copy
        replace_copy_if
        replace_if
        reverse
        reverse_copy
        rotate
        rotate_copy
        search
        search_n
        set_difference
        set_intersection
        set_symmetric_difference
        set_union
        sort
        sort_heap
        stable_partition
        stable_sort
        swap
        swap_ranges
        transform
        unique
        unique_copy
        upper_bound
      <bitset>
        bitset
          bitset::any
          bitset::bitset
          bitset::count
          bitset::element_type
          bitset::flip
          bitset::none
          bitset::operator!=
          bitset::operator&=
          bitset::operator<<
          bitset::operator<<=
          bitset::operator==
          bitset::operator>>
          bitset::operator>>=
          bitset::operator[]
          bitset::operator^=
          bitset::operator|=
          bitset::operator~
          bitset::reference
          bitset::reset
          bitset::set
          bitset::size
          bitset::test
          bitset::to_string
          bitset::to_ulong
        operator&
        operator|
        operator^
        operator<<
        operator>>
      <complex>
        abs
        arg
        complex
          complex::complex
          complex::imag
          complex::operator*=
          complex::operator+=
          complex::operator-=
          complex::operator/=
          complex::operator=
          complex::real
          complex::value_type
        complex<double>
        complex<float>
        complex<long double>
        conj
        cos
        cosh
        exp
        imag
        log
        log10
        norm
        operator!=
        operator*
        operator+
        operator-
        operator/
        operator<<
        operator==
        operator>>
        polar
        pow
        real
        sin
        sinh
        sqrt
        __STD_COMPLEX
        tan
        tanh
      <deque>
        deque
          deque::allocator_type
          deque::assign
          deque::at
          deque::back
          deque::begin
          deque::clear
          deque::const_iterator
          deque::const_pointer
          deque::const_reference
          deque::const_reverse_iterator
          deque::deque
          deque::difference_type
          deque::empty
          deque::end
          deque::erase
          deque::front
          deque::get_allocator
          deque::insert
          deque::iterator
          deque::max_size
          deque::operator[]
          deque::pointer
          deque::pop_back
          deque::pop_front
          deque::push_back
          deque::push_front
          deque::rbegin
          deque::reference
          deque::rend
          deque::resize
          deque::reverse_iterator
          deque::size
          deque::size_type
          deque::swap
          deque::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <exception>
        bad_exception
        exception
        set_terminate
        set_unexpected
        terminate
        terminate_handler
        uncaught_exception
        unexpected
        unexpected_handler
      <fstream>
        basic_filebuf
          basic_filebuf::basic_filebuf
          basic_filebuf::char_type
          basic_filebuf::close
          basic_filebuf::int_type
          basic_filebuf::is_open
          basic_filebuf::off_type
          basic_filebuf::open
          basic_filebuf::overflow
          basic_filebuf::pbackfail
          basic_filebuf::pos_type
          basic_filebuf::seekoff
          basic_filebuf::seekpos
          basic_filebuf::setbuf
          basic_filebuf::sync
          basic_filebuf::traits_type
          basic_filebuf::underflow
        basic_fstream
          basic_fstream::basic_fstream
          basic_fstream::close
          basic_fstream::is_open
          basic_fstream::open
          basic_fstream::rdbuf
        basic_ifstream
          basic_ifstream::basic_ifstream
          basic_ifstream::close
          basic_ifstream::is_open
          basic_ifstream::open
          basic_ifstream::rdbuf
        basic_ofstream
          basic_ofstream::basic_ofstream
          basic_ofstream::close
          basic_ofstream::is_open
          basic_ofstream::open
          basic_ofstream::rdbuf
        filebuf
        fstream
        ifstream
        ofstream
        wfstream
        wifstream
        wofstream
        wfilebuf
      <functional>
        binary_function
        binary_negate
        bind1st
        bind2nd
        binder1st
        binder2nd
        const_mem_fun_t
        const_mem_fun_ref_t
        const_mem_fun1_t
        const_mem_fun1_ref_t
        divides
        equal_to
        greater
        greater_equal
        less
        less_equal
        logical_and
        logical_not
        logical_or
        mem_fun
        mem_fun_ref
        mem_fun_t
        mem_fun_ref_t
        mem_fun1_t
        mem_fun1_ref_t
        minus
        modulus
        multiplies
        negate
        not1
        not2
        not_equal_to
        plus
        ptr_fun
        unary_function
        unary_negate
      <hardware>
      <hash_map>
        hash_compare
        hash_map
          hash_map::allocator_type
          hash_map::begin
          hash_map::clear
          hash_map::const_iterator
          hash_map::const_pointer
          hash_map::const_reference
          hash_map::const_reverse_iterator
          hash_map::count
          hash_map::difference_type
          hash_map::empty
          hash_map::end
          hash_map::equal_range
          hash_map::erase
          hash_map::find
          hash_map::get_allocator
          hash_map::hash_map
          hash_map::insert
          hash_map::iterator
          hash_map::key_comp
          hash_map::key_compare
          hash_map::key_type
          hash_map::lower_bound
          hash_map::mapped_type
          hash_map::max_size
          hash_map::operator[]
          hash_map::pointer
          hash_map::rbegin
          hash_map::reference
          hash_map::rend
          hash_map::reverse_iterator
          hash_map::size
          hash_map::size_type
          hash_map::swap
          hash_map::upper_bound
          hash_map::value_comp
          hash_map::value_compare
          hash_map::value_type
        hash_multimap
          hash_multimap::allocator_type
          hash_multimap::begin
          hash_multimap::clear
          hash_multimap::const_iterator
          hash_multimap::const_pointer
          hash_multimap::const_reference
          hash_multimap::const_reverse_iterator
          hash_multimap::count
          hash_multimap::difference_type
          hash_multimap::empty
          hash_multimap::end
          hash_multimap::equal_range
          hash_multimap::erase
          hash_multimap::find
          hash_multimap::get_allocator
          hash_multimap::hash_multimap
          hash_multimap::insert
          hash_multimap::iterator
          hash_multimap::key_comp
          hash_multimap::key_compare
          hash_multimap::key_type
          hash_multimap::lower_bound
          hash_multimap::mapped_type
          hash_multimap::max_size
          hash_multimap::pointer
          hash_multimap::rbegin
          hash_multimap::reference
          hash_multimap::rend
          hash_multimap::reverse_iterator
          hash_multimap::size
          hash_multimap::size_type
          hash_multimap::swap
          hash_multimap::upper_bound
          hash_multimap::value_comp
          hash_multimap::value_compare
          hash_multimap::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <hash_set>
        hash_multiset
          hash_multiset::allocator_type
          hash_multiset::begin
          hash_multiset::clear
          hash_multiset::const_iterator
          hash_multiset::const_pointer
          hash_multiset::const_reference
          hash_multiset::const_reverse_iterator
          hash_multiset::count
          hash_multiset::difference_type
          hash_multiset::empty
          hash_multiset::end
          hash_multiset::equal_range
          hash_multiset::erase
          hash_multiset::find
          hash_multiset::get_allocator
          hash_multiset::hash_multiset
          hash_multiset::insert
          hash_multiset::iterator
          hash_multiset::key_comp
          hash_multiset::key_compare
          hash_multiset::key_type
          hash_multiset::lower_bound
          hash_multiset::max_size
          hash_multiset::pointer
          hash_multiset::rbegin
          hash_multiset::reference
          hash_multiset::rend
          hash_multiset::reverse_iterator
          hash_multiset::size
          hash_multiset::size_type
          hash_multiset::swap
          hash_multiset::upper_bound
          hash_multiset::value_comp
          hash_multiset::value_compare
          hash_multiset::value_type
        hash_set
          hash_set::allocator_type
          hash_set::begin
          hash_set::clear
          hash_set::const_iterator
          hash_set::const_pointer
          hash_set::const_reference
          hash_set::const_reverse_iterator
          hash_set::count
          hash_set::difference_type
          hash_set::empty
          hash_set::end
          hash_set::equal_range
          hash_set::erase
          hash_set::find
          hash_set::get_allocator
          hash_set::hash_set
          hash_set::insert
          hash_set::iterator
          hash_set::key_comp
          hash_set::key_compare
          hash_set::key_type
          hash_set::lower_bound
          hash_set::max_size
          hash_set::pointer
          hash_set::rbegin
          hash_set::reference
          hash_set::rend
          hash_set::reverse_iterator
          hash_set::size
          hash_set::size_type
          hash_set::swap
          hash_set::upper_bound
          hash_set::value_comp
          hash_set::value_compare
          hash_set::value_type
        swap
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
      <iohw>
      <iomanip>
        resetiosflags
        setbase
        setfill
        setiosflags
        setprecision
        setw
      <ios>
        basic_ios
          basic_ios::bad
          basic_ios::basic_ios
          basic_ios::char_type
          basic_ios::clear
          basic_ios::copyfmt
          basic_ios::eof
          basic_ios::exceptions
          basic_ios::fail
          basic_ios::fill
          basic_ios::good
          basic_ios::imbue
          basic_ios::init
          basic_ios::int_type
          basic_ios::narrow
          basic_ios::off_type
          basic_ios::operator void *
          basic_ios::operator!
          basic_ios::pos_type
          basic_ios::rdbuf
          basic_ios::rdstate
          basic_ios::setstate
          basic_ios::tie
          basic_ios::traits_type
          basic_ios::widen
        boolalpha
        dec
        fixed
        fpos
          fpos::fpos
          fpos::operator!=
          fpos::operator+
          fpos::operator+=
          fpos::operator-
          fpos::operator-=
          fpos::operator==
          fpos::operator streamoff
          fpos::state
        hex
        internal
        ios
        ios_base
          ios_base::event
          ios_base::failure
          ios_base::flags
          ios_base::fmtflags
          ios_base::getloc
          ios_base::imbue
          ios_base::Init
          ios_base::ios_base
          ios_base::iostate
          ios_base::iword
          ios_base::openmode
          ios_base::operator=
          ios_base::precision
          ios_base::pword
          ios_base::seekdir
          ios_base::setf
          ios_base::streamoff
          ios_base::streampos
          ios_base::sync_with_stdio
          ios_base::unsetf
          ios_base::width
          ios_base::xalloc
        left
        noboolalpha
        noshowbase
        noshowpoint
        noshowpos
        noskipws
        nounitbuf
        nouppercase
        oct
        right
        scientific
        showbase
        showpoint
        showpos
        skipws
        streamoff
        streampos
        streamsize
        unitbuf
        uppercase
        wios
        wstreampos
      <iosfwd>
      <iostream>
        cerr
        cin
        clog
        cout
        wcerr
        wcin
        wclog
        wcout
      <istream>
        basic_iostream
        basic_istream
          basic_istream::basic_istream
          basic_istream::gcount
          basic_istream::get
          basic_istream::getline
          basic_istream::ignore
          basic_istream::operator>>
          basic_istream::peek
          basic_istream::putback
          basic_istream::read
          basic_istream::readsome
          basic_istream::seekg
          basic_istream::sentry
          basic_istream::sync
          basic_istream::tellg
          basic_istream::unget
        iostream
        istream
        operator>>
        wiostream
        wistream
        ws
      <iterator>
        advance
        back_insert_iterator
          back_insert_iterator::back_insert_iterator
          back_insert_iterator::operator*
          back_insert_iterator::operator++
          back_insert_iterator::operator=
        back_inserter
        bidirectional_iterator_tag
        distance
        forward_iterator_tag
        front_insert_iterator
          front_insert_iterator::front_insert_iterator
          front_insert_iterator::operator*
          front_insert_iterator::operator++
          front_insert_iterator::operator=
        front_inserter
        input_iterator_tag
        insert_iterator
          insert_iterator::insert_iterator
          insert_iterator::operator*
          insert_iterator::operator++
          insert_iterator::operator=
        inserter
        istream_iterator
          istream_iterator::char_type
          istream_iterator::istream_iterator
          istream_iterator::istream_type
          istream_iterator::operator*
          istream_iterator::operator++
          istream_iterator::traits_type
        istreambuf_iterator
          istreambuf_iterator::char_type
          istreambuf_iterator::equal
          istreambuf_iterator::int_type
          istreambuf_iterator::istream_type
          istreambuf_iterator::istreambuf_iterator
          istreambuf_iterator::operator*
          istreambuf_iterator::operator++
          istreambuf_iterator::streambuf_type
          istreambuf_iterator::traits_type
        iterator
        iterator_traits
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        operator+
        operator-
        ostream_iterator
          ostream_iterator::char_type
          ostream_iterator::operator*
          ostream_iterator::operator++
          ostream_iterator::operator=
          ostream_iterator::ostream_iterator
          ostream_iterator::ostream_type
          ostream_iterator::traits_type
        ostreambuf_iterator
          ostreambuf_iterator::char_type
          ostreambuf_iterator::failed
          ostreambuf_iterator::operator*
          ostreambuf_iterator::operator++
          ostreambuf_iterator::operator=
          ostreambuf_iterator::ostream_type
          ostreambuf_iterator::ostreambuf_iterator
          ostreambuf_iterator::streambuf_type
          ostreambuf_iterator::traits_type
        output_iterator_tag
        random_access_iterator_tag
        reverse_iterator
          reverse_iterator::base
          reverse_iterator::operator*
          reverse_iterator::operator+
          reverse_iterator::operator++
          reverse_iterator::operator+=
          reverse_iterator::operator-
          reverse_iterator::operator--
          reverse_iterator::operator-=
          reverse_iterator::operator->
          reverse_iterator::operator[]
      <limits>
        float_denorm_style
        float_round_style
        numeric_limits
      <list>
        list
          list::allocator_type
          list::assign
          list::back
          list::begin
          list::clear
          list::const_iterator
          list::const_pointer
          list::const_reference
          list::const_reverse_iterator
          list::difference_type
          list::empty
          list::end
          list::erase
          list::front
          list::get_allocator
          list::insert
          list::iterator
          list::list
          list::max_size
          list::merge
          list::pointer
          list::pop_back
          list::pop_front
          list::push_back
          list::push_front
          list::rbegin
          list::reference
          list::remove
          list::remove_if
          list::rend
          list::resize
          list::reverse
          list::reverse_iterator
          list::size
          list::size_type
          list::sort
          list::splice
          list::swap
          list::unique
          list::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <locale>
        codecvt
          codecvt::always_noconv
          codecvt::codecvt
          codecvt::do_always_noconv
          codecvt::do_encoding
          codecvt::do_in
          codecvt::do_length
          codecvt::do_max_length
          codecvt::do_out
          codecvt::do_unshift
          codecvt::extern_type
          codecvt::in
          codecvt::intern_type
          codecvt::length
          codecvt::encoding
          codecvt::max_length
          codecvt::out
          codecvt::state_type
          codecvt::unshift
        codecvt_base
        codecvt_byname
        collate
          collate::char_type
          collate::collate
          collate::compare
          collate::do_compare
          collate::do_hash
          collate::do_transform
          collate::hash
          collate::string_type
          collate::transform
        collate_byname
        ctype
          ctype::char_type
          ctype::ctype
          ctype::do_is
          ctype::do_narrow
          ctype::do_scan_is
          ctype::do_scan_not
          ctype::do_tolower
          ctype::do_toupper
          ctype::do_widen
          ctype::is
          ctype::narrow
          ctype::scan_is
          ctype::scan_not
          ctype::tolower
          ctype::toupper
          ctype::widen
        ctype<char>
        ctype_base
        ctype_byname
        has_facet
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        locale
          locale::category
          locale::classic
          locale::combine
          locale::facet
          locale::global
          locale::id
          locale::locale
          locale::name
          locale::operator!=
          locale::operator()
          locale::operator==
        messages
          messages::char_type
          messages::close
          messages::do_close
          messages::do_get
          messages::do_open
          messages::get
          messages::messages
          messages::open
          messages::string_type
        messages_base
        messages_byname
        money_base
        money_get
          money_get::char_type
          money_get::do_get
          money_get::get
          money_get::iter_type
          money_get::money_get
          money_get::string_type
        money_put
          money_put::char_type
          money_put::do_put
          money_put::put
          money_put::iter_type
          money_put::money_put
          money_put::string_type
        moneypunct
          moneypunct::char_type
          moneypunct::curr_symbol
          moneypunct::decimal_point
          moneypunct::do_curr_symbol
          moneypunct::do_decimal_point
          moneypunct::do_frac_digits
          moneypunct::do_grouping
          moneypunct::do_neg_format
          moneypunct::do_negative_sign
          moneypunct::do_pos_format
          moneypunct::do_positive_sign
          moneypunct::do_thousands_sep
          moneypunct::frac_digits
          moneypunct::grouping
          moneypunct::moneypunct
          moneypunct::neg_format
          moneypunct::negative_sign
          moneypunct::pos_format
          moneypunct::positive_sign
          moneypunct::string_type
          moneypunct::thousands_sep
        moneypunct_byname
        num_get
          num_get::char_type
          num_get::do_get
          num_get::get
          num_get::iter_type
          num_get::num_get
        num_put
          num_put::char_type
          num_put::do_put
          num_put::put
          num_put::iter_type
          num_put::num_put
        numpunct
          numpunct::char_type
          numpunct::decimal_point
          numpunct::do_decimal_point
          numpunct::do_falsename
          numpunct::do_grouping
          numpunct::do_thousands_sep
          numpunct::do_truename
          numpunct::falsename
          numpunct::grouping
          numpunct::numpunct
          numpunct::string_type
          numpunct::thousands_sep
          numpunct::truename
        numpunct_byname
        time_base
        time_get
          time_get::char_type
          time_get::date_order
          time_get::do_date_order
          time_get::do_get_date
          time_get::do_get_month
          time_get::do_get_time
          time_get::do_get_weekday
          time_get::do_get_year
          time_get::get_date
          time_get::get_month
          time_get::get_time
          time_get::get_weekday
          time_get::get_year
          time_get::iter_type
          time_get::time_get
        time_get_byname
        time_put
          time_put::char_type
          time_put::do_put
          time_put::put
          time_put::iter_type
          time_put::time_put
        time_put_byname
        tolower
        toupper
        use_facet
      <map>
        map
          map::allocator_type
          map::begin
          map::clear
          map::const_iterator
          map::const_pointer
          map::const_reference
          map::const_reverse_iterator
          map::count
          map::difference_type
          map::empty
          map::end
          map::equal_range
          map::erase
          map::find
          map::get_allocator
          map::insert
          map::iterator
          map::key_comp
          map::key_compare
          map::key_type
          map::lower_bound
          map::map
          map::mapped_type
          map::max_size
          map::operator[]
          map::pointer
          map::rbegin
          map::reference
          map::rend
          map::reverse_iterator
          map::size
          map::size_type
          map::swap
          map::upper_bound
          map::value_comp
          map::value_compare
          map::value_type
        multimap
          multimap::allocator_type
          multimap::begin
          multimap::clear
          multimap::const_iterator
          multimap::const_pointer
          multimap::const_reference
          multimap::const_reverse_iterator
          multimap::count
          multimap::difference_type
          multimap::empty
          multimap::end
          multimap::equal_range
          multimap::erase
          multimap::find
          multimap::get_allocator
          multimap::insert
          multimap::iterator
          multimap::key_comp
          multimap::key_compare
          multimap::key_type
          multimap::lower_bound
          multimap::mapped_type
          multimap::max_size
          multimap::multimap
          multimap::pointer
          multimap::rbegin
          multimap::reference
          multimap::rend
          multimap::reverse_iterator
          multimap::size
          multimap::size_type
          multimap::swap
          multimap::upper_bound
          multimap::value_comp
          multimap::value_compare
          multimap::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <memory>
        allocator
          allocator::const_reference
          allocator::construct
          allocator::destroy
          allocator::pointer
          allocator::rebind
          allocator::reference
          allocator::value_type
        allocator<void>
        auto_ptr
          auto_ptr::auto_ptr
          auto_ptr::~auto_ptr
          auto_ptr::element_type
          auto_ptr::get
          auto_ptr::operator=
          auto_ptr::operator*
          auto_ptr::operator->
          auto_ptr::operator auto_ptr<Other>
          auto_ptr::operator auto_ptr_ref<Other>
          auto_ptr::release
          auto_ptr::reset
        auto_ptr_ref
        get_temporary_buffer
        operator!=
        operator==
        uninitialized_copy
        uninitialized_fill
        uninitialized_fill_n
      <new>
        bad_alloc
        new_handler
        nothrow
        nothrow_t
        operator delete
        operator delete[]
        operator new
        operator new[]
        set_new_handler
      <numeric>
        accumulate
        adjacent_difference
        inner_product
        partial_sum
      <ostream>
        basic_ostream
          basic_ostream::basic_ostream
          basic_ostream::flush
          basic_ostream::operator<<
          basic_ostream::put
          basic_ostream::seekp
          basic_ostream::sentry
          basic_ostream::tellp
          basic_ostream::write
        endl
        ends
        flush
        operator<<
        ostream
        wostream
      <queue>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        priority_queue
          priority_queue::container_type
          priority_queue::empty
          priority_queue::pop
          priority_queue::priority_queue
          priority_queue::push
          priority_queue::size
          priority_queue::size_type
          priority_queue::top
          priority_queue::value_type
        queue
          queue::back
          queue::container_type
          queue::empty
          queue::front
          queue::pop
          queue::push
          queue::queue
          queue::size
          queue::size_type
          queue::value_type
      <set>
        multiset
          multiset::allocator_type
          multiset::begin
          multiset::clear
          multiset::const_iterator
          multiset::const_pointer
          multiset::const_reference
          multiset::const_reverse_iterator
          multiset::count
          multiset::difference_type
          multiset::empty
          multiset::end
          multiset::equal_range
          multiset::erase
          multiset::find
          multiset::get_allocator
          multiset::insert
          multiset::iterator
          multiset::key_comp
          multiset::key_compare
          multiset::key_type
          multiset::lower_bound
          multiset::multiset
          multiset::max_size
          multiset::pointer
          multiset::rbegin
          multiset::reference
          multiset::rend
          multiset::reverse_iterator
          multiset::size
          multiset::size_type
          multiset::swap
          multiset::upper_bound
          multiset::value_comp
          multiset::value_compare
          multiset::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        set
          set::allocator_type
          set::begin
          set::clear
          set::const_iterator
          set::const_pointer
          set::const_reference
          set::const_reverse_iterator
          set::count
          set::difference_type
          set::empty
          set::end
          set::equal_range
          set::erase
          set::find
          set::get_allocator
          set::insert
          set::iterator
          set::key_comp
          set::key_compare
          set::key_type
          set::lower_bound
          set::max_size
          set::pointer
          set::rbegin
          set::reference
          set::rend
          set::reverse_iterator
          set::set
          set::size
          set::size_type
          set::swap
          set::upper_bound
          set::value_comp
          set::value_compare
          set::value_type
        swap
      <slist>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        slist
          slist::allocator_type
          slist::assign
          slist::back
          slist::begin
          slist::clear
          slist::const_iterator
          slist::const_pointer
          slist::const_reference
          slist::difference_type
          slist::empty
          slist::end
          slist::erase
          slist::front
          slist::get_allocator
          slist::insert
          slist::iterator
          slist::max_size
          slist::merge
          slist::pointer
          slist::pop_back
          slist::pop_front
          slist::previous
          slist::push_back
          slist::push_front
          slist::reference
          slist::remove
          slist::remove_if
          slist::resize
          slist::reverse
          slist::size
          slist::size_type
          slist::slist
          slist::sort
          slist::splice
          slist::swap
          slist::unique
          slist::value_type
        swap
      <sstream>
        basic_stringbuf
          basic_stringbuf::allocator_type
          basic_stringbuf::basic_stringbuf
          basic_stringbuf::char_type
          basic_stringbuf::int_type
          basic_stringbuf::off_type
          basic_stringbuf::overflow
          basic_stringbuf::pbackfail
          basic_stringbuf::pos_type
          basic_stringbuf::seekoff
          basic_stringbuf::seekpos
          basic_stringbuf::str
          basic_stringbuf::traits_type
          basic_stringbuf::underflow
        basic_istringstream
          basic_istringstream::allocator_type
          basic_istringstream::basic_istringstream
          basic_istringstream::rdbuf
          basic_istringstream::str
        basic_ostringstream
          basic_ostringstream::allocator_type
          basic_ostringstream::basic_ostringstream
          basic_ostringstream::rdbuf
          basic_ostringstream::str
        basic_stringstream
          basic_stringstream::allocator_type
          basic_stringstream::basic_stringstream
          basic_stringstream::rdbuf
          basic_stringstream::str
        istringstream
        ostringstream
        stringbuf
        stringstream
        wistringstream
        wostringstream
        wstringbuf
        wstringstream
      <stack>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        stack
          stack::container_type
          stack::empty
          stack::pop
          stack::push
          stack::size
          stack::size_type
          stack::stack
          stack::top
          stack::value_type
      <stdexcept>
        domain_error
        invalid_argument
        length_error
        logic_error
        out_of_range
        overflow_error
        range_error
        runtime_error
        underflow_error
      <streambuf>
        basic_streambuf
          basic_streambuf::basic_streambuf
          basic_streambuf::char_type
          basic_streambuf::eback
          basic_streambuf::egptr
          basic_streambuf::epptr
          basic_streambuf::gbump
          basic_streambuf::getloc
          basic_streambuf::gptr
          basic_streambuf::imbue
          basic_streambuf::in_avail
          basic_streambuf::int_type
          basic_streambuf::off_type
          basic_streambuf::overflow
          basic_streambuf::pbackfail
          basic_streambuf::pbase
          basic_streambuf::pbump
          basic_streambuf::pos_type
          basic_streambuf::pptr
          basic_streambuf::pubimbue
          basic_streambuf::pubseekoff
          basic_streambuf::pubseekpos
          basic_streambuf::pubsetbuf
          basic_streambuf::pubsync
          basic_streambuf::sbumpc
          basic_streambuf::seekoff
          basic_streambuf::seekpos
          basic_streambuf::setbuf
          basic_streambuf::setg
          basic_streambuf::setp
          basic_streambuf::sgetc
          basic_streambuf::sgetn
          basic_streambuf::showmanyc
          basic_streambuf::snextc
          basic_streambuf::sputbackc
          basic_streambuf::sputc
          basic_streambuf::sputn
          basic_streambuf::stossc
          basic_streambuf::sungetc
          basic_streambuf::sync
          basic_streambuf::traits_type
          basic_streambuf::uflow
          basic_streambuf::underflow
          basic_streambuf::xsgetn
          basic_streambuf::xsputn
        streambuf
        wstreambuf
      <string>
        basic_string
          basic_string::allocator_type
          basic_string::append
          basic_string::assign
          basic_string::at
          basic_string::basic_string
          basic_string::begin
          basic_string::c_str
          basic_string::capacity
          basic_string::clear
          basic_string::compare
          basic_string::const_iterator
          basic_string::const_pointer
          basic_string::const_reference
          basic_string::const_reverse_iterator
          basic_string::copy
          basic_string::data
          basic_string::difference_type
          basic_string::empty
          basic_string::end
          basic_string::erase
          basic_string::find
          basic_string::find_first_not_of
          basic_string::find_first_of
          basic_string::find_last_not_of
          basic_string::find_last_of
          basic_string::get_allocator
          basic_string::insert
          basic_string::iterator
          basic_string::length
          basic_string::max_size
          basic_string::npos
          basic_string::operator+=
          basic_string::operator=
          basic_string::operator[]
          basic_string::pointer
          basic_string::push_back
          basic_string::rbegin
          basic_string::reference
          basic_string::rend
          basic_string::replace
          basic_string::reserve
          basic_string::resize
          basic_string::reverse_iterator
          basic_string::rfind
          basic_string::size
          basic_string::size_type
          basic_string::substr
          basic_string::swap
          basic_string::traits_type
          basic_string::value_type
        char_traits
          char_traits::assign
          char_traits::char_type
          char_traits::compare
          char_traits::copy
          char_traits::eof
          char_traits::eq
          char_traits::eq_int_type
          char_traits::find
          char_traits::int_type
          char_traits::length
          char_traits::lt
          char_traits::move
          char_traits::not_eof
          char_traits::off_type
          char_traits::pos_type
          char_traits::state_type
          char_traits::to_char_type
          char_traits::to_int_type
        char_traits<char>
        char_traits<wchar_t>
        getline
        operator+
        operator!=
        operator==
        operator<
        operator<<
        operator<=
        operator>
        operator>=
        operator>>
        string
        swap
        wstring
      <strstream>
        strstreambuf
          strstreambuf::freeze
          strstreambuf::pcount
          strstreambuf::overflow
          strstreambuf::pbackfail
          strstreambuf::seekoff
          strstreambuf::seekpos
          strstreambuf::str
          strstreambuf::strstreambuf
          strstreambuf::underflow
        istrstream
          istrstream::istrstream
          istrstream::rdbuf
          istrstream::str
        ostrstream
          ostrstream::freeze
          ostrstream::ostrstream
          ostrstream::pcount
          ostrstream::rdbuf
          ostrstream::str
        strstream
          strstream::freeze
          strstream::pcount
          strstream::strstream
          strstream::rdbuf
          strstream::str
      <typeinfo>
        bad_cast
        bad_typeid
        type_info
          type_info::before
          type_info::name
      <utility>
        make_pair
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        pair
      <valarray>
        abs
        acos
        asin
        atan
        atan2
        cos
        cosh
        exp
        gslice
          gslice::gslice
          gslice::size
          gslice::start
          gslice::stride
        gslice_array
        indirect_array
        log
        log10
        mask_array
        operator!=
        operator%
        operator&
        operator&&
        operator>
        operator>>
        operator>=
        operator<
        operator<<
        operator<=
        operator*
        operator+
        operator-
        operator/
        operator==
        operator^
        operator|
        operator||
        pow
        sin
        sinh
        slice
          slice::slice
          slice::size
          slice::start
          slice::stride
        slice_array
        sqrt
        tan
        tanh
        valarray
          valarray::apply
          valarray::cshift
          valarray::max
          valarray::min
          valarray::operator!
          valarray::operator%=
          valarray::operator&=
          valarray::operator>>=
          valarray::operator<<=
          valarray::operator*=
          valarray::operator+
          valarray::operator+=
          valarray::operator-
          valarray::operator-=
          valarray::operator/=
          valarray::operator=
          valarray::operator[]
          valarray::operator^=
          valarray::operator|=
          valarray::operator~
          valarray::resize
          valarray::shift
          valarray::size
          valarray::sum
          valarray::valarray
          valarray::value_type
        valarray<bool>
      <vector>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
        vector
          vector::allocator_type
          vector::assign
          vector::at
          vector::back
          vector::begin
          vector::capacity
          vector::clear
          vector::const_iterator
          vector::const_pointer
          vector::const_reference
          vector::const_reverse_iterator
          vector::difference_type
          vector::empty
          vector::end
          vector::erase
          vector::front
          vector::get_allocator
          vector::insert
          vector::iterator
          vector::max_size
          vector::operator[]
          vector::pointer
          vector::pop_back
          vector::push_back
          vector::rbegin
          vector::reference
          vector::rend
          vector::reserve
          vector::resize
          vector::reverse_iterator
          vector::size
          vector::size_type
          vector::swap
          vector::value_type
          vector::vector
      <cassert>
      <cctype>
      <cerrno>
      <cfloat>
      <ciso646>
      <climits>
      <clocale>
      <cmath>
      <csetjmp>
      <csignal>
      <cstdarg>
      <cstddef>
      <cstdio>
      <cstdlib>
      <cstring>
      <ctime>
      <cwchar>
      <cwctype>
      <assert.h>
        assert
      <ctype.h>
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        FLT_DIG
        FLT_EPSILON
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <iso646.h>
        and
        and_eq
        bitand
        bitor
        compl
        not
        not_eq
        or
        or_eq
        xor
        xor_eq
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        HUGE_VAL
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_end
        va_list
        va_start
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vprintf
        vsprintf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        bsearch
        calloc
        div
        div_t
        exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        ldiv
        ldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtol
        strtoul
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <uchar.h>
        c16rtomb
        c32rtomb
        char16_t
        char32_t
        mbrtoc16
        mbrtoc32
        mbstate_t
        NULL
        size_t
        __STDC_UTF_16__
        __STDC_UTF_32__
      <wchar.h>
        btowc
        fgetwc
        fgetws
        fputwc
        fputws
        fwide
        fwprintf
        fwscanf
        getwc
        getwchar
        mbrlen
        mbrtowc
        mbsinit
        mbsrtowcs
        mbstate_t
        NULL
        putwc
        putwchar
        size_t
        swprintf
        swscanf
        tm
        ungetwc
        vfwprintf
        vswprintf
        vwprintf
        WCHAR_MAX
        WCHAR_MIN
        wchar_t
        wcrtomb
        wcscat
        wcschr
        wcscmp
        wcscoll
        wcscpy
        wcscspn
        wcsftime
        wcslen
        wcsncat
        wcsncmp
        wcsncpy
        wcspbrk
        wcsrchr
        wcsrtombs
        wcsspn
        wcsstr
        wcstod
        wcstok
        wcstol
        wcstoul
        wcsxfrm
        wctob
        WEOF
        wint_t
        wmemchr
        wmemcmp
        wmemcpy
        wmemmove
        wmemset
        wprintf
        wscanf
      <wctype.h>
        WEOF
        iswalnum
        iswalpha
        iswcntrl
        iswctype
        iswdigit
        iswgraph
        iswlower
        iswprint
        iswpunct
        iswspace
        iswupper
        iswxdigit
        towctrans
        towlower
        towupper
        wctrans
        wctrans_t
        wctype
        wctype_t
        wint_t
      <fstream.h>
      <iomanip.h>
      <iostream.h>
      <new.h>
      C++ Library Overview
        Using C++ Library Headers
        C++ Library Conventions
        Iostreams Conventions
      C Library Overview
        Using Standard C Headers
        C Library Conventions
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Byte and Wide Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      STL Conventions
        Iterator Conventions
        Algorithm Conventions
      Locale Definitions
      Containers
        Container
          Container::begin
          Container::clear
          Container::const_iterator
          Container::const_reference
          Container::const_reverse_iterator
          Container::difference_type
          Container::empty
          Container::end
          Container::erase
          Container::iterator
          Container::max_size
          Container::rbegin
          Container::reference
          Container::rend
          Container::reverse_iterator
          Container::size
          Container::size_type
          Container::swap
          Container::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      Preprocessing
      Expressions
      Functions
      Index
    Dinkum Embedded C++ Library
      <complex>
        abs
        arg
        complex
          complex::complex
          complex::imag
          complex::operator*=
          complex::operator+=
          complex::operator-=
          complex::operator/=
          complex::operator=
          complex::real
          complex::value_type
        conj
        cos
        cosh
        double_complex
        exp
        float_complex
        imag
        log
        log10
        norm
        operator!=
        operator*
        operator+
        operator-
        operator/
        operator<<
        operator==
        operator>>
        polar
        pow
        real
        sin
        sinh
        sqrt
        __STD_COMPLEX
        tan
        tanh
      <exception>
        bad_exception
        exception
        set_terminate
        set_unexpected
        terminate
        terminate_handler
        uncaught_exception
        unexpected
        unexpected_handler
      <fstream>
        filebuf
          filebuf::filebuf
          filebuf::char_type
          filebuf::close
          filebuf::int_type
          filebuf::is_open
          filebuf::off_type
          filebuf::open
          filebuf::overflow
          filebuf::pbackfail
          filebuf::pos_type
          filebuf::seekoff
          filebuf::seekpos
          filebuf::setbuf
          filebuf::sync
          filebuf::traits_type
          filebuf::underflow
        ifstream
          ifstream::ifstream
          ifstream::close
          ifstream::is_open
          ifstream::open
          ifstream::rdbuf
        ofstream
          ofstream::ofstream
          ofstream::close
          ofstream::is_open
          ofstream::open
          ofstream::rdbuf
      <iomanip>
        resetiosflags
        setbase
        setfill
        setiosflags
        setprecision
        setw
      <ios>
        ios
          ios::bad
          ios::ios
          ios::char_type
          ios::clear
          ios::copyfmt
          ios::eof
          ios::exceptions
          ios::fail
          ios::fill
          ios::good
          ios::imbue
          ios::init
          ios::int_type
          ios::narrow
          ios::off_type
          ios::operator void *
          ios::operator!
          ios::pos_type
          ios::rdbuf
          ios::rdstate
          ios::setstate
          ios::tie
          ios::traits_type
          ios::widen
        boolalpha
        dec
        fixed
        fpos
          fpos::fpos
          fpos::operator!=
          fpos::operator+
          fpos::operator+=
          fpos::operator-
          fpos::operator-=
          fpos::operator==
          fpos::operator streamoff
          fpos::state
        hex
        internal
        ios_base
          ios_base::event
          ios_base::failure
          ios_base::flags
          ios_base::fmtflags
          ios_base::getloc
          ios_base::imbue
          ios_base::Init
          ios_base::ios_base
          ios_base::iostate
          ios_base::iword
          ios_base::openmode
          ios_base::operator=
          ios_base::precision
          ios_base::pword
          ios_base::seekdir
          ios_base::setf
          ios_base::streamoff
          ios_base::streampos
          ios_base::sync_with_stdio
          ios_base::unsetf
          ios_base::width
          ios_base::xalloc
        left
        locale
        mbstate_t
        noboolalpha
        noshowbase
        noshowpoint
        noshowpos
        noskipws
        nounitbuf
        nouppercase
        oct
        right
        scientific
        showbase
        showpoint
        showpos
        skipws
        streamoff
        streampos
        streamsize
        unitbuf
        uppercase
      <iosfwd>
      <iostream>
        cin
        cout
      <istream>
        istream
          istream::istream
          istream::gcount
          istream::get
          istream::getline
          istream::ignore
          istream::operator>>
          istream::peek
          istream::putback
          istream::read
          istream::readsome
          istream::seekg
          istream::sentry
          istream::sync
          istream::tellg
          istream::unget
        operator>>
        ws
      <new>
        bad_alloc
        new_handler
        nothrow
        nothrow_t
        operator delete
        operator delete[]
        operator new
        operator new[]
        set_new_handler
      <ostream>
        ostream
          ostream::ostream
          ostream::flush
          ostream::operator<<
          ostream::put
          ostream::seekp
          ostream::sentry
          ostream::tellp
          ostream::write
        endl
        ends
        flush
        operator<<
      <sstream>
        stringbuf
          stringbuf::allocator_type
          stringbuf::stringbuf
          stringbuf::char_type
          stringbuf::int_type
          stringbuf::off_type
          stringbuf::overflow
          stringbuf::pbackfail
          stringbuf::pos_type
          stringbuf::seekoff
          stringbuf::seekpos
          stringbuf::str
          stringbuf::traits_type
          stringbuf::underflow
        istringstream
          istringstream::allocator_type
          istringstream::istringstream
          istringstream::rdbuf
          istringstream::str
        ostringstream
          ostringstream::allocator_type
          ostringstream::ostringstream
          ostringstream::rdbuf
          ostringstream::str
      <stdexcept>
        domain_error
        invalid_argument
        length_error
        logic_error
        out_of_range
        overflow_error
        range_error
        runtime_error
        underflow_error
      <streambuf>
        streambuf
          streambuf::streambuf
          streambuf::char_type
          streambuf::eback
          streambuf::egptr
          streambuf::epptr
          streambuf::gbump
          streambuf::getloc
          streambuf::gptr
          streambuf::imbue
          streambuf::in_avail
          streambuf::int_type
          streambuf::off_type
          streambuf::overflow
          streambuf::pbackfail
          streambuf::pbase
          streambuf::pbump
          streambuf::pos_type
          streambuf::pptr
          streambuf::pubimbue
          streambuf::pubseekoff
          streambuf::pubseekpos
          streambuf::pubsetbuf
          streambuf::pubsync
          streambuf::sbumpc
          streambuf::seekoff
          streambuf::seekpos
          streambuf::setbuf
          streambuf::setg
          streambuf::setp
          streambuf::sgetc
          streambuf::sgetn
          streambuf::showmanyc
          streambuf::snextc
          streambuf::sputbackc
          streambuf::sputc
          streambuf::sputn
          streambuf::stossc
          streambuf::sungetc
          streambuf::sync
          streambuf::traits_type
          streambuf::uflow
          streambuf::underflow
          streambuf::xsgetn
          streambuf::xsputn
      <string>
        string
          string::allocator_type
          string::append
          string::assign
          string::at
          string::string
          string::begin
          string::c_str
          string::capacity
          string::clear
          string::compare
          string::const_iterator
          string::const_pointer
          string::const_reference
          string::const_reverse_iterator
          string::copy
          string::data
          string::difference_type
          string::empty
          string::end
          string::erase
          string::find
          string::find_first_not_of
          string::find_first_of
          string::find_last_not_of
          string::find_last_of
          string::get_allocator
          string::insert
          string::iterator
          string::length
          string::max_size
          string::npos
          string::operator+=
          string::operator=
          string::operator[]
          string::pointer
          string::push_back
          string::rbegin
          string::reference
          string::rend
          string::replace
          string::reserve
          string::resize
          string::reverse_iterator
          string::rfind
          string::size
          string::size_type
          string::substr
          string::swap
          string::traits_type
          string::value_type
        char_allocator
          char_allocator::operator==
        char_traits
          char_traits::assign
          char_traits::char_type
          char_traits::compare
          char_traits::copy
          char_traits::eof
          char_traits::eq
          char_traits::eq_int_type
          char_traits::find
          char_traits::int_type
          char_traits::length
          char_traits::lt
          char_traits::move
          char_traits::not_eof
          char_traits::off_type
          char_traits::pos_type
          char_traits::state_type
          char_traits::to_char_type
          char_traits::to_int_type
        getline
        operator+
        operator!=
        operator==
        operator<
        operator<<
        operator<=
        operator>
        operator>=
        operator>>
        swap
      <strstream>
        strstreambuf
          strstreambuf::freeze
          strstreambuf::pcount
          strstreambuf::overflow
          strstreambuf::pbackfail
          strstreambuf::seekoff
          strstreambuf::seekpos
          strstreambuf::str
          strstreambuf::strstreambuf
          strstreambuf::underflow
        istrstream
          istrstream::istrstream
          istrstream::rdbuf
          istrstream::str
        ostrstream
          ostrstream::freeze
          ostrstream::ostrstream
          ostrstream::pcount
          ostrstream::rdbuf
          ostrstream::str
      <cassert>
      <cctype>
      <cerrno>
      <cfloat>
      <climits>
      <clocale>
      <cmath>
      <csetjmp>
      <csignal>
      <cstdarg>
      <cstddef>
      <cstdio>
      <cstdlib>
      <cstring>
      <ctime>
      <assert.h>
        assert
      <ctype.h>
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        FLT_DIG
        FLT_EPSILON
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        abs, fabs, fabsf, fabsl
        acos, acosf, acosl
        asin, asinf, asinl
        atan, atanf, atanl
        atan2, atan2f, atan2l
        ceil, ceilf, ceill
        cos, cosf, cosl
        cosh, coshf, coshl
        exp, expf, expl
        floor, floorf, floorl
        fmod, fmodf, fmodl
        frexp, frexpf, frexpl
        HUGE_VAL
        ldexp, ldexpf, ldexpl
        log, logf, logl
        log10, log10f, log10l
        modf, modff, modfl
        pow, powf, powl
        sin, sinf, sinl
        sinh, sinhf, sinhl
        sqrt, sqrtf, sqrtl
        tan, tanf, tanl
        tanh, tanhf, tanhl
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_end
        va_list
        va_start
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vprintf
        vsprintf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        bsearch
        calloc
        div
        div_t
        exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        ldiv
        ldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtol
        strtoul
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <fstream.h>
      <iomanip.h>
      <iostream.h>
      <new.h>
      C++ Library Overview
        Using C++ Library Headers
        C++ Library Conventions
        Iostreams Conventions
        Program Startup and Termination
        Exceptions
      C Library Overview
        Using Standard C Headers
        C Library Conventions
        Program Startup and Termination
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
        Print Conversion Specifiers
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      Preprocessing
      Expressions
      Functions
      Index
  Driver Development Kit Guides
    Audio Devices
      About the Audio DDK
        Supported features
        Assumptions
        Building DDKs
      Evaluating Your Card
      Organization of a Driver
        The QNX audio system and driver
        DDK source code
        Writing an Audio HW DLL
          Opaque data types
          Custom data types
          ctrl_init()
          ctrl_destroy()
          Debugging an audio driver
      Handling Analog Audio Data
        Writing an analog mixer
          Mixer elements and routes
            Supported element types
          Mixer groups
            Designing mixer groups
          Coding the mixer
            Initialization
            Building the mixer
        Using a standard mixer DLL
          Initialization
          Testing the code
      Handling PCM Audio Data
        What's a PCM device?
        Creating a PCM device
          ado_pcm_create()
          How does the PCM stream operate?
      API Reference
      ado_attach_interrupt()
      ado_calloc()
      ado_card_set_longname()
      ado_card_set_shortname()
      ado_debug()
      ado_device_mmap()
      ado_device_munmap()
      ado_error()
      ado_free()
      ado_malloc()
      ado_memory_dump()
      ado_mixer_capture_group_create()
      ado_mixer_create()
      ado_mixer_dll()
      ado_mixer_element_accu1()
      ado_mixer_element_accu2()
      ado_mixer_element_accu3()
      ado_mixer_element_io()
      ado_mixer_element_mux1()
      ado_mixer_element_mux2()
      ado_mixer_element_notify()
      ado_mixer_element_pcm1()
      ado_mixer_element_pcm2()
      ado_mixer_element_route_add()
      ado_mixer_element_sw1()
      ado_mixer_element_sw2()
      ado_mixer_element_sw3()
      ado_mixer_element_vol_range_max()
      ado_mixer_element_vol_range_min()
      ado_mixer_element_volume1()
      ado_mixer_find_element()
      ado_mixer_find_group()
      ado_mixer_get_context()
      ado_mixer_get_element_instance_data()
      ado_mixer_lock()
      ado_mixer_playback_group_create()
      ado_mixer_set_destroy_func()
      ado_mixer_set_name()
      ado_mixer_set_reset_func()
      ado_mixer_switch_new()
      ado_mixer_unlock()
      ado_mutex_destroy()
      ado_mutex_init()
      ado_mutex_lock()
      ado_mutex_unlock()
      ado_pci
      ado_pci_device()
      ado_pci_release()
      ado_pcm_cap_t
      ado_pcm_config_t
      ado_pcm_chn_mixer()
      ado_pcm_create()
      ado_pcm_dma_int_size()
      ado_pcm_format_bit_width()
      ado_pcm_hw_t
      ado_pcm_subchn_caps()
      ado_pcm_subchn_is_channel()
      ado_pcm_subchn_mixer()
      ado_pcm_subchn_mixer_create()
      ado_pcm_subchn_mixer_destroy()
      ado_pcm_sw_mix()
      ado_realloc()
      ado_rwlock_destroy()
      ado_rwlock_init()
      ado_rwlock_rdlock()
      ado_rwlock_unlock()
      ado_rwlock_wrlock()
      ado_shm_alloc()
      ado_shm_free()
      ado_shm_mmap()
      ado_strdup()
      dma_interrupt()
      Supported Codecs
        Audio Codec 97 (AC97)
        AK4531
      Sample Mixer Source
      Glossary
    Character Devices
      About the Character DDK
        Assumptions
        Building DDKs
      Character I/O Architecture
        Overview
        DDK source code
      8250 Serial Driver
        Creating a serial driver
        Registers
        Source code
          Interrupts
          Functions
            create_device()
            enable_device()
            options()
            query_default_device()
            ser_intr()
            ser_stty()
            set_port()
            sys_ttyinit()
            tto()
      Character I/O Library
      iochar_regdrv_power()
      iochar_send_event()
      kick()
      timer_queue()
      timer_remove()
      ttc()
      tti()
      tti2()
      tto_checkclients()
      tto_getchar()
      TTYCTRL
      TTYDEV
      TTYINIT
      tx_inject()
      wait_add()
      wait_remove_rcvid()
    Input Devices
      About the Input DDK
        Building DDKs
      Overview
        DDK source code
        Inside an input driver
          Types of event bus lines
        How modules are linked
        Interface to the system
        Source file organization for devi-*
      Writing an Input Device Driver
        Creating an input module
          input_module_t data type
            In the sample directory
        Data format
        Keyboard devices
        Absolute devices
          Calibration file format
        Relative devices
        Callbacks in your module
          Which callbacks are required?
          Callback sequence
        Writing a combination device/protocol module
        A note about reentrancy
      Testing and Debugging Your Driver
      Module Functions
      devctrl()
      init()
      input()
      output()
      parm()
      pulse()
      reset()
      shutdown()
      Input API Reference
      begin()
      buff_append()
      buff_create()
      buff_delete()
      buff_flush()
      buff_getc()
      buff_putc()
      buff_waiting()
      clk_get()
      devi_enqueue_packet()
      devi_register_interrupt()
      devi_register_pulse()
      devi_register_timer()
      devi_request_iorange()
    Universal Serial Bus (USB) Devices
      About the USB DDK
        Assumptions
        Building DDKs
      Before You Begin
        System requirements
        USB devices supported
        Known limitations
      Overview
        The USB stack and library
          Host Controller Interface (HCI) types
          Data buffers
          USB enumerator
        How a class driver works
      USB Utilities
      USB Library Reference
        Functions arranged by category
          Connection functions
          Memory-management functions
          I/O functions
          Pipe-management functions
          Configuration and interface functions
          Miscellaneous and convenience functions
      usbd_abort_pipe()
      usbd_alloc()
      usbd_alloc_urb()
      usbd_args_lookup()
      usbd_attach()
      usbd_close_pipe()
      usbd_configuration_descriptor()
      usbd_connect()
      usbd_descriptor()
      usbd_detach()
      usbd_device_descriptor()
      usbd_device_extra()
      usbd_device_lookup()
      usbd_disconnect()
      usbd_endpoint_descriptor()
      usbd_feature()
      usbd_free()
      usbd_free_urb()
      usbd_get_frame()
      usbd_hcd_ext_info(), usbd_hcd_info()
      usbd_hub_descriptor()
      usbd_interface_descriptor()
      usbd_io()
      usbd_languages_descriptor()
      usbd_mphys()
      usbd_open_pipe()
      usbd_parse_descriptors()
      usbd_pipe_device()
      usbd_pipe_endpoint()
      usbd_reset_device()
      usbd_reset_pipe()
      usbd_select_config()
      usbd_select_interface()
      usbd_setup_bulk()
      usbd_setup_control()
      usbd_setup_interrupt()
      usbd_setup_isochronous()
      usbd_setup_vendor()
      usbd_status()
      usbd_string()
      usbd_topology(), usbd_topology_ext()
      usbd_urb_status()
  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
  QED Fullscreen Editor
    About the QED Manual
    Tutorial Guide
      Getting Started
      The Status Line
      The Command Line
      Text Area
      Appending New Text (F1)
      Appending or Inserting Lines (F1/F2)
      Using the Del and Backspace keys
      Inserting text using Ins
      Other cursor keys which simplify editing
      Saving your Text
        Exercise
      More on the F1 and F2 keys
      Deleting Lines (F3 key)
      Filling Lines (F4 key)
      Centering Lines (CtrlF4)
      Splitting and Joining Lines (F5/F6 keys)
      Tagging Blocks of Text (F7/F8 keys)
        Line Tagging
        Block Tagging
      Insert Mode and Block Move and Copy
      Re-setting the Last Tagged Lines or Block
      Re-executing Commands (F9/F10 keys)
      Tabs
      Line-drawing characters
      Margins
        Moving Your Margins (Shift F1 to F6)
        Auto Fill and Your Right Margin
        Auto Justify
        Indenting and Your Left Margin
      Line Flags
        Overstrike Flag (Alto)
        Continuation Flag (Altc)
        Paragraph Flag (Altp)
      Some Simple Editor Commands
      Learn Mode
      Absolute Line Positioning
      Simple Pattern Matching
      File I/O Commands
      The View Command
      Executing System Commands
      Epilogue
    Using qed on non-QNX terminal types
      Setting Your Terminal Type
      Required Terminal Capabilities
      Screen Output
      Keyboard Input
    Reference Manual
      The Syntax of Editor Commands
        Line Range
        Command Specification Character
        Right Arguments
      Placing Multiple Commands On A Line
      Special Characters
        The Linefeed Character (hex 0A)
        The NUL Character (hex 00)
        The Meta Characters (@$^^&.*[)
        The Backslash Character (\)
        The Tab Character (hex 09)
        The Command Character (hex FF)
        The Recall Character (hex FE)
        The Keyboard Input Character (hex FD)
        The Macro Disable Character (hex A3)
      The Condition Register
      Delete Buffers
        The Character Delete Buffer
        The Line Delete Buffer
        Break Handling
        The Pattern Matcher
          Some Pattern Examples
      Command Reference:
        Append (a)
        Branch (b)
        Change (c)
        Delete (d)
        Edit (e)
        File (f)
        Global (g)
        Insert (i)
        Join (j)
        Kopy (k)
        Learn (l)
        Move (m)
        Option (o)
        Print (p)
        Quit (q)
        Read (r)
        Substitute (s)
        Translate (t)
        Until (u)
        View (v)
        Write (w)
        Execute (x)
        Yut? (prompt) (y)
        Zap (z)
    Defining Your Own Macros
      What is a macro
      Multi-line Macros
      Macros Containing Branches
      Suggestions
    Appendix A - Error Messages
    Quick Reference
      Control Keys
      Cursor Movement Keys
      Character Editing Keys
      Function Keys
      Option Control
      Margin Control
      Line Flags
      Special Characters
      Editor Commands
      Line Range range
      Line Address line
      Meta Characters Used in Patterns
      File I/O Commands
      Alphabetical List of All Editor Commands
      Examples
  Utilities Reference
    Utility Conventions
      Syntax conventions
        Interpreting utility syntax
        Invoking utilities
      File conventions
      Signal conventions
      Exit status conventions
      Error conventions
    A
      ability
      /etc/acl.conf
      addr2line
      addvariant
      applypatch
      aps
      ar
      arp
      asa
      /etc/autoconnect
    B
      basename
      bc
      bison
      bootpd
      /etc/bootptab
      brconfig
      bsdtar
      bunzip2
      bzcat
      bzcmp, bzdiff
      bzegrep, bzfgrep, bzgrep
      bzip2
      bzip2recover
      bzless, bzmore
    C
      c++filt
      cam-cdrom.so
      cam-disk.so
      cam-optical.so
      cat
      CC, cc
      cfgopen
      chat
      chattr
      chgrp
      chkdosfs
      chkfsys
      chkqnx6fs
      chmod
      chown
      cksum
      clear
      cmp
      comm
      confstr
      /etc/context.conf
      coreinfo
      cp
      cpio
      cron
      crontab
      csplit
      ctags
      cut
      cvs
    D
      date
      dcheck
      dd
      deflate
      deva-ctrl-4dwave.so
      deva-ctrl-audiopci.so
      deva-ctrl-cs4281.so
      deva-ctrl-ess1938.so
      deva-ctrl-geode.so
      deva-ctrl-i8x0.so
      deva-ctrl-intel_hda.so
      deva-ctrl-nmg6.so
      deva-ctrl-sb.so
      deva-ctrl-usb.so
      deva-ctrl-via686.so
      deva-ctrl-vortex.so
      deva-ctrl-ymfds1.so
      deva-mixer-ac97.so
      deva-mixer-ak4531.so
      deva-mixer-hda.so
      deva-util-restore.so
      devb-adpu320
      devb-aha8
      devb-ahci
      devb-btmm
      devb-eide
      devb-fdc
      devb-loopback
      devb-mvSata
      devb-ram
      devb-umass
      devc-con, devc-con-hid
      devc-par
      devc-pty
      devc-ser8250
      devc-serpci
      devc-serusb
      devc-serzscc
      devf-generic
      devf-ram
      devh-egalax.so
      devh-microtouch.so
      devh-ps2ser.so
      devh-touchintl.so
      devh-usb.so
      devn-asix.so
      devn-crys8900.so
      devn-dm9102.so
      devn-el509.so
      devn-el900.so
      devn-epic.so
      devn-fd.so
      devn-i82544.so
      devn-micrel8841.so
      devn-ne2000.so
      devn-pcnet.so
      devn-pegasus.so
      devn-rtl.so
      devn-rtl8150.so
      devn-sis9.so
      devn-smc9000.so
      devn-speedo.so
      devn-tigon3.so
      devn-tulip.so
      devn-via-rhine.so
      devnp-ath.so
      devnp-axe.so
      devnp-bce.so
      devnp-bcm1250.so
      devnp-bcm43xx.so
      devnp-bge.so
      devnp-e1000.so
      devnp-ecm.so
      devnp-i80579.so
      devnp-i82544.so
      devnp-mpcsec.so
      devnp-mpc85xx.so
      devnp-msk.so
      devnp-ncm.so
      devnp-ral.so, devnp-ural.so
      devnp-rtl8169.so
      devnp-rum.so
      devnp-shim.so
      devnp-speedo.so
      devp-pccard
      devu-ehci.so
      devu-kbd
      devu-mouse
      devu-ohci.so
      devu-prn
      devu-uhci.so
      df
      dhclient
      dhclient-script
      dhclient.conf, dhclient6.conf
      dhclient.leases, dhclient6.leases
      DHCP Conditional Evaluation
      DHCP Options
      dhcp.client
      dhcpd
      dhcpd.conf, dhcpd6.conf
      dhcpd.leases, dhcpd6.leases
      dhcprelay
      dhcrelay
      diff
      diff3
      dig
      dinit
      dirname
      diskboot
      dispconf
      dloader
      dnssec-dsfromkey
      dnssec-keyfromlabel
      dnssec-keygen
      dnssec-signzone
      du
      dumpefs
      dumper
      dumpifs
    E
      echo
      ed
      egrep
      elvis
      enum-devices
      enum-usb
      env
      errno
      esh
      etfsctl
      expand
      /etc/exports
      expr
    F
      false
      fcat
      fdformat
      fdisk
      fesh
      fgrep
      file
      find
      finstall
      flashctl
      flex
      fmt
      fold
      fpemu.so
      freeze
      fs-cd.so
      fs-cifs
      fs-dos.so
      fs-etfs-ram
      fs-ext2.so
      fs-mac.so
      fs-nfs2
      fs-nfs3
      fs-nt.so
      fs-qnx4.so
      fs-qnx6.so
      fs-udf.so
      fsencrypt
      fsysinfo
      /etc/fstab
      ftp
      /etc/ftpchroot
      ftpd
      /etc/ftpd.conf
      /etc/ftpusers
      fullpath
    G
      g++
      /etc/gateways
      gawk
      gcc
      gcov
      gdb
      getconf
      getfacl
      getty
      gns
      gprof
      grep
      gunzip
      gzip
    H
      ham
      hamctrl
      hd
      head
      hidview
      hogs
      host
      hostapd
      hostname
      /etc/hosts
      /etc/hosts.equiv
    I
      id
      if_up
      ifconfig
      ifwatchd
      indent
      inetd
      /etc/inetd.conf
      inflator
      infocmp
      inputtrap
      io-audio
      io-blk.so
      io-hid
      io-pkt-v4, io-pkt-v4-hc, io-pkt-v6-hc
      io-usb
    J
      join
    K
      kill
      ksh
    L
      ld
      ldd
      ldrel
      less
      link
      ln
      ln-w
      logger
      login
      logout
      lpd
      lpr
      lprc
      lprq
      lprrm
      ls
      lsm-autoip.so
      lsm-pf-v4.so, lsm-pf-v6.so
      lsm-qnet.so
      lwresd
    M
      m4
      /usr/share/misc/magic
      make
      mcd
      mcs
      melt
      mesg
      /etc/mib.txt
      mixer
      mkasmoff
      mkcldr
      mkbuild
      mkdir
      mkdosfs
      mkefs
      mketfs
      mkfifo
      mkifs
      mkimage
      mkqnx6fs
      mkrec
      mksbp
      /etc/moduli
      more
      mount
      mq
      mqueue
      mrouted
      mstrip
      mv
    N
      named
      named-checkconf
      named-checkzone, named-compilezone
      /etc/named.conf
      ndp
      netmanager
      netstat
      /etc/networks
      newgrp
      nfsd
      /etc/nfsstart
      nice
      nicinfo
      nm
      nohup
      nslookup
      /etc/nsswitch.conf
      nsupdate
      ntpd
      ntpdate
      ntpdc
      ntpq
      ntptrace
    O
      objcopy
      objdump
      od
      omshell
      on
      op
      openssl
    P
      /etc/party.conf
      passwd
      paste
      patch
      pathtrust
      pax
      pccard-launch
      pci
      pci-bios, pci-bios-v2
      pcnfsd
      /etc/pcnfsd.conf
      pdebug
      pf
      /etc/pf.conf
      pfctl
      pidin
      pin
      ping
      ping6
      pipe
      pppd
      pppoectl
      pps
      pr
      /etc/printcap
      printf
      procnto*
      /etc/protocols
      ps
      pwd
      python
    Q
      qbinaudit
      QCC, qcc
      qconfig
      qconn
      qcp
      qde
      qed
      qtalk
      QWinCfg
    R
      racoon
      /etc/racoon.conf
      random
      ranlib
      rcp
      readelf
      renice
      /etc/resolv.conf
      ~/.rhosts
      rlogin
      rlogind
      rm
      rmdir
      rndc
      rndc-confgen
      rndc.conf
      route
      route6d
      routed
      /etc/rpc
      rpcbind
      rpcgen
      rpcinfo
      rsh
      rshd
      rtadvd
      /etc/rtadvd.conf
      rtc
      rtquery
      rtsold
      ruptime
      rwho
      rwhod
    S
      scp
      script
      sed
      seedres
      sendnto
      /etc/services
      setconf
      setfacl
      setkey
      setupbsp
      sftp
      sftp-server
      sh
      showlicense
      showmem
      showmount
      show_vesa
      shutdown
      size
      slay
      sleep
      slogger
      slogger2
      slog2info
      sloginfo
      smic
      snmpbulkwalk
      snmpd
      /etc/snmpd.conf
      snmpget
      snmpgetnext
      snmpnetstat
      snmpset
      snmpstatus
      snmptest
      snmptranslate
      snmptrap
      snmptrapd
      snmpwalk
      /etc/socks.conf
      sockstat
      sort
      spatch
      split
      spooler
      ssh
      ssh-add
      ssh-agent
      ~/.ssh/ssh_config, /etc/ssh/ssh_config
      ssh-keygen
      ssh-keyscan
      ssh-keysign
      sshd
      /etc/ssh/sshd_config
      startup-* options
      startup-apic
      startup-bios, startup-bios-32
      strings
      strip
      stty
      su
      svn
      sync
      sysctl
      sysinfo
      /etc/syslog.conf
      syslogd
    T
      tail
      tar
      tcpdump
      tee
      telnet
      telnetd
      termdef
      textto
      tftp
      tftpd
      tic
      time
      tinit
      top
      touch
      tr
      tracelogger
      traceprinter
      traceroute
      traceroute6
      true
      tsort
      tty
    U
      uesh
      umask
      umount
      uname
      unexpand
      unifdef
      uniq
      unlink
      unzip
      uptime
      usb
      use
      usemsg
      uud
      uudecode
      uue
      uuencode
    V
      vi
      view
      /etc/view.conf
    W
      waitfor
      wave
      waverec
      wc
      which
      who
      wiconfig
      wlanctl
      wpa_cli
      wpa_passphrase
      wpa_supplicant
    X
      xargs
    Y
    Z
      zap
      zcat
      zip
    Commonly Used Environment Variables
      A
      B
      C
      D
      E
      F
      G
      H
      I
      J
      L
      M
      N
      O
      P
      Q
      R
      S
      T
      U
    Selecting the Target System
      Target selection
      Architecture selection
      Linker emulation selection
    What's New in this Reference?
      What's new in the QNX CAR Development Platform?
        New entries
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.5.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.5.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.4.1?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.4.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Momentics 6.3.2?
        New entries
        Changed content
        Errata
      What's new in the QNX Neutrino Core OS 6.3.2?
        New entries
        Changed content
        Errata
      What's new in QNX Momentics 6.3.0 Service Pack 2?
        New entries
        Changed content
        Errata
      What's new in QNX Momentics 6.3.0 Service Pack 1?
        New entries
        Changed content
      What's new in QNX Momentics 6.3.0?
        New entries
        Deleted entries
        Changed content
        Errata
      What's new in QNX Momentics 6.2.1?
        New entries
        Deleted entries
        Changed content
        Errata
    Glossary
  Addon Interfaces Library Reference
    Overview
      An example
      Library components
    Addon Interfaces Library Reference
      AOICtrl_t
      AOInterface_t
      AoAdd()
      AoAddDirectory()
      AoAddStatic()
      AoAddUnloadSignal()
      AoGetInterface()
      AoHold()
      AoIterate()
      AoIterateHoldGet()
      AoRelease()
      AoRemove()
      AoFindExt()
      AoFindFormats()
      AoFindMime()
      AoFindName()
      AoFindStreams()
      AoOpenFilespec()
    Implemented Interfaces
      Built-in Interfaces
      AODeConstructor
        Create()
        Destroy()
      AOExtInspector
        RateExtension()
      AOFormatInspector
        RateFormat()
      AOMimetypeInspector
        RateMimetype()
      AOStreamer
        Open
        Close
        Sniff()
        Read()
        Write()
        Seek()
        Tell()
        Length()
        SideInfo()
      AOStreamInspector
        RateStream()
      AOResourceAccess
        GetResources()
        SetResource()
      Built-in interfaces
        Unloading and InitializeInterface
        Name
    Using Addon Resources
      An Example
      Using addon resources in your application
    Defined Structures
      AOIStream_t
      AOMimeInfo_t
      AOResource_t
      AOAudioFormat_t
      ImageFormat_t
      MediaFormat_t
      VideoFormat_t
  C Library Reference
    What's in a Function Description?
    Manifests
    A
      abort()
      abs()
      accept()
      access()
      acl_add_perm()
      acl_calc_mask()
      acl_clear_perms()
      acl_copy_entry()
      acl_copy_ext()
      acl_copy_int()
      acl_create_entry()
      acl_delete_entry()
      acl_delete_perm()
      acl_dup()
      acl_free()
      acl_from_text()
      acl_get_entry()
      acl_get_fd()
      acl_get_file()
      acl_get_permset()
      acl_get_qualifier()
      acl_get_tag_type()
      acl_init()
      acl_set_fd()
      acl_set_file()
      acl_set_permset()
      acl_set_qualifier()
      acl_set_tag_type()
      acl_size()
      acl_to_text()
      acl_valid()
      acos(), acosf(), acosl()
      acosh(), acoshf(), acoshl()
      addrinfo
      aio_cancel()
      aio_error()
      aio_fsync()
      aio_read(), aio_read64()
      aio_return()
      aio_suspend()
      aio_write(), aio_write64()
      aiocb, aiocb64
      alarm()
      alloca()
      alphasort()
      _amblksiz
      _argc
      _argv
      asctime(), asctime_r()
      asin(), asinf(), asinl()
      asinh(), asinhf(), asinhl()
      assert()
      asyncmsg_channel_create()
      asyncmsg_channel_destroy()
      asyncmsg_connect_attach()
      asyncmsg_connect_attr()
      asyncmsg_connect_detach()
      _asyncmsg_connection_attr
      asyncmsg_flush()
      asyncmsg_free()
      asyncmsg_get()
      asyncmsg_malloc()
      asyncmsg_put(), asyncmsg_putv()
      atan(), atanf(), atanl()
      atan2(), atan2f()
      atanh(), atanhf(), atanhl()
      atexit()
      atof()
      atoh()
      atoi()
      atol(), atoll()
      atomic_add()
      atomic_add_value()
      atomic_clr()
      atomic_clr_value()
      atomic_set()
      atomic_set_value()
      atomic_sub()
      atomic_sub_value()
      atomic_toggle()
      atomic_toggle_value()
      _auxv
    B
      basename()
      bcmp()
      bcopy()
      bind()
      bindresvport()
      brk()
      bsearch()
      bt_get_backtrace()
      bt_init_accessor()
      bt_load_memmap()
      bt_release_accessor()
      bt_set_flags()
      bt_sprn_memmap()
      bt_sprnf_addrs()
      bt_translate_addrs()
      bt_unload_memmap()
      _btext
      btowc()
      bzero()
    C
      cabs(), cabsf()
      cache_fini()
      CACHE_FLUSH()
      cache_init()
      CACHE_INVAL()
      calloc()
      cbrt(), cbrtf()
      ceil(), ceilf()
      cfgetispeed()
      cfgetospeed()
      cfgopen()
      cfmakeraw()
      cfree()
      cfsetispeed()
      cfsetospeed()
      ChannelCreate(), ChannelCreate_r()
      ChannelDestroy(), ChannelDestroy_r()
      chdir()
      chmod()
      chown()
      chroot()
      chsize()
      clearenv()
      clearerr()
      ClientInfoExtFree()
      clock()
      clock_getcpuclockid()
      clock_getres()
      clock_gettime()
      clock_nanosleep()
      clock_settime()
      ClockAdjust(), ClockAdjust_r()
      ClockCycles()
      ClockId(), ClockId_r()
      ClockPeriod(), ClockPeriod_r()
      ClockTime(), ClockTime_r()
      close()
      closedir()
      closelog()
      _cmdfd()
      _cmdname()
      confstr()
      connect()
      ConnectAttach(), ConnectAttach_r()
      ConnectClientInfo(), ConnectClientInfo_r()
      ConnectClientInfoExt()
      ConnectDetach(), ConnectDetach_r()
      ConnectFlags(), ConnectFlags_r()
      ConnectServerInfo(), ConnectServerInfo_r()
      copysign(), copysignf()
      cos(), cosf(), cosl()
      cosh(), coshf(), coshl()
      creat(), creat64()
      crypt()
      ctermid()
      ctime(), ctime_r()
    D
      daemon()
      daylight
      DebugBreak()
      DebugKDBreak()
      DebugKDOutput()
      delay()
      devctl()
      dhcpctl*()
      difftime()
      dircntl()
      dirent, dirent64
      dirname()
      dispatch_block()
      dispatch_context_alloc()
      dispatch_context_free()
      dispatch_create()
      dispatch_create_channel()
      dispatch_destroy()
      dispatch_handler()
      dispatch_timeout()
      dispatch_unblock()
      div()
      dladdr()
      dlclose()
      dlerror()
      dlopen()
      dlsym()
      dn_comp()
      dn_expand()
      drand48()
      ds_clear()
      ds_create()
      ds_deregister()
      ds_flags()
      ds_get()
      ds_register()
      ds_set()
      dup()
      dup2()
    E
      eaccess()
      _edata
      encrypt()
      _end
      endfsent()
      endgrent()
      endhostent()
      ENDIAN_BE16()
      ENDIAN_BE32()
      ENDIAN_BE64()
      ENDIAN_LE16()
      ENDIAN_LE32()
      ENDIAN_LE64()
      ENDIAN_RET16()
      ENDIAN_RET32()
      ENDIAN_RET64()
      ENDIAN_SWAP16()
      ENDIAN_SWAP32()
      ENDIAN_SWAP64()
      endnetent()
      endprotoent()
      endpwent()
      endservent()
      endspent()
      endutent()
      environ
      eof()
      erand48()
      erf(), erff()
      erfc(), erfcf(), erfcl()
      err(), errx()
      errno
      _etext
      execl()
      execle()
      execlp()
      execlpe()
      execv()
      execve()
      execvp()
      execvpe()
      _exit()
      exit()
      exp(), expf(), expl()
      expm1(), expm1f()
    F
      fabs(), fabsf()
      fcfgopen()
      fchdir()
      fchmod()
      fchown()
      fclose()
      fcloseall()
      fcntl()
      fdatasync()
      fdistrusted()
      fdopen()
      feof()
      ferror()
      fflush()
      ffs()
      fgetc()
      fgetchar()
      fgetpos()
      fgets()
      fgetspent()
      fgetwc()
      fgetws()
      fileno()
      flink()
      flock()
      flockfile()
      floor(), floorf()
      flushall()
      fmod(), fmodf(), fmodl()
      fnmatch()
      fopen(), fopen64()
      fork()
      forkpty()
      fp_exception_mask()
      fp_exception_value()
      fp_precision()
      fp_rounding()
      fp_setenv()
      fpathconf()
      fprintf()
      fputc()
      fputchar()
      fputs()
      fputwc()
      fputws()
      fread()
      free()
      freeaddrinfo()
      freeifaddrs()
      freopen(), freopen64()
      frexp(), frexpf()
      fscanf()
      fseek(), fseeko(), fseeko64()
      fsetpos()
      fstat(), fstat64()
      fstatvfs(), fstatvfs64()
      fsync()
      ftell(), ftello(), ftello64()
      ftime()
      ftruncate(), ftruncate64()
      ftrylockfile()
      ftw(), ftw64()
      funlockfile()
      futime()
      fwide()
      fwprintf()
      fwrite()
      fwscanf()
    G
      gai_strerror()
      gamma(), gamma_r(), gammaf(), gammaf_r()
      getaddrinfo()
      getc()
      getc_unlocked()
      getchar()
      getchar_unlocked()
      getcwd()
      getdomainname()
      getdtablesize()
      getegid()
      getenv()
      geteuid()
      getfsfile()
      getfsent()
      getfsspec()
      getgid()
      getgrent()
      getgrgid()
      getgrgid_r()
      getgrnam()
      getgrnam_r()
      getgrouplist()
      getgroups()
      gethostbyaddr()
      gethostbyaddr_r()
      gethostbyname(), gethostbyname2()
      gethostbyname_r()
      gethostent()
      gethostent_r()
      gethostname()
      getifaddrs()
      GETIOVBASE()
      GETIOVLEN()
      getitimer()
      getlogin()
      getlogin_r()
      getnameinfo()
      getnetbyaddr()
      getnetbyname()
      getnetent()
      getopt()
      getpagesize()
      getpagesizes(), getpagesizes64()
      getpass()
      getpeereid()
      getpeername()
      getpgid()
      getpgrp()
      getpid()
      getppid()
      getprio()
      getprotobyname()
      getprotobynumber()
      getprotoent()
      getpwent()
      getpwent_r()
      getpwnam()
      getpwnam_r()
      getpwuid()
      getpwuid_r()
      getrlimit(), getrlimit64()
      getrusage()
      gets()
      getservbyname()
      getservbyport()
      getservent()
      getsid()
      getsockname()
      getsockopt()
      getspent(), getspent_r()
      getspnam(), getspnam_r()
      getsubopt()
      gettid()
      gettimeofday()
      getuid()
      getutent()
      getutid()
      getutline()
      getw()
      getwc()
      getwchar()
      getwd()
      glob()
      globfree()
      gmtime()
      gmtime_r()
      grantpt()
    H
      h_errno
      hcreate()
      hdestroy()
      herror()
      hostent
      hsearch()
      hstrerror()
      htonl()
      htons()
      hwi_find_item()
      hwi_find_tag()
      hwi_next_item()
      hwi_next_tag()
      hwi_off2tag()
      hwi_tag2off()
      hypot(), hypotf()
    I
      ICMP
      ICMP6
      if_freenameindex()
      if_indextoname()
      if_nameindex()
      if_nametoindex()
      ifaddrs
      ilogb(), ilogbf()
      img_cfg_read()
      img_codec_get_criteria()
      img_codec_list()
      img_codec_list_byext()
      img_codec_list_bymime()
      img_convert_data()
      img_convert_getfunc()
      img_crop()
      img_decode_begin()
      img_decode_callouts_t
      img_decode_finish()
      img_decode_frame()
      img_decode_validate()
      img_dtransform()
      img_dtransform_apply()
      img_dtransform_create()
      img_dtransform_free()
      img_encode_begin()
      img_encode_callouts_t
      img_encode_finish()
      img_encode_frame()
      img_expand_getfunc()
      IMG_FMT_BPL()
      IMG_FMT_BPP()
      img_format_t
      img_lib_attach()
      img_lib_detach()
      img_load()
      img_load_file()
      img_load_resize_file()
      img_resize_fs()
      img_rotate_ortho()
      img_t
      img_write()
      img_write_file()
      in8()
      in8s()
      in16(), inbe16(), inle16()
      in16s()
      in32(), inbe32(), inle32()
      in32s()
      index()
      inet_addr()
      inet_aton()
      inet_lnaof()
      inet_makeaddr()
      inet_net_ntop()
      inet_netof()
      inet_net_pton()
      inet_network()
      inet_ntoa()
      inet_ntoa_r()
      inet_ntop()
      inet_pton()
      INET6
      inet6_option_alloc()
      inet6_option_append()
      inet6_option_find()
      inet6_option_init()
      inet6_option_next()
      inet6_option_space()
      inet6_rthdr_add()
      inet6_rthdr_getaddr()
      inet6_rthdr_getflags()
      inet6_rthdr_init()
      inet6_rthdr_lasthop()
      inet6_rthdr_reverse()
      inet6_rthdr_segments()
      inet6_rthdr_space()
      initgroups()
      initstate()
      inotify_add_watch()
      inotify_event
      inotify_init()
      inotify_rm_watch()
      input_line()
      insque()
      InterruptAttach(), InterruptAttach_r()
      InterruptAttachEvent(), InterruptAttachEvent_r()
      InterruptCharacteristic(), InterruptCharacteristic_r()
      InterruptDetach(), InterruptDetach_r()
      InterruptDisable()
      InterruptEnable()
      InterruptHookIdle()
      InterruptHookTrace()
      InterruptLock()
      InterruptMask()
      InterruptStatus()
      InterruptUnlock()
      InterruptUnmask()
      InterruptWait(), InterruptWait_r()
      _intr_v86()
      _io_connect
      _io_connect_ftype_reply
      _io_connect_link_reply
      io_close()
      io_open()
      ioctl(), ioctl_socket()
      iofdinfo()
      iofunc_attr_init()
      iofunc_attr_lock()
      iofunc_attr_t
      iofunc_attr_trylock()
      iofunc_attr_unlock()
      iofunc_check_access()
      iofunc_chmod()
      iofunc_chmod_default()
      iofunc_chown()
      iofunc_chown_default()
      iofunc_client_info_ext()
      iofunc_client_info_ext_free()
      iofunc_close_dup()
      iofunc_close_dup_default()
      iofunc_close_ocb()
      iofunc_close_ocb_default()
      iofunc_devctl()
      iofunc_devctl_default()
      iofunc_devctl_verify()
      iofunc_fdinfo()
      iofunc_fdinfo_default()
      iofunc_func_init()
      iofunc_link()
      iofunc_lock()
      iofunc_lock_calloc()
      iofunc_lock_default()
      iofunc_lock_free()
      iofunc_lock_ocb_default()
      iofunc_lseek()
      iofunc_lseek_default()
      iofunc_mknod()
      iofunc_mmap()
      iofunc_mmap_default()
      iofunc_notify()
      iofunc_notify_remove()
      iofunc_notify_trigger()
      iofunc_ocb_attach()
      iofunc_ocb_calloc()
      iofunc_ocb_detach()
      iofunc_ocb_free()
      iofunc_ocb_t
      iofunc_open()
      iofunc_open_default()
      iofunc_openfd()
      iofunc_openfd_default()
      iofunc_pathconf()
      iofunc_pathconf_default()
      iofunc_read_default()
      iofunc_read_verify()
      iofunc_readlink()
      iofunc_rename()
      iofunc_space_verify()
      iofunc_stat()
      iofunc_stat_default()
      iofunc_sync()
      iofunc_sync_default()
      iofunc_sync_verify()
      iofunc_time_update()
      iofunc_unblock()
      iofunc_unblock_default()
      iofunc_unlink()
      iofunc_unlock_ocb_default()
      iofunc_utime()
      iofunc_utime_default()
      iofunc_write_default()
      iofunc_write_verify()
      ionotify()
      IP
      IPsec
      ipsec_dump_policy()
      ipsec_get_policylen()
      ipsec_set_policy()
      ipsec_strerror()
      IPv6
      iruserok(), iruserok_sa()
      isalnum()
      isalpha()
      isascii()
      isatty()
      isblank()
      iscntrl()
      isdigit()
      isfdtype()
      isfinite()
      isgraph()
      isinf()
      islower()
      isnan()
      isprint()
      ispunct()
      isspace()
      isupper()
      iswalnum()
      iswalpha()
      iswblank()
      iswcntrl()
      iswctype()
      iswdigit()
      iswgraph()
      iswlower()
      iswprint()
      iswpunct()
      iswspace()
      iswupper()
      iswxdigit()
      isxdigit()
      itoa()
    J
      j0(), j0f()
      j1(), j1f()
      jn(), jnf()
      jrand48()
    K
      kill()
      killpg()
    L
      labs()
      lchown()
      lcong48()
      ldexp(), ldexpf(), ldexpl()
      ldiv(), lldiv()
      lfind()
      lgamma(), lgamma_r(), lgammaf(), lgammaf_r()
      link()
      lio_listio(), lio_listio64()
      listen()
      llabs()
      localeconv()
      localtime()
      localtime_r()
      lockf(), lockf64()
      log(), logf(), logl()
      log10(), log10f(), log10l()
      log1p(), log1pf(), log1pl()
      logb(), logbf()
      login_tty()
      longjmp()
      lrand48()
      lsearch()
      lseek(), lseek64()
      lstat(), lstat64()
      ltoa(), lltoa()
      ltrunc()
    M
      main()
      mallinfo()
      malloc()
      mallopt()
      max()
      mblen()
      mbrlen()
      mbrtowc()
      mbsinit()
      mbsrtowcs()
      mbstowcs()
      mbtowc()
      mcheck()
      mem_offset(), mem_offset64()
      memalign()
      memccpy()
      memchr()
      memcmp()
      memcpy()
      memcpyv()
      memicmp()
      memmove()
      memset()
      memset_s()
      message_attach()
      message_connect()
      message_detach()
      min()
      mkdir()
      mkfifo()
      mknod()
      mkstemp()
      mktemp()
      mktime()
      mlock()
      mlockall()
      mmap(), mmap64()
      mmap_device_io()
      mmap_device_memory()
      modem_open()
      modem_read()
      modem_script()
      modem_write()
      modf(), modff()
      mount()
      mount_parse_generic_args()
      mprobe()
      mprotect()
      mq_close()
      mq_getattr()
      mq_notify()
      mq_open()
      mq_receive()
      mq_send()
      mq_setattr()
      mq_timedreceive(), mq_timedreceive_monotonic()
      mq_timedsend(), mq_timedsend_monotonic()
      mq_unlink()
      mrand48()
      _msg_info
      MsgCurrent(), MsgCurrent_r()
      MsgDeliverEvent(), MsgDeliverEvent_r()
      MsgError(), MsgError_r()
      MsgInfo(), MsgInfo_r()
      MsgKeyData(), MsgKeyData_r()
      MsgRead(), MsgRead_r()
      MsgReadv(), MsgReadv_r()
      MsgReceive(), MsgReceive_r()
      MsgReceivePulse(), MsgReceivePulse_r()
      MsgReceivePulsev(), MsgReceivePulsev_r()
      MsgReceivev(), MsgReceivev_r()
      MsgReply(), MsgReply_r()
      MsgReplyv(), MsgReplyv_r()
      MsgSend(), MsgSend_r()
      MsgSendnc(), MsgSendnc_r()
      MsgSendPulse(), MsgSendPulse_r()
      MsgSendsv(), MsgSendsv_r()
      MsgSendsvnc(), MsgSendsvnc_r()
      MsgSendv(), MsgSendv_r()
      MsgSendvnc(), MsgSendvnc_r()
      MsgSendvs(), MsgSendvs_r()
      MsgSendvsnc(), MsgSendvsnc_r()
      MsgVerifyEvent(), MsgVerifyEvent_r()
      MsgWrite(), MsgWrite_r()
      MsgWritev(), MsgWritev_r()
      msync()
      munlock()
      munlockall()
      munmap()
      munmap_device_io()
      munmap_device_memory()
      munmap_flags()
    N
      name_attach()
      name_close()
      name_detach()
      name_open()
      nanosleep()
      nanospin()
      nanospin_calibrate()
      nanospin_count()
      nanospin_ns()
      nanospin_ns_to_count()
      nap()
      napms()
      nbaconnect()
      nbaconnect_result()
      ncurses
      ND_NODE_CMP()
      netent
      netmgr_ndtostr()
      netmgr_remote_nd()
      netmgr_strtond()
      nextafter(), nextafterf()
      nftw(), nftw64()
      nice()
      nrand48()
      nsec2timespec()
      ntohl()
      ntohs()
    O
      offsetof()
      OMAPI
      open(), open64()
      opendir()
      openfd()
      openlog()
      openpty()
      out8()
      out8s()
      out16(), outbe16(), outle16()
      out16s()
      out32(), outbe32(), outle32()
      out32s()
    P
      pathconf()
      pathfind(), pathfind_r()
      pathmgr_symlink()
      pathmgr_unlink()
      pause()
      pccard_arm()
      pccard_attach()
      pccard_detach()
      pccard_info()
      pccard_lock()
      pccard_raw_read()
      pccard_unlock()
      pci_attach()
      pci_attach_device()
      pci_detach()
      pci_detach_device()
      pci_find_class()
      pci_find_device()
      pci_irq_routing_options()
      pci_map_irq()
      pci_present()
      pci_read_config()
      pci_read_config8()
      pci_read_config16()
      pci_read_config32()
      pci_rescan_bus()
      pci_write_config()
      pci_write_config8()
      pci_write_config16()
      pci_write_config32()
      pclose()
      perror()
      pipe()
      poll()
      popen()
      posix_fadvise(), posix_fadvise64()
      posix_fallocate(), posix_fallocate64()
      posix_madvise()
      posix_mem_offset(), posix_mem_offset64()
      posix_memalign()
      posix_openpt()
      posix_spawn(), posix_spawnp()
       posix_spawn_file_actions_addclose()
       posix_spawn_file_actions_adddup2()
       posix_spawn_file_actions_addopen()
       posix_spawn_file_actions_destroy()
       posix_spawn_file_actions_init()
       posix_spawnattr_addpartid()
       posix_spawnattr_addpartition()
       posix_spawnattr_destroy()
       posix_spawnattr_getcred()
       posix_spawnattr_getflags()
       posix_spawnattr_getnode()
       posix_spawnattr_getpartid()
       posix_spawnattr_getpgroup()
       posix_spawnattr_getrunmask()
       posix_spawnattr_getschedparam()
       posix_spawnattr_getschedpolicy()
       posix_spawnattr_getsigdefault()
       posix_spawnattr_getsigignore()
       posix_spawnattr_getsigmask()
       posix_spawnattr_getstackmax()
       posix_spawnattr_getxflags()
       posix_spawnattr_init()
       posix_spawnattr_setcred()
      posix_spawnattr_setflags()
       posix_spawnattr_setnode()
       posix_spawnattr_setpgroup()
       posix_spawnattr_setrunmask()
       posix_spawnattr_setschedparam()
       posix_spawnattr_setschedpolicy()
       posix_spawnattr_setsigdefault()
       posix_spawnattr_setsigignore()
       posix_spawnattr_setsigmask()
       posix_spawnattr_setstackmax()
      posix_spawnattr_setxflags()
      posix_typed_mem_get_info()
      posix_typed_mem_open()
      pow(), powf(), powl()
      pread(), pread64()
      printf()
      procmgr_ability()
      procmgr_daemon()
      procmgr_event_notify()
      procmgr_event_notify_add()
      procmgr_event_notify_delete()
      procmgr_event_trigger()
      procmgr_guardian()
      procmgr_session()
      procmgr_timer_tolerance()
      procmgr_value_current()
      procmgr_value_notify_add()
      __progname
      protoent
      pthread_abort()
      pthread_atfork()
      pthread_attr_destroy()
      pthread_attr_getdetachstate()
      pthread_attr_getguardsize()
      pthread_attr_getinheritsched()
      pthread_attr_getschedparam()
      pthread_attr_getschedpolicy()
      pthread_attr_getscope()
      pthread_attr_getstack()
      pthread_attr_getstackaddr()
      pthread_attr_getstacklazy()
      pthread_attr_getstackprealloc()
      pthread_attr_getstacksize()
      pthread_attr_init()
      pthread_attr_setdetachstate()
      pthread_attr_setguardsize()
      pthread_attr_setinheritsched()
      pthread_attr_setschedparam()
      pthread_attr_setschedpolicy()
      pthread_attr_setscope()
      pthread_attr_setstack()
      pthread_attr_setstackaddr()
      pthread_attr_setstacklazy()
      pthread_attr_setstackprealloc()
      pthread_attr_setstacksize()
      pthread_barrier_destroy()
      pthread_barrier_init()
      pthread_barrier_wait()
      pthread_barrierattr_destroy()
      pthread_barrierattr_getpshared()
      pthread_barrierattr_init()
      pthread_barrierattr_setpshared()
      pthread_cancel()
      pthread_cleanup_pop()
      pthread_cleanup_push()
      pthread_cond_broadcast()
      pthread_cond_destroy()
      pthread_cond_init()
      pthread_cond_signal()
      pthread_cond_timedwait()
      pthread_cond_wait()
      pthread_condattr_destroy()
      pthread_condattr_getclock()
      pthread_condattr_getpshared()
      pthread_condattr_init()
      pthread_condattr_setclock()
      pthread_condattr_setpshared()
      pthread_create()
      pthread_detach()
      pthread_equal()
      pthread_exit()
      pthread_getconcurrency()
      pthread_getcpuclockid()
      pthread_getname_np()
      pthread_getschedparam()
      pthread_getspecific()
      pthread_join()
      pthread_key_create()
      pthread_key_delete()
      pthread_kill()
      pthread_mutex_destroy()
      pthread_mutex_getprioceiling()
      pthread_mutex_init()
      pthread_mutex_lock()
      pthread_mutex_setprioceiling()
      pthread_mutex_timedlock(), pthread_mutex_timedlock_monotonic()
      pthread_mutex_trylock()
      pthread_mutex_unlock()
      pthread_mutex_wakeup_np()
      pthread_mutexattr_destroy()
      pthread_mutexattr_getprioceiling()
      pthread_mutexattr_getprotocol()
      pthread_mutexattr_getpshared()
      pthread_mutexattr_getrecursive()
      pthread_mutexattr_gettype()
      pthread_mutexattr_getwakeup_np()
      pthread_mutexattr_init()
      pthread_mutexattr_setprioceiling()
      pthread_mutexattr_setprotocol()
      pthread_mutexattr_setpshared()
      pthread_mutexattr_setrecursive()
      pthread_mutexattr_settype()
      pthread_mutexattr_setwakeup_np()
      pthread_once()
      pthread_rwlock_destroy()
      pthread_rwlock_init()
      pthread_rwlock_rdlock()
      pthread_rwlock_timedrdlock()
      pthread_rwlock_timedwrlock()
      pthread_rwlock_tryrdlock()
      pthread_rwlock_trywrlock()
      pthread_rwlock_unlock()
      pthread_rwlock_wrlock()
      pthread_rwlockattr_destroy()
      pthread_rwlockattr_getpshared()
      pthread_rwlockattr_init()
      pthread_rwlockattr_setpshared()
      pthread_self()
      pthread_setcancelstate()
      pthread_setcanceltype()
      pthread_setconcurrency()
      pthread_setname_np()
      pthread_setschedparam()
      pthread_setschedprio()
      pthread_setspecific()
      pthread_sigmask()
      pthread_sleepon_broadcast()
      pthread_sleepon_lock()
      pthread_sleepon_signal()
      pthread_sleepon_timedwait()
      pthread_sleepon_unlock()
      pthread_sleepon_wait()
      pthread_spin_destroy()
      pthread_spin_init()
      pthread_spin_lock()
      pthread_spin_trylock()
      pthread_spin_unlock()
      pthread_testcancel()
      pthread_timedjoin(), pthread_timedjoin_monotonic()
      ptsname()
      ptsname_r()
      _pulse
      pulse_attach()
      pulse_detach()
      putc()
      putc_unlocked()
      putchar()
      putchar_unlocked()
      putenv()
      puts()
      putspent()
      pututline()
      putw()
      putwc()
      putwchar()
      pwrite(), pwrite64()
    Q
      qnx_crypt()
      qsort()
    R
      Raccept()
      raise()
      rand()
      rand_r()
      random()
      Rbind()
      rcmd(), rcmd_af()
      Rconnect()
      rdchk()
      re_comp()
      re_exec()
      read()
      read_main_config_file()
      readblock()
      readcond()
      readdir(), readdir64()
      readdir_r()
      readlink()
      readv()
      realloc()
      realpath()
      recv()
      recvfrom()
      recvmsg()
      regcomp()
      regerror()
      regexec()
      regfree()
      remainder(), remainderf(), remainderl()
      remove()
      remque()
      rename()
      res_init()
      res_mkquery()
      res_query()
      res_querydomain()
      res_search()
      res_send()
      resmgr_attach()
      resmgr_block()
      resmgr_connect_funcs_t
      resmgr_context_alloc()
      resmgr_context_free()
      resmgr_context_t
      resmgr_detach()
      resmgr_devino()
      resmgr_handle_grow()
      resmgr_handle_tune()
      resmgr_handler()
      resmgr_io_funcs_t
      resmgr_iofuncs()
      resmgr_msg_again()
      resmgr_msgread()
      resmgr_msgreadv()
      resmgr_msgreply()
      resmgr_msgreplyv()
      resmgr_msgwrite()
      resmgr_msgwritev()
      _RESMGR_NPARTS()
      resmgr_ocb()
      resmgr_open_bind()
      resmgr_pathname()
      _RESMGR_PTR()
      _RESMGR_STATUS()
      resmgr_unbind()
      rewind()
      rewinddir()
      Rgetsockname()
      rindex()
      rint(), rintf(), rintl()
      Rlisten()
      rmdir()
      round(), roundf(), roundl()
      ROUTE
      Rrcmd()
      rresvport(), rresvport_af()
      Rselect()
      rsrcdbmgr_attach()
      rsrcdbmgr_create()
      rsrcdbmgr_destroy()
      rsrcdbmgr_detach()
      rsrcdbmgr_devno_attach()
      rsrcdbmgr_devno_detach()
      rsrcdbmgr_query_name()
      ruserok()
    S
      sbrk()
      scalb()
      scalbn(), scalbnf()
      _scalloc()
      scandir()
      scanf()
      sched_getparam()
      sched_get_priority_adjust()
      sched_get_priority_max()
      sched_get_priority_min()
      sched_getscheduler()
      sched_param
      sched_rr_get_interval()
      sched_setparam()
      sched_setscheduler()
      sched_yield()
      SchedCtl(), SchedCtl_r()
      SchedGet(), SchedGet_r()
      SchedInfo(), SchedInfo_r()
      SchedSet(), SchedSet_r()
      SchedYield(), SchedYield_r()
      searchenv()
      seed48()
      seekdir()
      select()
      select_attach()
      select_detach()
      select_query()
      sem_close()
      sem_destroy()
      sem_getvalue()
      sem_init()
      sem_open()
      sem_post()
      sem_timedwait(), sem_timedwait_monotonic()
      sem_trywait()
      sem_unlink()
      sem_wait()
      send()
      sendmsg()
      sendto()
      servent
      set_lowest_fd()
      setbuf()
      setbuffer()
      setdomainname()
      setegid()
      setenv()
      seteuid()
      setgid()
      setfsent()
      setgrent()
      setgroups()
      sethostent()
      sethostname()
      SETIOV()
      setitimer()
      setjmp()
      setkey()
      setlinebuf()
      setlocale()
      setlogmask()
      setnetent()
      setpgid()
      setpgrp()
      setprio()
      setprotoent()
      setpwent()
      setregid()
      setreuid()
      setrlimit(), setrlimit64()
      setservent()
      setsid()
      setsockopt()
      setspent()
      setstate()
      settimeofday()
      setuid()
      setutent()
      setvbuf()
      _sfree()
      shm_ctl()
      shm_ctl_special()
      shm_open()
      shm_unlink()
      shutdown()
      shutdown_system()
      sigaction()
      sigaddset()
      sigblock()
      sigdelset()
      sigemptyset()
      sigevent
      sigfillset()
      sigismember()
      siglongjmp()
      sigmask()
      signal()
      SignalAction(), SignalAction_r()
      SignalKill(), SignalKill_r()
      SignalProcmask(), SignalProcmask_r()
      SignalSuspend(), SignalSuspend_r()
      SignalWaitinfo(), SignalWaitinfo_r()
      sigpause()
      sigpending()
      sigprocmask()
      sigqueue()
      sigsetjmp()
      sigsetmask()
      sigsuspend()
      sigtimedwait()
      sigunblock()
      sigwait()
      sigwaitinfo()
      sin(), sinf(), sinl()
      sinh(), sinhf(), sinhl()
      sleep()
      _sleepon_broadcast()
      _sleepon_destroy()
      _sleepon_init()
      _sleepon_lock()
      _sleepon_signal()
      _sleepon_unlock()
      _sleepon_wait()
      slog2c()
      slog2f()
      slog2fa()
      slog2_get_verbosity()
      slog2_register()
      slog2_reset()
      slog2_set_default_buffer()
      slog2_set_verbosity()
      slogb()
      slogf()
      slogi()
      _smalloc()
      snmp_close()
      snmp_free_pdu()
      snmp_open()
      snmp_pdu
      snmp_pdu_create()
      snmp_read()
      snmp_select_info()
      snmp_send()
      snmp_session
      snmp_timeout()
      snprintf()
      sockatmark()
      socket()
      socketpair()
      SOCKSinit()
      sopen()
      sopenfd()
      spawn()
      spawnl()
      spawnle()
      spawnlp()
      spawnlpe()
      spawnp()
      spawnv()
      spawnve()
      spawnvp()
      spawnvpe()
      sprintf()
      sqrt(), sqrtf(), sqrtl()
      srand()
      srand48()
      srandom()
      _srealloc()
      sscanf()
      stat(), stat64()
      statvfs(), statvfs64()
      stderr
      stdin
      stdout
      straddstr()
      strcasecmp()
      strcat()
      strchr()
      strcmp()
      strcmpi()
      strcoll()
      strcpy()
      strcspn()
      strdup()
      strerror()
      strerror_r()
      strftime()
      stricmp()
      strlcat(), strlcpy()
      strlen()
      strlwr()
      strncasecmp()
      strncat()
      strncmp()
      strncpy()
      strnicmp()
      strnset()
      strpbrk()
      strptime()
      strrchr()
      strrev()
      strsep()
      strset()
      strsignal()
      strspn()
      strstr()
      strtod(), strtof(), strtold()
      strtoimax(), strtoumax()
      strtok()
      strtok_r()
      strtol(), strtoll()
      strtoul(), strtoull()
      strupr()
      strxfrm()
      swab()
      swprintf()
      swscanf()
      symlink()
      sync()
      SyncCondvarSignal(), SyncCondvarSignal_r()
      SyncCondvarWait(), SyncCondvarWait_r()
      SyncCtl(), SyncCtl_r()
      SyncDestroy(), SyncDestroy_r()
      SyncMutexEvent(), SyncMutexEvent_r()
      SyncMutexLock(), SyncMutexLock_r()
      SyncMutexRevive(), SyncMutexRevive_r()
      SyncMutexUnlock(), SyncMutexUnlock_r()
      SyncSemPost(), SyncSemPost_r()
      SyncSemWait(), SyncSemWait_r()
      SyncTypeCreate(), SyncTypeCreate_r()
      sysconf()
      sysctl()
      syslog()
      sysmgr_reboot()
      sysmgr_runstate(), sysmgr_runstate_dynamic()
      sysmgr_runstate_burst()
      SYSPAGE_CPU_ENTRY()
      SYSPAGE_ENTRY()
      _syspage_ptr
      system()
    T
      tan(), tanf(), tanl()
      tanh(), tanhf(), tanhl()
      tcdrain()
      tcdropline()
      tcflow()
      tcflush()
      tcgetattr()
      tcgetpgrp()
      tcgetsid()
      tcgetsize()
      tcinject()
      tcischars()
      TCP
      tcsendbreak()
      tcsetattr()
      tcsetpgrp()
      tcsetsid()
      tcsetsize()
      tell(), tell64()
      telldir()
      tempnam()
      termios
      thread_pool_control()
      thread_pool_create()
      thread_pool_destroy()
      thread_pool_limits()
      thread_pool_start()
      ThreadCancel(), ThreadCancel_r()
      ThreadCreate(), ThreadCreate_r()
      ThreadCtl(), ThreadCtl_r()
      ThreadDestroy(), ThreadDestroy_r()
      ThreadDetach(), ThreadDetach_r()
      ThreadJoin(), ThreadJoin_r()
      time()
      timer_create()
      timer_delete()
      timer_getexpstatus()
      timer_getoverrun()
      timer_gettime()
      timer_settime()
      timer_timeout(), timer_timeout_r()
      TimerAlarm(), TimerAlarm_r()
      TimerCreate(), TimerCreate_r()
      TimerDestroy(), TimerDestroy_r()
      TimerInfo(), TimerInfo_r()
      TimerSettime(), TimerSettime_r()
      TimerTimeout(), TimerTimeout_r()
      times()
      timespec
      timespec2nsec()
      timezone
      tm
      tmpfile(), tmpfile64()
      tmpnam()
      tolower()
      toupper()
      towctrans()
      towlower()
      towupper()
      trace_func_enter()
      trace_func_exit()
      trace_here()
      trace_logb()
      trace_logbc()
      trace_logf()
      trace_logi()
      trace_nlogf()
      trace_vnlogf()
      TraceEvent()
      traceparser()
      traceparser_cs()
      traceparser_cs_range()
      traceparser_debug()
      traceparser_destroy()
      traceparser_get_info()
      traceparser_init()
      truncate(), truncate64()
      ttyname()
      ttyname_r()
      tzname
      tzset()
    U
      ualarm()
      UDP
      ultoa(), ulltoa()
      umask()
      umount()
      UNALIGNED_PUT16()
      UNALIGNED_PUT32()
      UNALIGNED_PUT64()
      UNALIGNED_RET16()
      UNALIGNED_RET32()
      UNALIGNED_RET64()
      uname()
      ungetc()
      ungetwc()
      UNIX
      unlink()
      unlockpt()
      unsetenv()
      usleep()
      utime()
      utimes()
      utmp
      utmpname()
      utoa()
    V
      va_arg()
      va_copy()
      va_end()
      va_start()
      valloc()
      verr(), verrx()
      vfork()
      vfprintf()
      vfscanf()
      vfwprintf()
      vfwscanf()
      vprintf()
      vscanf()
      vslog2f()
      vslogf()
      vsnprintf()
      vsprintf()
      vsscanf()
      vswprintf()
      vswscanf()
      vsyslog()
      vwarn(), vwarnx()
      vwprintf()
      vwscanf()
    W
      wait()
      wait3()
      wait4()
      waitfor()
      waitid()
      waitpid()
      warn(), warnx()
      wcrtomb()
      wcscat()
      wcschr()
      wcscmp()
      wcscoll()
      wcscpy()
      wcscspn()
      wcsftime()
      wcslen()
      wcsncat()
      wcsncmp()
      wcsncpy()
      wcspbrk()
      wcsrchr()
      wcsrtombs()
      wcsspn()
      wcsstr()
      wcstod(), wcstof(), wcstold()
      wcstoimax(), wcstoumax()
      wcstok()
      wcstol(), wcstoll()
      wcstombs()
      wcstoul(), wcstoull()
      wcsxfrm()
      wctob()
      wctomb()
      wctrans()
      wctype()
      wmemchr()
      wmemcmp()
      wmemcpy()
      wmemmove()
      wmemset()
      wordexp()
      wordfree()
      wprintf()
      write()
      writeblock()
      writev()
      wscanf()
    X
    Y
      y0(), y0f()
      y1(), y1f()
      yn(), ynf()
    Z
    SOCKS — A Basic Firewall
      About SOCKS
      How to SOCKSify a client
      What SOCKS expects
    Full Safety Information
      A
      B
      C
      D
      E
      F
      G
      H
      I
      J
      K
      L
      M
      N
      O
      P
      Q
      R
      S
      T
      U
      V
      W
      Y
    What's New in this Reference?
      What's new in QNX Neutrino 6.5.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.5.0?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.4.1?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Neutrino 6.4.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.2?
        Errata
      What's new in the QNX Neutrino Core OS 6.3.2?
        New entries
        Changed content
      What's new in QNX Neutrino 6.3.0 Service Pack 2?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.3.0?
        New entries
        Deprecated content
      What's new in QNX Neutrino 6.2.1?
        New entries
        Changed content
        Errata
      What's new in QNX Neutrino 6.2?
        New entries
        Deprecated content
        Errata
      What's new in QNX Neutrino 6.1.0?
        New entries
        Deprecated content
    Glossary
  Core Networking Stack
    User's Guide
      Overview
        What's new in the networking stack?
        Architecture of io-pkt
        Threading model
        Threading priorities
        Components of core networking
      Packet Filtering
        Packet Filters
        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
        Supported hardware crypto engines
      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
        TDP and io-pkt
        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
      Migrating from io-net
        Overview
        Compatibility between io-net and io-pkt
        Compatibility issues
        Behavioral differences
        Simultaneous support
        Discontinued features
        Using pfil hooks to implement an io-net filter
      Glossary
    Porting Drivers from io-net to io-pkt
      Porting an io-net driver to io-pkt
        Shim and io-net drivers
        Differences between an io-net driver and an io-pkt driver
          Initialization
          Transmit
          Receive
          Link State Change Handling
          Control (e.g. devctl() and ioctl())
          Shutdown
        Threading
        Mutexing
  Dinkum C and C++ Libraries
    Dinkum C99 Library
      <assert.h>
        assert
      <complex.h>
        abs, fabs, cabs, cabsf, cabsl
        acos, cacos, cacosf, cacosl
        acosh, cacosh, cacoshf, cacoshl
        arg, carg, cargf, cargl
        asin, casin, casinf, casinl
        asinh, casinh, casinhf, casinhl
        atan, catan, catanf, catanl
        atanh, catanh, catanhf, catanhl
        complex
        _Complex_I
        conj, conjf, conjl
        cos, ccos, ccosf, ccosl
        cosh, ccosh, ccoshf, ccoshl
        cproj, cprojf, cprojl
        exp, cexp, cexpf, cexpl
        I
        imag, cimag, cimagf, cimagl
        imaginary
        _Imaginary_I
        log, clog, clogf, clogl
        pow, cpow, cpowf, cpowl
        real, creal, crealf, creall
        sin, csin, csinf, csinl
        sinh, csinh, csinhf, csinhl
        sqrt, csqrt, csqrtf, csqrtl
        tan, ctan, ctanf, ctanl
        tanh, ctanh, ctanhf, ctanhl
      <ctype.h>
        isalnum
        isalpha
        isblank
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <fenv.h>
        FE_ALL_EXCEPT
        FE_DFL_ENV
        FE_DIVBYZERO
        FE_DOWNWARD
        FE_INEXACT
        FE_INVALID
        FE_TONEAREST
        FE_TOWARDZERO
        FE_OVERFLOW
        FE_UNDERFLOW
        FE_UPWARD
        fenv_t
        feclearexcept
        fegettrapenable
        fegetenv
        fegetexceptflag
        fegetround
        feholdexcept
        feraiseexcept
        fesetenv
        fesettrapenable
        fesetexceptflag
        fesetround
        fetestexcept
        feupdateenv
        fexcept_t
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        DECIMAL_DIG
        FLT_DIG
        FLT_EPSILON
        FLT_EVAL_METHOD
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <inttypes.h>
        imaxabs, abs
        imaxdiv, div
        imaxdiv_t
        PRId8, PRId16, PRId32, PRId64
        PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64
        PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64
        PRIdMAX
        PRIdPTR
        PRIi8, PRIi16, PRIi32, PRIi64
        PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64
        PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64
        PRIiMAX
        PRIiPTR
        PRIo8, PRIo16, PRIo32, PRIo64
        PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64
        PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64
        PRIoMAX
        PRIoPTR
        PRIu8, PRIu16, PRIu32, PRIu64
        PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64
        PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64
        PRIuMAX
        PRIuPTR
        PRIx8, PRIx16, PRIx32, PRIx64
        PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64
        PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64
        PRIxMAX
        PRIxPTR
        PRIX8, PRIX16, PRIX32, PRIX64
        PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64
        PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64
        PRIXMAX
        PRIXPTR
        SCNd8, SCNd16, SCNd32, SCNd64
        SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64
        SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64
        SCNdMAX
        SCNdPTR
        SCNi8, SCNi16, SCNi32, SCNi64
        SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64
        SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64
        SCNiMAX
        SCNiPTR
        SCNo8, SCNo16, SCNo32, SCNo64
        SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64
        SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64
        SCNoMAX
        SCNoPTR
        SCNu8, SCNu16, SCNu32, SCNu64
        SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64
        SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64
        SCNuMAX
        SCNuPTR
        SCNx8, SCNx16, SCNx32, SCNx64
        SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64
        SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64
        SCNxMAX
        SCNxPTR
        strtoimax
        strtoumax
        wcstoimax
        wcstoumax
      <iohw.h>
      <iso646.h>
        and
        and_eq
        bitand
        bitor
        compl
        not
        not_eq
        or
        or_eq
        xor
        xor_eq
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LLONG_MAX
        LLONG_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULLONG_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        abs, fabs, fabsf, fabsl
        acos, acosf, acosl
        acosh, acoshf, acoshl
        asin, asinf, asinl
        asinh, asinhf, asinhl
        atan, atanf, atanl
        atan2, atan2f, atan2l
        atanh, atanhf, atanhl
        cbrt, cbrtf, cbrtl
        ceil, ceilf, ceill
        copysign, copysignf, copysignl
        cos, cosf, cosl
        cosh, coshf, coshl
        double_t
        erf, erff, erfl
        erfc, erfcf, erfcl
        exp, expf, expl
        expm1, expm1f, expm1l
        exp2, exp2f, exp2l
        fdim, fdimf, fdiml
        float_t
        floor, floorf, floorl
        fma, fmaf, fmal
        fmax, fmaxf, fmaxl
        fmin, fminf, fminl
        fmod, fmodf, fmodl
        fpclassify
        FP_FAST_FMA
        FP_FAST_FMAF
        FP_FAST_FMAL
        FP_ILOGB0
        FP_ILOGBNAN
        FP_INFINITE
        FP_NAN
        FP_NORMAL
        FP_SUBNORMAL
        FP_ZERO
        frexp, frexpf, frexpl
        HUGE_VAL
        HUGE_VALF
        HUGE_VALL
        hypot, hypotf, hypotl
        ilogb, ilogbf, ilogbl
        INFINITY
        isfinite
        isgreater
        isgreaterequal
        isinf
        isless
        islessequal
        islessgreater
        isnan
        isnormal
        isunordered
        ldexp, ldexpf, ldexpl
        lgamma, lgammaf, lgammal
        llrint, llrintf, llrintl
        llround, llroundf, llroundl
        log, logf, logl
        log10, log10f, log10l
        log1p, log1pf, log1pl
        log2, log2f, log2l
        logb, logbf, logbl
        lrint, lrintf, lrintl
        lround, lroundf, lroundl
        MATH_ERRNO
        MATH_ERREXCEPT
        math_errhandling
        modf, modff, modfl
        NAN
        nan, nanf, nanl
        nearbyint, nearbyintf, nearbyintl
        nextafter, nextafterf, nextafterl
        nexttoward, nexttowardf, nexttowardl
        pow, powf, powl
        remainder, remainderf, remainderl
        remquo, remquof, remquol
        rint, rintf, rintl
        round, roundf, roundl
        scalbln, scalblnf, scalblnl
        scalbn, scalbnf, scalbnl
        signbit
        sin, sinf, sinl
        sinh, sinhf, sinhl
        sqrt, sqrtf, sqrtl
        tan, tanf, tanl
        tanh, tanhf, tanhl
        tgamma, tgammaf, tgammal
        trunc, truncf, truncl
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_copy
        va_end
        va_list
        va_start
      <stdbool.h>
        __bool_true_false_are_defined
        bool
        false
        true
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdint.h>
        INT8_C, INT16_C, INT32_C, INT64_C
        INT8_MAX, INT16_MAX, INT32_MAX, INT64_MAX
        INT8_MIN, INT16_MIN, INT32_MIN, INT64_MIN
        int8_t, int16_t, int32_t, int64_t
        INT_FAST8_MAX, INT_FAST16_MAX, INT_FAST32_MAX, INT_FAST64_MAX
        INT_FAST8_MIN, INT_FAST16_MIN, INT_FAST32_MIN, INT_FAST64_MIN
        int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t
        INT_LEAST8_MAX, INT_LEAST16_MAX, INT_LEAST32_MAX, INT_LEAST64_MAX
        INT_LEAST8_MIN, INT_LEAST16_MIN, INT_LEAST32_MIN, INT_LEAST64_MIN
        int_least8_t, int_least16_t, int_least32_t, int_least64_t
        INTMAX_C
        INTMAX_MAX
        INTMAX_MIN
        intmax_t
        INTPTR_MAX
        INTPTR_MIN
        intptr_t
        PTRDIFF_MAX
        PTRDIFF_MIN
        SIG_ATOMIC_MAX
        SIG_ATOMIC_MIN
        SIZE_MAX
        UINT8_C, UINT16_C, UINT32_C, UINT64_C
        UINT8_MAX, UINT16_MAX, UINT32_MAX, UINT64_MAX
        uint8_t, uint16_t, uint32_t, uint64_t
        UINT_FAST8_MAX, UINT_FAST16_MAX, UINT_FAST32_MAX, UINT_FAST64_MAX
        uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t
        UINT_LEAST8_MAX, UINT_LEAST16_MAX, UINT_LEAST32_MAX, UINT_LEAST64_MAX
        uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t
        UINTMAX_C
        UINTMAX_MAX
        uintmax_t
        UINTPTR_MAX
        uintptr_t
        WCHAR_MAX
        WCHAR_MIN
        WINT_MAX
        WINT_MIN
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        snprintf
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vfscanf
        vprintf
        vscanf
        vsnprintf
        vsprintf
        vsscanf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        atoll
        bsearch
        calloc
        div
        div_t
        exit
        _Exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        llabs
        ldiv
        lldiv
        ldiv_t
        lldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtof
        strtol
        strtold
        strtoll
        strtoul
        strtoull
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <tgmath.h>
        acos
        acosh
        carg
        asin
        asinh
        atan
        atan2
        atanh
        cbrt
        ceil
        cimag
        conj
        copysign
        cos
        cosh
        cproj
        creal
        erf
        erfc
        exp
        exp2
        expm1
        fabs
        fdim
        floor
        fma
        fmax
        fmin
        fmod
        frexp
        hypot
        ilogb
        ldexp
        lgamma
        llrint
        llround
        log
        log10
        log1p
        log2
        logb
        lrint
        lround
        modf
        nearbyint
        nextafter
        nexttoward
        pow
        remainder
        remquo
        rint
        round
        scalbln
        scalbn
        sin
        sinh
        sqrt
        tan
        tanh
        tgamma
        trunc
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <uchar.h>
        c16rtomb
        c32rtomb
        char16_t
        char32_t
        mbrtoc16
        mbrtoc32
        mbstate_t
        NULL
        size_t
        __STDC_UTF_16__
        __STDC_UTF_32__
      <wchar.h>
        btowc
        fgetwc
        fgetws
        fputwc
        fputws
        fwide
        fwprintf
        fwscanf
        getwc
        getwchar
        mbrlen
        mbrtowc
        mbsinit
        mbsrtowcs
        mbstate_t
        NULL
        putwc
        putwchar
        size_t
        swprintf
        swscanf
        tm
        ungetwc
        vfwprintf
        vfwscanf
        vswprintf
        vswscanf
        vwprintf
        vwscanf
        WCHAR_MAX
        WCHAR_MIN
        wchar_t
        wcrtomb
        wcscat
        wcschr
        wcscmp
        wcscoll
        wcscpy
        wcscspn
        wcsftime
        wcslen
        wcsncat
        wcsncmp
        wcsncpy
        wcspbrk
        wcsrchr
        wcsrtombs
        wcsspn
        wcsstr
        wcstod
        wcstof
        wcstok
        wcstol
        wcstold
        wcstoll
        wcstoul
        wcstoull
        wcsxfrm
        wctob
        WEOF
        wint_t
        wmemchr
        wmemcmp
        wmemcpy
        wmemmove
        wmemset
        wprintf
        wscanf
      <wctype.h>
        WEOF
        iswalnum
        iswalpha
        iswblank
        iswcntrl
        iswctype
        iswdigit
        iswgraph
        iswlower
        iswprint
        iswpunct
        iswspace
        iswupper
        iswxdigit
        towctrans
        towlower
        towupper
        wctrans
        wctrans_t
        wctype
        wctype_t
        wint_t
      C Library Overview
        Using Standard C Headers
        C Library Conventions
        Program Startup and Termination
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Byte and Wide Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
        Print Conversion Specifiers
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      Preprocessing
      Expressions
      Functions
      Index
    Dinkum C++ Library
      <algorithm>
        adjacent_find
        binary_search
        copy
        copy_backward
        count
        count_if
        equal
        equal_range
        fill
        fill_n
        find
        find_end
        find_first_of
        find_if
        for_each
        generate
        generate_n
        includes
        inplace_merge
        iter_swap
        lexicographical_compare
        lower_bound
        make_heap
        max
        max_element
        merge
        min
        min_element
        mismatch
        next_permutation
        nth_element
        partial_sort
        partial_sort_copy
        partition
        pop_heap
        prev_permutation
        push_heap
        random_shuffle
        remove
        remove_copy
        remove_copy_if
        remove_if
        replace
        replace_copy
        replace_copy_if
        replace_if
        reverse
        reverse_copy
        rotate
        rotate_copy
        search
        search_n
        set_difference
        set_intersection
        set_symmetric_difference
        set_union
        sort
        sort_heap
        stable_partition
        stable_sort
        swap
        swap_ranges
        transform
        unique
        unique_copy
        upper_bound
      <bitset>
        bitset
          bitset::any
          bitset::bitset
          bitset::count
          bitset::element_type
          bitset::flip
          bitset::none
          bitset::operator!=
          bitset::operator&=
          bitset::operator<<
          bitset::operator<<=
          bitset::operator==
          bitset::operator>>
          bitset::operator>>=
          bitset::operator[]
          bitset::operator^=
          bitset::operator|=
          bitset::operator~
          bitset::reference
          bitset::reset
          bitset::set
          bitset::size
          bitset::test
          bitset::to_string
          bitset::to_ulong
        operator&
        operator|
        operator^
        operator<<
        operator>>
      <complex>
        abs
        arg
        complex
          complex::complex
          complex::imag
          complex::operator*=
          complex::operator+=
          complex::operator-=
          complex::operator/=
          complex::operator=
          complex::real
          complex::value_type
        complex<double>
        complex<float>
        complex<long double>
        conj
        cos
        cosh
        exp
        imag
        log
        log10
        norm
        operator!=
        operator*
        operator+
        operator-
        operator/
        operator<<
        operator==
        operator>>
        polar
        pow
        real
        sin
        sinh
        sqrt
        __STD_COMPLEX
        tan
        tanh
      <deque>
        deque
          deque::allocator_type
          deque::assign
          deque::at
          deque::back
          deque::begin
          deque::clear
          deque::const_iterator
          deque::const_pointer
          deque::const_reference
          deque::const_reverse_iterator
          deque::deque
          deque::difference_type
          deque::empty
          deque::end
          deque::erase
          deque::front
          deque::get_allocator
          deque::insert
          deque::iterator
          deque::max_size
          deque::operator[]
          deque::pointer
          deque::pop_back
          deque::pop_front
          deque::push_back
          deque::push_front
          deque::rbegin
          deque::reference
          deque::rend
          deque::resize
          deque::reverse_iterator
          deque::size
          deque::size_type
          deque::swap
          deque::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <exception>
        bad_exception
        exception
        set_terminate
        set_unexpected
        terminate
        terminate_handler
        uncaught_exception
        unexpected
        unexpected_handler
      <fstream>
        basic_filebuf
          basic_filebuf::basic_filebuf
          basic_filebuf::char_type
          basic_filebuf::close
          basic_filebuf::int_type
          basic_filebuf::is_open
          basic_filebuf::off_type
          basic_filebuf::open
          basic_filebuf::overflow
          basic_filebuf::pbackfail
          basic_filebuf::pos_type
          basic_filebuf::seekoff
          basic_filebuf::seekpos
          basic_filebuf::setbuf
          basic_filebuf::sync
          basic_filebuf::traits_type
          basic_filebuf::underflow
        basic_fstream
          basic_fstream::basic_fstream
          basic_fstream::close
          basic_fstream::is_open
          basic_fstream::open
          basic_fstream::rdbuf
        basic_ifstream
          basic_ifstream::basic_ifstream
          basic_ifstream::close
          basic_ifstream::is_open
          basic_ifstream::open
          basic_ifstream::rdbuf
        basic_ofstream
          basic_ofstream::basic_ofstream
          basic_ofstream::close
          basic_ofstream::is_open
          basic_ofstream::open
          basic_ofstream::rdbuf
        filebuf
        fstream
        ifstream
        ofstream
        wfstream
        wifstream
        wofstream
        wfilebuf
      <functional>
        binary_function
        binary_negate
        bind1st
        bind2nd
        binder1st
        binder2nd
        const_mem_fun_t
        const_mem_fun_ref_t
        const_mem_fun1_t
        const_mem_fun1_ref_t
        divides
        equal_to
        greater
        greater_equal
        less
        less_equal
        logical_and
        logical_not
        logical_or
        mem_fun
        mem_fun_ref
        mem_fun_t
        mem_fun_ref_t
        mem_fun1_t
        mem_fun1_ref_t
        minus
        modulus
        multiplies
        negate
        not1
        not2
        not_equal_to
        plus
        ptr_fun
        unary_function
        unary_negate
      <hardware>
      <hash_map>
        hash_compare
        hash_map
          hash_map::allocator_type
          hash_map::begin
          hash_map::clear
          hash_map::const_iterator
          hash_map::const_pointer
          hash_map::const_reference
          hash_map::const_reverse_iterator
          hash_map::count
          hash_map::difference_type
          hash_map::empty
          hash_map::end
          hash_map::equal_range
          hash_map::erase
          hash_map::find
          hash_map::get_allocator
          hash_map::hash_map
          hash_map::insert
          hash_map::iterator
          hash_map::key_comp
          hash_map::key_compare
          hash_map::key_type
          hash_map::lower_bound
          hash_map::mapped_type
          hash_map::max_size
          hash_map::operator[]
          hash_map::pointer
          hash_map::rbegin
          hash_map::reference
          hash_map::rend
          hash_map::reverse_iterator
          hash_map::size
          hash_map::size_type
          hash_map::swap
          hash_map::upper_bound
          hash_map::value_comp
          hash_map::value_compare
          hash_map::value_type
        hash_multimap
          hash_multimap::allocator_type
          hash_multimap::begin
          hash_multimap::clear
          hash_multimap::const_iterator
          hash_multimap::const_pointer
          hash_multimap::const_reference
          hash_multimap::const_reverse_iterator
          hash_multimap::count
          hash_multimap::difference_type
          hash_multimap::empty
          hash_multimap::end
          hash_multimap::equal_range
          hash_multimap::erase
          hash_multimap::find
          hash_multimap::get_allocator
          hash_multimap::hash_multimap
          hash_multimap::insert
          hash_multimap::iterator
          hash_multimap::key_comp
          hash_multimap::key_compare
          hash_multimap::key_type
          hash_multimap::lower_bound
          hash_multimap::mapped_type
          hash_multimap::max_size
          hash_multimap::pointer
          hash_multimap::rbegin
          hash_multimap::reference
          hash_multimap::rend
          hash_multimap::reverse_iterator
          hash_multimap::size
          hash_multimap::size_type
          hash_multimap::swap
          hash_multimap::upper_bound
          hash_multimap::value_comp
          hash_multimap::value_compare
          hash_multimap::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <hash_set>
        hash_multiset
          hash_multiset::allocator_type
          hash_multiset::begin
          hash_multiset::clear
          hash_multiset::const_iterator
          hash_multiset::const_pointer
          hash_multiset::const_reference
          hash_multiset::const_reverse_iterator
          hash_multiset::count
          hash_multiset::difference_type
          hash_multiset::empty
          hash_multiset::end
          hash_multiset::equal_range
          hash_multiset::erase
          hash_multiset::find
          hash_multiset::get_allocator
          hash_multiset::hash_multiset
          hash_multiset::insert
          hash_multiset::iterator
          hash_multiset::key_comp
          hash_multiset::key_compare
          hash_multiset::key_type
          hash_multiset::lower_bound
          hash_multiset::max_size
          hash_multiset::pointer
          hash_multiset::rbegin
          hash_multiset::reference
          hash_multiset::rend
          hash_multiset::reverse_iterator
          hash_multiset::size
          hash_multiset::size_type
          hash_multiset::swap
          hash_multiset::upper_bound
          hash_multiset::value_comp
          hash_multiset::value_compare
          hash_multiset::value_type
        hash_set
          hash_set::allocator_type
          hash_set::begin
          hash_set::clear
          hash_set::const_iterator
          hash_set::const_pointer
          hash_set::const_reference
          hash_set::const_reverse_iterator
          hash_set::count
          hash_set::difference_type
          hash_set::empty
          hash_set::end
          hash_set::equal_range
          hash_set::erase
          hash_set::find
          hash_set::get_allocator
          hash_set::hash_set
          hash_set::insert
          hash_set::iterator
          hash_set::key_comp
          hash_set::key_compare
          hash_set::key_type
          hash_set::lower_bound
          hash_set::max_size
          hash_set::pointer
          hash_set::rbegin
          hash_set::reference
          hash_set::rend
          hash_set::reverse_iterator
          hash_set::size
          hash_set::size_type
          hash_set::swap
          hash_set::upper_bound
          hash_set::value_comp
          hash_set::value_compare
          hash_set::value_type
        swap
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
      <iohw>
      <iomanip>
        resetiosflags
        setbase
        setfill
        setiosflags
        setprecision
        setw
      <ios>
        basic_ios
          basic_ios::bad
          basic_ios::basic_ios
          basic_ios::char_type
          basic_ios::clear
          basic_ios::copyfmt
          basic_ios::eof
          basic_ios::exceptions
          basic_ios::fail
          basic_ios::fill
          basic_ios::good
          basic_ios::imbue
          basic_ios::init
          basic_ios::int_type
          basic_ios::narrow
          basic_ios::off_type
          basic_ios::operator void *
          basic_ios::operator!
          basic_ios::pos_type
          basic_ios::rdbuf
          basic_ios::rdstate
          basic_ios::setstate
          basic_ios::tie
          basic_ios::traits_type
          basic_ios::widen
        boolalpha
        dec
        fixed
        fpos
          fpos::fpos
          fpos::operator!=
          fpos::operator+
          fpos::operator+=
          fpos::operator-
          fpos::operator-=
          fpos::operator==
          fpos::operator streamoff
          fpos::state
        hex
        internal
        ios
        ios_base
          ios_base::event
          ios_base::failure
          ios_base::flags
          ios_base::fmtflags
          ios_base::getloc
          ios_base::imbue
          ios_base::Init
          ios_base::ios_base
          ios_base::iostate
          ios_base::iword
          ios_base::openmode
          ios_base::operator=
          ios_base::precision
          ios_base::pword
          ios_base::seekdir
          ios_base::setf
          ios_base::streamoff
          ios_base::streampos
          ios_base::sync_with_stdio
          ios_base::unsetf
          ios_base::width
          ios_base::xalloc
        left
        noboolalpha
        noshowbase
        noshowpoint
        noshowpos
        noskipws
        nounitbuf
        nouppercase
        oct
        right
        scientific
        showbase
        showpoint
        showpos
        skipws
        streamoff
        streampos
        streamsize
        unitbuf
        uppercase
        wios
        wstreampos
      <iosfwd>
      <iostream>
        cerr
        cin
        clog
        cout
        wcerr
        wcin
        wclog
        wcout
      <istream>
        basic_iostream
        basic_istream
          basic_istream::basic_istream
          basic_istream::gcount
          basic_istream::get
          basic_istream::getline
          basic_istream::ignore
          basic_istream::operator>>
          basic_istream::peek
          basic_istream::putback
          basic_istream::read
          basic_istream::readsome
          basic_istream::seekg
          basic_istream::sentry
          basic_istream::sync
          basic_istream::tellg
          basic_istream::unget
        iostream
        istream
        operator>>
        wiostream
        wistream
        ws
      <iterator>
        advance
        back_insert_iterator
          back_insert_iterator::back_insert_iterator
          back_insert_iterator::operator*
          back_insert_iterator::operator++
          back_insert_iterator::operator=
        back_inserter
        bidirectional_iterator_tag
        distance
        forward_iterator_tag
        front_insert_iterator
          front_insert_iterator::front_insert_iterator
          front_insert_iterator::operator*
          front_insert_iterator::operator++
          front_insert_iterator::operator=
        front_inserter
        input_iterator_tag
        insert_iterator
          insert_iterator::insert_iterator
          insert_iterator::operator*
          insert_iterator::operator++
          insert_iterator::operator=
        inserter
        istream_iterator
          istream_iterator::char_type
          istream_iterator::istream_iterator
          istream_iterator::istream_type
          istream_iterator::operator*
          istream_iterator::operator++
          istream_iterator::traits_type
        istreambuf_iterator
          istreambuf_iterator::char_type
          istreambuf_iterator::equal
          istreambuf_iterator::int_type
          istreambuf_iterator::istream_type
          istreambuf_iterator::istreambuf_iterator
          istreambuf_iterator::operator*
          istreambuf_iterator::operator++
          istreambuf_iterator::streambuf_type
          istreambuf_iterator::traits_type
        iterator
        iterator_traits
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        operator+
        operator-
        ostream_iterator
          ostream_iterator::char_type
          ostream_iterator::operator*
          ostream_iterator::operator++
          ostream_iterator::operator=
          ostream_iterator::ostream_iterator
          ostream_iterator::ostream_type
          ostream_iterator::traits_type
        ostreambuf_iterator
          ostreambuf_iterator::char_type
          ostreambuf_iterator::failed
          ostreambuf_iterator::operator*
          ostreambuf_iterator::operator++
          ostreambuf_iterator::operator=
          ostreambuf_iterator::ostream_type
          ostreambuf_iterator::ostreambuf_iterator
          ostreambuf_iterator::streambuf_type
          ostreambuf_iterator::traits_type
        output_iterator_tag
        random_access_iterator_tag
        reverse_iterator
          reverse_iterator::base
          reverse_iterator::operator*
          reverse_iterator::operator+
          reverse_iterator::operator++
          reverse_iterator::operator+=
          reverse_iterator::operator-
          reverse_iterator::operator--
          reverse_iterator::operator-=
          reverse_iterator::operator->
          reverse_iterator::operator[]
      <limits>
        float_denorm_style
        float_round_style
        numeric_limits
      <list>
        list
          list::allocator_type
          list::assign
          list::back
          list::begin
          list::clear
          list::const_iterator
          list::const_pointer
          list::const_reference
          list::const_reverse_iterator
          list::difference_type
          list::empty
          list::end
          list::erase
          list::front
          list::get_allocator
          list::insert
          list::iterator
          list::list
          list::max_size
          list::merge
          list::pointer
          list::pop_back
          list::pop_front
          list::push_back
          list::push_front
          list::rbegin
          list::reference
          list::remove
          list::remove_if
          list::rend
          list::resize
          list::reverse
          list::reverse_iterator
          list::size
          list::size_type
          list::sort
          list::splice
          list::swap
          list::unique
          list::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <locale>
        codecvt
          codecvt::always_noconv
          codecvt::codecvt
          codecvt::do_always_noconv
          codecvt::do_encoding
          codecvt::do_in
          codecvt::do_length
          codecvt::do_max_length
          codecvt::do_out
          codecvt::do_unshift
          codecvt::extern_type
          codecvt::in
          codecvt::intern_type
          codecvt::length
          codecvt::encoding
          codecvt::max_length
          codecvt::out
          codecvt::state_type
          codecvt::unshift
        codecvt_base
        codecvt_byname
        collate
          collate::char_type
          collate::collate
          collate::compare
          collate::do_compare
          collate::do_hash
          collate::do_transform
          collate::hash
          collate::string_type
          collate::transform
        collate_byname
        ctype
          ctype::char_type
          ctype::ctype
          ctype::do_is
          ctype::do_narrow
          ctype::do_scan_is
          ctype::do_scan_not
          ctype::do_tolower
          ctype::do_toupper
          ctype::do_widen
          ctype::is
          ctype::narrow
          ctype::scan_is
          ctype::scan_not
          ctype::tolower
          ctype::toupper
          ctype::widen
        ctype<char>
        ctype_base
        ctype_byname
        has_facet
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        locale
          locale::category
          locale::classic
          locale::combine
          locale::facet
          locale::global
          locale::id
          locale::locale
          locale::name
          locale::operator!=
          locale::operator()
          locale::operator==
        messages
          messages::char_type
          messages::close
          messages::do_close
          messages::do_get
          messages::do_open
          messages::get
          messages::messages
          messages::open
          messages::string_type
        messages_base
        messages_byname
        money_base
        money_get
          money_get::char_type
          money_get::do_get
          money_get::get
          money_get::iter_type
          money_get::money_get
          money_get::string_type
        money_put
          money_put::char_type
          money_put::do_put
          money_put::put
          money_put::iter_type
          money_put::money_put
          money_put::string_type
        moneypunct
          moneypunct::char_type
          moneypunct::curr_symbol
          moneypunct::decimal_point
          moneypunct::do_curr_symbol
          moneypunct::do_decimal_point
          moneypunct::do_frac_digits
          moneypunct::do_grouping
          moneypunct::do_neg_format
          moneypunct::do_negative_sign
          moneypunct::do_pos_format
          moneypunct::do_positive_sign
          moneypunct::do_thousands_sep
          moneypunct::frac_digits
          moneypunct::grouping
          moneypunct::moneypunct
          moneypunct::neg_format
          moneypunct::negative_sign
          moneypunct::pos_format
          moneypunct::positive_sign
          moneypunct::string_type
          moneypunct::thousands_sep
        moneypunct_byname
        num_get
          num_get::char_type
          num_get::do_get
          num_get::get
          num_get::iter_type
          num_get::num_get
        num_put
          num_put::char_type
          num_put::do_put
          num_put::put
          num_put::iter_type
          num_put::num_put
        numpunct
          numpunct::char_type
          numpunct::decimal_point
          numpunct::do_decimal_point
          numpunct::do_falsename
          numpunct::do_grouping
          numpunct::do_thousands_sep
          numpunct::do_truename
          numpunct::falsename
          numpunct::grouping
          numpunct::numpunct
          numpunct::string_type
          numpunct::thousands_sep
          numpunct::truename
        numpunct_byname
        time_base
        time_get
          time_get::char_type
          time_get::date_order
          time_get::do_date_order
          time_get::do_get_date
          time_get::do_get_month
          time_get::do_get_time
          time_get::do_get_weekday
          time_get::do_get_year
          time_get::get_date
          time_get::get_month
          time_get::get_time
          time_get::get_weekday
          time_get::get_year
          time_get::iter_type
          time_get::time_get
        time_get_byname
        time_put
          time_put::char_type
          time_put::do_put
          time_put::put
          time_put::iter_type
          time_put::time_put
        time_put_byname
        tolower
        toupper
        use_facet
      <map>
        map
          map::allocator_type
          map::begin
          map::clear
          map::const_iterator
          map::const_pointer
          map::const_reference
          map::const_reverse_iterator
          map::count
          map::difference_type
          map::empty
          map::end
          map::equal_range
          map::erase
          map::find
          map::get_allocator
          map::insert
          map::iterator
          map::key_comp
          map::key_compare
          map::key_type
          map::lower_bound
          map::map
          map::mapped_type
          map::max_size
          map::operator[]
          map::pointer
          map::rbegin
          map::reference
          map::rend
          map::reverse_iterator
          map::size
          map::size_type
          map::swap
          map::upper_bound
          map::value_comp
          map::value_compare
          map::value_type
        multimap
          multimap::allocator_type
          multimap::begin
          multimap::clear
          multimap::const_iterator
          multimap::const_pointer
          multimap::const_reference
          multimap::const_reverse_iterator
          multimap::count
          multimap::difference_type
          multimap::empty
          multimap::end
          multimap::equal_range
          multimap::erase
          multimap::find
          multimap::get_allocator
          multimap::insert
          multimap::iterator
          multimap::key_comp
          multimap::key_compare
          multimap::key_type
          multimap::lower_bound
          multimap::mapped_type
          multimap::max_size
          multimap::multimap
          multimap::pointer
          multimap::rbegin
          multimap::reference
          multimap::rend
          multimap::reverse_iterator
          multimap::size
          multimap::size_type
          multimap::swap
          multimap::upper_bound
          multimap::value_comp
          multimap::value_compare
          multimap::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      <memory>
        allocator
          allocator::const_reference
          allocator::construct
          allocator::destroy
          allocator::pointer
          allocator::rebind
          allocator::reference
          allocator::value_type
        allocator<void>
        auto_ptr
          auto_ptr::auto_ptr
          auto_ptr::~auto_ptr
          auto_ptr::element_type
          auto_ptr::get
          auto_ptr::operator=
          auto_ptr::operator*
          auto_ptr::operator->
          auto_ptr::operator auto_ptr<Other>
          auto_ptr::operator auto_ptr_ref<Other>
          auto_ptr::release
          auto_ptr::reset
        auto_ptr_ref
        get_temporary_buffer
        operator!=
        operator==
        uninitialized_copy
        uninitialized_fill
        uninitialized_fill_n
      <new>
        bad_alloc
        new_handler
        nothrow
        nothrow_t
        operator delete
        operator delete[]
        operator new
        operator new[]
        set_new_handler
      <numeric>
        accumulate
        adjacent_difference
        inner_product
        partial_sum
      <ostream>
        basic_ostream
          basic_ostream::basic_ostream
          basic_ostream::flush
          basic_ostream::operator<<
          basic_ostream::put
          basic_ostream::seekp
          basic_ostream::sentry
          basic_ostream::tellp
          basic_ostream::write
        endl
        ends
        flush
        operator<<
        ostream
        wostream
      <queue>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        priority_queue
          priority_queue::container_type
          priority_queue::empty
          priority_queue::pop
          priority_queue::priority_queue
          priority_queue::push
          priority_queue::size
          priority_queue::size_type
          priority_queue::top
          priority_queue::value_type
        queue
          queue::back
          queue::container_type
          queue::empty
          queue::front
          queue::pop
          queue::push
          queue::queue
          queue::size
          queue::size_type
          queue::value_type
      <set>
        multiset
          multiset::allocator_type
          multiset::begin
          multiset::clear
          multiset::const_iterator
          multiset::const_pointer
          multiset::const_reference
          multiset::const_reverse_iterator
          multiset::count
          multiset::difference_type
          multiset::empty
          multiset::end
          multiset::equal_range
          multiset::erase
          multiset::find
          multiset::get_allocator
          multiset::insert
          multiset::iterator
          multiset::key_comp
          multiset::key_compare
          multiset::key_type
          multiset::lower_bound
          multiset::multiset
          multiset::max_size
          multiset::pointer
          multiset::rbegin
          multiset::reference
          multiset::rend
          multiset::reverse_iterator
          multiset::size
          multiset::size_type
          multiset::swap
          multiset::upper_bound
          multiset::value_comp
          multiset::value_compare
          multiset::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        set
          set::allocator_type
          set::begin
          set::clear
          set::const_iterator
          set::const_pointer
          set::const_reference
          set::const_reverse_iterator
          set::count
          set::difference_type
          set::empty
          set::end
          set::equal_range
          set::erase
          set::find
          set::get_allocator
          set::insert
          set::iterator
          set::key_comp
          set::key_compare
          set::key_type
          set::lower_bound
          set::max_size
          set::pointer
          set::rbegin
          set::reference
          set::rend
          set::reverse_iterator
          set::set
          set::size
          set::size_type
          set::swap
          set::upper_bound
          set::value_comp
          set::value_compare
          set::value_type
        swap
      <slist>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        slist
          slist::allocator_type
          slist::assign
          slist::back
          slist::begin
          slist::clear
          slist::const_iterator
          slist::const_pointer
          slist::const_reference
          slist::difference_type
          slist::empty
          slist::end
          slist::erase
          slist::front
          slist::get_allocator
          slist::insert
          slist::iterator
          slist::max_size
          slist::merge
          slist::pointer
          slist::pop_back
          slist::pop_front
          slist::previous
          slist::push_back
          slist::push_front
          slist::reference
          slist::remove
          slist::remove_if
          slist::resize
          slist::reverse
          slist::size
          slist::size_type
          slist::slist
          slist::sort
          slist::splice
          slist::swap
          slist::unique
          slist::value_type
        swap
      <sstream>
        basic_stringbuf
          basic_stringbuf::allocator_type
          basic_stringbuf::basic_stringbuf
          basic_stringbuf::char_type
          basic_stringbuf::int_type
          basic_stringbuf::off_type
          basic_stringbuf::overflow
          basic_stringbuf::pbackfail
          basic_stringbuf::pos_type
          basic_stringbuf::seekoff
          basic_stringbuf::seekpos
          basic_stringbuf::str
          basic_stringbuf::traits_type
          basic_stringbuf::underflow
        basic_istringstream
          basic_istringstream::allocator_type
          basic_istringstream::basic_istringstream
          basic_istringstream::rdbuf
          basic_istringstream::str
        basic_ostringstream
          basic_ostringstream::allocator_type
          basic_ostringstream::basic_ostringstream
          basic_ostringstream::rdbuf
          basic_ostringstream::str
        basic_stringstream
          basic_stringstream::allocator_type
          basic_stringstream::basic_stringstream
          basic_stringstream::rdbuf
          basic_stringstream::str
        istringstream
        ostringstream
        stringbuf
        stringstream
        wistringstream
        wostringstream
        wstringbuf
        wstringstream
      <stack>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        stack
          stack::container_type
          stack::empty
          stack::pop
          stack::push
          stack::size
          stack::size_type
          stack::stack
          stack::top
          stack::value_type
      <stdexcept>
        domain_error
        invalid_argument
        length_error
        logic_error
        out_of_range
        overflow_error
        range_error
        runtime_error
        underflow_error
      <streambuf>
        basic_streambuf
          basic_streambuf::basic_streambuf
          basic_streambuf::char_type
          basic_streambuf::eback
          basic_streambuf::egptr
          basic_streambuf::epptr
          basic_streambuf::gbump
          basic_streambuf::getloc
          basic_streambuf::gptr
          basic_streambuf::imbue
          basic_streambuf::in_avail
          basic_streambuf::int_type
          basic_streambuf::off_type
          basic_streambuf::overflow
          basic_streambuf::pbackfail
          basic_streambuf::pbase
          basic_streambuf::pbump
          basic_streambuf::pos_type
          basic_streambuf::pptr
          basic_streambuf::pubimbue
          basic_streambuf::pubseekoff
          basic_streambuf::pubseekpos
          basic_streambuf::pubsetbuf
          basic_streambuf::pubsync
          basic_streambuf::sbumpc
          basic_streambuf::seekoff
          basic_streambuf::seekpos
          basic_streambuf::setbuf
          basic_streambuf::setg
          basic_streambuf::setp
          basic_streambuf::sgetc
          basic_streambuf::sgetn
          basic_streambuf::showmanyc
          basic_streambuf::snextc
          basic_streambuf::sputbackc
          basic_streambuf::sputc
          basic_streambuf::sputn
          basic_streambuf::stossc
          basic_streambuf::sungetc
          basic_streambuf::sync
          basic_streambuf::traits_type
          basic_streambuf::uflow
          basic_streambuf::underflow
          basic_streambuf::xsgetn
          basic_streambuf::xsputn
        streambuf
        wstreambuf
      <string>
        basic_string
          basic_string::allocator_type
          basic_string::append
          basic_string::assign
          basic_string::at
          basic_string::basic_string
          basic_string::begin
          basic_string::c_str
          basic_string::capacity
          basic_string::clear
          basic_string::compare
          basic_string::const_iterator
          basic_string::const_pointer
          basic_string::const_reference
          basic_string::const_reverse_iterator
          basic_string::copy
          basic_string::data
          basic_string::difference_type
          basic_string::empty
          basic_string::end
          basic_string::erase
          basic_string::find
          basic_string::find_first_not_of
          basic_string::find_first_of
          basic_string::find_last_not_of
          basic_string::find_last_of
          basic_string::get_allocator
          basic_string::insert
          basic_string::iterator
          basic_string::length
          basic_string::max_size
          basic_string::npos
          basic_string::operator+=
          basic_string::operator=
          basic_string::operator[]
          basic_string::pointer
          basic_string::push_back
          basic_string::rbegin
          basic_string::reference
          basic_string::rend
          basic_string::replace
          basic_string::reserve
          basic_string::resize
          basic_string::reverse_iterator
          basic_string::rfind
          basic_string::size
          basic_string::size_type
          basic_string::substr
          basic_string::swap
          basic_string::traits_type
          basic_string::value_type
        char_traits
          char_traits::assign
          char_traits::char_type
          char_traits::compare
          char_traits::copy
          char_traits::eof
          char_traits::eq
          char_traits::eq_int_type
          char_traits::find
          char_traits::int_type
          char_traits::length
          char_traits::lt
          char_traits::move
          char_traits::not_eof
          char_traits::off_type
          char_traits::pos_type
          char_traits::state_type
          char_traits::to_char_type
          char_traits::to_int_type
        char_traits<char>
        char_traits<wchar_t>
        getline
        operator+
        operator!=
        operator==
        operator<
        operator<<
        operator<=
        operator>
        operator>=
        operator>>
        string
        swap
        wstring
      <strstream>
        strstreambuf
          strstreambuf::freeze
          strstreambuf::pcount
          strstreambuf::overflow
          strstreambuf::pbackfail
          strstreambuf::seekoff
          strstreambuf::seekpos
          strstreambuf::str
          strstreambuf::strstreambuf
          strstreambuf::underflow
        istrstream
          istrstream::istrstream
          istrstream::rdbuf
          istrstream::str
        ostrstream
          ostrstream::freeze
          ostrstream::ostrstream
          ostrstream::pcount
          ostrstream::rdbuf
          ostrstream::str
        strstream
          strstream::freeze
          strstream::pcount
          strstream::strstream
          strstream::rdbuf
          strstream::str
      <typeinfo>
        bad_cast
        bad_typeid
        type_info
          type_info::before
          type_info::name
      <utility>
        make_pair
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        pair
      <valarray>
        abs
        acos
        asin
        atan
        atan2
        cos
        cosh
        exp
        gslice
          gslice::gslice
          gslice::size
          gslice::start
          gslice::stride
        gslice_array
        indirect_array
        log
        log10
        mask_array
        operator!=
        operator%
        operator&
        operator&&
        operator>
        operator>>
        operator>=
        operator<
        operator<<
        operator<=
        operator*
        operator+
        operator-
        operator/
        operator==
        operator^
        operator|
        operator||
        pow
        sin
        sinh
        slice
          slice::slice
          slice::size
          slice::start
          slice::stride
        slice_array
        sqrt
        tan
        tanh
        valarray
          valarray::apply
          valarray::cshift
          valarray::max
          valarray::min
          valarray::operator!
          valarray::operator%=
          valarray::operator&=
          valarray::operator>>=
          valarray::operator<<=
          valarray::operator*=
          valarray::operator+
          valarray::operator+=
          valarray::operator-
          valarray::operator-=
          valarray::operator/=
          valarray::operator=
          valarray::operator[]
          valarray::operator^=
          valarray::operator|=
          valarray::operator~
          valarray::resize
          valarray::shift
          valarray::size
          valarray::sum
          valarray::valarray
          valarray::value_type
        valarray<bool>
      <vector>
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
        vector
          vector::allocator_type
          vector::assign
          vector::at
          vector::back
          vector::begin
          vector::capacity
          vector::clear
          vector::const_iterator
          vector::const_pointer
          vector::const_reference
          vector::const_reverse_iterator
          vector::difference_type
          vector::empty
          vector::end
          vector::erase
          vector::front
          vector::get_allocator
          vector::insert
          vector::iterator
          vector::max_size
          vector::operator[]
          vector::pointer
          vector::pop_back
          vector::push_back
          vector::rbegin
          vector::reference
          vector::rend
          vector::reserve
          vector::resize
          vector::reverse_iterator
          vector::size
          vector::size_type
          vector::swap
          vector::value_type
          vector::vector
      <cassert>
      <cctype>
      <cerrno>
      <cfloat>
      <ciso646>
      <climits>
      <clocale>
      <cmath>
      <csetjmp>
      <csignal>
      <cstdarg>
      <cstddef>
      <cstdio>
      <cstdlib>
      <cstring>
      <ctime>
      <cwchar>
      <cwctype>
      <assert.h>
        assert
      <ctype.h>
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        FLT_DIG
        FLT_EPSILON
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <iso646.h>
        and
        and_eq
        bitand
        bitor
        compl
        not
        not_eq
        or
        or_eq
        xor
        xor_eq
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        HUGE_VAL
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_end
        va_list
        va_start
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vprintf
        vsprintf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        bsearch
        calloc
        div
        div_t
        exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        ldiv
        ldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtol
        strtoul
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <uchar.h>
        c16rtomb
        c32rtomb
        char16_t
        char32_t
        mbrtoc16
        mbrtoc32
        mbstate_t
        NULL
        size_t
        __STDC_UTF_16__
        __STDC_UTF_32__
      <wchar.h>
        btowc
        fgetwc
        fgetws
        fputwc
        fputws
        fwide
        fwprintf
        fwscanf
        getwc
        getwchar
        mbrlen
        mbrtowc
        mbsinit
        mbsrtowcs
        mbstate_t
        NULL
        putwc
        putwchar
        size_t
        swprintf
        swscanf
        tm
        ungetwc
        vfwprintf
        vswprintf
        vwprintf
        WCHAR_MAX
        WCHAR_MIN
        wchar_t
        wcrtomb
        wcscat
        wcschr
        wcscmp
        wcscoll
        wcscpy
        wcscspn
        wcsftime
        wcslen
        wcsncat
        wcsncmp
        wcsncpy
        wcspbrk
        wcsrchr
        wcsrtombs
        wcsspn
        wcsstr
        wcstod
        wcstok
        wcstol
        wcstoul
        wcsxfrm
        wctob
        WEOF
        wint_t
        wmemchr
        wmemcmp
        wmemcpy
        wmemmove
        wmemset
        wprintf
        wscanf
      <wctype.h>
        WEOF
        iswalnum
        iswalpha
        iswcntrl
        iswctype
        iswdigit
        iswgraph
        iswlower
        iswprint
        iswpunct
        iswspace
        iswupper
        iswxdigit
        towctrans
        towlower
        towupper
        wctrans
        wctrans_t
        wctype
        wctype_t
        wint_t
      <fstream.h>
      <iomanip.h>
      <iostream.h>
      <new.h>
      C++ Library Overview
        Using C++ Library Headers
        C++ Library Conventions
        Iostreams Conventions
      C Library Overview
        Using Standard C Headers
        C Library Conventions
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Byte and Wide Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      STL Conventions
        Iterator Conventions
        Algorithm Conventions
      Locale Definitions
      Containers
        Container
          Container::begin
          Container::clear
          Container::const_iterator
          Container::const_reference
          Container::const_reverse_iterator
          Container::difference_type
          Container::empty
          Container::end
          Container::erase
          Container::iterator
          Container::max_size
          Container::rbegin
          Container::reference
          Container::rend
          Container::reverse_iterator
          Container::size
          Container::size_type
          Container::swap
          Container::value_type
        operator!=
        operator==
        operator<
        operator<=
        operator>
        operator>=
        swap
      Preprocessing
      Expressions
      Functions
      Index
    Dinkum Embedded C++ Library
      <complex>
        abs
        arg
        complex
          complex::complex
          complex::imag
          complex::operator*=
          complex::operator+=
          complex::operator-=
          complex::operator/=
          complex::operator=
          complex::real
          complex::value_type
        conj
        cos
        cosh
        double_complex
        exp
        float_complex
        imag
        log
        log10
        norm
        operator!=
        operator*
        operator+
        operator-
        operator/
        operator<<
        operator==
        operator>>
        polar
        pow
        real
        sin
        sinh
        sqrt
        __STD_COMPLEX
        tan
        tanh
      <exception>
        bad_exception
        exception
        set_terminate
        set_unexpected
        terminate
        terminate_handler
        uncaught_exception
        unexpected
        unexpected_handler
      <fstream>
        filebuf
          filebuf::filebuf
          filebuf::char_type
          filebuf::close
          filebuf::int_type
          filebuf::is_open
          filebuf::off_type
          filebuf::open
          filebuf::overflow
          filebuf::pbackfail
          filebuf::pos_type
          filebuf::seekoff
          filebuf::seekpos
          filebuf::setbuf
          filebuf::sync
          filebuf::traits_type
          filebuf::underflow
        ifstream
          ifstream::ifstream
          ifstream::close
          ifstream::is_open
          ifstream::open
          ifstream::rdbuf
        ofstream
          ofstream::ofstream
          ofstream::close
          ofstream::is_open
          ofstream::open
          ofstream::rdbuf
      <iomanip>
        resetiosflags
        setbase
        setfill
        setiosflags
        setprecision
        setw
      <ios>
        ios
          ios::bad
          ios::ios
          ios::char_type
          ios::clear
          ios::copyfmt
          ios::eof
          ios::exceptions
          ios::fail
          ios::fill
          ios::good
          ios::imbue
          ios::init
          ios::int_type
          ios::narrow
          ios::off_type
          ios::operator void *
          ios::operator!
          ios::pos_type
          ios::rdbuf
          ios::rdstate
          ios::setstate
          ios::tie
          ios::traits_type
          ios::widen
        boolalpha
        dec
        fixed
        fpos
          fpos::fpos
          fpos::operator!=
          fpos::operator+
          fpos::operator+=
          fpos::operator-
          fpos::operator-=
          fpos::operator==
          fpos::operator streamoff
          fpos::state
        hex
        internal
        ios_base
          ios_base::event
          ios_base::failure
          ios_base::flags
          ios_base::fmtflags
          ios_base::getloc
          ios_base::imbue
          ios_base::Init
          ios_base::ios_base
          ios_base::iostate
          ios_base::iword
          ios_base::openmode
          ios_base::operator=
          ios_base::precision
          ios_base::pword
          ios_base::seekdir
          ios_base::setf
          ios_base::streamoff
          ios_base::streampos
          ios_base::sync_with_stdio
          ios_base::unsetf
          ios_base::width
          ios_base::xalloc
        left
        locale
        mbstate_t
        noboolalpha
        noshowbase
        noshowpoint
        noshowpos
        noskipws
        nounitbuf
        nouppercase
        oct
        right
        scientific
        showbase
        showpoint
        showpos
        skipws
        streamoff
        streampos
        streamsize
        unitbuf
        uppercase
      <iosfwd>
      <iostream>
        cin
        cout
      <istream>
        istream
          istream::istream
          istream::gcount
          istream::get
          istream::getline
          istream::ignore
          istream::operator>>
          istream::peek
          istream::putback
          istream::read
          istream::readsome
          istream::seekg
          istream::sentry
          istream::sync
          istream::tellg
          istream::unget
        operator>>
        ws
      <new>
        bad_alloc
        new_handler
        nothrow
        nothrow_t
        operator delete
        operator delete[]
        operator new
        operator new[]
        set_new_handler
      <ostream>
        ostream
          ostream::ostream
          ostream::flush
          ostream::operator<<
          ostream::put
          ostream::seekp
          ostream::sentry
          ostream::tellp
          ostream::write
        endl
        ends
        flush
        operator<<
      <sstream>
        stringbuf
          stringbuf::allocator_type
          stringbuf::stringbuf
          stringbuf::char_type
          stringbuf::int_type
          stringbuf::off_type
          stringbuf::overflow
          stringbuf::pbackfail
          stringbuf::pos_type
          stringbuf::seekoff
          stringbuf::seekpos
          stringbuf::str
          stringbuf::traits_type
          stringbuf::underflow
        istringstream
          istringstream::allocator_type
          istringstream::istringstream
          istringstream::rdbuf
          istringstream::str
        ostringstream
          ostringstream::allocator_type
          ostringstream::ostringstream
          ostringstream::rdbuf
          ostringstream::str
      <stdexcept>
        domain_error
        invalid_argument
        length_error
        logic_error
        out_of_range
        overflow_error
        range_error
        runtime_error
        underflow_error
      <streambuf>
        streambuf
          streambuf::streambuf
          streambuf::char_type
          streambuf::eback
          streambuf::egptr
          streambuf::epptr
          streambuf::gbump
          streambuf::getloc
          streambuf::gptr
          streambuf::imbue
          streambuf::in_avail
          streambuf::int_type
          streambuf::off_type
          streambuf::overflow
          streambuf::pbackfail
          streambuf::pbase
          streambuf::pbump
          streambuf::pos_type
          streambuf::pptr
          streambuf::pubimbue
          streambuf::pubseekoff
          streambuf::pubseekpos
          streambuf::pubsetbuf
          streambuf::pubsync
          streambuf::sbumpc
          streambuf::seekoff
          streambuf::seekpos
          streambuf::setbuf
          streambuf::setg
          streambuf::setp
          streambuf::sgetc
          streambuf::sgetn
          streambuf::showmanyc
          streambuf::snextc
          streambuf::sputbackc
          streambuf::sputc
          streambuf::sputn
          streambuf::stossc
          streambuf::sungetc
          streambuf::sync
          streambuf::traits_type
          streambuf::uflow
          streambuf::underflow
          streambuf::xsgetn
          streambuf::xsputn
      <string>
        string
          string::allocator_type
          string::append
          string::assign
          string::at
          string::string
          string::begin
          string::c_str
          string::capacity
          string::clear
          string::compare
          string::const_iterator
          string::const_pointer
          string::const_reference
          string::const_reverse_iterator
          string::copy
          string::data
          string::difference_type
          string::empty
          string::end
          string::erase
          string::find
          string::find_first_not_of
          string::find_first_of
          string::find_last_not_of
          string::find_last_of
          string::get_allocator
          string::insert
          string::iterator
          string::length
          string::max_size
          string::npos
          string::operator+=
          string::operator=
          string::operator[]
          string::pointer
          string::push_back
          string::rbegin
          string::reference
          string::rend
          string::replace
          string::reserve
          string::resize
          string::reverse_iterator
          string::rfind
          string::size
          string::size_type
          string::substr
          string::swap
          string::traits_type
          string::value_type
        char_allocator
          char_allocator::operator==
        char_traits
          char_traits::assign
          char_traits::char_type
          char_traits::compare
          char_traits::copy
          char_traits::eof
          char_traits::eq
          char_traits::eq_int_type
          char_traits::find
          char_traits::int_type
          char_traits::length
          char_traits::lt
          char_traits::move
          char_traits::not_eof
          char_traits::off_type
          char_traits::pos_type
          char_traits::state_type
          char_traits::to_char_type
          char_traits::to_int_type
        getline
        operator+
        operator!=
        operator==
        operator<
        operator<<
        operator<=
        operator>
        operator>=
        operator>>
        swap
      <strstream>
        strstreambuf
          strstreambuf::freeze
          strstreambuf::pcount
          strstreambuf::overflow
          strstreambuf::pbackfail
          strstreambuf::seekoff
          strstreambuf::seekpos
          strstreambuf::str
          strstreambuf::strstreambuf
          strstreambuf::underflow
        istrstream
          istrstream::istrstream
          istrstream::rdbuf
          istrstream::str
        ostrstream
          ostrstream::freeze
          ostrstream::ostrstream
          ostrstream::pcount
          ostrstream::rdbuf
          ostrstream::str
      <cassert>
      <cctype>
      <cerrno>
      <cfloat>
      <climits>
      <clocale>
      <cmath>
      <csetjmp>
      <csignal>
      <cstdarg>
      <cstddef>
      <cstdio>
      <cstdlib>
      <cstring>
      <ctime>
      <assert.h>
        assert
      <ctype.h>
        isalnum
        isalpha
        iscntrl
        isdigit
        isgraph
        islower
        isprint
        ispunct
        isspace
        isupper
        isxdigit
        tolower
        toupper
      <errno.h>
        EDOM
        EILSEQ
        ERANGE
        errno
      <float.h>
        DBL_DIG
        DBL_EPSILON
        DBL_MANT_DIG
        DBL_MAX
        DBL_MAX_10_EXP
        DBL_MAX_EXP
        DBL_MIN
        DBL_MIN_10_EXP
        DBL_MIN_EXP
        FLT_DIG
        FLT_EPSILON
        FLT_MANT_DIG
        FLT_MAX
        FLT_MAX_10_EXP
        FLT_MAX_EXP
        FLT_MIN
        FLT_MIN_10_EXP
        FLT_MIN_EXP
        FLT_RADIX
        FLT_ROUNDS
        LDBL_DIG
        LDBL_EPSILON
        LDBL_MANT_DIG
        LDBL_MAX
        LDBL_MAX_10_EXP
        LDBL_MAX_EXP
        LDBL_MIN
        LDBL_MIN_10_EXP
        LDBL_MIN_EXP
      <limits.h>
        CHAR_BIT
        CHAR_MAX
        CHAR_MIN
        INT_MAX
        INT_MIN
        LONG_MAX
        LONG_MIN
        MB_LEN_MAX
        SCHAR_MAX
        SCHAR_MIN
        SHRT_MAX
        SHRT_MIN
        UCHAR_MAX
        UINT_MAX
        ULONG_MAX
        USHRT_MAX
      <locale.h>
        LC_ALL
        LC_COLLATE
        LC_CTYPE
        LC_MONETARY
        LC_NUMERIC
        LC_TIME
        lconv
        localeconv
        NULL
        setlocale
      <math.h>
        abs, fabs, fabsf, fabsl
        acos, acosf, acosl
        asin, asinf, asinl
        atan, atanf, atanl
        atan2, atan2f, atan2l
        ceil, ceilf, ceill
        cos, cosf, cosl
        cosh, coshf, coshl
        exp, expf, expl
        floor, floorf, floorl
        fmod, fmodf, fmodl
        frexp, frexpf, frexpl
        HUGE_VAL
        ldexp, ldexpf, ldexpl
        log, logf, logl
        log10, log10f, log10l
        modf, modff, modfl
        pow, powf, powl
        sin, sinf, sinl
        sinh, sinhf, sinhl
        sqrt, sqrtf, sqrtl
        tan, tanf, tanl
        tanh, tanhf, tanhl
      <setjmp.h>
        jmp_buf
        longjmp
        setjmp
      <signal.h>
        raise
        sig_atomic_t
        SIGABRT
        SIGFPE
        SIGILL
        SIGINT
        signal
        SIGSEGV
        SIGTERM
        SIG_DFL
        SIG_ERR
        SIG_IGN
      <stdarg.h>
        va_arg
        va_end
        va_list
        va_start
      <stddef.h>
        NULL
        offsetof
        ptrdiff_t
        size_t
        wchar_t
      <stdio.h>
        BUFSIZ
        clearerr
        EOF
        fclose
        feof
        ferror
        fflush
        fgetc
        fgetpos
        fgets
        FILE
        FILENAME_MAX
        fopen
        FOPEN_MAX
        fpos_t
        fprintf
        fputc
        fputs
        fread
        freopen
        fscanf
        fseek
        fsetpos
        ftell
        fwrite
        getc
        getchar
        gets
        _IOFBF
        _IOLBF
        _IONBF
        L_tmpnam
        NULL
        perror
        printf
        putc
        putchar
        puts
        remove
        rename
        rewind
        scanf
        SEEK_CUR
        SEEK_END
        SEEK_SET
        setbuf
        setvbuf
        size_t
        sprintf
        sscanf
        stderr
        stdin
        stdout
        tmpfile
        TMP_MAX
        tmpnam
        ungetc
        vfprintf
        vprintf
        vsprintf
      <stdlib.h>
        abort
        abs
        atexit
        atof
        atoi
        atol
        bsearch
        calloc
        div
        div_t
        exit
        EXIT_FAILURE
        EXIT_SUCCESS
        free
        getenv
        labs
        ldiv
        ldiv_t
        malloc
        MB_CUR_MAX
        mblen
        mbstowcs
        mbtowc
        NULL
        qsort
        rand
        RAND_MAX
        realloc
        size_t
        srand
        strtod
        strtol
        strtoul
        system
        wchar_t
        wcstombs
        wctomb
      <string.h>
        memchr
        memcmp
        memcpy
        memmove
        memset
        NULL
        size_t
        strcat
        strchr
        strcmp
        strcoll
        strcpy
        strcspn
        strerror
        strlen
        strncat
        strncmp
        strncpy
        strpbrk
        strrchr
        strspn
        strstr
        strtok
        strxfrm
      <time.h>
        asctime
        clock
        CLOCKS_PER_SEC
        clock_t
        ctime
        difftime
        gmtime
        localtime
        mktime
        NULL
        size_t
        strftime
        time
        time_t
        tm
      <fstream.h>
      <iomanip.h>
      <iostream.h>
      <new.h>
      C++ Library Overview
        Using C++ Library Headers
        C++ Library Conventions
        Iostreams Conventions
        Program Startup and Termination
        Exceptions
      C Library Overview
        Using Standard C Headers
        C Library Conventions
        Program Startup and Termination
      Characters
        Character Sets
        Escape Sequences
        Trigraphs
        Multibyte Characters
      Files and Streams
        Text and Binary Streams
        Controlling Streams
        Stream States
      Formatted Output
        Print Formats
        Print Functions
        Print Conversion Specifiers
      Formatted Input
        Scan Formats
        Scan Functions
        Scan Conversion Specifiers
      Preprocessing
      Expressions
      Functions
      Index
  Driver Development Kit Guides
    Audio Devices
      About the Audio DDK
        Supported features
        Assumptions
        Building DDKs
      Evaluating Your Card
      Organization of a Driver
        The QNX audio system and driver
        DDK source code
        Writing an Audio HW DLL
          Opaque data types
          Custom data types
          ctrl_init()
          ctrl_destroy()
          Debugging an audio driver
      Handling Analog Audio Data
        Writing an analog mixer
          Mixer elements and routes
            Supported element types
          Mixer groups
            Designing mixer groups
          Coding the mixer
            Initialization
            Building the mixer
        Using a standard mixer DLL
          Initialization
          Testing the code
      Handling PCM Audio Data
        What's a PCM device?
        Creating a PCM device
          ado_pcm_create()
          How does the PCM stream operate?
      API Reference
      ado_attach_interrupt()
      ado_calloc()
      ado_card_set_longname()
      ado_card_set_shortname()
      ado_debug()
      ado_device_mmap()
      ado_device_munmap()
      ado_error()
      ado_free()
      ado_malloc()
      ado_memory_dump()
      ado_mixer_capture_group_create()
      ado_mixer_create()
      ado_mixer_dll()
      ado_mixer_element_accu1()
      ado_mixer_element_accu2()
      ado_mixer_element_accu3()
      ado_mixer_element_io()
      ado_mixer_element_mux1()
      ado_mixer_element_mux2()
      ado_mixer_element_notify()
      ado_mixer_element_pcm1()
      ado_mixer_element_pcm2()
      ado_mixer_element_route_add()
      ado_mixer_element_sw1()
      ado_mixer_element_sw2()
      ado_mixer_element_sw3()
      ado_mixer_element_vol_range_max()
      ado_mixer_element_vol_range_min()
      ado_mixer_element_volume1()
      ado_mixer_find_element()
      ado_mixer_find_group()
      ado_mixer_get_context()
      ado_mixer_get_element_instance_data()
      ado_mixer_lock()
      ado_mixer_playback_group_create()
      ado_mixer_set_destroy_func()
      ado_mixer_set_name()
      ado_mixer_set_reset_func()
      ado_mixer_switch_new()
      ado_mixer_unlock()
      ado_mutex_destroy()
      ado_mutex_init()
      ado_mutex_lock()
      ado_mutex_unlock()
      ado_pci
      ado_pci_device()
      ado_pci_release()
      ado_pcm_cap_t
      ado_pcm_config_t
      ado_pcm_chn_mixer()
      ado_pcm_create()
      ado_pcm_dma_int_size()
      ado_pcm_format_bit_width()
      ado_pcm_hw_t
      ado_pcm_subchn_caps()
      ado_pcm_subchn_is_channel()
      ado_pcm_subchn_mixer()
      ado_pcm_subchn_mixer_create()
      ado_pcm_subchn_mixer_destroy()
      ado_pcm_sw_mix()
      ado_realloc()
      ado_rwlock_destroy()
      ado_rwlock_init()
      ado_rwlock_rdlock()
      ado_rwlock_unlock()
      ado_rwlock_wrlock()
      ado_shm_alloc()
      ado_shm_free()
      ado_shm_mmap()
      ado_strdup()
      dma_interrupt()
      Supported Codecs
        Audio Codec 97 (AC97)
        AK4531
      Sample Mixer Source
      Glossary
    Character Devices
      About the Character DDK
        Assumptions
        Building DDKs
      Character I/O Architecture
        Overview
        DDK source code
      8250 Serial Driver
        Creating a serial driver
        Registers
        Source code
          Interrupts
          Functions
            create_device()
            enable_device()
            options()
            query_default_device()
            ser_intr()
            ser_stty()
            set_port()
            sys_ttyinit()
            tto()
      Character I/O Library
      iochar_regdrv_power()
      iochar_send_event()
      kick()
      timer_queue()
      timer_remove()
      ttc()
      tti()
      tti2()
      tto_checkclients()
      tto_getchar()
      TTYCTRL
      TTYDEV
      TTYINIT
      tx_inject()
      wait_add()
      wait_remove_rcvid()
    Input Devices
      About the Input DDK
        Building DDKs
      Overview
        DDK source code
        Inside an input driver
          Types of event bus lines
        How modules are linked
        Interface to the system
        Source file organization for devi-*
      Writing an Input Device Driver
        Creating an input module
          input_module_t data type
            In the sample directory
        Data format
        Keyboard devices
        Absolute devices
          Calibration file format
        Relative devices
        Callbacks in your module
          Which callbacks are required?
          Callback sequence
        Writing a combination device/protocol module
        A note about reentrancy
      Testing and Debugging Your Driver
      Module Functions
      devctrl()
      init()
      input()
      output()
      parm()
      pulse()
      reset()
      shutdown()
      Input API Reference
      begin()
      buff_append()
      buff_create()
      buff_delete()
      buff_flush()
      buff_getc()
      buff_putc()
      buff_waiting()
      clk_get()
      devi_enqueue_packet()
      devi_register_interrupt()
      devi_register_pulse()
      devi_register_timer()
      devi_request_iorange()
    Universal Serial Bus (USB) Devices
      About the USB DDK
        Assumptions
        Building DDKs
      Before You Begin
        System requirements
        USB devices supported
        Known limitations
      Overview
        The USB stack and library
          Host Controller Interface (HCI) types
          Data buffers
          USB enumerator
        How a class driver works
      USB Utilities
      USB Library Reference
        Functions arranged by category
          Connection functions
          Memory-management functions
          I/O functions
          Pipe-management functions
          Configuration and interface functions
          Miscellaneous and convenience functions
      usbd_abort_pipe()
      usbd_alloc()
      usbd_alloc_urb()
      usbd_args_lookup()
      usbd_attach()
      usbd_close_pipe()
      usbd_configuration_descriptor()
      usbd_connect()
      usbd_descriptor()
      usbd_detach()
      usbd_device_descriptor()
      usbd_device_extra()
      usbd_device_lookup()
      usbd_disconnect()
      usbd_endpoint_descriptor()
      usbd_feature()
      usbd_free()
      usbd_free_urb()
      usbd_get_frame()
      usbd_hcd_ext_info(), usbd_hcd_info()
      usbd_hub_descriptor()
      usbd_interface_descriptor()
      usbd_io()
      usbd_languages_descriptor()
      usbd_mphys()
      usbd_open_pipe()
      usbd_parse_descriptors()
      usbd_pipe_device()
      usbd_pipe_endpoint()
      usbd_reset_device()
      usbd_reset_pipe()
      usbd_select_config()
      usbd_select_interface()
      usbd_setup_bulk()
      usbd_setup_control()
      usbd_setup_interrupt()
      usbd_setup_isochronous()
      usbd_setup_vendor()
      usbd_status()
      usbd_string()
      usbd_topology(), usbd_topology_ext()
      usbd_urb_status()
  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
  QED Fullscreen Editor
    About the QED Manual
    Tutorial Guide
      Getting Started
      The Status Line
      The Command Line
      Text Area
      Appending New Text (F1)
      Appending or Inserting Lines (F1/F2)
      Using the Del and Backspace keys
      Inserting text using Ins
      Other cursor keys which simplify editing
      Saving your Text
        Exercise
      More on the F1 and F2 keys
      Deleting Lines (F3 key)
      Filling Lines (F4 key)
      Centering Lines (CtrlF4)
      Splitting and Joining Lines (F5/F6 keys)
      Tagging Blocks of Text (F7/F8 keys)
        Line Tagging
        Block Tagging
      Insert Mode and Block Move and Copy
      Re-setting the Last Tagged Lines or Block
      Re-executing Commands (F9/F10 keys)
      Tabs
      Line-drawing characters
      Margins
        Moving Your Margins (Shift F1 to F6)
        Auto Fill and Your Right Margin
        Auto Justify
        Indenting and Your Left Margin
      Line Flags
        Overstrike Flag (Alto)
        Continuation Flag (Altc)
        Paragraph Flag (Altp)
      Some Simple Editor Commands
      Learn Mode
      Absolute Line Positioning
      Simple Pattern Matching
      File I/O Commands
      The View Command
      Executing System Commands
      Epilogue
    Using qed on non-QNX terminal types
      Setting Your Terminal Type
      Required Terminal Capabilities
      Screen Output
      Keyboard Input
    Reference Manual
      The Syntax of Editor Commands
        Line Range
        Command Specification Character
        Right Arguments
      Placing Multiple Commands On A Line
      Special Characters
        The Linefeed Character (hex 0A)
        The NUL Character (hex 00)
        The Meta Characters (@$^^&.*[)
        The Backslash Character (\)
        The Tab Character (hex 09)
        The Command Character (hex FF)
        The Recall Character (hex FE)
        The Keyboard Input Character (hex FD)
        The Macro Disable Character (hex A3)
      The Condition Register
      Delete Buffers
        The Character Delete Buffer
        The Line Delete Buffer
        Break Handling
        The Pattern Matcher
          Some Pattern Examples
      Command Reference:
        Append (a)
        Branch (b)
        Change (c)
        Delete (d)
        Edit (e)
        File (f)
        Global (g)
        Insert (i)
        Join (j)
        Kopy (k)
        Learn (l)
        Move (m)
        Option (o)
        Print (p)
        Quit (q)
        Read (r)
        Substitute (s)
        Translate (t)
        Until (u)
        View (v)
        Write (w)
        Execute (x)
        Yut? (prompt) (y)
        Zap (z)
    Defining Your Own Macros
      What is a macro
      Multi-line Macros
      Macros Containing Branches
      Suggestions
    Appendix A - Error Messages
    Quick Reference
      Control Keys
      Cursor Movement Keys
      Character Editing Keys
      Function Keys
      Option Control
      Margin Control
      Line Flags
      Special Characters
      Editor Commands
      Line Range range
      Line Address line
      Meta Characters Used in Patterns
      File I/O Commands
      Alphabetical List of All Editor Commands
      Examples
  Utilities Reference
    Utility Conventions
      Syntax conventions
        Interpreting utility syntax
        Invoking utilities
      File conventions
      Signal conventions
      Exit status conventions
      Error conventions
    A
      ability
      /etc/acl.conf
      addr2line
      addvariant
      applypatch
      aps
      ar
      arp
      asa
      /etc/autoconnect
    B
      basename
      bc
      bison
      bootpd
      /etc/bootptab
      brconfig
      bsdtar
      bunzip2
      bzcat
      bzcmp, bzdiff
      bzegrep, bzfgrep, bzgrep
      bzip2
      bzip2recover
      bzless, bzmore
    C
      c++filt
      cam-cdrom.so
      cam-disk.so
      cam-optical.so
      cat
      CC, cc
      cfgopen
      chat
      chattr
      chgrp
      chkdosfs
      chkfsys
      chkqnx6fs
      chmod
      chown
      cksum
      clear
      cmp
      comm
      confstr
      /etc/context.conf
      coreinfo
      cp
      cpio
      cron
      crontab
      csplit
      ctags
      cut
      cvs
    D
      date
      dcheck
      dd
      deflate
      deva-ctrl-4dwave.so
      deva-ctrl-audiopci.so
      deva-ctrl-cs4281.so
      deva-ctrl-ess1938.so
      deva-ctrl-geode.so
      deva-ctrl-i8x0.so
      deva-ctrl-intel_hda.so
      deva-ctrl-nmg6.so
      deva-ctrl-sb.so
      deva-ctrl-usb.so
      deva-ctrl-via686.so
      deva-ctrl-vortex.so
      deva-ctrl-ymfds1.so
      deva-mixer-ac97.so
      deva-mixer-ak4531.so
      deva-mixer-hda.so
      deva-util-restore.so
      devb-adpu320
      devb-aha8
      devb-ahci
      devb-btmm
      devb-eide
      devb-fdc
      devb-loopback
      devb-mvSata
      devb-ram
      devb-umass
      devc-con, devc-con-hid
      devc-par
      devc-pty
      devc-ser8250
      devc-serpci
      devc-serusb
      devc-serzscc
      devf-generic
      devf-ram
      devh-egalax.so
      devh-microtouch.so
      devh-ps2ser.so
      devh-touchintl.so
      devh-usb.so
      devn-asix.so
      devn-crys8900.so
      devn-dm9102.so
      devn-el509.so
      devn-el900.so
      devn-epic.so
      devn-fd.so
      devn-i82544.so
      devn-micrel8841.so
      devn-ne2000.so
      devn-pcnet.so
      devn-pegasus.so
      devn-rtl.so
      devn-rtl8150.so
      devn-sis9.so
      devn-smc9000.so
      devn-speedo.so
      devn-tigon3.so
      devn-tulip.so
      devn-via-rhine.so
      devnp-ath.so
      devnp-axe.so
      devnp-bce.so
      devnp-bcm1250.so
      devnp-bcm43xx.so
      devnp-bge.so
      devnp-e1000.so
      devnp-ecm.so
      devnp-i80579.so
      devnp-i82544.so
      devnp-mpcsec.so
      devnp-mpc85xx.so
      devnp-msk.so
      devnp-ncm.so
      devnp-ral.so, devnp-ural.so
      devnp-rtl8169.so
      devnp-rum.so
      devnp-shim.so
      devnp-speedo.so
      devp-pccard
      devu-ehci.so
      devu-kbd
      devu-mouse
      devu-ohci.so
      devu-prn
      devu-uhci.so
      df
      dhclient
      dhclient-script
      dhclient.conf, dhclient6.conf
      dhclient.leases, dhclient6.leases
      DHCP Conditional Evaluation
      DHCP Options
      dhcp.client
      dhcpd
      dhcpd.conf, dhcpd6.conf
      dhcpd.leases, dhcpd6.leases
      dhcprelay
      dhcrelay
      diff
      diff3
      dig
      dinit
      dirname
      diskboot
      dispconf
      dloader
      dnssec-dsfromkey
      dnssec-keyfromlabel
      dnssec-keygen
      dnssec-signzone
      du
      dumpefs
      dumper
      dumpifs
    E
      echo
      ed
      egrep
      elvis
      enum-devices
      enum-usb
      env
      errno
      esh
      etfsctl
      expand
      /etc/exports
      expr
    F
      false
      fcat
      fdformat
      fdisk
      fesh
      fgrep
      file
      find
      finstall
      flashctl
      flex
      fmt
      fold
      fpemu.so
      freeze
      fs-cd.so
      fs-cifs
      fs-dos.so
      fs-etfs-ram
      fs-ext2.so
      fs-mac.so
      fs-nfs2
      fs-nfs3
      fs-nt.so
      fs-qnx4.so
      fs-qnx6.so
      fs-udf.so
      fsencrypt
      fsysinfo
      /etc/fstab
      ftp
      /etc/ftpchroot
      ftpd
      /etc/ftpd.conf
      /etc/ftpusers
      fullpath
    G
      g++
      /etc/gateways
      gawk
      gcc
      gcov
      gdb
      getconf
      getfacl
      getty
      gns
      gprof
      grep
      gunzip
      gzip
    H
      ham
      hamctrl
      hd
      head
      hidview
      hogs
      host
      hostapd
      hostname
      /etc/hosts
      /etc/hosts.equiv
    I
      id
      if_up
      ifconfig
      ifwatchd
      indent
      inetd
      /etc/inetd.conf
      inflator
      infocmp
      inputtrap
      io-audio
      io-blk.so
      io-hid
      io-pkt-v4, io-pkt-v4-hc, io-pkt-v6-hc
      io-usb
    J
      join
    K
      kill
      ksh
    L
      ld
      ldd
      ldrel
      less
      link
      ln
      ln-w
      logger
      login
      logout
      lpd
      lpr
      lprc
      lprq
      lprrm
      ls
      lsm-autoip.so
      lsm-pf-v4.so, lsm-pf-v6.so
      lsm-qnet.so
      lwresd
    M
      m4
      /usr/share/misc/magic
      make
      mcd
      mcs
      melt
      mesg
      /etc/mib.txt
      mixer
      mkasmoff
      mkcldr
      mkbuild
      mkdir
      mkdosfs
      mkefs
      mketfs
      mkfifo
      mkifs
      mkimage
      mkqnx6fs
      mkrec
      mksbp
      /etc/moduli
      more
      mount
      mq
      mqueue
      mrouted
      mstrip
      mv
    N
      named
      named-checkconf
      named-checkzone, named-compilezone
      /etc/named.conf
      ndp
      netmanager
      netstat
      /etc/networks
      newgrp
      nfsd
      /etc/nfsstart
      nice
      nicinfo
      nm
      nohup
      nslookup
      /etc/nsswitch.conf
      nsupdate
      ntpd
      ntpdate
      ntpdc
      ntpq
      ntptrace
    O
      objcopy
      objdump
      od
      omshell
      on
      op
      openssl
    P
      /etc/party.conf
      passwd
      paste
      patch
      pathtrust
      pax
      pccard-launch
      pci
      pci-bios, pci-bios-v2
      pcnfsd
      /etc/pcnfsd.conf
      pdebug
      pf
      /etc/pf.conf
      pfctl
      pidin
      pin
      ping
      ping6
      pipe
      pppd
      pppoectl
      pps
      pr
      /etc/printcap
      printf
      procnto*
      /etc/protocols
      ps
      pwd
      python
    Q
      qbinaudit
      QCC, qcc
      qconfig
      qconn
      qcp
      qde
      qed
      qtalk
      QWinCfg
    R
      racoon
      /etc/racoon.conf
      random
      ranlib
      rcp
      readelf
      renice
      /etc/resolv.conf
      ~/.rhosts
      rlogin
      rlogind
      rm
      rmdir
      rndc
      rndc-confgen
      rndc.conf
      route
      route6d
      routed
      /etc/rpc
      rpcbind
      rpcgen
      rpcinfo
      rsh
      rshd
      rtadvd
      /etc/rtadvd.conf
      rtc
      rtquery
      rtsold
      ruptime
      rwho
      rwhod
    S
      scp
      script
      sed
      seedres
      sendnto
      /etc/services
      setconf
      setfacl
      setkey
      setupbsp
      sftp
      sftp-server
      sh
      showlicense
      showmem
      showmount
      show_vesa
      shutdown
      size
      slay
      sleep
      slogger
      slogger2
      slog2info
      sloginfo
      smic
      snmpbulkwalk
      snmpd
      /etc/snmpd.conf
      snmpget
      snmpgetnext
      snmpnetstat
      snmpset
      snmpstatus
      snmptest
      snmptranslate
      snmptrap
      snmptrapd
      snmpwalk
      /etc/socks.conf
      sockstat
      sort
      spatch
      split
      spooler
      ssh
      ssh-add
      ssh-agent
      ~/.ssh/ssh_config, /etc/ssh/ssh_config
      ssh-keygen
      ssh-keyscan
      ssh-keysign
      sshd
      /etc/ssh/sshd_config
      startup-* options
      startup-apic
      startup-bios, startup-bios-32
      strings
      strip
      stty
      su
      svn
      sync
      sysctl
      sysinfo
      /etc/syslog.conf
      syslogd
    T
      tail
      tar
      tcpdump
      tee
      telnet
      telnetd
      termdef
      textto
      tftp
      tftpd
      tic
      time
      tinit
      top
      touch
      tr
      tracelogger
      traceprinter
      traceroute
      traceroute6
      true
      tsort
      tty
    U
      uesh
      umask
      umount
      uname
      unexpand
      unifdef
      uniq
      unlink
      unzip
      uptime
      usb
      use
      usemsg
      uud
      uudecode
      uue
      uuencode
    V
      vi
      view
      /etc/view.conf
    W
      waitfor
      wave
      waverec
      wc
      which
      who
      wiconfig
      wlanctl
      wpa_cli
      wpa_passphrase
      wpa_supplicant
    X
      xargs
    Y
    Z
      zap
      zcat
      zip
    Commonly Used Environment Variables
      A
      B
      C
      D
      E
      F
      G
      H
      I
      J
      L
      M
      N
      O
      P
      Q
      R
      S
      T
      U
    Selecting the Target System
      Target selection
      Architecture selection
      Linker emulation selection
    What's New in this Reference?
      What's new in the QNX CAR Development Platform?
        New entries
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.5.0 Service Pack 1?
        New entries
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.5.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.4.1?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in the QNX Software Development Platform 6.4.0?
        New entries
        Deprecated content
        Changed content
        Errata
      What's new in QNX Momentics 6.3.2?
        New entries
        Changed content
        Errata
      What's new in the QNX Neutrino Core OS 6.3.2?
        New entries
        Changed content
        Errata
      What's new in QNX Momentics 6.3.0 Service Pack 2?
        New entries
        Changed content
        Errata
      What's new in QNX Momentics 6.3.0 Service Pack 1?
        New entries
        Changed content
      What's new in QNX Momentics 6.3.0?
        New entries
        Deleted entries
        Changed content
        Errata
      What's new in QNX Momentics 6.2.1?
        New entries
        Deleted entries
        Changed content
        Errata
    Glossary
Copyrights, Conventions, Support, and Licensing
  Typographical conventions
  Technical support
  Copyright information
     QNX Neutrino Realtime Operating System
       QNX Neutrino Adaptive Partitioning
       Addon Interfaces Library Reference
       Audio Developer's Guide
       Building Embedded Systems
       Getting Started with QNX Neutrino: A Guide for Realtime Programmers
       C Library Reference
       Multicore Processing User's Guide
       Programmer's Guide
       System Analysis Toolkit User's Guide
       System Architecture
       QNX Neutrino User's Guide
       Utilities Reference
       Writing a Resource Manager
     QNX Momentics IDE User's Guide
     Core Networking User's Guide
     Porting Drivers from io-net to io-pkt
     Audio Devices
     Character Devices
     Input Devices
     Universal Serial Bus (USB) Devices
     Gestures Library
     Glview Library
     High Availability Framework Developer's Guide
     Instant Device Activation User's Guide
     Image Library
     Inputevents Library
     Multimedia Detector Configuration Guide
     Multimedia Synchronizer Developer's Guide
     Multimedia Renderer Developer's Guide
     QDB Developer's Guide
     Getting Started Guide
     HMI Guide
     PPS Objects Reference
     Architecture Guide
     Screen and windowing API
     String Pattern Library
  Licensing information
  Typographical conventions
  Technical support
  Copyright information
     QNX Neutrino Realtime Operating System
       QNX Neutrino Adaptive Partitioning
       Addon Interfaces Library Reference
       Audio Developer's Guide
       Building Embedded Systems
       Getting Started with QNX Neutrino: A Guide for Realtime Programmers
       C Library Reference
       Multicore Processing User's Guide
       Programmer's Guide
       System Analysis Toolkit User's Guide
       System Architecture
       QNX Neutrino User's Guide
       Utilities Reference
       Writing a Resource Manager
     QNX Momentics IDE User's Guide
     Core Networking User's Guide
     Porting Drivers from io-net to io-pkt
     Audio Devices
     Character Devices
     Input Devices
     Universal Serial Bus (USB) Devices
     Gestures Library
     Glview Library
     High Availability Framework Developer's Guide
     Instant Device Activation User's Guide
     Image Library
     Inputevents Library
     Multimedia Detector Configuration Guide
     Multimedia Synchronizer Developer's Guide
     Multimedia Renderer Developer's Guide
     QDB Developer's Guide
     Getting Started Guide
     HMI Guide
     PPS Objects Reference
     Architecture Guide
     Screen and windowing API
     String Pattern Library
  Licensing information