A Roadmap to the QNX Software Development Platform
Welcome to the QNX Software Development Platform
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
What is the QNX Software Development Platform?
Welcome to the QNX Software Development Platform
Choice, tools, source, and help
QNX Momentics at a glance
Additional components
QNX Aviage middleware
Getting started before you have your target
x86 (PC) target
x86 non-BIOS target
Any supported CPU family
Platform-related issues
A word about licensing
Getting Started
How QNX Momentics is organized
What's on my desktop?
Upgrading your software
Managing source code
Running QNX Neutrino self-hosted
Mixing a self-hosted machine with other hosts
Can different versions of QNX Momentics coexist?
QWinCfg for Windows hosts
qconfig utility for non-Windows hosts
Coexistence and the IDE
Running QNX Neutrino on a target machine
How to Get Help
Overview of the documentation
QNX Software Development Platform
QNX Momentics Tool Suite
QNX Neutrino Realtime Operating System
Photon microGUI
Advanced Graphics
Dinkum C and C++
Viewing the documentation
Within the IDE
The Photon Helpviewer
Keyword indexes
What should I read first?
During development (on your host)
At runtime (on your target)
Where key features are documented
Related reading
On QNX Neutrino
On POSIX
On TCP/IP
Getting quick help with the use command
Hover help in the IDE
Visit http://www.qnx.com
Support plans
Training
Custom engineering and consulting
Glossary
Quickstart Guide
10 Steps to Developing a QNX Program: Quickstart Guide
1. Requirements
2. Installing the QNX Software Development Platform on the development host
3. Installing the QNX Neutrino RTOS on the target system
4. Networking with QNX Neutrino
5. Creating a program project
6. Communicating with QNX Neutrino
7. Compiling and linking
8. Preparing to launch the program
9. Starting and debugging
10. Making the program your own
Installation Guide
About This Guide
Typographical conventions
Before you start
Getting started with the documentation
Technical support
QNX Neutrino Hosts
System requirements
BIOS settings
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Updating disk drivers
Uninstalling QNX SDP
Determining your base directory
Microsoft Windows Hosts
System requirements
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Important notes
Commercializing your evaluation software
Uninstalling QNX SDP
Determining your base directory
Linux Hosts
System requirements
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Uninstalling QNX SDP
Determining your base directory
Release Notes
QNX(R) Software Development Platform 6.5.0: Release Notes
Contents
What's new in QNX Neutrino 6.5.0?
Migrating from earlier releases
APIC-enabled devices
What's new: Kernel
Persistent Publish/Subscribe (PPS)
What's new: Licensing
What's new: Installing and booting
What's new: Startup
What's new: Core networking
What's new: Filesystems
io-blk.so redesign
Other filesystem changes
What's new: Graphics
Advanced Graphics
Composition Manager
Photon microGUI
What's new: Libraries and header files
What's new: Drivers
What's new: Audio device drivers (deva-*)
What's new: Block-oriented drivers (devb-*)
What's new: Character drivers (devc-*)
What's new: Graphics drivers (devg-*)
What's new: Human interface device drivers (devh-*)
What's new: Network drivers (devn-*, devnp-*)
What's new: Documentation
What's new: I/O devices
What's new: Security
Using the VMware image of a QNX Neutrino runtime system
What's new in the QNX Momentics Tool Suite?
What's new: Compiler, tools, and utilities
What's new: Integrated Development Environment
Debugging information for shipped binaries
Discontinued items
Experimental items
Known issues
Known issues: Installing and uninstalling
Known issues: Kernel
Known issues: Libraries and header files
Known issues: Filesystems
Known issues: Startup
Known issues: Adaptive partitioning
Known issues: Booting
Known issues: BSPs and DDKs
Known issues: Compiler, tools, and utilities
Known issues: Device drivers
Audio device drivers (deva-*)
Block-oriented drivers (devb-*)
Graphics drivers (devg-*)
Human interface device drivers (devh-*)
Network drivers (devn-*, devnp-*)
USB drivers (devu-*)
Flash filesystems & embedding
Known issues: IDE
Known issues: General
Known issues: Application Profiler perspective
Known issues: System Profiler perspective
Known issues: Memory Analysis perspective
Known issues: System Information perspective
Known issues: System Builder perspective
Known issues: C/C++ development
Known issues: Team/CVS
Known issues: Debugging
Known issues: Documentation
Known issues: Instant Device Activation
Known issues: I/O devices
Known issues: Multimedia
Known issues: Networking
Known issues: Graphics
Advanced Graphics
Photon microGUI
Known issues: Persistent Publish/Subscribe
Known issues: Runtime kit
Known issues: System Analysis Toolkit
Known issues: Host-specific
Windows hosts
Linux hosts
Known issues: Web browsers
Getting started with the documentation
Technical support
List of fixes
Software fixes
Documentation fixes
Welcome to the QNX Software Development Platform
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
What is the QNX Software Development Platform?
Welcome to the QNX Software Development Platform
Choice, tools, source, and help
QNX Momentics at a glance
Additional components
QNX Aviage middleware
Getting started before you have your target
x86 (PC) target
x86 non-BIOS target
Any supported CPU family
Platform-related issues
A word about licensing
Getting Started
How QNX Momentics is organized
What's on my desktop?
Upgrading your software
Managing source code
Running QNX Neutrino self-hosted
Mixing a self-hosted machine with other hosts
Can different versions of QNX Momentics coexist?
QWinCfg for Windows hosts
qconfig utility for non-Windows hosts
Coexistence and the IDE
Running QNX Neutrino on a target machine
How to Get Help
Overview of the documentation
QNX Software Development Platform
QNX Momentics Tool Suite
QNX Neutrino Realtime Operating System
Photon microGUI
Advanced Graphics
Dinkum C and C++
Viewing the documentation
Within the IDE
The Photon Helpviewer
Keyword indexes
What should I read first?
During development (on your host)
At runtime (on your target)
Where key features are documented
Related reading
On QNX Neutrino
On POSIX
On TCP/IP
Getting quick help with the use command
Hover help in the IDE
Visit http://www.qnx.com
Support plans
Training
Custom engineering and consulting
Glossary
Quickstart Guide
10 Steps to Developing a QNX Program: Quickstart Guide
1. Requirements
2. Installing the QNX Software Development Platform on the development host
3. Installing the QNX Neutrino RTOS on the target system
4. Networking with QNX Neutrino
5. Creating a program project
6. Communicating with QNX Neutrino
7. Compiling and linking
8. Preparing to launch the program
9. Starting and debugging
10. Making the program your own
Installation Guide
About This Guide
Typographical conventions
Before you start
Getting started with the documentation
Technical support
QNX Neutrino Hosts
System requirements
BIOS settings
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Updating disk drivers
Uninstalling QNX SDP
Determining your base directory
Microsoft Windows Hosts
System requirements
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Important notes
Commercializing your evaluation software
Uninstalling QNX SDP
Determining your base directory
Linux Hosts
System requirements
Installing QNX SDP
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Uninstalling QNX SDP
Determining your base directory
Release Notes
QNX(R) Software Development Platform 6.5.0: Release Notes
Contents
What's new in QNX Neutrino 6.5.0?
Migrating from earlier releases
APIC-enabled devices
What's new: Kernel
Persistent Publish/Subscribe (PPS)
What's new: Licensing
What's new: Installing and booting
What's new: Startup
What's new: Core networking
What's new: Filesystems
io-blk.so redesign
Other filesystem changes
What's new: Graphics
Advanced Graphics
Composition Manager
Photon microGUI
What's new: Libraries and header files
What's new: Drivers
What's new: Audio device drivers (deva-*)
What's new: Block-oriented drivers (devb-*)
What's new: Character drivers (devc-*)
What's new: Graphics drivers (devg-*)
What's new: Human interface device drivers (devh-*)
What's new: Network drivers (devn-*, devnp-*)
What's new: Documentation
What's new: I/O devices
What's new: Security
Using the VMware image of a QNX Neutrino runtime system
What's new in the QNX Momentics Tool Suite?
What's new: Compiler, tools, and utilities
What's new: Integrated Development Environment
Debugging information for shipped binaries
Discontinued items
Experimental items
Known issues
Known issues: Installing and uninstalling
Known issues: Kernel
Known issues: Libraries and header files
Known issues: Filesystems
Known issues: Startup
Known issues: Adaptive partitioning
Known issues: Booting
Known issues: BSPs and DDKs
Known issues: Compiler, tools, and utilities
Known issues: Device drivers
Audio device drivers (deva-*)
Block-oriented drivers (devb-*)
Graphics drivers (devg-*)
Human interface device drivers (devh-*)
Network drivers (devn-*, devnp-*)
USB drivers (devu-*)
Flash filesystems & embedding
Known issues: IDE
Known issues: General
Known issues: Application Profiler perspective
Known issues: System Profiler perspective
Known issues: Memory Analysis perspective
Known issues: System Information perspective
Known issues: System Builder perspective
Known issues: C/C++ development
Known issues: Team/CVS
Known issues: Debugging
Known issues: Documentation
Known issues: Instant Device Activation
Known issues: I/O devices
Known issues: Multimedia
Known issues: Networking
Known issues: Graphics
Advanced Graphics
Photon microGUI
Known issues: Persistent Publish/Subscribe
Known issues: Runtime kit
Known issues: System Analysis Toolkit
Known issues: Host-specific
Windows hosts
Linux hosts
Known issues: Web browsers
Getting started with the documentation
Technical support
List of fixes
Software fixes
Documentation fixes
Dinkum Documentation
Dinkum C++ Library
Dinkum C++ Library
Table of Contents
<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 OR=
bitset::operator~
bitset::reference
bitset::reset
bitset::set
bitset::size
bitset::test
bitset::to_string
bitset::to_ulong
operator&
operator OR
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
<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>=
<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 OR
operator OR OR
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 OR=
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
<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>
<stl.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
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 C99 Library
Dinkum C99 Library
Table of Contents
<assert.h>
assert
<complex.h>
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
fesettrapenable
fesetenv
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
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
exp2, exp2f, exp2l
expm1, expm1f, expm1l
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
Characters
Character Sets
Escape Sequences
Trigraphs
Multibyte Characters
Text and Binary Streams
Byte and Wide Streams
Controlling Streams
Stream States
Formatted Output
Print Formats
Print Functions
Scan Formats
Scan Functions
Scan Conversion Specifiers
Preprocessing
Expressions
Functions
Index
Dinkum EC++ Library
Dinkum EC++ Library
Table of Contents
<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>
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
<fstream.h>
<iomanip.h>
<iostream.h>
<new.h>
C++ Library Overview
Using C++ Library Headers
C++ Library Conventions
Iostreams Conventions
Exceptions
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
Controlling Streams
Stream States
Formatted Output
Print Formats
Print Functions
Formatted Input
Scan Formats
Scan Functions
Scan Conversion Specifiers
Preprocessing
Expressions
Functions
Index
Dinkum C++ Library
Dinkum C++ Library
Table of Contents
<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 OR=
bitset::operator~
bitset::reference
bitset::reset
bitset::set
bitset::size
bitset::test
bitset::to_string
bitset::to_ulong
operator&
operator OR
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
<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>=
<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 OR
operator OR OR
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 OR=
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
<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>
<stl.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
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 C99 Library
Dinkum C99 Library
Table of Contents
<assert.h>
assert
<complex.h>
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
fesettrapenable
fesetenv
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
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
exp2, exp2f, exp2l
expm1, expm1f, expm1l
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
Characters
Character Sets
Escape Sequences
Trigraphs
Multibyte Characters
Text and Binary Streams
Byte and Wide Streams
Controlling Streams
Stream States
Formatted Output
Print Formats
Print Functions
Scan Formats
Scan Functions
Scan Conversion Specifiers
Preprocessing
Expressions
Functions
Index
Dinkum EC++ Library
Dinkum EC++ Library
Table of Contents
<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>
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
<fstream.h>
<iomanip.h>
<iostream.h>
<new.h>
C++ Library Overview
Using C++ Library Headers
C++ Library Conventions
Iostreams Conventions
Exceptions
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
Controlling Streams
Stream States
Formatted Output
Print Formats
Print Functions
Formatted Input
Scan Formats
Scan Functions
Scan Conversion Specifiers
Preprocessing
Expressions
Functions
Index
QNX Database for QNX Neutrino
Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
Starting QDB
Database directory
Schema files
Starting the QDB server
Temporary storage filesystem
Auto-attaching databases
Incorrect
Correct
Correct
Database integrity testing
Testing SQL statements
The configuration file
Sharing connections between clients
Shared caching
Advantages of shared caching
Database recovery
Busy timeout
Handling corrupt databases
Sample script
Maintenance Commands
The QDB Client qdbc
Description
QDB Administration
Backing up and restoring databases
QDB Examples
Connecting to the database
Executing a Statement
Getting the result of a query
Using a result
Disconnecting from the Server
Example
Datatypes in QDB
Storage classes
Column affinity
Determination of column affinity
Column affinity example
Comparison expressions
A comparison example
Operators
Sorting, grouping and compound SELECTs
Other affinity modes
User-defined collation sequences
Assigning Collation Sequences from SQL
Collation Sequences Example
QDB Virtual Machine Opcodes
Viewing programs generated by QDB
The opcodes
Writing User-Defined Functions
User scalar/aggregate functions
User collation routines
Example
SQLite C/C++ API
sqlite3_result_*
sqlite3_value_*
sqlite3_user_data
QDB Client API Reference
Functions
qdb_backup
Description:
qdb_bkcancel
Description:
qdb_cell
Description:
qdb_cell_length
Description:
qdb_cell_type
Description:
qdb_collation
Description:
qdb_column_index
Description:
qdb_column_name
Description:
qdb_columns
Description:
qdb_connect
Description:
Using asynchronous mode
qdb_data_source
Description:
qdb_disconnect
Description:
qdb_freeresult
Description:
qdb_getdbsize
Description:
qdb_geterrmsg
Description:
qdb_getoption
Description:
qdb_getresult
Description:
qdb_gettransstate
Description:
qdb_last_insert_rowid
Description:
qdb_mprintf
Description:
qdb_parameters
Description:
qdb_printmsg
Description:
qdb_query
Description:
qdb_rowchanges
Description:
qdb_rows
Description:
qdb_setbusytimeout
Description:
qdb_setoption
Description:
qdb_snprintf
Description:
qdb_statement
Description:
qdb_stmt_exec
Description:
The qdb_binding_t structure
Examples:
qdb_stmt_free
Description:
Examples:
qdb_stmt_init
Description:
Examples:
qdb_vacuum
Description:
qdb_vmprintf
Description:
QDB SQL Reference
General
Statements
Row ID and Autoincrement
Description:
The AUTOINCREMENT Keyword
Comment
Description:
expressions
Description:
Literal values
Parameters
LIKE
GLOB
Column Names
SELECT statements
CAST
Functions
Core Functions
Aggregate Functions
QDB Keywords
Description:
Special names
ALTER TABLE
Description:
ANALYZE
Description:
ATTACH DATABASE
Description:
CREATE INDEX
Description:
CREATE TABLE
Description:
CREATE TRIGGER
Description:
CREATE VIEW
Description:
DELETE
Description:
DETACH DATABASE
Description:
DROP INDEX
Description:
DROP TABLE
Description:
DROP TRIGGER
Description:
DROP VIEW
Description:
EXPLAIN
Description:
INSERT
Description:
ON CONFLICT
Description:
PRAGMA
Description:
Auto vacuum
Cache size
Case sensitivity
Count changes
Default cache size
Full column names
Legacy file format
Page size
Short column names
Synchronous
Temp store
Foreign key list
Index info
Index list
Table info
Schema and user version
Integrity check
REINDEX
Description:
REPLACE
Description:
SELECT
Description:
DISTINCT keyword
WHERE clause
GROUP BY clauses
ORDER BY clauses
LIMIT clauses
Compund SELECT statements
TRANSACTION
Description:
Locks
UPDATE
Description:
VACUUM
Description:
Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
Starting QDB
Database directory
Schema files
Starting the QDB server
Temporary storage filesystem
Auto-attaching databases
Incorrect
Correct
Correct
Database integrity testing
Testing SQL statements
The configuration file
Sharing connections between clients
Shared caching
Advantages of shared caching
Database recovery
Busy timeout
Handling corrupt databases
Sample script
Maintenance Commands
The QDB Client qdbc
Description
QDB Administration
Backing up and restoring databases
QDB Examples
Connecting to the database
Executing a Statement
Getting the result of a query
Using a result
Disconnecting from the Server
Example
Datatypes in QDB
Storage classes
Column affinity
Determination of column affinity
Column affinity example
Comparison expressions
A comparison example
Operators
Sorting, grouping and compound SELECTs
Other affinity modes
User-defined collation sequences
Assigning Collation Sequences from SQL
Collation Sequences Example
QDB Virtual Machine Opcodes
Viewing programs generated by QDB
The opcodes
Writing User-Defined Functions
User scalar/aggregate functions
User collation routines
Example
SQLite C/C++ API
sqlite3_result_*
sqlite3_value_*
sqlite3_user_data
QDB Client API Reference
Functions
qdb_backup
Description:
qdb_bkcancel
Description:
qdb_cell
Description:
qdb_cell_length
Description:
qdb_cell_type
Description:
qdb_collation
Description:
qdb_column_index
Description:
qdb_column_name
Description:
qdb_columns
Description:
qdb_connect
Description:
Using asynchronous mode
qdb_data_source
Description:
qdb_disconnect
Description:
qdb_freeresult
Description:
qdb_getdbsize
Description:
qdb_geterrmsg
Description:
qdb_getoption
Description:
qdb_getresult
Description:
qdb_gettransstate
Description:
qdb_last_insert_rowid
Description:
qdb_mprintf
Description:
qdb_parameters
Description:
qdb_printmsg
Description:
qdb_query
Description:
qdb_rowchanges
Description:
qdb_rows
Description:
qdb_setbusytimeout
Description:
qdb_setoption
Description:
qdb_snprintf
Description:
qdb_statement
Description:
qdb_stmt_exec
Description:
The qdb_binding_t structure
Examples:
qdb_stmt_free
Description:
Examples:
qdb_stmt_init
Description:
Examples:
qdb_vacuum
Description:
qdb_vmprintf
Description:
QDB SQL Reference
General
Statements
Row ID and Autoincrement
Description:
The AUTOINCREMENT Keyword
Comment
Description:
expressions
Description:
Literal values
Parameters
LIKE
GLOB
Column Names
SELECT statements
CAST
Functions
Core Functions
Aggregate Functions
QDB Keywords
Description:
Special names
ALTER TABLE
Description:
ANALYZE
Description:
ATTACH DATABASE
Description:
CREATE INDEX
Description:
CREATE TABLE
Description:
CREATE TRIGGER
Description:
CREATE VIEW
Description:
DELETE
Description:
DETACH DATABASE
Description:
DROP INDEX
Description:
DROP TABLE
Description:
DROP TRIGGER
Description:
DROP VIEW
Description:
EXPLAIN
Description:
INSERT
Description:
ON CONFLICT
Description:
PRAGMA
Description:
Auto vacuum
Cache size
Case sensitivity
Count changes
Default cache size
Full column names
Legacy file format
Page size
Short column names
Synchronous
Temp store
Foreign key list
Index info
Index list
Table info
Schema and user version
Integrity check
REINDEX
Description:
REPLACE
Description:
SELECT
Description:
DISTINCT keyword
WHERE clause
GROUP BY clauses
ORDER BY clauses
LIMIT clauses
Compund SELECT statements
TRANSACTION
Description:
Locks
UPDATE
Description:
VACUUM
Description:
QNX Momentics IDE User's Guide
Assumptions
How to use this guide
IDE Concepts
What is an IDE?
Building embedded systems using the IDE
Perspectives
Views
Editors
Using alternate editors
Changing editors
Refreshing the resources
Disabling automatic syntax annotation highlighting
Preferences
Importing preferences
Exporting preferences
Setting export options for a BSP
Projects in the IDE
Considerations for project development
How the IDE characterizes projects using natures
The IDE Workspace
Specifying a workspace location
Host and target machines
Target agent (the qconn daemon)
Launcher
Resources
Wizards
Keyboard shortcuts
Version coexistence
Environment variables
Coexistence and PhAB
Specifying which OS version to build for
Getting Started
Starting the IDE
The IDE welcomes you
Starting the IDE for the first time
Starting the IDE from the command line
Using the workbench
Using the QNX help system
Opening the online help from the IDE
Navigating the online help
Creating help bookmarks
Tips and Tricks
Creating a project
Creating a simple project
Creating a C/C++ project
How to create a C/C++ project
Creating a C Makefile project
Creating a make project
Creating a make project that can be launched outside the IDE
Creating a target system project
Converting projects
Converting a QNX project to a managed make C/C++ project
Converting a regular project to a managed make C/C++ project
Converting to a QNX project
Completing the conversion of a project to a different type
Post-build actions
Adding a post-build action
Importing projects
Importing an existing container project into a workspace
Importing an existing project into a workspace
Importing external features
Importing external plugins and fragments
Importing a file system
Importing GCC coverage data from a project
Importing a QNX Source Package
Importing a QNX mkifs Buildfile
Importing a QNX source package
Importing a team project set
Importing an archive file
Breakpoints
Launch configurations
Renaming a project
Troubleshooting in the IDE
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 options
Builders options 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
Preparing Your Target
Host-target communications
IP communications
Serial communications
Configuring a target for serial communication
qconn over Qnet
Installing the qconn update
Copying a new version of qconn to a target system.
Networking QNX Neutrino using PPP
Verifying a serial connection
Preparing an embedded system for a Windows target
QNX Networking
Linking an embedded system running QNX Neutrino to a Windows network connection
Verifying a network connection
Connecting with Phindows
Starting a remote Photon session
Running a Photon program in a remote Photon session
Developing C/C++ Programs
The C/C++ perspective
Understanding 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
Checking out a partial source tree
Sharing projects
Checking out existing projects
Setting build properties for a project
Developing projects in the IDE
Creating a simple project
Creating a make project
Managed make projects
Creating a Makefile to build outside of the IDE
Choosing an indexer
Working with projects
Opening files
Creating files from scratch
Filtering files
Opening projects
Closing projects
Viewing outlines of source and binary files
Writing code
C/C++ editor layout
Finishing function names
Accessing source files for functions
Using code templates
Inserting code templates
Creating a custom template
Editing a code template
Adding include directives
Using hover help
Adding and removing comments in code
Customizing the C/C++ editor
Changing fonts, background color, or the visibility of line numbers
Changing tabs into spaces, highlighting, and folding options
Setting Content Assist options
Using other editors
Using an external editor outside of the IDE
Using another editor within the IDE
Building projects
Enabling the autobuild feature for QNX C/C++ projects
Enabling the autobuild feature for non QNX C/C++ projects
Configuring automated builds
Example #1: the Makefile is in the root
Building all projects
Configuring the project build order
Building a single project
Building selected projects
Building from the command line
Cleaning and rebuilding all projects
Cleaning selected projects
Autosave before building
Creating custom options
Building a project with a custom make target
Removing a make target
Adding a use message
Adding a usage message when using a QNX C/C++ Project
Adding a usage message when using a Standard Project
Creating a QNX target system Project
Creating a launch configuration
Running binaries for a project
Deleting a project
More development features
Tracking remaining work
Error markers
Jumping to errors
Filtering errors
Tracking tasks
Setting reminders
Associating tasks with resources
Removing a task
Code synopsis
Toolbar icons
Outline view icons
Filtering and grouping in the Outline view
Using Working Sets
Checking your build
Customizing the Console view
Opening headers
Setting the include paths and define directives (C/C++ Make project)
Navigating: Go To Type
Managing Source Code
SVN and the IDE
CVS and the IDE
Local history feature
Project files (.project and .cproject)
Using the core Eclipse source control documentation in the IDE
SVN documentation
CVS documentation
Importing existing source code into the IDE
Projects within projects
Step 1: Creating a project for your source code
Step 2: Creating a new project for each existing project or component in your source code tree
Step 3: Linking the projects to a directory in the source tree
Step 4: Building the component project in the linked folder
Filesystem drag-and-drop
Importing code into the IDE
Importing a C/C++ project from CVS
Importing C/C++ code that doesn't have the project metadata in CVS
Importing C/C++ code from CVS into an existing project
Importing a C/C++ Project from SVN
Importing C/C++ code that doesn't have the project metadata for SVN
Importing C/C++ code from SVN into an existing project
Import wizard
Adding linked resources
Using container projects
Creating a container project
Setting up a build configuration
Editing existing configurations
Editing via project properties
Editing via the Build Container Configuration item
Building a container project
Importing a BSP or other QNX source packages
QNX BSP perspective
Importing a BSP package from Foundry27
Checking out BSP packages directly from the SVN Repositories view
Exporting projects
Using the Export command
Launch Configurations Reference
What is a launch configuration?
Types of launch configurations
Launch Group type
Running and debugging for the first time
Debugging a program the first time
Running and debugging subsequent times
Launching a selected program (fast)
Launching from a list of favorites (faster)
Launching the last-launched program (fastest)
Setting execution options
Main tab
Arguments tab
Environment tab
Upload tab
Debugger tab
Source tab
Common tab
Tools tab
Debugging in the IDE
Debugging your program (building an executable for debugging)
Debugging a child process
Controlling your debug session
Debug view
Debug view icons
Using the controls
Toolbar icons
Using hotkeys
Controlling your debug session
From the Debug view
From the C/C++ editor
Disassembly mode
Debug launch controls
Jumping to a memory address in the Disassembly view
More debugging features
Inspecting variables
Changing variable values
Controlling the display of variables
Changing variable to a different type
Viewing variables in memory
Using breakpoints and watchpoints
Adding breakpoints
Adding watchpoints
Setting an action for the breakpoint
Adding event breakpoints
Setting properties of breakpoints and watchpoints
Disabling/enabling breakpoints and watchpoints
Removing breakpoints and watchpoints
Evaluating your expressions
Inspecting your registers
Toolbar icons
Menu commands
Modifying registers
Changing the number system for register values
Inspecting a process's memory
Viewing memory
Inspecting memory
Configuring output format
Changing memory
Menu commands
Monitors pane menu commands
Rendering pane menu commands
Inspecting shared-library usage
Loading a Library's symbol
Monitoring signal handling
Changing how the debugger handles signals
Sending a signal to a suspended program
Viewing your output
Interacting with GDB
Enabling the QNX GDB Console view
Using the QNX GDB Console view
Using JTAG debugging
JTAG: Using the Abatron BDI2000 JTAG Debugger with a QNX Neutrino kernel image
Prerequisites
Connecting the Abatron BDI2000 JTAG Debugger to your host
Updating the Abatron firmware
Connecting the Abatron BDI2000 Debugger to your target
Building a system image
Creating a launch configuration
Debugging the startup binary
JTAG: Using the Lauterbach Trace32 In-Circuit Debugger with a QNX Neutrino kernel image
Prerequisites
Installing the Lauterbach Trace32 In-Circuit Debugger software
Installing the Lauterbach Trace32 Eclipse plug-in software
Connecting the Lauterbach Trace32 In-Circuit Debugger
Configuring the Lauterbach Trace32 In-Circuit Debugger
Creating a launch configuration for the target hardware
Creating a startup script for the Lauterbach Trace32 In-Circuit software
Creating multicore launch configurations
Using the debugger
JTAG: Using the Macraigor Usb2Demon Debugger with a QNX Neutrino kernel image
Prerequisites
Installing the Macraigor hardware support package
Connecting the Macraigor Usb2Demon Debugger to your host
Connecting the Macraigor Usb2Demon Debugger to your target
Starting the OCDremote
Building a system image
Creating a launch configuration
Debugging a startup binary
Building 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
Creating a new QNX System Builder project for an OS image
Creating a project for a flash filesystem image (an .efs file)
Building an OS image
Creating a new image
Combining images
Adding an IPL to the start of your image
Adding an EFS to your image
Setting the final format of your OS image
Downloading an image to your target
Downloading
Opening a terminal
Communicating with your target
Using the QNX Send File button
Downloading using TFTP
Transferring a file
Transferring files that aren't in Images
Transferring an image
Settings for the TFTP server
Setting font and color preferences
Downloading using other methods
Configuring your QNX System Builder projects
Managing your images
Determining the shared libraries and DLLs are required for an executable
Adding files to your image
Deleting files
Adding directories
Deleting directories
Configuring image properties
Image properties
Directories
General
System (.ifs)
System (.efs)
Item properties
General
Combine
Memory
Permissions
Configuring project properties
Search Paths
Managing your search paths
Search path variables
Optimizing your system
Optimizing all libraries in your image
Optimizing a single library
Restoring a slimmed-down library
Moving files between the host and target
Moving files to the target
Moving files from the target to the host
Exporting a System Builder project to a Mkxfs build file(s)
Developing Photon Applications
What is PhAB?
PhAB and the IDE
Using PhAB
Creating a QNX Photon Appbuilder project
Closing PhAB
Reopening PhAB
Editing code
Building a QNX Photon Appbuilder project
Importing an existing standalone QNX Photon Appbuilder project
Checking out an existing PhAB project from CVS
Starting Photon applications
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
Profiling your programs
Building a program for profiling
Building with profiling enabled
Running and profiling a process
Profiling a running process
Postmortem profiling for Call Count and sampling
Application Profiler tab
Controlling your profiling sessions
Understanding your profiling data
Profiler Sessions view
Toolbar options
Pausing and resuming a profiling session
Taking a snapshot of a profile session
Creating a sample profile session
Exporting a profiler session
Debug view
Execution Time view
Column descriptions
Interpreting 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
Duplicating the view
Viewing history
Grouping
Setting preferences
Copying to the clipboard
Filtering
Searching
Annotated source editor
Using the Application Profiler
Using Function Instrumentation with the Application Profiler
Using Sampling and Call Count instrumentation mode
Using Function Instrumentation mode for a single application
Using Function Instrumentation in the System Profiler
Creating an Application Profiler session
Creating a profiler session by importing profiler data
Profiling a single-threaded application
Profiling a running process for an existing project
Using postmortem profiling for Call Count and Sampling
Postmortem profiling
Running an instrumented binary with profiling from a command prompt (Function Instrumentation mode)
Taking a snapshot of a profiling session
Comparing profiles
Using Code Coverage
Types of code coverage in the IDE
How the coverage tool works
Enabling code coverage
Enabling code coverage for make projects
Starting a coverage-enabled program
Importing gcc code coverage data from a project
Associated views
Code Coverage Sessions view
Combining Code Coverage sessions
Examining data line-by-line
Code Coverage Properties view
Code Coverage Report view
Analyzing Memory Usage and Finding Errors
Memory management in QNX Neutrino
Virtual memory
Memory optimization
Process memory
Inspecting your process memory distribution
Performance of heap allocations
Preparing for a memory profiling session
Analyzing allocation patterns
Optimizing heap memory
Memory leaks
Enabling memory leak detection
Inspecting outstanding allocations
Types of allocation overhead
Estimating the average allocation size
Tuning the allocator
Optimizing static and stack memory
Finding memory errors and leaks
Testing an application for memory leaks using the System Information Tool
Using Memory Analysis tooling
Memory leaks
Enabling leak detection
Detecting leaks on demand during program execution
Interpreting leaks
Memory errors
Configuring the IDE for error analysis
Changing error detection options at runtime
Interpreting memory errors
Using Mudflap
Configuring Mudflap to find errors
Options for Mudflap
Mudflap Violations view
Interpreting Mudflap output
The Memory Analysis tool
Advanced topics
Analyzing a running program
Memory analysis of shared objects
GUI interface options and environment variables for the Memory Analysis Tool
Launching your program with Memory Analysis
Launching from the command line with Memory Analysis enabled
Performing a postmortem memory analysis
Attaching to a running process
The Memory Analysis tooling API
Viewing Memory Analysis data
Memory Analysis editor
Selecting data
Controlling the page layout
Controlling the overview
Controlling the detail pane
Allocations tab
Bins tab
Bands tab
Usage tab
Settings tab
Memory Problems view
Memory Problems Filter
Memory Problems Preferences
Viewing statistics for memory problems
Memory Events view
Memory Events Filter
Memory Events Preferences
Viewing statistics for memory events
Memory Backtrace view
Inspecting outstanding allocations
Interpreting errors during memory analysis
Illegal deallocation of memory
NULL pointer dereference
Buffer overflow
Using freed memory
Reading 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
Opening a session
Deleting a session
Closing a session
Exporting session data
Filtering information for a session
Importing session information
Showing information about a session
Renaming a session
Importing memory analysis data
Importing session information from an XML file
Importing event information
Exporting memory analysis data
Exporting memory analysis session data
Memory result formats
Getting System Information
Introduction
What the System Information perspective reveals
Logging system information
Associated views
Controlling your system information session
Sending a signal
Examining your target system's attributes
System Specifications pane
System Memory pane
Processes panes
Watching your processes
Thread Details pane
Environment Variables pane
Process Properties pane
Examining your target system's memory (inspecting virtual address space)
Tracking heap usage
Observing changes in memory usage (allocations and deallocations)
Outstanding allocations
Allocation deltas
Deallocation deltas
Outstanding allocation deltas
Examining process signals
Getting channel information
Tracking file descriptors
Tracking resource usage
Tracking the use of adaptive partitioning
Associated views
Analyzing Your System with Kernel Tracing
Introducing the QNX System Profiler
Before you begin
Configuring a target for system profiling
Launching the Log Configuration dialog
Address translation
Configuring your kernel event trace
Capturing instrumentation data in event log files
Viewing and interpreting the captured data
System Profiler editor
Timeline view
Timeline State Colors view
Zooming
Filtering profile data
Raw Event Data view
Trace Event Log view
Properties view
Tracking down events
Trace Search
Bookmarks view
Gathering 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
Determining thread state behavior
Thread State Snapshot view
Why Running? view
Analyzing multiprocessor systems
CPU Migration pane
Analyzing systems with AP scheduling
Partition Summary pane
Using Function Instrumentation mode with the System Profiler
Importing part of a kernel trace into the Application Profiler
System Profiler use cases
Locating sources of high CPU usage
Mapping and isolating client CPU load from server CPU load
Examining interrupt latency
Locating Events of Interest
Tutorials
Before you start
Tutorial 1: Creating a C/C++ project
Tutorial 2: Creating a QNX C/C++ project
Tutorial 3: Importing an existing project into the IDE
Tutorial 4: Importing a QNX BSP into the IDE
Where Files Are Stored?
Utilities used by the IDE
What's New
What's New in IDE 4.7
Eclipse 3.5 and CDT 6.0 integration
Changes made to IDE 4.7
Compiler and Tools
What's New in IDE 4.6
Eclipse 3.4 and CDT 5.0.2 integration
Mudflap integration
Integration with Foundry27 and importing BSPs
System Profiler
Compiler and Tools
What's New in IDE 4.5
Eclipse 3.3 and CDT 4.0 integration
C and C++ development
System information and target management
Application Profiler
System Profiler
System Builder
Memory Analysis
Debugger
Code Coverage
Compiler and Tools
Migrating from Earlier Releases
Migration issues
General migration considerations
Coexistence
Compiler issues
Binary compatibility
CDT impact on the IDE
Creating a make project
Creating a make project that can be launched outside the IDE
IDE location
Old launch configurations don't switch perspectives automatically
Missing features in context menus
System Builder Console doesn't come to front
Reverting to an older version of the IDE
Importing into an older IDE
Migrating from 6.4.1 (IDE 4.6) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
Migrating from 6.4.0 (IDE 4.5) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
Migrating from 6.3.2 (IDE 4.0.1) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
IDE Administration
Updating the IDE using the Software Updates Manager
Running the IDE in administrative mode
Installing new software
Using older toolchains with the IDE
Copying a new version of qconn to a target system
Updating qconn on a development system
Glossary
Assumptions
How to use this guide
IDE Concepts
What is an IDE?
Building embedded systems using the IDE
Perspectives
Views
Editors
Using alternate editors
Changing editors
Refreshing the resources
Disabling automatic syntax annotation highlighting
Preferences
Importing preferences
Exporting preferences
Setting export options for a BSP
Projects in the IDE
Considerations for project development
How the IDE characterizes projects using natures
The IDE Workspace
Specifying a workspace location
Host and target machines
Target agent (the qconn daemon)
Launcher
Resources
Wizards
Keyboard shortcuts
Version coexistence
Environment variables
Coexistence and PhAB
Specifying which OS version to build for
Getting Started
Starting the IDE
The IDE welcomes you
Starting the IDE for the first time
Starting the IDE from the command line
Using the workbench
Using the QNX help system
Opening the online help from the IDE
Navigating the online help
Creating help bookmarks
Tips and Tricks
Creating a project
Creating a simple project
Creating a C/C++ project
How to create a C/C++ project
Creating a C Makefile project
Creating a make project
Creating a make project that can be launched outside the IDE
Creating a target system project
Converting projects
Converting a QNX project to a managed make C/C++ project
Converting a regular project to a managed make C/C++ project
Converting to a QNX project
Completing the conversion of a project to a different type
Post-build actions
Adding a post-build action
Importing projects
Importing an existing container project into a workspace
Importing an existing project into a workspace
Importing external features
Importing external plugins and fragments
Importing a file system
Importing GCC coverage data from a project
Importing a QNX Source Package
Importing a QNX mkifs Buildfile
Importing a QNX source package
Importing a team project set
Importing an archive file
Breakpoints
Launch configurations
Renaming a project
Troubleshooting in the IDE
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 options
Builders options 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
Preparing Your Target
Host-target communications
IP communications
Serial communications
Configuring a target for serial communication
qconn over Qnet
Installing the qconn update
Copying a new version of qconn to a target system.
Networking QNX Neutrino using PPP
Verifying a serial connection
Preparing an embedded system for a Windows target
QNX Networking
Linking an embedded system running QNX Neutrino to a Windows network connection
Verifying a network connection
Connecting with Phindows
Starting a remote Photon session
Running a Photon program in a remote Photon session
Developing C/C++ Programs
The C/C++ perspective
Understanding 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
Checking out a partial source tree
Sharing projects
Checking out existing projects
Setting build properties for a project
Developing projects in the IDE
Creating a simple project
Creating a make project
Managed make projects
Creating a Makefile to build outside of the IDE
Choosing an indexer
Working with projects
Opening files
Creating files from scratch
Filtering files
Opening projects
Closing projects
Viewing outlines of source and binary files
Writing code
C/C++ editor layout
Finishing function names
Accessing source files for functions
Using code templates
Inserting code templates
Creating a custom template
Editing a code template
Adding include directives
Using hover help
Adding and removing comments in code
Customizing the C/C++ editor
Changing fonts, background color, or the visibility of line numbers
Changing tabs into spaces, highlighting, and folding options
Setting Content Assist options
Using other editors
Using an external editor outside of the IDE
Using another editor within the IDE
Building projects
Enabling the autobuild feature for QNX C/C++ projects
Enabling the autobuild feature for non QNX C/C++ projects
Configuring automated builds
Example #1: the Makefile is in the root
Building all projects
Configuring the project build order
Building a single project
Building selected projects
Building from the command line
Cleaning and rebuilding all projects
Cleaning selected projects
Autosave before building
Creating custom options
Building a project with a custom make target
Removing a make target
Adding a use message
Adding a usage message when using a QNX C/C++ Project
Adding a usage message when using a Standard Project
Creating a QNX target system Project
Creating a launch configuration
Running binaries for a project
Deleting a project
More development features
Tracking remaining work
Error markers
Jumping to errors
Filtering errors
Tracking tasks
Setting reminders
Associating tasks with resources
Removing a task
Code synopsis
Toolbar icons
Outline view icons
Filtering and grouping in the Outline view
Using Working Sets
Checking your build
Customizing the Console view
Opening headers
Setting the include paths and define directives (C/C++ Make project)
Navigating: Go To Type
Managing Source Code
SVN and the IDE
CVS and the IDE
Local history feature
Project files (.project and .cproject)
Using the core Eclipse source control documentation in the IDE
SVN documentation
CVS documentation
Importing existing source code into the IDE
Projects within projects
Step 1: Creating a project for your source code
Step 2: Creating a new project for each existing project or component in your source code tree
Step 3: Linking the projects to a directory in the source tree
Step 4: Building the component project in the linked folder
Filesystem drag-and-drop
Importing code into the IDE
Importing a C/C++ project from CVS
Importing C/C++ code that doesn't have the project metadata in CVS
Importing C/C++ code from CVS into an existing project
Importing a C/C++ Project from SVN
Importing C/C++ code that doesn't have the project metadata for SVN
Importing C/C++ code from SVN into an existing project
Import wizard
Adding linked resources
Using container projects
Creating a container project
Setting up a build configuration
Editing existing configurations
Editing via project properties
Editing via the Build Container Configuration item
Building a container project
Importing a BSP or other QNX source packages
QNX BSP perspective
Importing a BSP package from Foundry27
Checking out BSP packages directly from the SVN Repositories view
Exporting projects
Using the Export command
Launch Configurations Reference
What is a launch configuration?
Types of launch configurations
Launch Group type
Running and debugging for the first time
Debugging a program the first time
Running and debugging subsequent times
Launching a selected program (fast)
Launching from a list of favorites (faster)
Launching the last-launched program (fastest)
Setting execution options
Main tab
Arguments tab
Environment tab
Upload tab
Debugger tab
Source tab
Common tab
Tools tab
Debugging in the IDE
Debugging your program (building an executable for debugging)
Debugging a child process
Controlling your debug session
Debug view
Debug view icons
Using the controls
Toolbar icons
Using hotkeys
Controlling your debug session
From the Debug view
From the C/C++ editor
Disassembly mode
Debug launch controls
Jumping to a memory address in the Disassembly view
More debugging features
Inspecting variables
Changing variable values
Controlling the display of variables
Changing variable to a different type
Viewing variables in memory
Using breakpoints and watchpoints
Adding breakpoints
Adding watchpoints
Setting an action for the breakpoint
Adding event breakpoints
Setting properties of breakpoints and watchpoints
Disabling/enabling breakpoints and watchpoints
Removing breakpoints and watchpoints
Evaluating your expressions
Inspecting your registers
Toolbar icons
Menu commands
Modifying registers
Changing the number system for register values
Inspecting a process's memory
Viewing memory
Inspecting memory
Configuring output format
Changing memory
Menu commands
Monitors pane menu commands
Rendering pane menu commands
Inspecting shared-library usage
Loading a Library's symbol
Monitoring signal handling
Changing how the debugger handles signals
Sending a signal to a suspended program
Viewing your output
Interacting with GDB
Enabling the QNX GDB Console view
Using the QNX GDB Console view
Using JTAG debugging
JTAG: Using the Abatron BDI2000 JTAG Debugger with a QNX Neutrino kernel image
Prerequisites
Connecting the Abatron BDI2000 JTAG Debugger to your host
Updating the Abatron firmware
Connecting the Abatron BDI2000 Debugger to your target
Building a system image
Creating a launch configuration
Debugging the startup binary
JTAG: Using the Lauterbach Trace32 In-Circuit Debugger with a QNX Neutrino kernel image
Prerequisites
Installing the Lauterbach Trace32 In-Circuit Debugger software
Installing the Lauterbach Trace32 Eclipse plug-in software
Connecting the Lauterbach Trace32 In-Circuit Debugger
Configuring the Lauterbach Trace32 In-Circuit Debugger
Creating a launch configuration for the target hardware
Creating a startup script for the Lauterbach Trace32 In-Circuit software
Creating multicore launch configurations
Using the debugger
JTAG: Using the Macraigor Usb2Demon Debugger with a QNX Neutrino kernel image
Prerequisites
Installing the Macraigor hardware support package
Connecting the Macraigor Usb2Demon Debugger to your host
Connecting the Macraigor Usb2Demon Debugger to your target
Starting the OCDremote
Building a system image
Creating a launch configuration
Debugging a startup binary
Building 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
Creating a new QNX System Builder project for an OS image
Creating a project for a flash filesystem image (an .efs file)
Building an OS image
Creating a new image
Combining images
Adding an IPL to the start of your image
Adding an EFS to your image
Setting the final format of your OS image
Downloading an image to your target
Downloading
Opening a terminal
Communicating with your target
Using the QNX Send File button
Downloading using TFTP
Transferring a file
Transferring files that aren't in Images
Transferring an image
Settings for the TFTP server
Setting font and color preferences
Downloading using other methods
Configuring your QNX System Builder projects
Managing your images
Determining the shared libraries and DLLs are required for an executable
Adding files to your image
Deleting files
Adding directories
Deleting directories
Configuring image properties
Image properties
Directories
General
System (.ifs)
System (.efs)
Item properties
General
Combine
Memory
Permissions
Configuring project properties
Search Paths
Managing your search paths
Search path variables
Optimizing your system
Optimizing all libraries in your image
Optimizing a single library
Restoring a slimmed-down library
Moving files between the host and target
Moving files to the target
Moving files from the target to the host
Exporting a System Builder project to a Mkxfs build file(s)
Developing Photon Applications
What is PhAB?
PhAB and the IDE
Using PhAB
Creating a QNX Photon Appbuilder project
Closing PhAB
Reopening PhAB
Editing code
Building a QNX Photon Appbuilder project
Importing an existing standalone QNX Photon Appbuilder project
Checking out an existing PhAB project from CVS
Starting Photon applications
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
Profiling your programs
Building a program for profiling
Building with profiling enabled
Running and profiling a process
Profiling a running process
Postmortem profiling for Call Count and sampling
Application Profiler tab
Controlling your profiling sessions
Understanding your profiling data
Profiler Sessions view
Toolbar options
Pausing and resuming a profiling session
Taking a snapshot of a profile session
Creating a sample profile session
Exporting a profiler session
Debug view
Execution Time view
Column descriptions
Interpreting 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
Duplicating the view
Viewing history
Grouping
Setting preferences
Copying to the clipboard
Filtering
Searching
Annotated source editor
Using the Application Profiler
Using Function Instrumentation with the Application Profiler
Using Sampling and Call Count instrumentation mode
Using Function Instrumentation mode for a single application
Using Function Instrumentation in the System Profiler
Creating an Application Profiler session
Creating a profiler session by importing profiler data
Profiling a single-threaded application
Profiling a running process for an existing project
Using postmortem profiling for Call Count and Sampling
Postmortem profiling
Running an instrumented binary with profiling from a command prompt (Function Instrumentation mode)
Taking a snapshot of a profiling session
Comparing profiles
Using Code Coverage
Types of code coverage in the IDE
How the coverage tool works
Enabling code coverage
Enabling code coverage for make projects
Starting a coverage-enabled program
Importing gcc code coverage data from a project
Associated views
Code Coverage Sessions view
Combining Code Coverage sessions
Examining data line-by-line
Code Coverage Properties view
Code Coverage Report view
Analyzing Memory Usage and Finding Errors
Memory management in QNX Neutrino
Virtual memory
Memory optimization
Process memory
Inspecting your process memory distribution
Performance of heap allocations
Preparing for a memory profiling session
Analyzing allocation patterns
Optimizing heap memory
Memory leaks
Enabling memory leak detection
Inspecting outstanding allocations
Types of allocation overhead
Estimating the average allocation size
Tuning the allocator
Optimizing static and stack memory
Finding memory errors and leaks
Testing an application for memory leaks using the System Information Tool
Using Memory Analysis tooling
Memory leaks
Enabling leak detection
Detecting leaks on demand during program execution
Interpreting leaks
Memory errors
Configuring the IDE for error analysis
Changing error detection options at runtime
Interpreting memory errors
Using Mudflap
Configuring Mudflap to find errors
Options for Mudflap
Mudflap Violations view
Interpreting Mudflap output
The Memory Analysis tool
Advanced topics
Analyzing a running program
Memory analysis of shared objects
GUI interface options and environment variables for the Memory Analysis Tool
Launching your program with Memory Analysis
Launching from the command line with Memory Analysis enabled
Performing a postmortem memory analysis
Attaching to a running process
The Memory Analysis tooling API
Viewing Memory Analysis data
Memory Analysis editor
Selecting data
Controlling the page layout
Controlling the overview
Controlling the detail pane
Allocations tab
Bins tab
Bands tab
Usage tab
Settings tab
Memory Problems view
Memory Problems Filter
Memory Problems Preferences
Viewing statistics for memory problems
Memory Events view
Memory Events Filter
Memory Events Preferences
Viewing statistics for memory events
Memory Backtrace view
Inspecting outstanding allocations
Interpreting errors during memory analysis
Illegal deallocation of memory
NULL pointer dereference
Buffer overflow
Using freed memory
Reading 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
Opening a session
Deleting a session
Closing a session
Exporting session data
Filtering information for a session
Importing session information
Showing information about a session
Renaming a session
Importing memory analysis data
Importing session information from an XML file
Importing event information
Exporting memory analysis data
Exporting memory analysis session data
Memory result formats
Getting System Information
Introduction
What the System Information perspective reveals
Logging system information
Associated views
Controlling your system information session
Sending a signal
Examining your target system's attributes
System Specifications pane
System Memory pane
Processes panes
Watching your processes
Thread Details pane
Environment Variables pane
Process Properties pane
Examining your target system's memory (inspecting virtual address space)
Tracking heap usage
Observing changes in memory usage (allocations and deallocations)
Outstanding allocations
Allocation deltas
Deallocation deltas
Outstanding allocation deltas
Examining process signals
Getting channel information
Tracking file descriptors
Tracking resource usage
Tracking the use of adaptive partitioning
Associated views
Analyzing Your System with Kernel Tracing
Introducing the QNX System Profiler
Before you begin
Configuring a target for system profiling
Launching the Log Configuration dialog
Address translation
Configuring your kernel event trace
Capturing instrumentation data in event log files
Viewing and interpreting the captured data
System Profiler editor
Timeline view
Timeline State Colors view
Zooming
Filtering profile data
Raw Event Data view
Trace Event Log view
Properties view
Tracking down events
Trace Search
Bookmarks view
Gathering 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
Determining thread state behavior
Thread State Snapshot view
Why Running? view
Analyzing multiprocessor systems
CPU Migration pane
Analyzing systems with AP scheduling
Partition Summary pane
Using Function Instrumentation mode with the System Profiler
Importing part of a kernel trace into the Application Profiler
System Profiler use cases
Locating sources of high CPU usage
Mapping and isolating client CPU load from server CPU load
Examining interrupt latency
Locating Events of Interest
Tutorials
Before you start
Tutorial 1: Creating a C/C++ project
Tutorial 2: Creating a QNX C/C++ project
Tutorial 3: Importing an existing project into the IDE
Tutorial 4: Importing a QNX BSP into the IDE
Where Files Are Stored?
Utilities used by the IDE
What's New
What's New in IDE 4.7
Eclipse 3.5 and CDT 6.0 integration
Changes made to IDE 4.7
Compiler and Tools
What's New in IDE 4.6
Eclipse 3.4 and CDT 5.0.2 integration
Mudflap integration
Integration with Foundry27 and importing BSPs
System Profiler
Compiler and Tools
What's New in IDE 4.5
Eclipse 3.3 and CDT 4.0 integration
C and C++ development
System information and target management
Application Profiler
System Profiler
System Builder
Memory Analysis
Debugger
Code Coverage
Compiler and Tools
Migrating from Earlier Releases
Migration issues
General migration considerations
Coexistence
Compiler issues
Binary compatibility
CDT impact on the IDE
Creating a make project
Creating a make project that can be launched outside the IDE
IDE location
Old launch configurations don't switch perspectives automatically
Missing features in context menus
System Builder Console doesn't come to front
Reverting to an older version of the IDE
Importing into an older IDE
Migrating from 6.4.1 (IDE 4.6) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
Migrating from 6.4.0 (IDE 4.5) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
Migrating from 6.3.2 (IDE 4.0.1) to 6.5.0 (IDE 4.7)
Migrating your workspace
Migrating your projects
IDE Administration
Updating the IDE using the Software Updates Manager
Running the IDE in administrative mode
Installing new software
Using older toolchains with the IDE
Copying a new version of qconn to a target system
Updating qconn on a development system
Glossary
QNX Momentics Phindows Connectivity Tool User's Guide
How to Use This Guide
Getting started with Phindows
Starting Phindows
Configuring Phindows for TCP/IP use
Data-compression options
Data-caching options
Using Windows fonts
Using snapshot or PgReadScreen()
Using the command line options
Command-line options
Dittoing remote QNX Photon sessions
Connecting to a remote Photon session
Starting Photon sessions on other QNX nodes
Spanning a single Photon session across multiple screens
Sharing a Photon session (workgroup computing)
Enabling offscreen context support
Using predefined Photon services
Configuring Phindows
Configuring Phindows environment variables
Setting up an embedded target
How to Use This Guide
Getting started with Phindows
Starting Phindows
Configuring Phindows for TCP/IP use
Data-compression options
Data-caching options
Using Windows fonts
Using snapshot or PgReadScreen()
Using the command line options
Command-line options
Dittoing remote QNX Photon sessions
Connecting to a remote Photon session
Starting Photon sessions on other QNX nodes
Spanning a single Photon session across multiple screens
Sharing a Photon session (workgroup computing)
Enabling offscreen context support
Using predefined Photon services
Configuring Phindows
Configuring Phindows environment variables
Setting up an embedded target
QNX Neutrino Adaptive Partitioning
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
What is Adaptive Partitioning?
What are partitions and what is adaptive partitioning?
Because adaptive partitions are not boxes what are they?
System and user requirements
The thread scheduler
Controlling Resources Using the Thread Scheduler
Overview
Quickstart: Adaptive Partitioning Thread Scheduler
Using the Thread Scheduler
Introduction
Keeping track of CPU time
How is CPU time divided between partitions?
Underload
Free time
Full Load
Summary of scheduling behavior
Partition inheritance
What about any threads or processes that the server creates? Which partition do they run in?
Critical threads
Bankruptcy
Adaptive partitioning thread scheduler and other thread schedulers
A caveat about FIFO scheduling
Using the thread scheduler and multicore together
Scheduler partitions and BMP
Setting Up and Using the Adaptive Partitioning Thread Scheduler
Building an image
Creating scheduler partitions
In a buildfile
From the command line
From a program
Launching a process in a partition
In a buildfile
From the command line
From a program
Viewing partition use
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
When is it useful to set the budget of a partition to zero?
Setting budgets for resource managers
Choosing the window size
Accuracy
Delays compared to priority scheduling
Case 1
Case 2
Approximating the delays
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
Frequently Asked Questions: Adaptive Partitioning Thread Scheduler
Scheduling behavior
How does the thread scheduler guarantee a partition's minimum CPU budget?
When does the scheduler guarantee that a partition gets its budget?
Does a 100-ms window mean a CPU time-averaging occurs only once in every 100 ms?
How often does the algorithm enforce partition budgets?
What system assumptions does the design of thread scheduler make?
When does the thread scheduler calculate percentage CPU usage?
How often does the thread scheduler compute CPU usage?
When is the scheduler's behavior realtime?
What is free-time mode?
What is free time?
Do you have to repay free time?
How does the thread scheduler behave on HyperThreaded (HT) processors?
How long can a round-robin thread run with the thread scheduler?
How long can a FIFO thread run with the thread scheduler?
How long can a sporadic (SS) thread run with the thread scheduler?
How often does the thread scheduler algorithm run?
How often does the thread scheduler enforce budgets?
How do power-saving modes affect scheduling?
How does changing the clock period (using ClockPeriod) affect scheduling?
Microbilling
How does microbilling work?
How often does thread scheduler microbill?
How does ClockCycles work?
How accurate is microbilling?
How accurate is ClockCycles?
What is the resolution of thread timing?
Averaging window
How does the averaging window work?
What is the window-rotation algorithm?
Can I change the window size?
How does changing the window size affect scheduling?
How do maximum latencies relate to the averaging window size?
Scheduling algorithm
How does the thread scheduler pick a thread to run?
How does the scheduling algorithm work?
How does the scheduler find the highest-priority thread in a partition?
How are RFFs (relative fraction free) computed?
How does the scheduler algorithm avoid division and floating-point mathematics?
How does the scheduler algorithm determine if a thread that's allowed to run as critical, should actually run as critical?
How does the scheduler algorithm decide when to bill critical time?
What are the algorithm's size limitations?
What are the algorithm's accuracy limitations?
When is the scheduling algorithm approximated?
Overhead
Which partition is the overhead associated with scheduling charged to?
Which partition is the overhead for processing interrupts charged to?
What is the CPU overhead with the thread scheduler?
What is the memory overhead with the thread scheduler?
What factors increase the overhead for the thread scheduler?
Critical threads and bankruptcy
How does the scheduler mark a thread as critical?
How does the thread scheduler know that a thread is critical?
Do critical threads expose security?
When does the scheduler check for bankruptcy?
How does the scheduler detect bankruptcy?
Inheritance
What is partition inheritance?
When does partition inheritance occur?
How does mutex partition and inheritance work?
How fast is partition inheritance?
Why is partition inheritance for message passing secure?
Budgets
Can I change the budgets dynamically?
How does a budget change affect scheduling?
How quickly does a budget change take effect?
When does a change in budgets take effect?
What is a partition with zero budget?
How does the scheduler guarantee that the sum of all partitions' budgets is 100%?
How does the scheduler prevent an untrusted thread from increasing its partition's budget?
How can I cheat to exceed my partition's budget?
Joining a partition
How does joining a thread to a partition work?
How fast is joining a thread to a partition?
QNX system considerations
Why doesn't Neutrino allow a partition to be deleted?
How does the thread scheduler plug into procnto?
Is the classic scheduler still present when the thread scheduler is active?
Does the thread scheduler inhibit I/O interrupts?
Is there a performance limitation on how often I can call SchedCtl(SCHED_APS_PARTITION_STATS,...) to get statistics?
Glossary
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
What is Adaptive Partitioning?
What are partitions and what is adaptive partitioning?
Because adaptive partitions are not boxes what are they?
System and user requirements
The thread scheduler
Controlling Resources Using the Thread Scheduler
Overview
Quickstart: Adaptive Partitioning Thread Scheduler
Using the Thread Scheduler
Introduction
Keeping track of CPU time
How is CPU time divided between partitions?
Underload
Free time
Full Load
Summary of scheduling behavior
Partition inheritance
What about any threads or processes that the server creates? Which partition do they run in?
Critical threads
Bankruptcy
Adaptive partitioning thread scheduler and other thread schedulers
A caveat about FIFO scheduling
Using the thread scheduler and multicore together
Scheduler partitions and BMP
Setting Up and Using the Adaptive Partitioning Thread Scheduler
Building an image
Creating scheduler partitions
In a buildfile
From the command line
From a program
Launching a process in a partition
In a buildfile
From the command line
From a program
Viewing partition use
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
When is it useful to set the budget of a partition to zero?
Setting budgets for resource managers
Choosing the window size
Accuracy
Delays compared to priority scheduling
Case 1
Case 2
Approximating the delays
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
Frequently Asked Questions: Adaptive Partitioning Thread Scheduler
Scheduling behavior
How does the thread scheduler guarantee a partition's minimum CPU budget?
When does the scheduler guarantee that a partition gets its budget?
Does a 100-ms window mean a CPU time-averaging occurs only once in every 100 ms?
How often does the algorithm enforce partition budgets?
What system assumptions does the design of thread scheduler make?
When does the thread scheduler calculate percentage CPU usage?
How often does the thread scheduler compute CPU usage?
When is the scheduler's behavior realtime?
What is free-time mode?
What is free time?
Do you have to repay free time?
How does the thread scheduler behave on HyperThreaded (HT) processors?
How long can a round-robin thread run with the thread scheduler?
How long can a FIFO thread run with the thread scheduler?
How long can a sporadic (SS) thread run with the thread scheduler?
How often does the thread scheduler algorithm run?
How often does the thread scheduler enforce budgets?
How do power-saving modes affect scheduling?
How does changing the clock period (using ClockPeriod) affect scheduling?
Microbilling
How does microbilling work?
How often does thread scheduler microbill?
How does ClockCycles work?
How accurate is microbilling?
How accurate is ClockCycles?
What is the resolution of thread timing?
Averaging window
How does the averaging window work?
What is the window-rotation algorithm?
Can I change the window size?
How does changing the window size affect scheduling?
How do maximum latencies relate to the averaging window size?
Scheduling algorithm
How does the thread scheduler pick a thread to run?
How does the scheduling algorithm work?
How does the scheduler find the highest-priority thread in a partition?
How are RFFs (relative fraction free) computed?
How does the scheduler algorithm avoid division and floating-point mathematics?
How does the scheduler algorithm determine if a thread that's allowed to run as critical, should actually run as critical?
How does the scheduler algorithm decide when to bill critical time?
What are the algorithm's size limitations?
What are the algorithm's accuracy limitations?
When is the scheduling algorithm approximated?
Overhead
Which partition is the overhead associated with scheduling charged to?
Which partition is the overhead for processing interrupts charged to?
What is the CPU overhead with the thread scheduler?
What is the memory overhead with the thread scheduler?
What factors increase the overhead for the thread scheduler?
Critical threads and bankruptcy
How does the scheduler mark a thread as critical?
How does the thread scheduler know that a thread is critical?
Do critical threads expose security?
When does the scheduler check for bankruptcy?
How does the scheduler detect bankruptcy?
Inheritance
What is partition inheritance?
When does partition inheritance occur?
How does mutex partition and inheritance work?
How fast is partition inheritance?
Why is partition inheritance for message passing secure?
Budgets
Can I change the budgets dynamically?
How does a budget change affect scheduling?
How quickly does a budget change take effect?
When does a change in budgets take effect?
What is a partition with zero budget?
How does the scheduler guarantee that the sum of all partitions' budgets is 100%?
How does the scheduler prevent an untrusted thread from increasing its partition's budget?
How can I cheat to exceed my partition's budget?
Joining a partition
How does joining a thread to a partition work?
How fast is joining a thread to a partition?
QNX system considerations
Why doesn't Neutrino allow a partition to be deleted?
How does the thread scheduler plug into procnto?
Is the classic scheduler still present when the thread scheduler is active?
Does the thread scheduler inhibit I/O interrupts?
Is there a performance limitation on how often I can call SchedCtl(SCHED_APS_PARTITION_STATS,...) to get statistics?
Glossary
QNX Neutrino Advanced Graphics
Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
Overview of the QNX Graphics Framework (GF) architecture
GF components
GF compared to Photon
Basic Drawing
Setting up GF
Attaching to a device and display
Attaching to display layers
Create and set surfaces
Create a draw context
Using draw coordinates
Drawing rectangles
Drawing lines and polygons
Bitmaps
Blitting
Multithreaded applications
Debugging
Working with Images
Attaching to the image library
Loading the image
Attaching to a surface
Blitting the image
Cleaning up
Working with Layers, Surfaces, and Contexts
Using layers
Layer visibility
Layer brightness, contrast, saturation, and hue
Viewports
Layer blending and chroma
Using surfaces
Using contexts
Context Alpha Blending
Chroma Keying
Setting foreground and background colors
Setting line attributes
Clipping
Raster operations
Anti-aliasing polylines
Transform matrices and translations
Using OpenGL ES
Using OpenGL ES
Creating surfaces
Window surfaces
Pixmap surfaces
pbuffer surfaces
Using Vertex Buffer Objects
Using the Video-Capture API
Video capture
An example
Embedding 2D and 3D Applications
Assumptions
Building the image
2D example: vsync
Font example: font-cache
Image example: img_decode_simple
OpenGL ES: Gears
Hardware Capabilities
Fujitsu Carmine
OpenGL ES Hardware Acceleration
Supported Chipset
OpenGL ES Lighting
Intel Extreme2
Fujitsu Coral
Hardware Acceleration
Summary of Entries
3D rendering
Contexts
Cursors
Devices and displays
Drawing
Layers
Surfaces
Video Capture
QNX Graphics Framework Library Reference
Functions
Structures and types
gf_3d_target_create
Description:
gf_3d_target_free
Description:
gf_3d_query_config
Description:
gf_alpha_t
Description:
Alpha mode flags
gf_chroma_t
Description:
gf_context_create
Description:
gf_context_disable_alpha
Description:
gf_context_disable_antialias
Description:
gf_context_disable_chroma
Description:
gf_context_disable_clipping
Description:
gf_context_disable_linedash
Description:
gf_context_disable_pattern
Description:
gf_context_disable_planemask
Description:
gf_context_disable_transform
Description:
gf_context_disable_translation
Description:
gf_context_free
Description:
gf_context_get_surface
Description:
gf_context_init
Description:
gf_context_set_alpha
Description:
gf_context_set_antialias
Description:
gf_context_set_bgcolor
Description:
gf_context_set_bgcolor_native
Description:
gf_context_set_capstyle
Description:
gf_context_set_chroma
Description:
gf_context_set_clipping
Description:
gf_context_set_fgcolor
Description:
gf_context_set_fgcolor_native
Description:
gf_context_set_filter
Description:
gf_context_set_hw_polygon
Description:
gf_context_set_linedash
Description:
gf_context_set_linejoin
Description:
gf_context_set_pattern
Description:
gf_context_set_penwidth
Description:
gf_context_set_planemask
Description:
gf_context_set_polyfill
Description:
gf_context_set_rop
Description:
Raster Operation Defines
gf_context_set_surface
Description:
gf_context_set_surface_3d
Description:
gf_context_set_transform
Description:
gf_context_set_translation
Description:
gf_context_unset_surface
Description:
gf_cursor_disable
Description:
gf_cursor_enable
Description:
gf_cursor_set
Description:
gf_cursor_set_pos
Description:
gf_dev_attach
Description:
Examples:
gf_dev_detach
Description:
gf_dev_get_error
Description:
gf_dev_get_meminfo
Description:
gf_dev_register_thread
Description:
gf_dim_t
Description:
gf_display_attach
Description:
gf_display_info_t
Examples:
gf_display_detach
Description:
gf_display_query
Description:
gf_display_query_mode
Description:
gf_display_set_dpms
Description:
gf_display_set_external_chroma
Description:
gf_display_set_layer_order
Description:
gf_display_set_mode
Description:
gf_display_snapshot
Description:
gf_display_wait_vsync
Description:
gf_draw_begin
Description:
gf_draw_bitmap
Description:
gf_draw_blit1
Description:
gf_draw_blit2
Description:
gf_draw_blitscaled
Description:
gf_draw_end
Description:
gf_draw_finish
Description:
gf_draw_flush
Description:
gf_draw_image
Description:
gf_draw_poly_fill
Description:
gf_draw_polyline
Description:
gf_draw_rect
Description:
gf_draw_span
Description:
gf_draw_spanlist
Description:
gf_format_t
Description:
Endianness
gf_i2c_read
Description:
gf_i2c_write
Description:
gf_i2c_writeread
Description:
gf_layer_attach
Description:
gf_layer_choose_format
Description:
gf_layer_detach
Description:
gf_layer_disable
Description:
gf_layer_enable
Description:
gf_layer_query
Description:
Examples:
gf_layer_set_blending
Description:
gf_layer_set_brightness
Description:
gf_layer_set_chroma
Description:
gf_layer_set_contrast
Description:
gf_layer_set_dst_viewport
Description:
gf_layer_set_edge
Description:
gf_layer_set_filter
Description:
gf_layer_set_hue
Description:
gf_layer_set_outputs
Description:
gf_layer_set_saturation
Description:
gf_layer_set_src_viewport
Description:
gf_layer_set_surfaces
Description:
gf_layer_update
Description:
gf_layer_update_multi
Description:
gf_palette_t
Description:
The gf_color_t Type
gf_point_t
Description:
gf_surface_attach
Description:
gf_surface_attach_by_sid
Description:
gf_surface_create
Description:
gf_surface_create_layer
Description:
gf_surface_free
Description:
gf_surface_get_dev
Description:
gf_surface_get_info
Description:
gf_surface_reattach
Description:
gf_vcap_attach
Description:
gf_vcap_bind_to_layer
Description:
gf_vcap_detach
Description:
gf_vcap_disable
Description:
gf_vcap_enable
Description:
gf_vcap_set_brightness
Description:
gf_vcap_set_contrast
Description:
gf_vcap_set_flags
Description:
gf_vcap_set_input_dimensions
Description:
gf_vcap_set_input_source
Description:
gf_vcap_set_input_viewport
Description:
gf_vcap_set_output_dimensions
Description:
gf_vcap_set_saturation
Description:
gf_vcap_set_sync_values
Description:
gf_vcap_update
Description:
QNX Image Library Reference
Functions
Macros
Structures
img_cfg_read
Description:
img_codec_get_criteria
Description:
Examples:
img_codec_list
Description:
img_codec_list_byext
Description:
img_codec_list_bymime
Description:
img_convert_data
Description:
The img_format_t type
img_convert_getfunc
Description:
img_crop
Description:
img_decode_begin
Description:
img_decode_callouts_t
Description:
img_decode_choose_format_f *choose_format_f
img_decode_setup_f* setup_f
img_decode_abort_f* abort_f
img_decode_scanline_f* scanline_f
img_decode_set_transparency_f* set_transparency_f
img_decode_set_palette_f* set_palette_f
img_decode_frame_f* frame_f
img_decode_set_value_f* set_value_f
uintptrt_t data
img_decode_finish
Description:
img_decode_frame
Description:
img_decode_validate
Description:
img_dtransform
Description:
img_dtransform_apply
Description:
img_dtransform_create
Description:
img_dtransform_free
Description:
img_encode_begin
Description:
img_encode_callouts_t
Description:
img_encode_choose_format_f *choose_format_f
img_encode_setup_f* setup_f
img_encode_abort_f* abort_f
img_encode_scanline_f* scanline_f
img_encode_get_transparency_f* get_transparency_f
img_encode_get_palette_f* get_palette_f
img_encode_frame_f* frame_f
uintptrt_t data
img_encode_finish
Description:
img_encode_frame
Description:
img_expand_getfunc
Description:
IMG_FMT_BPL
Description:
IMG_FMT_BPP
Description:
img_lib_attach
Description:
The img.conf Configuration File
img_lib_detach
Description:
img_load
Description:
img_load_file
Description:
img_load_resize_file
Description:
img_resize_fs
Description:
img_rotate_ortho
Description:
img_t
Description:
img_write_file
Description:
img_write
Description:
io_close
Description:
io_open
Description:
What's New
What's new in QNX Neutrino Core Graphics for 6.5.0
What's new in QNX Neutrino Core Graphics for 6.4.1
What's new in QNX Neutrino Core Graphics for 6.4.0
What's new in QNX Advanced Graphics 2.1
What's new in QNX Advanced Graphics 2.0
Glossary
Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
Overview of the QNX Graphics Framework (GF) architecture
GF components
GF compared to Photon
Basic Drawing
Setting up GF
Attaching to a device and display
Attaching to display layers
Create and set surfaces
Create a draw context
Using draw coordinates
Drawing rectangles
Drawing lines and polygons
Bitmaps
Blitting
Multithreaded applications
Debugging
Working with Images
Attaching to the image library
Loading the image
Attaching to a surface
Blitting the image
Cleaning up
Working with Layers, Surfaces, and Contexts
Using layers
Layer visibility
Layer brightness, contrast, saturation, and hue
Viewports
Layer blending and chroma
Using surfaces
Using contexts
Context Alpha Blending
Chroma Keying
Setting foreground and background colors
Setting line attributes
Clipping
Raster operations
Anti-aliasing polylines
Transform matrices and translations
Using OpenGL ES
Using OpenGL ES
Creating surfaces
Window surfaces
Pixmap surfaces
pbuffer surfaces
Using Vertex Buffer Objects
Using the Video-Capture API
Video capture
An example
Embedding 2D and 3D Applications
Assumptions
Building the image
2D example: vsync
Font example: font-cache
Image example: img_decode_simple
OpenGL ES: Gears
Hardware Capabilities
Fujitsu Carmine
OpenGL ES Hardware Acceleration
Supported Chipset
OpenGL ES Lighting
Intel Extreme2
Fujitsu Coral
Hardware Acceleration
Summary of Entries
3D rendering
Contexts
Cursors
Devices and displays
Drawing
Layers
Surfaces
Video Capture
QNX Graphics Framework Library Reference
Functions
Structures and types
gf_3d_target_create
Description:
gf_3d_target_free
Description:
gf_3d_query_config
Description:
gf_alpha_t
Description:
Alpha mode flags
gf_chroma_t
Description:
gf_context_create
Description:
gf_context_disable_alpha
Description:
gf_context_disable_antialias
Description:
gf_context_disable_chroma
Description:
gf_context_disable_clipping
Description:
gf_context_disable_linedash
Description:
gf_context_disable_pattern
Description:
gf_context_disable_planemask
Description:
gf_context_disable_transform
Description:
gf_context_disable_translation
Description:
gf_context_free
Description:
gf_context_get_surface
Description:
gf_context_init
Description:
gf_context_set_alpha
Description:
gf_context_set_antialias
Description:
gf_context_set_bgcolor
Description:
gf_context_set_bgcolor_native
Description:
gf_context_set_capstyle
Description:
gf_context_set_chroma
Description:
gf_context_set_clipping
Description:
gf_context_set_fgcolor
Description:
gf_context_set_fgcolor_native
Description:
gf_context_set_filter
Description:
gf_context_set_hw_polygon
Description:
gf_context_set_linedash
Description:
gf_context_set_linejoin
Description:
gf_context_set_pattern
Description:
gf_context_set_penwidth
Description:
gf_context_set_planemask
Description:
gf_context_set_polyfill
Description:
gf_context_set_rop
Description:
Raster Operation Defines
gf_context_set_surface
Description:
gf_context_set_surface_3d
Description:
gf_context_set_transform
Description:
gf_context_set_translation
Description:
gf_context_unset_surface
Description:
gf_cursor_disable
Description:
gf_cursor_enable
Description:
gf_cursor_set
Description:
gf_cursor_set_pos
Description:
gf_dev_attach
Description:
Examples:
gf_dev_detach
Description:
gf_dev_get_error
Description:
gf_dev_get_meminfo
Description:
gf_dev_register_thread
Description:
gf_dim_t
Description:
gf_display_attach
Description:
gf_display_info_t
Examples:
gf_display_detach
Description:
gf_display_query
Description:
gf_display_query_mode
Description:
gf_display_set_dpms
Description:
gf_display_set_external_chroma
Description:
gf_display_set_layer_order
Description:
gf_display_set_mode
Description:
gf_display_snapshot
Description:
gf_display_wait_vsync
Description:
gf_draw_begin
Description:
gf_draw_bitmap
Description:
gf_draw_blit1
Description:
gf_draw_blit2
Description:
gf_draw_blitscaled
Description:
gf_draw_end
Description:
gf_draw_finish
Description:
gf_draw_flush
Description:
gf_draw_image
Description:
gf_draw_poly_fill
Description:
gf_draw_polyline
Description:
gf_draw_rect
Description:
gf_draw_span
Description:
gf_draw_spanlist
Description:
gf_format_t
Description:
Endianness
gf_i2c_read
Description:
gf_i2c_write
Description:
gf_i2c_writeread
Description:
gf_layer_attach
Description:
gf_layer_choose_format
Description:
gf_layer_detach
Description:
gf_layer_disable
Description:
gf_layer_enable
Description:
gf_layer_query
Description:
Examples:
gf_layer_set_blending
Description:
gf_layer_set_brightness
Description:
gf_layer_set_chroma
Description:
gf_layer_set_contrast
Description:
gf_layer_set_dst_viewport
Description:
gf_layer_set_edge
Description:
gf_layer_set_filter
Description:
gf_layer_set_hue
Description:
gf_layer_set_outputs
Description:
gf_layer_set_saturation
Description:
gf_layer_set_src_viewport
Description:
gf_layer_set_surfaces
Description:
gf_layer_update
Description:
gf_layer_update_multi
Description:
gf_palette_t
Description:
The gf_color_t Type
gf_point_t
Description:
gf_surface_attach
Description:
gf_surface_attach_by_sid
Description:
gf_surface_create
Description:
gf_surface_create_layer
Description:
gf_surface_free
Description:
gf_surface_get_dev
Description:
gf_surface_get_info
Description:
gf_surface_reattach
Description:
gf_vcap_attach
Description:
gf_vcap_bind_to_layer
Description:
gf_vcap_detach
Description:
gf_vcap_disable
Description:
gf_vcap_enable
Description:
gf_vcap_set_brightness
Description:
gf_vcap_set_contrast
Description:
gf_vcap_set_flags
Description:
gf_vcap_set_input_dimensions
Description:
gf_vcap_set_input_source
Description:
gf_vcap_set_input_viewport
Description:
gf_vcap_set_output_dimensions
Description:
gf_vcap_set_saturation
Description:
gf_vcap_set_sync_values
Description:
gf_vcap_update
Description:
QNX Image Library Reference
Functions
Macros
Structures
img_cfg_read
Description:
img_codec_get_criteria
Description:
Examples:
img_codec_list
Description:
img_codec_list_byext
Description:
img_codec_list_bymime
Description:
img_convert_data
Description:
The img_format_t type
img_convert_getfunc
Description:
img_crop
Description:
img_decode_begin
Description:
img_decode_callouts_t
Description:
img_decode_choose_format_f *choose_format_f
img_decode_setup_f* setup_f
img_decode_abort_f* abort_f
img_decode_scanline_f* scanline_f
img_decode_set_transparency_f* set_transparency_f
img_decode_set_palette_f* set_palette_f
img_decode_frame_f* frame_f
img_decode_set_value_f* set_value_f
uintptrt_t data
img_decode_finish
Description:
img_decode_frame
Description:
img_decode_validate
Description:
img_dtransform
Description:
img_dtransform_apply
Description:
img_dtransform_create
Description:
img_dtransform_free
Description:
img_encode_begin
Description:
img_encode_callouts_t
Description:
img_encode_choose_format_f *choose_format_f
img_encode_setup_f* setup_f
img_encode_abort_f* abort_f
img_encode_scanline_f* scanline_f
img_encode_get_transparency_f* get_transparency_f
img_encode_get_palette_f* get_palette_f
img_encode_frame_f* frame_f
uintptrt_t data
img_encode_finish
Description:
img_encode_frame
Description:
img_expand_getfunc
Description:
IMG_FMT_BPL
Description:
IMG_FMT_BPP
Description:
img_lib_attach
Description:
The img.conf Configuration File
img_lib_detach
Description:
img_load
Description:
img_load_file
Description:
img_load_resize_file
Description:
img_resize_fs
Description:
img_rotate_ortho
Description:
img_t
Description:
img_write_file
Description:
img_write
Description:
io_close
Description:
io_open
Description:
What's New
What's new in QNX Neutrino Core Graphics for 6.5.0
What's new in QNX Neutrino Core Graphics for 6.4.1
What's new in QNX Neutrino Core Graphics for 6.4.0
What's new in QNX Advanced Graphics 2.1
What's new in QNX Advanced Graphics 2.0
Glossary
QNX Neutrino Composition Manager
Developer's Guide
About This Guide
What's in this guide?
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview of the Composition Manager
Communicating with applications
Handling composition
Enabling the HMI
Why use Composition Manager?
Advantages of using multiple processes
Is Composition Manager right for you?
Understanding Composition
Hardware level composition
Advantages:
Disadvantages:
Composited frame-buffer
Advantages:
Disadvantages:
Layers, WFD pipelines and EGL levels
Composition Modules
Cursors
io-winmgr
Description:
Examples:
Configuring io-winmgr
Global settings
Display settings
Window class settings
Configuring Composition Manager
Configuration 1:
Configuration 2:
Configuration 3:
Configuration 4:
Working with External APIs
OpenKODE
OpenKODE 1.0.2 header files on QNX Neutrino ( /usr/include/KD )
OpenKODE 1.0.2 libraries on QNX Neutrino
OpenKODE 1.0.2 Core Entry Points
EGL
EGL 1.4 header files on QNX Neutrino ( /usr/include/EGL )
EGL 1.4 libraries on QNX Neutrino ( /usr/lib )
OpenGL ES
OpenGL ES 1.0 Header Files on QNX Neutrino ( /usr/include/GLES )
OpenGL ES 1.0 Libraries on QNX Neutrino ( /usr/lib )
Using the Tutorials and Demos
Demos
Notes:
Tutorials
Community
Composition Manager Extensions
KD_QNX_window
Description:
Functions:
kdPostWindowEventQNX( )
KDint32 kdSetWindowOrderQNX( )
Properties:
Events:
KD_QNX_input
Description:
Functions:
kdOutputSetpQNX()
Events:
I/O groups and items
KD_IOGROUP_KEYBOARD_QNX
I/O items
KD_QNX_IOGROUP_DISP_GROUP
I/O items
KD_QNX_IOGROUP_ASSIGN_GROUP
I/O items
What's New
What's new in Composition Manager for 6.5.0
Developer's Guide
About This Guide
What's in this guide?
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview of the Composition Manager
Communicating with applications
Handling composition
Enabling the HMI
Why use Composition Manager?
Advantages of using multiple processes
Is Composition Manager right for you?
Understanding Composition
Hardware level composition
Advantages:
Disadvantages:
Composited frame-buffer
Advantages:
Disadvantages:
Layers, WFD pipelines and EGL levels
Composition Modules
Cursors
io-winmgr
Description:
Examples:
Configuring io-winmgr
Global settings
Display settings
Window class settings
Configuring Composition Manager
Configuration 1:
Configuration 2:
Configuration 3:
Configuration 4:
Working with External APIs
OpenKODE
OpenKODE 1.0.2 header files on QNX Neutrino ( /usr/include/KD )
OpenKODE 1.0.2 libraries on QNX Neutrino
OpenKODE 1.0.2 Core Entry Points
EGL
EGL 1.4 header files on QNX Neutrino ( /usr/include/EGL )
EGL 1.4 libraries on QNX Neutrino ( /usr/lib )
OpenGL ES
OpenGL ES 1.0 Header Files on QNX Neutrino ( /usr/include/GLES )
OpenGL ES 1.0 Libraries on QNX Neutrino ( /usr/lib )
Using the Tutorials and Demos
Demos
Notes:
Tutorials
Community
Composition Manager Extensions
KD_QNX_window
Description:
Functions:
kdPostWindowEventQNX( )
KDint32 kdSetWindowOrderQNX( )
Properties:
Events:
KD_QNX_input
Description:
Functions:
kdOutputSetpQNX()
Events:
I/O groups and items
KD_IOGROUP_KEYBOARD_QNX
I/O items
KD_QNX_IOGROUP_DISP_GROUP
I/O items
KD_QNX_IOGROUP_ASSIGN_GROUP
I/O items
What's New
What's new in Composition Manager for 6.5.0
QNX Neutrino Core Networking Stack
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview
What's new in the networking stack?
Architecture of io-pkt
Threading model
Threading priorities
Components of core networking
Getting the source code
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
WiFi 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
Terminology
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
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview
What's new in the networking stack?
Architecture of io-pkt
Threading model
Threading priorities
Components of core networking
Getting the source code
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
WiFi 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
Terminology
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
QNX Neutrino Driver Development Kits (DDKs)
Audio Devices
About the Audio DDK
What you'll find in this guide
Supported features
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
In this chapter...
What's a PCM device?
Creating a PCM device
ado_pcm_create
How does the PCM stream operate?
API Reference
ado_attach_interrupt
Description:
ado_calloc
Description:
ado_card_set_longname
Description:
ado_card_set_shortname
Description:
ado_debug
Description:
ado_device_mmap
Description:
ado_device_munmap
Description:
ado_error
Description:
ado_free
Description:
ado_malloc
Description:
ado_memory_dump
Description:
ado_mixer_capture_group_create
Description:
ado_mixer_create
Description:
ado_mixer_dll
Description:
ado_mixer_element_accu1
Description:
ado_mixer_element_accu2
Description:
ado_mixer_element_accu3
Description:
ado_mixer_element_io
Description:
ado_mixer_element_mux1
Description:
ado_mixer_element_mux2
Description:
ado_mixer_element_notify
Description:
ado_mixer_element_pcm1
Description:
ado_mixer_element_pcm2
Description:
ado_mixer_element_route_add
Description:
ado_mixer_element_sw1
Description:
ado_mixer_element_sw2
Description:
ado_mixer_element_sw3
Description:
ado_mixer_element_vol_range_max
Description:
ado_mixer_element_vol_range_min
Description:
ado_mixer_element_volume1
Description:
ado_mixer_find_element
Description:
ado_mixer_find_group
Description:
ado_mixer_get_context
Description:
ado_mixer_get_element_instance_data
Description:
ado_mixer_lock
Description:
ado_mixer_playback_group_create
Description:
ado_mixer_set_destroy_func
Description:
ado_mixer_set_name
Description:
ado_mixer_set_reset_func
Description:
ado_mixer_switch_new
Description:
ado_mixer_unlock
Description:
ado_mutex_destroy
Description:
ado_mutex_init
Description:
ado_mutex_lock
Description:
ado_mutex_unlock
Description:
ado_pci
Description:
ado_pci_device
Description:
ado_pci_release
Description:
ado_pcm_cap_t
Description:
ado_pcm_config_t
Description:
ado_pcm_chn_mixer
Description:
ado_pcm_create
Description:
ado_pcm_dma_int_size
Description:
ado_pcm_format_bit_width
Description:
ado_pcm_hw_t
Description:
aquire
release
prepare
trigger
position
reconstitute
capabilities
ado_pcm_subchn_caps
Description:
ado_pcm_subchn_is_channel
Description:
ado_pcm_subchn_mixer
Description:
ado_pcm_subchn_mixer_create
Description:
ado_pcm_subchn_mixer_config_t structure
Examples:
ado_pcm_subchn_mixer_destroy
Description:
ado_pcm_sw_mix
Description:
ado_realloc
Description:
ado_rwlock_destroy
Description:
ado_rwlock_init
Description:
ado_rwlock_rdlock
Description:
ado_rwlock_unlock
Description:
ado_rwlock_wrlock
Description:
ado_shm_alloc
Description:
ado_shm_free
Description:
ado_shm_mmap
Description:
ado_strdup
Description:
dma_interrupt
Description:
Supported Codecs
Audio Codec 97 (AC97)
DLL Name
Header File
Parameter Structure
Supported Device Controls
References
AK4531
DLL Name
Header File
Parameter Structure
Supported Device Controls
Reference
Sample Mixer Source
Glossary
Character Devices
About the Character DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Description:
iochar_send_event
Description:
kick
Description:
timer_queue
Description:
timer_remove
Description:
ttc
Description:
tti
Description:
tti2
Description:
tto_checkclients
Description:
tto_getchar
Description:
TTYCTRL
Description:
TTYDEV
Description:
TTYINIT
Description:
tx_inject
Description:
wait_add
Description:
wait_remove_rcvid
Description:
Graphics Devices
About the Graphics DDK
What you'll find in this guide
Assumptions
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction to Graphics Drivers
Graphics drivers
GF-Based graphics system
Photon-based graphics system
Writing a Graphics Driver
Overview
Getting the source code
Sample drivers
The modules
Modeswitching and enumeration
2D drawing
Graphics memory manager
Layer control
Viewports
Binding your driver to the graphics framework
Address spaces and calling rules
Calling sequence
Conventions
Colors
Coordinate system
Order
Inclusiveness
Core vs. context 2D functions
Context information
Supplying draw functions and software fallback
Clipping
Patterns
Pixel formats
Byte order
Pixel formats for layers
Updating a Graphics Driver
In this chapter...
Overview
API changes
Debugging a Graphics Driver
In this chapter...
Overview
The setup
Compiling shared objects
Shipping modified libs with your product
Setting the LD_LIBRARY_PATH environment variable
The display.conf file
Making a debug version of a driver
Running the debug driver and setting a breakpoint
Graphics Driver API
devg_get_contextfuncs
Description:
devg_get_corefuncs
Description:
devg_get_memfuncs
Description:
devg_get_miscfuncs
Description:
devg_get_modefuncs
Description:
devg_get_rendfuncs
Description:
devg_get_vcapfuncs
Description:
disp_2d_caps_t
Description:
disp_adapter_t
Description:
Callbacks
DISP_ADD_FUNC
Description:
Examples:
disp_crtc_settings_t
Description:
disp_draw_context_t
Description:
Chroma mode bits
Alpha mode bits (alpha_mode)
Alpha mode blending (source) operation
Alpha mode blending (destination) operation
disp_draw_contextfuncs_t
Description:
draw_span
draw_span_list
draw_rect
blit
update_general
update_color
update_rop3
update_chroma
update_alpha
scaled_blit
update_planemask
draw_line
fill_poly
draw_polyline
update_line
blend_pixels
disp_draw_corefuncs_t
Description:
wait_idle
draw_span
draw_span_list
draw_solid_rect
draw_line_pat8x1
draw_line_trans8x1
draw_rect_pat8x8
draw_rect_trans8x8
blit1
blit2
draw_bitmap
update_draw_surface
update_pattern
scaled_blit
draw_line
fill_poly
get_bresenham_params
update_transform
update_clipping
disp_draw_miscfuncs_t
Description:
init
fini
module_info
set_palette
flushrect
get_2d_caps
get_corefuncs_sw
get_contextfuncs_sw
end_of_draw
attach_external
detach_external
recover
wait_idle
disp_layer_query_t
Description:
disp_memfuncs_t
Description:
init
fini
module_info
reset
alloc_surface
alloc_layer_surface
free_surface
mem_avail
query_apertures
query_surface
get_alloc_info
get_alloc_layer_info
disp_mode_info_t
Description:
disp_modefuncs_t
Description:
init
fini
module_info
get_modeinfo
get_modelist
set_mode
wait_vsync
set_dpms_mode
set_display_offset
set_palette
layer_query
layer_enable
layer_disable
layer_set_surface
layer_set_source_viewport
layer_set_dest_viewport
layer_set_blending
layer_set_chromakey
layer_set_brightness
layer_set_saturation
layer_set_contrast
layer_set_hue
layer_set_alpha_map
layer_set_flags
layer_update_begin
layer_update_end
layer_reset
layer_set_order
set_hw_cursor
enable_hw_cursor
disable_hw_cursor
set_hw_cursor_pos
i2c_read
i2c_write
i2c_writeread
disp_module_info_t
Description:
disp_surface_t
Description:
Relationship of stride, height, and width
flags
disp_vcap_props_t
Description:
disp_vcapfuncs_t
Description:
init
fini
module_info
set_props
set_adjustments
bind_layer
set_enabled
wait_vsync
Libraries
DISPUTIL library --- utility functions
Miscellaneous display driver functions
disp_register_adapter
disp_unregister_adapter
disp_crtc_calc
disp_mode_get_entry
disp_acquire_vga_resources
disp_release_vga_resources
disp_perror
disp_printf
disp_usecspin
disp_delay
disp_get_rom_image
disp_vga_save_state
disp_vga_restore_state
disp_vga_state_t
PCI configuration access functions
disp_pci_init
disp_pci_shutdown
disp_pci_read_config
disp_pci_write_config
disp_pci_dev_find
disp_pci_dev_read_config
disp_pci_dev_write_config
disp_pci_info
Memory manager functions
disp_mmap_device_memory
disp_mmap_device_io
disp_munmap_device_memory
disp_munmap_device_io
disp_phys_addr
disp_getmem
disp_freemem
Video memory management functions
disp_vm_create_pool
disp_vm_destroy_pool
disp_vm_alloc_surface
disp_vm_free_surface
disp_vm_mem_avail
disp_vm_alloc_surface_external
disp_vm_free_surface_external
Video BIOS services (x86 only)
vbios_register
vbios_unregister
vbios_int
vbios_call
vbios_dowarmboot
vbios_get_realptr
vbios_context_t
FFB library --- 2D software fallback routines
ffb_get_corefuncs
ffb_get_contextfuncs
ffb_color_translate
Glossary
Input Devices
About the Input DDK
What you'll find in this guide
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview
In this chapter...
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
In this chapter...
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
Debugging a keyboard/mouse driver
PS/2 mouse
Keyboard filter module
Module Functions
devctrl
Description:
init
Description:
Examples:
input
Description:
Examples:
output
Description:
Examples:
parm
Description:
pulse
Description:
Examples:
reset
Description:
Examples:
shutdown
Description:
Examples:
Input API Reference
begin
Description:
buff_append
Description:
buff_create
Description:
buff_delete
Description:
buff_flush
Description:
buff_getc
Description:
buff_putc
Description:
buff_waiting
Description:
clk_get
Description:
devi_enqueue_packet
Description:
devi_register_interrupt
Description:
devi_register_pulse
Description:
devi_register_timer
Description:
devi_request_iorange
Description:
Universal Serial Bus (USB) Devices
About the USB DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Before You Begin
System requirements
For QNX Neutrino
For QNX_4
USB devices supported
Known limitations
EHCI
Photon and text mode
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
Description:
usbd_alloc
Description:
usbd_alloc_urb
Description:
usbd_args_lookup
Description:
usbd_attach
Description:
Looping
usbd_close_pipe
Description:
usbd_configuration_descriptor
Description:
usbd_connect
Description:
Data structures
Examples:
usbd_descriptor
Description:
usbd_detach
Description:
usbd_device_descriptor
Description:
usbd_device_extra
Description:
usbd_device_lookup
Description:
usbd_disconnect
Description:
usbd_endpoint_descriptor
Description:
usbd_feature
Description:
usbd_free
Description:
usbd_free_urb
Description:
usbd_get_frame
Description:
usbd_hcd_ext_info, usbd_hcd_info
Description:
usbd_hub_descriptor
Description:
usbd_interface_descriptor
Description:
usbd_io
Description:
usbd_languages_descriptor
Description:
usbd_mphys
Description:
usbd_open_pipe
Description:
usbd_parse_descriptors
Description:
usbd_pipe_device
Description:
usbd_pipe_endpoint
Description:
usbd_reset_device
Description:
usbd_reset_pipe
Description:
usbd_select_config
Description:
usbd_select_interface
Description:
usbd_setup_bulk
Description:
usbd_setup_control
Description:
usbd_setup_interrupt
Description:
usbd_setup_isochronous
Description:
usbd_setup_vendor
Description:
usbd_status
Description:
usbd_string
Description:
usbd_topology, usbd_topology_ext
Description:
usbd_urb_status
Description:
Completion status
Audio Devices
About the Audio DDK
What you'll find in this guide
Supported features
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
In this chapter...
What's a PCM device?
Creating a PCM device
ado_pcm_create
How does the PCM stream operate?
API Reference
ado_attach_interrupt
Description:
ado_calloc
Description:
ado_card_set_longname
Description:
ado_card_set_shortname
Description:
ado_debug
Description:
ado_device_mmap
Description:
ado_device_munmap
Description:
ado_error
Description:
ado_free
Description:
ado_malloc
Description:
ado_memory_dump
Description:
ado_mixer_capture_group_create
Description:
ado_mixer_create
Description:
ado_mixer_dll
Description:
ado_mixer_element_accu1
Description:
ado_mixer_element_accu2
Description:
ado_mixer_element_accu3
Description:
ado_mixer_element_io
Description:
ado_mixer_element_mux1
Description:
ado_mixer_element_mux2
Description:
ado_mixer_element_notify
Description:
ado_mixer_element_pcm1
Description:
ado_mixer_element_pcm2
Description:
ado_mixer_element_route_add
Description:
ado_mixer_element_sw1
Description:
ado_mixer_element_sw2
Description:
ado_mixer_element_sw3
Description:
ado_mixer_element_vol_range_max
Description:
ado_mixer_element_vol_range_min
Description:
ado_mixer_element_volume1
Description:
ado_mixer_find_element
Description:
ado_mixer_find_group
Description:
ado_mixer_get_context
Description:
ado_mixer_get_element_instance_data
Description:
ado_mixer_lock
Description:
ado_mixer_playback_group_create
Description:
ado_mixer_set_destroy_func
Description:
ado_mixer_set_name
Description:
ado_mixer_set_reset_func
Description:
ado_mixer_switch_new
Description:
ado_mixer_unlock
Description:
ado_mutex_destroy
Description:
ado_mutex_init
Description:
ado_mutex_lock
Description:
ado_mutex_unlock
Description:
ado_pci
Description:
ado_pci_device
Description:
ado_pci_release
Description:
ado_pcm_cap_t
Description:
ado_pcm_config_t
Description:
ado_pcm_chn_mixer
Description:
ado_pcm_create
Description:
ado_pcm_dma_int_size
Description:
ado_pcm_format_bit_width
Description:
ado_pcm_hw_t
Description:
aquire
release
prepare
trigger
position
reconstitute
capabilities
ado_pcm_subchn_caps
Description:
ado_pcm_subchn_is_channel
Description:
ado_pcm_subchn_mixer
Description:
ado_pcm_subchn_mixer_create
Description:
ado_pcm_subchn_mixer_config_t structure
Examples:
ado_pcm_subchn_mixer_destroy
Description:
ado_pcm_sw_mix
Description:
ado_realloc
Description:
ado_rwlock_destroy
Description:
ado_rwlock_init
Description:
ado_rwlock_rdlock
Description:
ado_rwlock_unlock
Description:
ado_rwlock_wrlock
Description:
ado_shm_alloc
Description:
ado_shm_free
Description:
ado_shm_mmap
Description:
ado_strdup
Description:
dma_interrupt
Description:
Supported Codecs
Audio Codec 97 (AC97)
DLL Name
Header File
Parameter Structure
Supported Device Controls
References
AK4531
DLL Name
Header File
Parameter Structure
Supported Device Controls
Reference
Sample Mixer Source
Glossary
Character Devices
About the Character DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Description:
iochar_send_event
Description:
kick
Description:
timer_queue
Description:
timer_remove
Description:
ttc
Description:
tti
Description:
tti2
Description:
tto_checkclients
Description:
tto_getchar
Description:
TTYCTRL
Description:
TTYDEV
Description:
TTYINIT
Description:
tx_inject
Description:
wait_add
Description:
wait_remove_rcvid
Description:
Graphics Devices
About the Graphics DDK
What you'll find in this guide
Assumptions
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction to Graphics Drivers
Graphics drivers
GF-Based graphics system
Photon-based graphics system
Writing a Graphics Driver
Overview
Getting the source code
Sample drivers
The modules
Modeswitching and enumeration
2D drawing
Graphics memory manager
Layer control
Viewports
Binding your driver to the graphics framework
Address spaces and calling rules
Calling sequence
Conventions
Colors
Coordinate system
Order
Inclusiveness
Core vs. context 2D functions
Context information
Supplying draw functions and software fallback
Clipping
Patterns
Pixel formats
Byte order
Pixel formats for layers
Updating a Graphics Driver
In this chapter...
Overview
API changes
Debugging a Graphics Driver
In this chapter...
Overview
The setup
Compiling shared objects
Shipping modified libs with your product
Setting the LD_LIBRARY_PATH environment variable
The display.conf file
Making a debug version of a driver
Running the debug driver and setting a breakpoint
Graphics Driver API
devg_get_contextfuncs
Description:
devg_get_corefuncs
Description:
devg_get_memfuncs
Description:
devg_get_miscfuncs
Description:
devg_get_modefuncs
Description:
devg_get_rendfuncs
Description:
devg_get_vcapfuncs
Description:
disp_2d_caps_t
Description:
disp_adapter_t
Description:
Callbacks
DISP_ADD_FUNC
Description:
Examples:
disp_crtc_settings_t
Description:
disp_draw_context_t
Description:
Chroma mode bits
Alpha mode bits (alpha_mode)
Alpha mode blending (source) operation
Alpha mode blending (destination) operation
disp_draw_contextfuncs_t
Description:
draw_span
draw_span_list
draw_rect
blit
update_general
update_color
update_rop3
update_chroma
update_alpha
scaled_blit
update_planemask
draw_line
fill_poly
draw_polyline
update_line
blend_pixels
disp_draw_corefuncs_t
Description:
wait_idle
draw_span
draw_span_list
draw_solid_rect
draw_line_pat8x1
draw_line_trans8x1
draw_rect_pat8x8
draw_rect_trans8x8
blit1
blit2
draw_bitmap
update_draw_surface
update_pattern
scaled_blit
draw_line
fill_poly
get_bresenham_params
update_transform
update_clipping
disp_draw_miscfuncs_t
Description:
init
fini
module_info
set_palette
flushrect
get_2d_caps
get_corefuncs_sw
get_contextfuncs_sw
end_of_draw
attach_external
detach_external
recover
wait_idle
disp_layer_query_t
Description:
disp_memfuncs_t
Description:
init
fini
module_info
reset
alloc_surface
alloc_layer_surface
free_surface
mem_avail
query_apertures
query_surface
get_alloc_info
get_alloc_layer_info
disp_mode_info_t
Description:
disp_modefuncs_t
Description:
init
fini
module_info
get_modeinfo
get_modelist
set_mode
wait_vsync
set_dpms_mode
set_display_offset
set_palette
layer_query
layer_enable
layer_disable
layer_set_surface
layer_set_source_viewport
layer_set_dest_viewport
layer_set_blending
layer_set_chromakey
layer_set_brightness
layer_set_saturation
layer_set_contrast
layer_set_hue
layer_set_alpha_map
layer_set_flags
layer_update_begin
layer_update_end
layer_reset
layer_set_order
set_hw_cursor
enable_hw_cursor
disable_hw_cursor
set_hw_cursor_pos
i2c_read
i2c_write
i2c_writeread
disp_module_info_t
Description:
disp_surface_t
Description:
Relationship of stride, height, and width
flags
disp_vcap_props_t
Description:
disp_vcapfuncs_t
Description:
init
fini
module_info
set_props
set_adjustments
bind_layer
set_enabled
wait_vsync
Libraries
DISPUTIL library --- utility functions
Miscellaneous display driver functions
disp_register_adapter
disp_unregister_adapter
disp_crtc_calc
disp_mode_get_entry
disp_acquire_vga_resources
disp_release_vga_resources
disp_perror
disp_printf
disp_usecspin
disp_delay
disp_get_rom_image
disp_vga_save_state
disp_vga_restore_state
disp_vga_state_t
PCI configuration access functions
disp_pci_init
disp_pci_shutdown
disp_pci_read_config
disp_pci_write_config
disp_pci_dev_find
disp_pci_dev_read_config
disp_pci_dev_write_config
disp_pci_info
Memory manager functions
disp_mmap_device_memory
disp_mmap_device_io
disp_munmap_device_memory
disp_munmap_device_io
disp_phys_addr
disp_getmem
disp_freemem
Video memory management functions
disp_vm_create_pool
disp_vm_destroy_pool
disp_vm_alloc_surface
disp_vm_free_surface
disp_vm_mem_avail
disp_vm_alloc_surface_external
disp_vm_free_surface_external
Video BIOS services (x86 only)
vbios_register
vbios_unregister
vbios_int
vbios_call
vbios_dowarmboot
vbios_get_realptr
vbios_context_t
FFB library --- 2D software fallback routines
ffb_get_corefuncs
ffb_get_contextfuncs
ffb_color_translate
Glossary
Input Devices
About the Input DDK
What you'll find in this guide
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview
In this chapter...
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
In this chapter...
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
Debugging a keyboard/mouse driver
PS/2 mouse
Keyboard filter module
Module Functions
devctrl
Description:
init
Description:
Examples:
input
Description:
Examples:
output
Description:
Examples:
parm
Description:
pulse
Description:
Examples:
reset
Description:
Examples:
shutdown
Description:
Examples:
Input API Reference
begin
Description:
buff_append
Description:
buff_create
Description:
buff_delete
Description:
buff_flush
Description:
buff_getc
Description:
buff_putc
Description:
buff_waiting
Description:
clk_get
Description:
devi_enqueue_packet
Description:
devi_register_interrupt
Description:
devi_register_pulse
Description:
devi_register_timer
Description:
devi_request_iorange
Description:
Universal Serial Bus (USB) Devices
About the USB DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Before You Begin
System requirements
For QNX Neutrino
For QNX_4
USB devices supported
Known limitations
EHCI
Photon and text mode
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
Description:
usbd_alloc
Description:
usbd_alloc_urb
Description:
usbd_args_lookup
Description:
usbd_attach
Description:
Looping
usbd_close_pipe
Description:
usbd_configuration_descriptor
Description:
usbd_connect
Description:
Data structures
Examples:
usbd_descriptor
Description:
usbd_detach
Description:
usbd_device_descriptor
Description:
usbd_device_extra
Description:
usbd_device_lookup
Description:
usbd_disconnect
Description:
usbd_endpoint_descriptor
Description:
usbd_feature
Description:
usbd_free
Description:
usbd_free_urb
Description:
usbd_get_frame
Description:
usbd_hcd_ext_info, usbd_hcd_info
Description:
usbd_hub_descriptor
Description:
usbd_interface_descriptor
Description:
usbd_io
Description:
usbd_languages_descriptor
Description:
usbd_mphys
Description:
usbd_open_pipe
Description:
usbd_parse_descriptors
Description:
usbd_pipe_device
Description:
usbd_pipe_endpoint
Description:
usbd_reset_device
Description:
usbd_reset_pipe
Description:
usbd_select_config
Description:
usbd_select_interface
Description:
usbd_setup_bulk
Description:
usbd_setup_control
Description:
usbd_setup_interrupt
Description:
usbd_setup_isochronous
Description:
usbd_setup_vendor
Description:
usbd_status
Description:
usbd_string
Description:
usbd_topology, usbd_topology_ext
Description:
usbd_urb_status
Description:
Completion status
QNX Neutrino High Availability Framework
Developer's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
In this chapter...
Where's the problem?
A software foundation for HA
What's in the High Availability Framework?
In this chapter...
What you get
The QNX Approach to HA
In this chapter...
The reset solution
Traditional RTOS architecture
Modularity means granularity
Intrinsic HA
Using the High Availability Manager
In this chapter...
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
In this chapter...
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
Description:
Flags
ham_action_execute
Description:
ham_action_fail_execute
Description:
ham_action_fail_log
Description:
ham_action_fail_notify_pulse, ham_action_fail_notify_pulse_node
Description:
ham_action_fail_notify_signal, ham_action_fail_notify_signal_node
Description:
ham_action_fail_waitfor
Description:
ham_action_handle, ham_action_handle_node
Description:
ham_action_handle_free
Description:
ham_action_heartbeat_healthy
Description:
ham_action_log
Description:
ham_action_notify_pulse, ham_action_notify_pulse_node
Description:
ham_action_notify_signal, ham_action_notify_signal_node
Description:
ham_action_remove
Description:
ham_action_restart
Description:
ham_action_waitfor
Description:
ham_attach, ham_attach_node
Description:
ham_attach_self
Description:
ham_condition
Description:
ham_entity_control
Description:
Flags
ham_condition_handle, ham_condition_handle_node
Description:
ham_condition_handle_free
Description:
ham_condition_raise
Description:
ham_condition_remove
Description:
ham_condition_state
Description:
Flags
ham_connect, ham_connect_nd, ham_connect_node
Description:
ham_detach
Description:
ham_detach_name, ham_detach_name_node
Description:
ham_detach_self
Description:
ham_disconnect, ham_disconnect_nd, ham_disconnect_node
Description:
ham_entity, ham_entity_node
Description:
ham_entity_condition_raise
Description:
ham_entity_condition_state
Description:
ham_entity_control
Description:
Flags
ham_entity_handle, ham_entity_handle_node
Description:
ham_entity_handle_free
Description:
ham_heartbeat
Description:
ham_stop, ham_stop_nd, ham_stop_node
Description:
ham__verbose
Description:
Client Recovery Library Reference
ha_attach
Description:
ha_close
Description:
ha_connection_ctrl
Description:
ha_ConnectAttach, ha_ConnectAttach_r
Description:
ha_ConnectDetach, ha_ConnectDetach_r
Description:
ha_creat, ha_creat64
Description:
ha_detach
Description:
ha_dup
Description:
ha_fclose
Description:
ha_fopen
Description:
ha_open, ha_open64
Description:
ha_ReConnectAttach
Description:
ha_reopen
Description:
Examples
In this appendix...
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
Developer's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Introduction
In this chapter...
Where's the problem?
A software foundation for HA
What's in the High Availability Framework?
In this chapter...
What you get
The QNX Approach to HA
In this chapter...
The reset solution
Traditional RTOS architecture
Modularity means granularity
Intrinsic HA
Using the High Availability Manager
In this chapter...
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
In this chapter...
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
Description:
Flags
ham_action_execute
Description:
ham_action_fail_execute
Description:
ham_action_fail_log
Description:
ham_action_fail_notify_pulse, ham_action_fail_notify_pulse_node
Description:
ham_action_fail_notify_signal, ham_action_fail_notify_signal_node
Description:
ham_action_fail_waitfor
Description:
ham_action_handle, ham_action_handle_node
Description:
ham_action_handle_free
Description:
ham_action_heartbeat_healthy
Description:
ham_action_log
Description:
ham_action_notify_pulse, ham_action_notify_pulse_node
Description:
ham_action_notify_signal, ham_action_notify_signal_node
Description:
ham_action_remove
Description:
ham_action_restart
Description:
ham_action_waitfor
Description:
ham_attach, ham_attach_node
Description:
ham_attach_self
Description:
ham_condition
Description:
ham_entity_control
Description:
Flags
ham_condition_handle, ham_condition_handle_node
Description:
ham_condition_handle_free
Description:
ham_condition_raise
Description:
ham_condition_remove
Description:
ham_condition_state
Description:
Flags
ham_connect, ham_connect_nd, ham_connect_node
Description:
ham_detach
Description:
ham_detach_name, ham_detach_name_node
Description:
ham_detach_self
Description:
ham_disconnect, ham_disconnect_nd, ham_disconnect_node
Description:
ham_entity, ham_entity_node
Description:
ham_entity_condition_raise
Description:
ham_entity_condition_state
Description:
ham_entity_control
Description:
Flags
ham_entity_handle, ham_entity_handle_node
Description:
ham_entity_handle_free
Description:
ham_heartbeat
Description:
ham_stop, ham_stop_nd, ham_stop_node
Description:
ham__verbose
Description:
Client Recovery Library Reference
ha_attach
Description:
ha_close
Description:
ha_connection_ctrl
Description:
ha_ConnectAttach, ha_ConnectAttach_r
Description:
ha_ConnectDetach, ha_ConnectDetach_r
Description:
ha_creat, ha_creat64
Description:
ha_detach
Description:
ha_dup
Description:
ha_fclose
Description:
ha_fopen
Description:
ha_open, ha_open64
Description:
ha_ReConnectAttach
Description:
ha_reopen
Description:
Examples
In this appendix...
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
QNX Neutrino Instant Device Activation
User's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Description:
mdriver_handler
mdriver_max
Description:
mdriver_entry
Description:
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
User's Guide
About This Guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Description:
mdriver_handler
mdriver_max
Description:
mdriver_entry
Description:
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
QNX Neutrino Multicore Processing
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
What is Multicore Processing?
A Quick Introduction to Multicore Processing
Setting up the OS image
Trying symmetric multiprocessing
Trying bound multiprocessing
Developing Multicore Systems
Building a multicore image
The impact of multicore
To multicore or not to multicore
Thread affinity
Multicore and synchronization primitives
Multicore and FIFO scheduling
Multicore and interrupts
Multicore and atomic operations
Adaptive partitioning
Designing with multiprocessing in mind
Use the multicore primitives
Assume that threads really do run concurrently
Break the problem down
Glossary
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
What is Multicore Processing?
A Quick Introduction to Multicore Processing
Setting up the OS image
Trying symmetric multiprocessing
Trying bound multiprocessing
Developing Multicore Systems
Building a multicore image
The impact of multicore
To multicore or not to multicore
Thread affinity
Multicore and synchronization primitives
Multicore and FIFO scheduling
Multicore and interrupts
Multicore and atomic operations
Adaptive partitioning
Designing with multiprocessing in mind
Use the multicore primitives
Assume that threads really do run concurrently
Break the problem down
Glossary
QNX Neutrino Realtime Operating System
Addon Interfaces Library Reference
About This Reference
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
Overview
An Example
Library components
Addon Interfaces Library Reference
AOI Structures
AOI Functions
AOICtrl_t
Description:
AOInterface_t
Description:
AoAdd
Description:
AoAddDirectory
Description:
AoAddStatic
Description:
AoAddUnloadSignal
Description:
AoGetInterface
Description:
AoHold
Description:
AoIterate
Description:
AoIterateHoldGet
Description:
AoRelease
Description:
AoRemove
Description:
AoFindExt
Description:
AoFindFormats
Description:
AoFindMime
Description:
AoFindName
Description:
Examples:
AoFindStreams
Description:
AoOpenFilespec
Description:
Implemented Interfaces
Built-in Interfaces
AODeConstructor
Create
Synopsis
Arguments
Description
Returns
Destroy
Synopsis
Arguments
Description
Returns
AOExtInspector
RateExtension
Synopsis
Arguments
Description
Returns
AOFormatInspector
RateFormat
Synopsis
Arguments
Description
Returns
AOMimetypeInspector
RateMimetype
Synopsis
Arguments
Description
Returns
AOStreamer
Open
Synopsis
Arguments
Description
Returns
Close
Synopsis
Arguments
Description
Returns
Sniff
Synopsis
Arguments
Description
Returns
Read
Synopsis
Arguments
Description
Returns
Write
Synopsis
Arguments
Description
Returns
Seek
Synopsis
Arguments
Description
Returns
Tell
Synopsis
Arguments
Description
Returns
Length
Synopsis
Arguments
Description
Returns
SideInfo
Synopsis
Arguments
Description
Returns
AOStreamInspector
RateStream
Synopsis
Arguments
Description
Returns
AOResourceAccess
GetResources
Synopsis
Arguments
Description
Returns
SetResource
Synopsis
Arguments
Description
Returns
Built-in interfaces
Unloading and InitializeInterface
Name
Using Addon Resources
An Example
Using addon resources in your application
Defined Structures
AOIStream_t
Description:
AOMimeInfo_t
Description:
AOResource_t
Description:
AOAudioFormat_t
Description:
ImageFormat_t
Description:
MediaFormat_t
Description:
VideoFormat_t
Description:
Audio Developer's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Changed content
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
Audio Library
snd_card_get_longname
Description:
snd_card_get_name
Description:
snd_card_name
Description:
snd_cards
Description:
snd_cards_list
Description:
snd_ctl_callbacks_t
Description:
rebuild callback
xswitch callback
snd_ctl_close
Description:
snd_ctl_file_descriptor
Description:
snd_ctl_hw_info
Description:
snd_ctl_hw_info_t
Description:
snd_ctl_mixer_switch_list
Description:
snd_ctl_mixer_switch_read
Description:
snd_ctl_mixer_switch_write
Description:
snd_ctl_open
Description:
snd_ctl_pcm_channel_info
Description:
snd_ctl_pcm_info
Description:
snd_ctl_read
Description:
snd_mixer_callbacks_t
Description:
rebuild callback
element callback
group callback
Examples:
snd_mixer_close
Description:
snd_mixer_eid_t
Description:
snd_mixer_element_read
Description:
snd_mixer_element_t
Description:
snd_mixer_element_write
Description:
snd_mixer_elements
Description:
snd_mixer_elements_t
Description:
snd_mixer_file_descriptor
Description:
snd_mixer_filter_t
Description:
snd_mixer_get_bit
Description:
snd_mixer_get_filter
Description:
snd_mixer_gid_t
Description:
snd_mixer_group_read
Description:
snd_mixer_group_t
Description:
snd_mixer_group_write
Description:
snd_mixer_groups
Description:
snd_mixer_groups_t
Description:
snd_mixer_info
Description:
snd_mixer_info_t
Description:
snd_mixer_open
Description:
snd_mixer_open_name
Description:
snd_mixer_read
Description:
snd_mixer_routes
Description:
snd_mixer_routes_t
Description:
snd_mixer_set_bit
Description:
snd_mixer_set_filter
Description:
snd_mixer_sort_eid_table
Description:
snd_mixer_sort_gid_table
Description:
snd_mixer_weight_entry_t
Description:
snd_pcm_build_linear_format
Description:
snd_pcm_capture_flush
Description:
snd_pcm_capture_prepare
Description:
snd_pcm_channel_flush
Description:
snd_pcm_channel_info
Description:
snd_pcm_channel_info_t
Description:
snd_pcm_channel_params
Description:
snd_pcm_channel_params_t
Description:
snd_pcm_channel_prepare
Description:
snd_pcm_channel_setup
Description:
snd_pcm_channel_setup_t
Description:
snd_pcm_channel_status
Description:
snd_pcm_channel_status_t
Description:
snd_pcm_close
Description:
snd_pcm_file_descriptor
Description:
snd_pcm_find
Description:
snd_pcm_format_big_endian
Description:
snd_pcm_format_linear
Description:
snd_pcm_format_little_endian
Description:
snd_pcm_format_signed
Description:
snd_pcm_format_size
Description:
snd_pcm_format_t
Description:
snd_pcm_format_unsigned
Description:
snd_pcm_format_width
Description:
snd_pcm_get_format_name
Description:
snd_pcm_info
Description:
snd_pcm_info_t
Description:
snd_pcm_nonblock_mode
Description:
snd_pcm_open
Description:
Examples:
snd_pcm_open_name
Description:
Examples:
snd_pcm_open_preferred
Description:
Examples:
snd_pcm_playback_drain
Description:
snd_pcm_playback_flush
Description:
snd_pcm_playback_prepare
Description:
snd_pcm_plugin_flush
Description:
Examples:
snd_pcm_plugin_get_voice_conversion
Description:
snd_pcm_plugin_info
Description:
Examples:
snd_pcm_plugin_params
Description:
Examples:
snd_pcm_plugin_playback_drain
Description:
snd_pcm_plugin_prepare
Description:
Examples:
snd_pcm_plugin_read
Description:
snd_pcm_plugin_set_disable
Description:
Examples:
snd_pcm_plugin_set_src_mode
Description:
snd_pcm_plugin_set_voice_conversion
Description:
snd_pcm_plugin_setup
Description:
Examples:
snd_pcm_plugin_set_src_mode
Description:
snd_pcm_plugin_status
Description:
Examples:
snd_pcm_plugin_set_src_mode
Description:
snd_pcm_plugin_write
Description:
Examples:
snd_pcm_read
Description:
snd_pcm_voice_conversion_t
Description:
snd_pcm_write
Description:
snd_strerror
Description:
Examples:
snd_switch_t
Description:
wave.c example
waverec.c example
mixer_ctl.c example
LGPL License Agreement
Glossary
Building Embedded Systems
About This Book
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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
Flash filesystems and media
Rotating media and filesystems
Network media and filesystems
I/O devices
Character I/O devices
Special/custom devices
Getting started
Hardware design
Customizing the software
Customizing the source
Working with a BSP
In this chapter...
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
Getting Photon 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
In this chapter...
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
Getting Started with QNX Neutrino: A Guide for Realtime Programmers
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
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?
Processes and Threads
Message Passing
Clocks, Timers, and Getting a Kick Every So Often
Interrupts
Resource Managers
QNX 4 to QNX Neutrino
Calling 911
Glossary
Other references
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
RUNNING
READY
The blocked 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
Starting a process with the fork call
Starting a process with the vfork call
Process creation and threads
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
Getting more precision
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 trade-offs
ISR functions
Summary
Resource Managers
What is a resource manager?
Examples of resource managers
Serial port
Filesystem
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
Step 1
Step 2
Step 3
A simple io_read example
Data area size considerations
Handling of EOF case
Maintenance of context information
Updating POSIX information
The code
Step 1
Step 2
Steps 3 & 4
Step 5
Step 6
Step 7
Step 8
Step 9
Effective use of other messaging functions
A simple io_write example
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7
Step 8
A simple io_devctl example
Step 1
Step 2
Step 3
Step 4
An io_devctl example that deals with data
Step 1
Step 2
Step 3
Step 4
Step 5
Important note
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
QNX 4 and 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
Seeking professional help
So you've got a problem...
RTFM
Building Embedded Systems
Library Reference
System Architecture
Technotes
User's Guide
Utilities Reference
Programmer's Guide
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
Library Reference
About This Reference
What you'll find in this guide
Typographical conventions
Note to Windows users
Navigation buttons
Technical support
What's in a Function Description?
Description:
Examples:
Function safety:
Manifests
QNX Neutrino Functions and Macros
A
abort
Description:
Examples:
abs
Description:
Examples:
accept
Description:
access
Description:
Examples:
acos, acosf, acosl
Description:
Examples:
acosh, acoshf, acoshl
Description:
Examples:
addrinfo
Description:
aio_cancel
Description:
aio_error
Description:
aio_fsync
Description:
aio_read
Description:
aio_return
Description:
aio_suspend
Description:
aio_write
Description:
aiocb
Description:
alarm
Description:
Examples:
alloca
Description:
Examples:
alphasort
Description:
_amblksiz
Description:
_argc
Description:
_argv
Description:
asctime, asctime_r
Description:
asin, asinf, asinl
Description:
Examples:
asinh, asinhf, asinhl
Description:
Examples:
assert
Description:
Examples:
asyncmsg_channel_create
Description:
Callback function
asyncmsg_channel_destroy
Description:
asyncmsg_connect_attach
Description:
asyncmsg_connect_attr
Description:
asyncmsg_connect_detach
Description:
_asyncmsg_connection_attr
Description:
asyncmsg_flush
Description:
asyncmsg_free
Description:
asyncmsg_get
Description:
_asyncmsg_get_header structure
asyncmsg_malloc
Description:
asyncmsg_put, asyncmsg_putv
Description:
atan, atanf, atanl
Description:
Examples:
atan2, atan2f
Description:
Examples:
atanh, atanhf, atanhl
Description:
Examples:
atexit
Description:
Examples:
atof
Description:
Examples:
atoh
Description:
Examples:
atoi
Description:
Examples:
atol, atoll
Description:
Examples:
atomic_add
Description:
Examples:
atomic_add_value
Description:
Examples:
atomic_clr
Description:
Examples:
atomic_clr_value
Description:
Examples:
atomic_set
Description:
Examples:
atomic_set_value
Description:
Examples:
atomic_sub
Description:
Examples:
atomic_sub_value
Description:
Examples:
atomic_toggle
Description:
Examples:
atomic_toggle_value
Description:
Examples:
_auxv
Description:
B
basename
Description:
Examples:
bcmp
Description:
Examples:
bcopy
Description:
Examples:
bind
Description:
bindresvport
Description:
brk
Description:
bsearch
Description:
Examples:
bt_get_backtrace
Description:
bt_init_accessor
Description:
bt_load_memmap
Description:
bt_release_accessor
Description:
bt_set_flags
Description:
bt_sprn_memmap
Description:
bt_sprnf_addrs
Description:
bt_translate_addrs
Description:
bt_unload_memmap
Description:
_btext
Description:
btowc
Description:
bzero
Description:
Examples:
C
cabs, cabsf
Description:
Examples:
cache_fini
Description:
CACHE_FLUSH
Description:
cache_init
Description:
Members of the cache_ctrl structure
Cache coherency
CACHE_INVAL
Description:
calloc
Description:
Examples:
cbrt, cbrtf
Description:
Examples:
ceil, ceilf
Description:
Examples:
cfgetispeed
Description:
Examples:
cfgetospeed
Description:
Examples:
cfgopen
Description:
Search condition flags
cfmakeraw
Description:
cfree
Description:
cfsetispeed
Description:
Examples:
cfsetospeed
Description:
Examples:
ChannelCreate, ChannelCreate_r
Description:
_NTO_CHF_COID_DISCONNECT
_NTO_CHF_DISCONNECT
_NTO_CHF_FIXED_PRIORITY
_NTO_CHF_NET_MSG
_NTO_CHF_REPLY_LEN
_NTO_CHF_SENDER_LEN
_NTO_CHF_THREAD_DEATH
_NTO_CHF_UNBLOCK
Blocking states
ChannelDestroy, ChannelDestroy_r
Description:
Blocking states
chdir
Description:
Examples:
chmod
Description:
Examples:
chown
Description:
Examples:
chroot
Description:
chsize
Description:
Examples:
clearenv
Description:
Examples:
clearerr
Description:
Examples:
clock
Description:
Examples:
clock_getcpuclockid
Description:
clock_getres
Description:
Examples:
clock_gettime
Description:
Examples:
clock_nanosleep
Description:
clock_settime
Description:
Examples:
ClockAdjust, ClockAdjust_r
Description:
Blocking states:
ClockCycles
Description:
Symmetric MultiProcessing systems
Blocking states:
Examples:
ClockId, ClockId_r
Description:
Blocking states:
Examples:
ClockPeriod, ClockPeriod_r
Description:
Blocking states
ClockTime, ClockTime_r
Description:
Blocking states
close
Description:
Examples:
closedir
Description:
Examples:
closelog
Description:
_cmdfd
Description:
_cmdname
Description:
Examples:
confstr
Description:
Examples:
connect
Description:
ConnectAttach, ConnectAttach_r
Description:
Blocking states
Node descriptors
ConnectClientInfo, ConnectClientInfo_r
Description:
_client_info structure
uint32_t nd
_cred_info structure
ConnectDetach, ConnectDetach_r
Description:
Blocking states
ConnectFlags, ConnectFlags_r
Description:
ConnectServerInfo, ConnectServerInfo_r
Description:
_server_info structure
copysign, copysignf
Description:
Examples:
cos, cosf, cosl
Description:
Examples:
cosh, coshf, coshl
Description:
Examples:
creat, creat64
Description:
Examples:
crypt
Description:
ctermid
Description:
Examples:
ctime, ctime_r
Description:
D
daemon
Description:
daylight
Description:
DebugBreak
Description:
Blocking states
DebugKDBreak
Description:
Blocking states
DebugKDOutput
Description:
Blocking states
delay
Description:
Examples:
devctl
Description:
Device-control commands
Examples:
Example 1: Setting RTS on a serial port
Example 2: Cycling through Caps Lock, Num Lock, and Scroll Lock
Example 3: Duration example
difftime
Description:
Examples:
dircntl
Description:
Flag values
Examples:
dirent
Description:
dirname
Description:
Examples:
dispatch_block
Description:
Examples:
dispatch_context_alloc
Description:
Examples:
dispatch_context_free
Description:
Examples:
dispatch_create
Description:
Examples:
dispatch_create_channel
Description:
dispatch_destroy
Description:
Examples:
dispatch_handler
Description:
Examples:
dispatch_timeout
Description:
Examples:
dispatch_unblock
Description:
Examples:
div
Description:
Examples:
dladdr
Description:
dlclose
Description:
dlerror
Description:
dlopen
Description:
The mode
Relocation
Visibility
Symbol scope
Other flags
Symbol resolution
dlsym
Description:
Examples:
dn_comp
Description:
dn_expand
Description:
drand48
Description:
ds_clear
Description:
Examples:
ds_create
Description:
Examples:
ds_deregister
Description:
Examples:
ds_flags
Description:
ds_get
Description:
ds_register
Description:
Examples:
ds_set
Description:
Examples:
dup
Description:
Examples:
dup2
Description:
Examples:
E
eaccess
Description:
_edata
Description:
encrypt
Description:
_end
Description:
endfsent
Description:
endgrent
Description:
endhostent
Description:
ENDIAN_BE16
Description:
Examples:
ENDIAN_BE32
Description:
Examples:
ENDIAN_BE64
Description:
Examples:
ENDIAN_LE16
Description:
Examples:
ENDIAN_LE32
Description:
Examples:
ENDIAN_LE64
Description:
Examples:
ENDIAN_RET16
Description:
Examples:
ENDIAN_RET32
Description:
Examples:
ENDIAN_RET64
Description:
Examples:
ENDIAN_SWAP16
Description:
Examples:
ENDIAN_SWAP32
Description:
Examples:
ENDIAN_SWAP64
Description:
Examples:
endnetent
Description:
endprotoent
Description:
endpwent
Description:
endservent
Description:
endspent
Description:
endutent
Description:
environ
Description:
eof
Description:
Examples:
erand48
Description:
erf, erff
Description:
erfc, erfcf, erfcl
Description:
err, errx
Description:
Examples:
errno
Description:
Changes to EALREADY
Examples:
_etext
Description:
execl
Description:
exec* summary
Examples:
execle
Description:
exec* summary
Examples:
execlp
Description:
exec* summary
execlpe
Description:
exec* summary
execv
Description:
exec* summary
Examples:
execve
Description:
exec* summary
execvp
Description:
exec* summary
execvpe
Description:
exec* summary
_exit
Description:
Examples:
exit
Description:
Examples:
exp, expf, expl
Description:
Examples:
expm1, expm1f
Description:
Examples:
F
fabs, fabsf
Description:
Examples:
fcfgopen
Description:
fchdir
Description:
fchmod
Description:
Examples:
fchown
Description:
Examples:
fclose
Description:
Examples:
fcloseall
Description:
Examples:
fcntl
Description:
flock structure
Examples:
fdatasync
Description:
fdopen
Description:
Examples:
feof
Description:
Examples:
ferror
Description:
Examples:
fflush
Description:
Examples:
ffs
Description:
fgetc
Description:
Examples:
fgetchar
Description:
Examples:
fgetpos
Description:
Examples:
fgets
Description:
Examples:
fgetspent
Description:
Examples:
fgetwc
Description:
fgetws
Description:
fileno
Description:
Examples:
flink
Description:
flock
Description:
flockfile
Description:
floor, floorf
Description:
Examples:
flushall
Description:
fmod, fmodf, fmodl
Description:
Examples:
fnmatch
Description:
Pattern Matching Special Characters
Examples:
fopen, fopen64
Description:
Examples:
fork
Description:
Examples:
forkpty
Description:
fp_exception_mask
Description:
Examples:
fp_exception_value
Description:
Examples:
fp_precision
Description:
Examples:
fp_rounding
Description:
Examples:
fp_setenv
Description:
Examples:
fpathconf
Description:
Examples:
fprintf
Description:
Examples:
fputc
Description:
Examples:
fputchar
Description:
Examples:
fputs
Description:
Examples:
fputwc
Description:
fputws
Description:
fread
Description:
Examples:
free
Description:
Examples:
freeaddrinfo
Description:
freeifaddrs
Description:
freopen, freopen64
Description:
Examples:
frexp, frexpf
Description:
Examples:
fscanf
Description:
Examples:
fseek, fseeko, fseeko64
Description:
Examples:
fsetpos
Description:
Examples:
fstat, fstat64
Description:
Examples:
fstatvfs, fstatvfs64
Description:
fsync
Description:
ftell, ftello, ftello64
Description:
Examples:
ftime
Description:
Examples:
ftruncate, ftruncate64
Description:
ftrylockfile
Description:
ftw, ftw64
Description:
funlockfile
Description:
futime
Description:
fwide
Description:
fwprintf
Description:
fwrite
Description:
Examples:
fwscanf
Description:
G
gai_strerror
Description:
gamma, gamma_r, gammaf, gammaf_r
Description:
getaddrinfo
Description:
Using the hints argument
Using the ai_flags argument in the hints structure
Pitfalls
Examples:
getc
Description:
Examples:
getc_unlocked
Description:
getchar
Description:
Examples:
getchar_unlocked
Description:
getcwd
Description:
Examples:
getdomainname
Description:
getdtablesize
Description:
getegid
Description:
Examples:
getenv
Description:
Examples:
geteuid
Description:
Examples:
getfsfile
Description:
getfsent
Description:
The fstab structure
getfsspec
Description:
getgid
Description:
Examples:
getgrent
Description:
Examples:
getgrgid
Description:
Examples:
getgrgid_r
Description:
getgrnam
Description:
Examples:
getgrnam_r
Description:
getgrouplist
Description:
Examples:
getgroups
Description:
Examples:
gethostbyaddr
Description:
Examples:
gethostbyaddr_r
Description:
gethostbyname, gethostbyname2
Description:
gethostbyname_r
Description:
gethostent
Description:
gethostent_r
Description:
gethostname
Description:
getifaddrs
Description:
GETIOVBASE
Description:
GETIOVLEN
Description:
getitimer
Description:
getlogin
Description:
getlogin_r
Description:
getnameinfo
Description:
Extension
Examples:
getnetbyaddr
Description:
getnetbyname
Description:
getnetent
Description:
getopt
Description:
Utility Syntax Guidelines
Examples:
getpagesize
Description:
getpagesizes, getpagesizes64
Description:
Examples:
getpass
Description:
getpeereid
Description:
getpeername
Description:
getpgid
Description:
getpgrp
Description:
Examples:
getpid
Description:
Examples:
getppid
Description:
Examples:
getprio
Description:
getprotobyname
Description:
getprotobynumber
Description:
getprotoent
Description:
getpwent
Description:
Examples:
getpwent_r
Description:
getpwnam
Description:
Examples:
getpwnam_r
Description:
getpwuid
Description:
Examples:
getpwuid_r
Description:
getrlimit, getrlimit64
Description:
Examples:
getrusage
Description:
gets
Description:
Examples:
getservbyname
Description:
getservbyport
Description:
getservent
Description:
getsid
Description:
getsockname
Description:
getsockopt
Description:
Manipulating socket options
Options
IP_HDRINCL
IP_TOS
SO_BINDTODEVICE
SO_BROADCAST
SO_DEBUG
SO_DONTROUTE
SO_ERROR
SO_KEEPALIVE
SO_LINGER
SO_OOBINLINE
SO_RCVBUF and SO_SNDBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE
SO_USELOOPBACK
TCP_KEEPALIVE
TCP_NODELAY
Keepalive timing
getspent, getspent_r
Description:
Examples:
getspnam, getspnam_r
Description:
Examples:
getsubopt
Description:
Examples:
gettimeofday
Description:
getuid
Description:
Examples:
getutent
Description:
getutid
Description:
getutline
Description:
getw
Description:
getwc
Description:
getwchar
Description:
getwd
Description:
glob
Description:
Examples:
globfree
Description:
gmtime
Description:
gmtime_r
Description:
H
h_errno
Description:
hcreate
Description:
Examples:
hdestroy
Description:
Examples:
herror
Description:
hostent
Description:
hsearch
Description:
Examples:
hstrerror
Description:
htonl
Description:
htons
Description:
hwi_find_item
Description:
Examples:
hwi_find_tag
Description:
hwi_off2tag
Description:
hwi_tag2off
Description:
hypot, hypotf
Description:
Examples:
I
ICMP
Description:
ICMP6
Description:
ICMP6 type/code filter
if_freenameindex
Description:
if_indextoname
Description:
if_nameindex
Description:
if_nametoindex
Description:
ifaddrs
Description:
ilogb, ilogbf
Description:
Examples:
in8
Description:
in8s
Description:
in16, inbe16, inle16
Description:
in16s
Description:
in32, inbe32, inle32
Description:
in32s
Description:
index
Description:
inet_addr
Description:
inet_aton
Description:
inet_lnaof
Description:
inet_makeaddr
Description:
inet_net_ntop
Description:
Network Numbers (IPv4 Internet addresses)
inet_netof
Description:
inet_net_pton
Description:
inet_network
Description:
inet_ntoa
Description:
inet_ntoa_r
Description:
inet_ntop
Description:
Examples:
inet_pton
Description:
AF_INET addresses
AF_INET6 addresses
Examples:
INET6
Description:
Protocols
Addressing
Interaction between IPv4/v6 sockets
inet6_option_alloc
Description:
inet6_option_append
Description:
inet6_option_find
Description:
inet6_option_init
Description:
inet6_option_next
Description:
inet6_option_space
Description:
inet6_rthdr_add
Description:
inet6_rthdr_getaddr
Description:
inet6_rthdr_getflags
Description:
inet6_rthdr_init
Description:
inet6_rthdr_lasthop
Description:
inet6_rthdr_reverse
Description:
inet6_rthdr_segments
Description:
inet6_rthdr_segments
inet6_rthdr_space
Description:
initgroups
Description:
initstate
Description:
Examples:
input_line
Description:
Examples:
insque
Description:
InterruptAttach, InterruptAttach_r
Description:
Interrupt vector numbers
Interrupts and startup code
Typical x86 Interrupt vector numbers
Interrupt handler function
Flags
_NTO_INTR_FLAGS_END
_NTO_INTR_FLAGS_PROCESS
_NTO_INTR_FLAGS_TRK_MSK
Blocking states
InterruptAttachEvent, InterruptAttachEvent_r
Description:
Flags
_NTO_INTR_FLAGS_END
_NTO_INTR_FLAGS_PROCESS
_NTO_INTR_FLAGS_TRK_MSK
Advantages & disadvantages
Blocking states
InterruptDetach, InterruptDetach_r
Description:
Blocking states
InterruptDisable
Description:
InterruptEnable
Description:
InterruptHookIdle
Description:
Flags
_NTO_INTR_FLAGS_END
_NTO_INTR_FLAGS_PROCESS
_NTO_INTR_FLAGS_TRK_MSK
Blocking states
InterruptHookTrace
Description:
_NTO_INTR_FLAGS_END
Blocking states
InterruptLock
Description:
InterruptMask
Description:
InterruptUnlock
Description:
InterruptUnmask
Description:
InterruptWait, InterruptWait_r
Description:
Blocking states
_intr_v86
Description:
Examples:
_io_connect
Description:
_io_connect_ftype_reply
Description:
_io_connect_link_reply
Description:
ioctl, ioctl_socket
Description:
How ioctl commands map to other commands
Commands with special handling in ioctl_socket
iofdinfo
Description:
iofunc_attr_init
Description:
iofunc_attr_lock
Description:
iofunc_attr_t
Description:
iofunc_attr_trylock
Description:
iofunc_attr_unlock
Description:
iofunc_check_access
Description:
iofunc_chmod
Description:
io_chmod_t structure
iofunc_chmod_default
Description:
iofunc_chown
Description:
io_chown_t structure
iofunc_chown_default
Description:
iofunc_client_info
Description:
iofunc_close_dup
Description:
io_close_t structure
iofunc_close_dup_default
Description:
iofunc_close_ocb
Description:
iofunc_close_ocb_default
Description:
iofunc_devctl
Description:
io_devctl_t structure
iofunc_devctl_default
Description:
iofunc_fdinfo
Description:
iofunc_fdinfo_default
Description:
io_fdinfo_t structure
iofunc_func_init
Description:
Examples:
iofunc_link
Description: